Skip to main content

Call Center Queueing Services

Create Interaction#

In order to initiate a call via the Diyalog servers, the API detailed below is expected to be prepared.

Request URI#

https://<YOUR-API-ENDPOINT>/CreateInteraction

Request Method#

POST

Request#

Sample Request:

{
"identityNumber" : "<customer id number>",
"customerId" : "<customer No>",
"attachedData" : [
{
"<some-data-name>" : "<data-value>"
},
{
"<some-data-name>" : "<data-value>"
},
{
"<some-data-name>" : "<data-value>"
},
...
{
"<data-name-name>" : "<data-value>"
}
]
}

`

Details of the fields in the above request are given below.

Field NameTypeDefinition
identityNumberStringIn this field, the national id number of the customer whose call will be initiated will be transmitted to the service.
customerIdStringIn this field, the number of the customer whose call will be initiated will be transmitted to the service.
attachedDataObject ArrayIn this field, a json object array containing a string value containing the information that the developers want to transmit via the mobile client will be transmitted.

When the main mobile application wants to initiate a call and send some specific information to the call via the Diyalog Mobile SDK, it will be able to use the attachedData field. This attachedData will be completely transparent for Diyalog and Diyalog will pass this information to the call queue initiation API. The call queue API will be able to receive this information about the call and transfer the desired routing and information to the call based on this information.

Let’s say you want to send customers to different queues depending on the type of request. You can use the attachedData field to include any custom parameters you need. These are simple key-value pairs that your mobile app sends to the Dialog server via the Dialog SDK. Dialog doesn’t change the data—it just forwards it to the service that creates the interaction. From there, your service can check these parameters and decide which queue the customer should go to. The format of attachedData is totally up to you, so you can design it to fit your specific use case.

{
"identityNumber" : "12345678901",
"customerId" : "221122121",
"attachedData" : [
{
"TRX" : "CustomerOnboarding"
},
{
"ProcessType" : "VideoCall"
},
{
"CustomerPhoneNo" : "654321"
}
]
}

Response#

{
"success" : true,
"errorMessage" : null,
"result" : {
"interactionId" = "2121212121212"
}
}

Details of the fields in the response above are given below.

Field NameTypeDefinition
successBooleanGives information about whether the interaction was created successfully. It is expected to return true or false.
errorMessageOption[String]If the interaction creation fails, the error-related detailed message is returned in this field. It is a string value. If the interaction is successful, there is no need to return this field.
resultObjectA json object containing the intreactionId information is expected to be returned.

Delete Interaction#

With this API, if the call is not received by any agent while the customer is waiting and the customer cancels the wait, the created interaction is expected to be canceled. In this case, if the created interaction has not been forwarded to the agent, it will be deleted and should not be forwarded to any agent.

Request URI#

https://<YOUR-API-ENDPOINT>/<interactionId>

Request Method#

DELETE

To delete a call, the interactionId of the interaction you want to delete will be added to your API service URL and a request will be sent using the REST DELETE method.