Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Section


Column

This section describes the basic protocol used to interact with Data APIs including examples of what Atom requests may look like, what kind of responses to expect, and so on. It is intended for anyone wanting an understanding the general idea of the format and protocol used by the Data API and it assumes that you understand the basics of XML, namespaces, Atom feeds, and the main HTTP requests GET, POST, PUT and DELETE, as well as the RESTful concept of a resource. Using the API at this level your client application can interact with the Server using any programming language that lets you issue HTTP requests and consume XML-based responses.

There are various different types of resources that can be viewed and manipulated by the Data API. Most of these resources are things that a designer sees when creating new forms and navigating the application using the UI, for instance users, applications, form, schemas, etc. So before delving into the API specifics it is a good idea to understand these different types of resources and how they relate to each other. The following diagram shows these different resources currently being exposed by the Data API and the ownership relationships among them:


Column
width240px

On this page:

Table of Contents
maxLevel1

 



Basically, for each resource type in  (User, Application, FormType, Schema) an Atom Feed representation is provided. The following table shows the different URI to access the different resource feeds:

                                                              Data API URLs

Resource Description  Resource URI
Users Feed /frevvo/web/
t
tn/{tenantId}/api/users
User Entry/frevvo/web/
t
tn/{tenantId}/api/user/{id}
ApplicationFeed /frevvo/web/
t
tn/{tenantId}/api/apps?ownerId={userId}
ApplicationEntry/frevvo/web/
t
tn/{tenantId}/api/app/{id}
FormTypeFeed/frevvo/web/
t
tn/{tenantId}/api/formtypes?ownerId={appId}
FormTypeEntry /frevvo/web/
t
tn/{tenantId}/api/formtype/{id}
SchemaFeed/frevvo/web/
t
tn/{tenantId}/api/schemas?ownerId={appId}
SchemaEntry/frevvo/web/
t
tn/{tenantId}/api/schema/{id}
ControlTypeFeed/frevvo/web/
t
tn/{tenantId}/api/controltypes?ownerId={formTypeId}
ControlTypeEntry/frevvo/web/
t
tn/{tenantId}/api/controltype/{id}
SubmissionFeed /frevvo/web/
t
tn/{tenantId}/api/submissions
SubmissionEntry /frevvo/web/
t
tn/{tenantId}/api/submission/{id}


Note
 Note that the ownerId query parameter is optional when querying any feed but required when inserting a new entry into the feed (more details on this below)

...