WEBHOOKS

Webhooks allow you to subscribe to a updates in the system. There is a no limit to the number of webhooks that can be added. Webhooks are useful for listening to event changes, adds, updates and deletes. It can notify when a state changes or metadata has changed. You can subscribe on a per event basis or on a global basis.

Using something like request bin https://requestbin.fullcontact.com/ to test you will see an example of possible return values. To subscribe to changes, register your http(s) endpoints and allow them to accept POST requests.

Possible values are

    EventId: string as guid
    ReferenceId: string
    ExternalId: string
    State: See the VIS states in this document
    StateChanged: true or false
    MetadataChanged: true or false
    IsForced: true or false
    AudioChanged: true or false
    Action: "AddedOrUpdated" or "Deleted"

Webhook Object

{
  "Id": "a9d8e0cc-9259-453e-b34a-6fbcac2a20b9",
  "WebhookUrl": "http://webhook-url-here.com",
  "UseHttpBasicAuthentication": false,
  "UseJsonBody": false,
  "Username": "JoeBloggs",
  "Password": "Password123"
}

Event Specific Webhook Object

{
  "Id": "98543595-6ceb-4479-bd7e-3afe09a1b358",
  "EventId": "dc341213-2515-4ac5-988d-b35cc7dd9a86",
  "WebhookUrl": "http://webhook-url-here.com",
  "UseHttpBasicAuthentication": false,
  "UseJsonBody": false,
  "Username": "JoeBloggs",
  "Password": "Password123"
}

Supported Actions

POST /webhook/

Add or Update a system-wide Webhook.

Request Body:

{
  "Id": "e6b5252c-e564-4a8f-9df0-9ef6cb15fb97",
  "WebhookUrl": "http://webhook-url-here.com",
  "UseHttpBasicAuthentication": false,
  "UseJsonBody": false,
  "Username": "JoeBloggs",
  "Password": "Password123"
}

If the Id is specified then it will perform an Update, else it will Add a new one.

Response: 200 OK


POST /webook/event/

Add or Update an Event-specific Webhook.

Request Body:

{
  "Id": "98543595-6ceb-4479-bd7e-3afe09a1b358",
  "EventId": "dc341213-2515-4ac5-988d-b35cc7dd9a86",
  "WebhookUrl": "http://webhook-url-here.com",
  "UseHttpBasicAuthentication": false,
  "UseJsonBody": false,
  "Username": "JoeBloggs",
  "Password": "Password123"
}

Response: 200 OK


PUT /webhook/{id}

Update a system-wide Webhook by Id.

Request Body:

{
  "WebhookUrl": "http://webhook-url-here.com",
  "UseHttpBasicAuthentication": false,
  "UseJsonBody": false,
  "Username": "JoeBloggs",
  "Password": "Password123"
}

Response: 200 OK


PUT /webhook/{id}/event/

Update an Event-specific Webhook by Id.

Request Body:

{
  "EventId": "eeae8dba-6632-4b79-b5a5-8af371316bef",
  "WebhookUrl": "http://webhook-url-here.com",
  "UseHttpBasicAuthentication": false,
  "UseJsonBody": false,
  "Username": "JoeBloggs",
  "Password": "Password123"
}

Response: 200 OK


GET /webhook/

Get all system-wide Webhooks.

Response:

200 OK and a JSON array containing multiple Webhook objects.

or

204 No Content if no Webhooks exist.


GET /webhook/event/{eventsId}

Get all Event-specific Webhooks by Event Id.

Response:

200 OK and a JSON array containing multiple Webhook objects.

or

204 No Content if no Webhooks exist.


GET /webhook/{id}

Get a system-wide Webhook by Id.

Response:

200 OK and JSON containing a Webhook object.

or

204 No Content if no Webhook exists.


GET /webhook/{id}/event

Get an Event-specific Webhook by Id.

Response:

200 OK and JSON containing a Webhook object.

or

204 No Content if no Webhook exists.


DEL /webhook/{id}

Delete a system-wide Webhook by Id.

Response: 200 OK


DEL /webhook/{id}/event

Delete an Event-specific Webhook by Id.

Response: 200 OK