Agendize queues API

Registrations


On October 2022 we released the version 2.3 of the Queue Registration API. This new version includes performance improvements and a better respect of HTTP protocol for RestFull APIs. All v2.0 URIs of the Queue Registration API are available in v2.3. If you are currently using the v2.0 of the Queue Registration 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}, "queue": { "id": {string}, "name": {string} }, "status": {string}, "registered": { "dateTime": {string}, "timeZone": {string} }, "waitingTime": {integer}, "averageWaitingTime": {integer}, "client": { "id": {string}, "firstName": {string}, "lastName": {string}, "phoneNumber": {string}, "selfLink": {string} }, "owner": { "id": {string}, "userName": {string} }, "rank": integer, "numberOfPeopleAhead": integer, "form": [ {FormItem object} ], "started": { "dateTime": {string}, "timeZone": {string} } "finished": { "dateTime": {string}, "timeZone": {string} } }
Parameter name Value Description
id string Identifier of the queue registration.
queue object The queue of the registration queue.
queue.id string Identifier of the queue. Writable.
queue.name string Name of the queue.
status string Status of the queue registration. Values: registered, inProgress, deleted, noShow. finished.
registered object The registration time of the registration queue.
registered.dateTime string The time, as a combined date-time value (formatted according to RFC 3339, without time zone information).
registered.timeZone string The time zone. Possible values can be found here. The default value is the time zone of the company.
client object The client linked with the registration queue.
client.id string Identifier of the client. Writable.
client.firstName string First name of the client. Writable. Max length: 127.
client.lastName string Last name of the client. Writable. Max length: 127.
client.emailAddress string Email address of the client. Writable. Max length: 127.
client.phoneNumber string Phone number of the client. Writable. Max length: 127.
client.selfLink string URL link to the client resource description.
waitingTime string Waiting time of the queue registration.
waitingTime integer Waiting time of the queue registration, in minutes.
averageWaitingTime integer Average of waiting time of the queue, in minutes.
owner string Owner account of the queue and the queue registration. Read-only.
owner.id string Identifier of the owner account.
owner.userName string user name of the owner account.
rank integer Rank of the registration in the queue.
numberOfPeopleAhead integer Number of people ahead the registration
form object The filled form of the registration, see description below. Writable
started object When the queue registration is in progress. Read-Only
started.dateTime string The time, as a combined date-time value (formatted according to RFC 3339, without time zone information).
started.timeZone string The time zone. Possible values can be found here. The default value is the time zone of the company.
finished object When the queue registration is finished. Read-Only
finished.dateTime string The time, as a combined date-time value (formatted according to RFC 3339, without time zone information).
finished.timeZone string The time zone. Possible values can be found here. The default value is the time zone of the company.

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

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

Request

HTTP Request

DELETE https://api.agendize.com/api/2.3/queues/{queueId}/registrations/{registrationId}

Parameters

Parameter name Value Description
Path parameters
queueId string Queue identifier.
registrationId string Registration identifier.

Request body

Do not supply a request body with this method.

Response

If successful, this method returns an empty response body.


Get

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

Request

HTTP Request

GET https://api.agendize.com/api/2.3/queues/{queueId}/registrations/{registrationId}

Parameters

Parameter name Value Description
Path parameters
queueId string Queue identifier.
registrationId string Registration identifier.

Request body

Do not supply a request body with this method.

Response

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


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/queues/{queueId}/registrations

Parameters

Parameter name Value Description
Path parameters
queueId string Queue identifier.
Optional query parameters
status string Gets registrations by status. Supports comma seperated values of statuses. Default value is "registered,inProgress".

By default, only queue registrations with registered and inProgress statuses are retrieved

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

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

Request

HTTP Request

POST https://api.agendize.com/api/2.3/queues/{queueId}registrations

Parameters

Parameter name Value Description
Path parameters
queueId string Queue identifier.

Request body

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

Parameter name Value Description
Path parameters
queue string Id of the queue.
Required Properties
client.id string Identifier of the client.
client.firstName string First name of the client.
client.lastName string Last name of the client.
client.emailAddress string Email address of the client.
Optional Properties
status string The status of the registration queue. Values: "registered", "noShow", "inProgress", "finished".

Response

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


Update

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

Request

HTTP Request

PUT https://api.agendize.com/api/2.3/queues/{queueId}/registrations/{registrationId}

Parameters

Parameter name Value Description
Path parameters
queueId string Queue identifier.
registrationId string Queue registration identifier.
Optional Properties
status string The status of the registration queue. Values: "registered", "noShow", "inProgress", "finished".

Request body

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

Parameter name Value Description
Optional Properties
id string Id of the queue inscription.

Response

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


Next

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

Request

HTTP Request

GET https://api.agendize.com/api/2.3/queues/{queueId}/registrations/next

Parameters

Parameter name Value Description
Path parameters
queueId string Queue identifier.

Request body

Do not supply a request body with this method.

Response

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


Watch

Watch for changes to Queue Registration resources.

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

The watch send an Queue Registration resource in the request body

Request

HTTP Request

POST https://api.agendize.com/api/2.3/queues/{queueId}/registrations/watch

Parameters

Parameter name Value Description
Path parameters
queueId string Company identifier.

Request body

{ "address": {string}, "name": {string}, "basicAuth": { "username": {string}, "password": {string} }, "httpRequestHeader": { {name}: {string} }, "schema": {object} "method": {string}, "status": {string}, "oauth2Auth": { "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.clientId string OAuth2 client id.
oauth2Auth.refreshToken string OAuth2 refresh token.
oauth2Auth.authUrl string OAuth2 interactive end point to initiate the generation of the refresh token.
oauth2Auth.accessTokenUrl string OAuth2 end point to generation an access token from the refresh token.
oauth2Auth.scope string OAuth2 api scope.
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

  • New queue registration. In this case, the watch request add the following header property in http request:
    X-Agendize-objectEvent: created
  • queue registration modified. In this case, the watch request add the following header property in http request:
    X-Agendize-objectEvent: updated
  • queue registration deleted. In this case, the watch request add the following header property in http request:
    X-Agendize-objectEvent: deleted