Agendize forms API

Form Results


On January 2021 we released the version 2.3 of the FormBuilder API. This new version includes performance improvements and a better respect of HTTP protocol for RestFull APIs. All v2.0 URIs of the FormBuilder API are available in v2.3. If you are currently using the v2.0 of the FormBuilder API, we encourage you to update to the newer version. If needed, the previous version's documentation is still available here.

Resource representation

{ "id": {string}, "result": [ {FormItem object} ], "form": {string}, "ipAddress": {string}, "client": {string}, "date": {string}, "currentStatus": {string}, "route": { "type": {string}, "link": {string}, "title": {string}, "message": {string} } }
Parameter name Value Description
id string Identifier of the result.
result list Fields of the form.
form string Id of the result's form. Max length: 16.
ipAddress string IP address of the client. Max length: 45.
client string Id of the client (if exist in database, otherwise 0). Max length: 16.
date string Date of the result.
currentStatus string Status of the result : NEUTRAL, IN_PROGRESS, FINISHED or REOPENING
route object Route of the routing
route.type string Type of action. Values: "link", "message".
route.link String For "link" type of route. The link to redirect.
route.title String For "message" type of route. The title of the message to display.
route.message String For "message" type of route. The message to display.

Additional representation : FormItem

{ "id": {string}, "type": {string}, "title": {string}, "bind": {string), "bindGroup": {string}, "externalId": {string} "help": {string}, "placeholder" : {string}, "mandatory": {boolean}, "visible" : {boolean}, "otherValue": {boolean}, "category": {boolean}, "multiple": {boolean}, "fileName": {string}, "value": {string}, "values": [ { "id": {string), "name": {string}, "value": {string} "values": [ { "id": {string}, "name": {string}, "value": {string} } ] } ], "valueFormat": { "maxLength": {number}, "minLength": {number}, "regexType: {string}, "regexValue: {string}, "valueFormat": {string} }, "zonedDateTime": { "dateTime": {string}, "timeZone": {string} }, "subItem": [ {FormItem object} ] }
Parameter name Value Description Notes
FormItem.id string Id of the field. Can not be empty.
FormItem.type string Type of the field. Values:
  • "input": input text
  • "select": dropdown
  • "checkbox": check box
  • "radio": radio button list
  • "textarea": textaera
  • "title": text label
  • "file": file upload
  • "address": client full address
  • "date": date
  • "rating": rating range from 1 to 5
  • "number": number field
  • "pricing": number field with currency
FormItem.title string Title of the field.
FormItem.bind string Binding string form special fields. Values:
  • crm-name
  • crm-address
  • crm-address-firstline
  • crm-address-secondline
  • crm-address-city
  • crm-address-postalcode
  • crm-address-state
  • crm-address-country
  • crm-job-title
  • crm-company
  • crm-notifications
  • crm-language
  • crm-reference
  • crm-reminder
  • crm-birthdate
  • crm-miscellaneous-* : CRM additional fields (from 1 to 10)
Some other values are available but can only be set in the contactFields field :
  • crm-first-name
  • crm-last-name
  • crm-email
  • crm-phone
FormItem.bindGroup string Binding group string form special group of fields. Values:
  • crm
FormItem.externalId string External identifier of this field. When this value is set up, this field would be fulfilled by HTTP query parameters on the appointment> widget.
FormItem.help string Help text of the field.
FormItem.placeholder string Placeholder of the field.
FormItem.mandatory boolean If the field is mandatory.
FormItem.visible boolean If the field is visible by client.
FormItem.otherValue boolean Activate or deactivate the possibility to add a custom value to the field. Available for type radio, checkbox and select.
FormItem.category boolean Activate or deactivate the possibility to group values by category. Available only for type select.
FormItem.multiple boolean Activate or deactivate the possibility to select several values. Available only for type select.
FormItem.fileName string (Optional) When the value is a file, a fileName can be specified. If not specified, the file will be named "file" and get the extension from the media type
FormItem.value string Value of the field. For multi values fields (radio, checkbox and select), use "values" instead. With file type : get and list methods will return the link to the file, for insert and update methods it is the data URI scheme binary content of the file.
FormItem.values list Values list of the field. Available for type radio, checkbox and select.
FormItem.values[].id string Identifier of the field value.
FormItem.values[].name string Name of the field value.
FormItem.values[].value string Value of the field value.
FormItem.values[].values list List of values of the form field value. Available only for type select with option category set to True
FormItem.values[].values[].id string Identifier of the form field value. Available only for type select with option category set to True
FormItem.values[].values[].name string Name of the form field value. Available only for type select with option category set to True
FormItem.values[].values[].value string Value of the form field value. Available only for type select with option category set to True
FormItem.valueFormat object Input rules.
FormItem.valueFormat.maxLength number Value maximum length.
FormItem.valueFormat.minLength number Value minimum length.
FormItem.valueFormat.regexType string Type of regex.
FormItem.valueFormat.regexValue string Value of regex.
FormItem.valueFormat.valueFormat string Type or format
  • alphanumeric
  • numeric
  • regex
  • none
FormItem.zonedDateTime object If the field is a date type, the value is formatted and returned with his timezone Read only
FormItem.zonedDateTime.dateTime object The value of the field formatted. For example '2011-12-03T10:15:30' Read only
FormItem.zonedDateTime.timeZone object The date timezone. For example 'Europe/Paris' Read only
FormItem.subItem list List of sub FormItem, available for crm-address field and crm-name field.

