Section |
---|
Column |
---|
This section describes the basic protocol used to interact with frevvo 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 frevvo 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 frevvo Server using any programming language that lets you issue HTTP requests and consume XML-based responses. There are various different types of frevvo 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 frevvo UI, for instance users, applications, form, themes, 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:
|
|
Basically, for each resource type in (User, Application, FormType, Theme, Schema) a 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/{tenantId}/api/users |
User Entry | /frevvo/web/t/{tenantId}/api/user/{id} |
ApplicationFeed | /frevvo/web/t/{tenantId}/api/apps?ownerId={userId} |
ApplicationEntry | /frevvo/web/t/{tenantId}/api/app/{id} |
ThemeFeed | /frevvo/web/t/{tenantId}/api/themes?ownerId={userId} |
ThemeEntry | /frevvo/web/t/{tenantId}/api/theme/{id} |
FormTypeFeed | /frevvo/web/t/{tenantId}/api/formtypes?ownerId={appId} |
FormTypeEntry | /frevvo/web/t/{tenantId}/api/formtype/{id} |
SchemaFeed | /frevvo/web/t/{tenantId}/api/schemas?ownerId={appId} |
SchemaEntry | /frevvo/web/t/{tenantId}/api/schema/{id} |
ControlTypeFeed | /frevvo/web/t/{tenantId}/api/controltypes?ownerId={formTypeId} |
ControlTypeEntry | /frevvo/web/t/{tenantId}/api/controltype/{id} |
SubmissionFeed | /frevvo/web/t/{tenantId}/api/submissions |
SubmissionEntry | /frevvo/web/t/{tenantId}/api/submission/{id} |
...