Register requests

Request body parameters

ProviderSettings

Required To make a request to the POST /Register endpoint, you must provide the ProviderSettings parameter. The ProviderSettings parameter is a JSON object that defines following properties:

  • provider. Required The name of the provider that you are registering. After registering a provider, you can use the name of that provider in the body of a POST /Invoke request (in the provider property) to restrict or allow agent actions on the associated interactions, and, optionally, make requests to the endpoint.

  • endpoint. Optional An https endpoint that will receive notifications made by Vonage Contact Center (VCC). VCC sends notifications after assigning associated interactions to agents, and when those agents release the interactions.

  • headers. Optional Array of key-value pairs. Each pair contains a header name and a header value. This set of headers is included in any POST request from VCC to the provider endpoint.

If you specify an authorization header, you must specify the header in the following format:
Authorization: <type> <credentials>
For example:
"Authorization": "Basic QWxhZGRpbjpPcGVuU2VzYW1l"
or
"Authorization": "Bearer 24d80e703a037349cb4818cf7ec695cc"

  • agentactionspermitted. Required Array of key-value pairs. Each pair contains an operation name (key) and a 0 or 1 (value). 0 indicates that the operation is not allowed and 1 indicates that the operation is allowed.

agentactionspermitted

Currently the only supported operations are release, hold, transferToAgent and transferToRoute. Agents can only perform the allowed operations on interactions associated with the provider.

  • The release operation enables an agent to end an interaction.
  • The hold operation enables an agent to put a caller on hold (in the case of a live interaction) or park a nonlive interaction.
    The hold operation enables the retrieve operation by inference.
  • The transferToAgent and transferToRoute operations enable an agent to transfer the interaction to an agent or route respectively.

Unless specified, all operations—other than the release operation—are not allowed.

Example: Registering a provider

{
    "provider": "TestProviderName",
    "endpoint": "https://endpoint.example.com/routingendpoint",
    "headers":
    {
        "x-header1": "value1",
        "x-header2": "value2"
    },
    "agentactionspermitted":
    {
        "release" : 1,
        "hold" : 1,
        "transferToAgent": 1,
        "transferToRoute": 1
    }
}

Example: Registering a provider without an endpoint

{
    "provider": "TestProviderName",
    "agentactionspermitted":
    {
        "release" : 1,
        "hold" : 1,
        "transferToAgent": 1,
        "transferToRoute": 1
    }
}