Delete

Deletes an entry on the form result list.

Authentication is required to execute this request. Please refer to Authentication for more.

Request

HTTP Request

DELETE https://api.agendize.com/api/2.3/forms/{formId}/results/{resultId}

Parameters

Parameter name Value Description
Path parameters
formId string Form identifier.
resultId string Result Form identifier.

Request body

Do not supply a request body with this method.

Response

If successful, this method returns an empty response body.


Get

Returns an entry of the form result list.

Authentication is required to execute this request. Please refer to Authentication for more.

Request

HTTP Request

GET https://api.agendize.com/api/2.3/forms/{formId}/results/{resultId}

Parameters

Parameter name Value Description
Path parameters
formId string Form identifier.
resultId string Result Form identifier.

Request body

Do not supply a request body with this method.

Response

If successful, this method returns a Form Result resource in the response body.


List

Returns entries on the form result list.

Authentication is required to execute this request. Please refer to Authentication for more.

Request

HTTP Request

GET https://api.agendize.com/api/2.3/forms/{formId}/results/

Parameters

Parameter name Value Description
Path parameters
formId string Form identifier.

Request body

Do not supply a request body with this method.

Response

If successful, this method returns a response body with the following structure:


Insert

Adds an entry to the form result list.

Authentication is required to execute this request. Please refer to Authentication for more.

Request

HTTP Request

POST https://api.agendize.com/api/2.3/forms/{formId}/results/

Parameters

Parameter name Value Description
Path parameters
formId string Form identifier.

Request body

In the request body, supply a Form Result Resource with the following properties:

Parameter name Value Description
Required Properties
result list Fields of the form.
Optional Properties
id string Identifier of the form.
author string Author of the form.
description string Description of the form.
content string Content of the form in XML.
submitMessage string Message of the form after validation.
fields[] list Fields of the form.

Response

If successful, this method returns a Form Result resource in the response body.


Update

Updates an entry on the form result list.

Authentication is required to execute this request. Please refer to Authentication for more.

Request

HTTP Request

PUT https://api.agendize.com/api/2.3/forms/{formId}/results/{resultId}

Parameters

Parameter name Value Description
Path parameters
formId string Form identifier.
resultId string Result Form identifier.

Request body

In the request body, supply a Form Result resource with the following properties:

Parameter name Value Description
Optional Properties
name string Name of the form.

Response

If successful, this method returns a Form Result resource in the response body.


Watch

Watch for form filled.

Authentication is required to execute this request. Please refer to Authentication for more.

The watch send an Result resource in the request body

Request

HTTP Request

POST https://api.agendize.com/api/2.3/forms/{formId}/results/watch

Request body

{ "address": {string}, "name": {string}, "basicAuth": { "username": {string}, "password": {string} }, "httpRequestHeader": { {name}: {string} }, "schema": {object} "method": {string}, "status": {string}, "oauth2Auth": { "grantType": {string}, "clientId": {string}, "clientSecret": {string}, "refreshToken": {string}, "authUrl": {string}, "accessTokenUrl": {string}, "redirectUri": {string} }, "signature": { "enabled": {boolean}, "cryptoKeyIds": [ {string} ] } }
Required Properties
address string The address where notifications are delivered for this watch.
Optional Properties
name string Name of the watch.
basicAuth string Credentials parameters for HTTP Basic authentication on the destination watch address. Only if you use this authentication method.
basicAuth.username string Username.
basicAuth.password string Password.
httpRequestHeader string Custom header parameters to send with the http request on the destination watch address.
httpRequestHeader.name string header parameter name.
schema object Custom json schema to apply for resource properties.
method string HTTP Method to use for sending content. DELETE Method doesn't accept body content.
status string Status of the watcher. Values: "enabled", "disabled"
oauth2Auth string Credentials parameters for HTTP OAuth2 authentication on the destination watch address. Only if you use this authentication method.
oauth2Auth.grantType string OAuth2 grant type. Values: "refresh_token" (default), "client_credentials".
oauth2Auth.clientId string OAuth2 client id.
oauth2Auth.refreshToken string OAuth2 refresh token. Only for grantType "refresh_token"
oauth2Auth.authUrl string OAuth2 interactive end point to initiate the generation of the refresh token. Only for grantType "refresh_token"
oauth2Auth.accessTokenUrl string OAuth2 end point to generation an access token from the refresh token.
oauth2Auth.scope string OAuth2 api scope. Only for grantType "refresh_token"
signature object Produces a crypto signature of the watched content.
signature.enabled boolean Sets if the signature is enabled or not.
signature.cryptoKeyIds list Arrays of string of crypto keys identifier.

Response

If successful, this method returns a watch resource in the response body.

Examples of schema:

With JSON, only for string value:

{ "schema": { "my_id_key": "{id}", "dataContent": { "givenName": "{firstName}" } } }

With string to support typed values:

{ "schema": "\"my_id_key\": ${$.id}, \"dataContent\": { \"fullName\": \"${$.firstName} ${$.lastName}\"}" }

Replacement string can by defined with jsonpath expressions.

Watch event supported

  • Result added in dashboard. In this case, the watch request add the following header property in http request:
    X-Agendize-objectEvent: created
  • Result modified in dashboard. In this case, the watch request add the following header property in http request:
    X-Agendize-objectEvent: updated