API – POST Form Entry to External Web Service

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>