pop up screen api icon

Pop Up Screen API

Use this API to let you pop up a screen with the caller’s contact details right out of your business information system (CRM).
pop up screen api scheme of work

General Description

 

If you are working on Chrome browser then you can use our chrome extension and give your agents/representatives the option of popping up the calling customer data from your CRM during incoming calls.

 

This way your agents will know with which customer is calling even before answering the call.

 

 

How does the Voicenter pop-up screen work?

 

POP SCREEN HOW IT WORKS

 

 

  1. A caller is calling. The caller Caller-ID is gathered by Voicenter Cloud.
  2. Voicenter cloud sends the call data to your Server using simple http request
  3. After the client got the call data from Voicenter request, a JSON response is sent back to
    Voicenter cloud.
  4. A notification with the client’s response will pop up. Pressing the notification
    will load a new web chrome browser tab with the provided "URL" link from Step 3.

 

 

Request Formats

 

1.GET

2. POST- Application/X-WWW-Form-Urlencoded

3. POST-JSON

 

Response Format

1. POST-JSON

 

 

Get Request Example

1
2
            
https://www.yourdomain.com/contact_search.asp?phone=0722776772&ivrid=202010111sdsd3684752bcb3d&extenU
ser=SIPSIPl&did=0722776773&statusCall=Ringing
          

POST Request Example

1
            
phone=0722776772&ivrid=202010111sdsd3684752bcb3d&extenUser=NaDzw5Ol&did=0722776773&status=Ringing
          

 

POST JSON Request Example

 

For each phase of the call (ringing, answer, hang up) you can receive an api request in JSON format which will contain additional to allow you to better implement your business logic with the popup screen api service.

 

Ringing Phase

 

{
"phone": "972722776772",
"callerName": "Queue Testing",
"ivrid": "20220916103546022555eb61e755c08a",
"extenUser": "KGpK4iWq",
"did": "0776707528",
"status": "Ringing",
"direction": "Incoming",
"recordFile": "20220916103546022555eb61e755c08a-nikitaapi-972722776772-0776707528.mp3",
"isMuted": false,
"callStarted": 1663324548,
"isAnswered": false,
"callAnswered": 0,
"currentCall": {
"callStarted": 1663324548,
"calldurationinterval": 1663324548,
"callAnswered": 0,
"answered": 0,
"callername": "Queue Testing",
"callerphone": "972722776772",
"outgoingcallername": "",
"outgoingcallerphone": "",
"callstatus": "Ringing",
"customdata": {
},
"direction": "Incoming",
"ivrid": "20220916103546022555eb61e755c08a",
"recording": {
"Filename": "20220916103546022555eb61e755c08a-nikitaapi-972722776772-0776707528.mp3",
"Options": "",
"ApproximateURL": "",
"IsMuted": 0
},
"did": "0776707528",
"relatedIvrUniqueIDs": [
],
"callType": "Incoming",
"originalCallerID": "0722776772",
"originalCallerName": "Nikita Karpushin new",
"actualDialedNumber": "0776707528",
"channel": "SIP/KGpK4iWq-00000007",
"channel2": "SIP/ProviderProxy05-00000006",
"isSpyed": false,
"isInternal": false,
"ip": "185.138.169.59",
"blcServerID": 225,
"extenUser": "KGpK4iWq",
"number": 89312
}
}

 

Answer Phase

 

{
"phone": "972722776772",
"callerName": "Queue Testing",
"ivrid": "20220916103546022555eb61e755c08a",
"extenUser": "KGpK4iWq",
"did": "0776707528",
"status": "Talking",
"direction": "Incoming",
"recordFile": "20220916103546022555eb61e755c08a-nikitaapi-972722776772-0776707528.mp3",
"isMuted": false,
"callStarted": 1663324548,
"isAnswered": true,
"callAnswered": 1663324555,
"currentCall": {
"callStarted": 1663324548,
"calldurationinterval": 1663324548,
"callAnswered": 1663324555,
"answered": 1,
"callername": "Queue Testing",
"callerphone": "972722776772",
"outgoingcallername": "",
"outgoingcallerphone": "",
"callstatus": "Talking",
"customdata": {
},
"direction": "Incoming",
"ivrid": "20220916103546022555eb61e755c08a",
"recording": {
"Filename": "20220916103546022555eb61e755c08a-nikitaapi-972722776772-0776707528.mp3",
"Options": "",
"ApproximateURL": "",
"IsMuted": 0
},
"did": "0776707528",
"relatedIvrUniqueIDs": [
],
"callType": "Incoming",
"originalCallerID": "0722776772",
"originalCallerName": "Nikita Karpushin new",
"actualDialedNumber": "0776707528",
"channel": "SIP/KGpK4iWq-00000007",
"channel2": "SIP/ProviderProxy05-00000006",
"isSpyed": false,
"isInternal": false,
"ip": "185.138.169.59",
"extenUser": "KGpK4iWq",
"number": 89312
}
}

 

