Our platform allows you to add a POST connector to a Form that will fire POST requests to a specified web service address.
This give you a powerful way to be notified whenever a new Form Entry has been uploaded to the platform from a mobile app user.
Using POST actions you can develop an event driven integration approach rather than having to poll for new Form Entries via our other APIs.
Our platform uses the POST verb, sending the full data of the uploaded Form Entry as part of the payload.
Form Entry data is sent in the same FormEntryRaw format as found in the Form Entries API.
When a POST fails, the platform will retry 2 minutes later.
Each time a POST fails, we increment the retry interval by a multiple of 2.
So for example, 5 failures in a row for a POST attempt would result in retries at 2, 4, 16, 32, 64 minutes.
Form Entry POST payload (<FormEntry>)
Field Name | Data Type | Description |
Entry | FormEntryRaw | The Form Entry data. Refer to the Form Entries API document for full details of this format and associated data types. |
ProviderId | Integer | The unique identifier of the account from which this Form Entry has been POSTed |
IntegrationKey | String | The private integration key of the account from which this Form Entry has been POSTed. Use this to authenticate POSTs to your web service. |
Raw Form Entry (<FormEntryRaw>)
Field Name | Data Type | Description |
Id | GUID | Unique identifier of the Form Entry |
FormCode | String | Form code that this Entry relates to |
FormVersion | Integer | Form version that this Entry relates to |
UserExternalId | String | The external identifier assigned to this app user. This is for linking users into other systems by a common ID. |
UserFirstName | String | First name as registered for the app user |
UserLastName | String | Last name as registered for the app user |
UserEmail | String | Email address as registered for the app user |
CompleteTime | DateTime (YYYY-MM-DDTHH:MI:SS) |
Date and time the form entry was completed by the user. Time zone is UTC; time is in 24 hour values. The “T” in the format is a delimiter. |
Latitude | Double (Decimal Degrees) |
Latitude of the user when completing the form entry. This value will be null or 0 when GPS is turned off or fails to capture during form entry. |
Longitude | Double (Decimal Degrees) |
Longitude of the user when completing the form entry. This value will be null or 0 when GPS is turned off or fails to capture during form entry. |
AnswersXml | XML | Raw form entry answers in hierarchical XML format, with a root element named “data”. Question data names are the XML element names, with answer values enclosed as strings. This field is only populated when making a XML format request. |
AnswersJSON | JSON | Raw form entry answers in JSON array format. Question data names are the JSON property names, with answer values enclosed as strings. This field is only populated when making a JSON format request. |
Example XML POST
<FormEntry> <Entry> <AnswersJson /> <AnswersXml> <data> <name>John Smith</name> <experiencechoice>SECT</experiencechoice> <selectmulti>PB|TT|DX</selectmulti> <MapsGeoPoint>-26.2858679873348 128.688879013062 0 5</MapsGeoPoint> <audio>1029939382883.wav</audio> <photosgroup> <photo>102944442883.jpg</photo> <photo>102955553828.jpg</photo> <photo>443493938286.jpg</photo> </photosgroup> <signagegroup> <stop>1</stop> <caution>1</caution> <barrier>1</barrier> <detour>1</detour> </signagegroup> <integer>2</integer> <datetime>2012-07-23T10:59:30Z</datetime> <dateonly>2012-07-23</dateonly> <timeonly>20:59:36Z</timeonly> </data> </AnswersXml> <CompleteTime>2012-07-23T10:59:47</CompleteTime> <FormCode>DEMO-001</FormCode> <FormVersion>3</FormVersion> <Id>e2098623-4753-4c0b-816c-5b4efaa64be4</Id> <Latitude>-26.2844297653253</Latitude> <Longitude>128.684420511265</Longitude> <UserFirstName>John</UserFirstName> <UserExternalId></UserExternalId> <UserLastName>Smith</UserLastName> </Entry> <ProviderId>000</ProviderId> <IntegrationKey>XXXXXXXXXXXX</IntegrationKey> </FormEntry>