Hang up Phase

 

{
"phone": "972722776772",
"callerName": "Queue Testing",
"ivrid": "20220916103546022555eb61e755c08a",
"extenUser": "KGpK4iWq",
"did": "0776707528",
"status": "Talking",
"direction": "Incoming",
"recordFile": "20220916103546022555eb61e755c08a-nikitaapi-972722776772-0776707528.mp3",
"isMuted": false,
"callStarted": 1663324548,
"isAnswered": true,
"callAnswered": 1663324555,
"currentCall": {
"callStarted": 1663324548,
"calldurationinterval": 1663324548,
"callAnswered": 1663324555,
"answered": 1,
"callername": "Queue Testing",
"callerphone": "972722776772",
"outgoingcallername": "",
"outgoingcallerphone": "",
"callstatus": "Talking",
"customdata": {
},
"direction": "Incoming",
"ivrid": "20220916103546022555eb61e755c08a",
"recording": {
"Filename": "20220916103546022555eb61e755c08a-nikitaapi-972722776772-0776707528.mp3",
"Options": "",
"ApproximateURL": "",
"IsMuted": 0
},
"did": "0776707528",
"relatedIvrUniqueIDs": [
],
"callType": "Incoming",
"originalCallerID": "0722776772",
"originalCallerName": "Nikita Karpushin new",
"actualDialedNumber": "0776707528",
"channel": "SIP/KGpK4iWq-00000007",
"channel2": "SIP/ProviderProxy05-00000006",
"isSpyed": false,
"isInternal": false,
"ip": "185.138.169.59",
"extenUser": "KGpK4iWq",
"number": 89312,
"cause": "Normal hangup"
}
}

 

 

Client Response (POST-JSON Only)

 

Field NameDescriptionTypeRemarks
"STATUS""Only accepts \"OK\".
Any other value will indicate that there was an error on the client side.
Notice: \"OK\" in CAPITAL letters."
"String""Mandatory"
"URL""A link to the caller’s contact details page out of your business information software(CRM).""String""Optional"
"CLIENTNAME""The caller’s name out of your CRM.""String""Optional"
"TOTAL""How many results were found in your CRM.""Integer""Optional"
"COMPANY""The caller’s company name out of your CRM.""String""Optional"

JSON Response Example

{
"STATUS": "OK",
"URL": "https://www.yourdomain.com/contact_search.asp?user_phone=0722776772",
"CLIENTNAME": "John Doe",
"TOTAL": 1,
"COMPANY": "Voicenter"
}

 

Voicenter's Chrome Extension

Voicenter chrome extension allows you also to perform Click2Call action beyond just Pop Up operations to your connected Voicenter extension.
The Click2Call feature allows you to dial by pressing any phone number in the Chrome browser.
Just mark the phone number, right click on your mouse and choose the Click2Call option.
The Click2Call feature allows you to configure a call connection to a Voicenter extension, a mobile phone, an external number, or any desired destination for the call connection.

 

Notice

When installing the extension, you will receive a warning that says "This extension will have access to all browsing history and private data on all websites".
This is a default warning that is displayed on any extension that requires content script access permission to all websites. This access is required in order to spoof phone numbers for click-to-dial instead of having to dial manually.

 

To ensure seamless integration with our Chrome extension, your endpoint must implement a CORS policy that allows requests from the extension's origin. This prevents browser security restrictions from blocking communication.

Here are two examples, one for NGINX and one for IIS.

For NGINX, you'll need to add this to your server block:

And for IIS, you'll use the HTTP Response Headers feature to add the 'Access-Control-Allow-Origin' header with your extension's ID.

 

1
2
3
4
            
location / {
add_header 'Access-Control-Allow-Origin' 'chrome-extension://YOUR_EXTENSION_ID';
# ... other configurations ...
}
          

 

In IIS, use the HTTP Response Headers attribute to add the 'Access-Control-Allow-Origin' header with your extension ID.

The Voicenter chrome extension id is: chrome-extension://ifiaikfdhcagbagdeflffjdammidpbio