Developers

Simply. Call an API

Drive Productivity

Boost Revenue

Innovate

Start here

Drive Productivity

Install WebPhone

Manual Login

Auto Login

WebPhone Parameter

Call History

Fetch CDR

Fetch Recordings

Click to Call

CRM profile Pop-up

Fetch Voicemail

Developer News

Tutorials

Verto Integration


Innovate

Call Whispering

Call Masking

Boost Revenue

Use Autodialer

Chase Abondoned calls

Auto Call Back

Subscription renewal


Improve Engagement

Call Tracking

Call Back


Optimize Attendance

Live Stats

Live Events


About ZIWO

Ziwo Integration

Integrations- CRM

Integrations- CTI

Agents API

Admin API

Version control

Release Notes

References

FAQ

Tutorials

Support

API

 

Ziwo Integration
Ziwo is a multi-channel customer support platform and all the core elements of the platform can be accessed via the API. The official front-end app also uses the same API and all the features implemented on the front-end app will be also accessible via the API. The demo version of the platform and the app can be accessed via the Ziwo Demo App!

The domain in the API url starts with the instance name. For example, if your instance is your-ziwo, then the url will be https://your-ziwo-api.aswat.co.

The response structure: All APIs return responses in the following structure:

{
"result": true, # Status of the API request.
"content": {}, # The content/body
"info": {} # The info object which contains messages like deprecation warnings, error messages etc.
}


Integrations - CRM
The CRM - Customers (CDB) module is a typical CRM system for managing customers and its related information. A single customer can consist the following

One profile
Multiple addresses
Multiple numbers
Multiple social accounts
The general idea behind the different entities is that multiple entities can be linked with other multiple entities i.e. an address can be linked to multiple different profiles (e.g. Family members can have same home address). or a customer can have multiple addresses linked to it (e.g. A customer have a home address and an office address etc.), same is the case for numbers and social accounts.

Any information which is solely for a single customer i.e. First name, email, gender etc. are grouped together under an entity called profile. A profile is a collection of personal details about an individual and every other entity can be just attached to the profile like addresses, numbers etc. which can be shared

There are different type of requests possible for this module, as listed below

AddressesAdd an address entity
Update an address entity
Delete an address entity
NumbersAdd a number entity
Delete a number entity
Social accountsAdd a social account entity
Update a social account entity
Delete a social account entity
ProfileCreate a profile
Update profile info
Delete a profile
Link address
Link number
Link social account
Unlink address
Unlink number
Unlink social account
Search



Integrations - CTI
The CTI module is one of the available apps which is a part of the integrations suite.

The module can be used to manipulate the state of the the platform (e.g. auto-login of agent, changing the status of an agent, initiating a call etc.)

To access the routes for CTI, an api_key is the required token instead of access_token. It can be passed in various ways in the request as follows:

Request Header
Request Body
Request Query
Best practice is to send the api_key in the Request Header

There are different type of requests possible for this module, as listed below

Agent login
Agent change status
Click to call
Click to IVR
Agent logout



Agents API
These APIs can be accessed only by the AGENTs by using the access token based authentication.

Admin API
These APIs can be accessed by the ADMINs by using the access token based authentication or even with then API key based authentication.

Version Control
We improve the ziwo platform every day by releasing new features, squashing bugs, and delivering fresh documentation. Here's an account of what's recently happened. This is our #changelogs

Release Notes
Recent important updates:

June 2019
Ziwo v1.4.1 CHANGELOG (PUBLIC)

Changes since Ziwo v1.4.0, based on JIRA


Summary:

15 Stories (Features)
51 Bug Fixes

Story
Agent Activity Log.
Edit Option for Statistics Dashboard Widgets.
Logging changes to Zdial bot connection to live socket.
Export to CSV non table widgets
ZIWO Web phone: Adding Notification for " Lost internet connection "
Calls view date filters are now based on call started at time.
Pagination for Zdial Customers View.
A new backend user for ZDial.
Option to quick copy Call ID from calls view.
Option to pass notes/comments with Click2Call and Click2IVR APIs.
Zdial import now returns a more detailed message.
Zdial CSV import and export file now supports commas instead of semicolons.
Agent status change does not sync with ZIWO Web phone Client.
Agent client now receives a primary call ID / Session ID.
ZIWO Web phone login and dial buttons can be clicked by enter key.

Bugs
Longest Idle Agent Queues do not preserve state after logout and relogin.
ZIWO Web phone Agent Not responding
Live socket 'GET /live/statistics/channels/calls/by/queues' doesn't push changes
Zdialler ignoring the '0' digit
Call Tracker log filters do not work as expected.
Call Tracker end URL doesn’t get triggered.
Dynamic Routers: Affected Call center numbers not visible in List View.
Audit log is not linked to agent for agent call center logout event.
Audit logout is missing for call center login/logout from some of the sources.
Zdial import file doesn't detect "\r" end of line.
Missing Email Validation in ZIWO Web phone login.
Profile Image of Admin not updating.
Calls hang up in IVR showed as hangup by Agent.
Time-Out Issue in Zdial import.
Agent Activity log : Wrong duration for the Calls ( Inbound / Outbound )
Cannot update the Revision of IVR.
Extra CDR created for incoming Call.
Gateways created from the interface are being used.
User manual & Stark Developer Guide links not working.
KPI " Time in OutBound " does not update with the outbound call time.
Date filter for one day doesn't work in Audit view.
Cannot access ZIWO Web phone Dial Pad After Transfer the Call.
Cannot select Mail or Instant chat bot ones user clicks the message bot icon in ziwo admin.
Link to Create Call tracker not working from Call Center Numbers page.
ZIWO Web phone - Improve invalid login credentials error message.
ZDial Improve auto handling international and national number formats.
Add max character validation for the Qualification Notes.
Gateways priorities not working as expected.
ZDial - Caller Number Shows as " Null " for abandoned Calls
ZDIal - Campaign Calls are not represent as " Time spend in outbound " in the stats.
ZDial - Improve Campaign Weight Management.
Issue in date export in the statistic reports.
Improve validation error message upon duplicate campaign creation.
Campaign List - Issues in sorting and filters.
Pagination not responding while multiple changes in per page count
Campaign list - relative date filters do not work as expected.
System Automatically should selects the view access ones user toggle the Access for the Zdial ( In User roles / Ziwo Admin )
User Can edit Campaign under View only Access
Agent Module crashes after sorting
Big CSV files make Zdial customers import crash
Incorrect Caller ID for Click2IVR
Agent skills doesn’t get refreshed in the admin queues view without page refresh.
User's disappear , when user role deleted.
Missing data on abandoned calls in websocket stream.
Time spent in IVR does not show any value in CDR.
Issue with Agent Status Calculation.
Working hours can be set without setting the non working hours number.
Caller Number search doesn't work for +971...in Calls view.
Agent logout button gets hidden in the admin agents view.
Creating IVR leads to audio upload.








Install WebPhone 

Ziwo Web Phone Demo
Install ZIWO Web Phone in minutes in your own CRM or web app, where you can use your business number to communicate with staff and clients. Just copy the script and paste it inside your app. Agents connect directly from their web app and access all ZIWO superpowers right from your app: receive, place or transfer calls, view their call history or even change their status.


Step 1: "Copy /paste the “script ” in your application,
<script>

    var contactCenterName = 'YOUR_CONTACT_CENTER_NAME';

    // DEFAULT DISPLAY CONFIGURATION
    var defaultPosition = 'top-left'; //Choose between 'bottom-right', 'bottom-left', 'top-right' and 'top-left'. Initial is 'bottom-right'.
    var defaultSize = 'small'; //Choose between 'normal', 'small' and 'mini'. Initial is 'normal'. 

    function addJorelScriptLoader() {
    var jorelScriptLoader = document.createElement('script');
    jorelScriptLoader.id = 'jorelScriptLoader';
    jorelScriptLoader.type = 'text/javascript';
    jorelScriptLoader.async = true;

    jorelScriptLoader.src = 'https://'+contactCenterName+'.aswat.co/scripts/jorel.js';

    document.body.prepend(jorelScriptLoader);
    }

    function setJorelDefaultDisplay() {
    if (defaultPosition) localStorage.setItem('_jorel-default-position', defaultPosition);
    if (defaultSize) localStorage.setItem('_jorel-default-size', defaultSize); 
    }

    addJorelScriptLoader();
    setJorelDefaultDisplay();

    </script>
Step 2: Put your Ziwo instance URL, and get it connected instantly.
Don't have a Ziwo POC? Get it Here.
Manual Login 
There are 3 fields to fill when you manually login to WebPhone :

- contact center name (“your instance”)

- username (“[email protected]”)

- password (“secretpassword”)


After your manual login into ZIWO Web phone, some fields will be stored for a while in local so that you do not need to re-log again each time you refresh the page.
Auto Login 
If in your integration you want to always skip this first initial manual login authentication, you can set these fields in local storage so that ZIWO Web phone always auto-connects !

Step 1: Here are the fields which needs to be set :
- “_jorel-token” - “_jorel-ccName”

Step 2: The first item to be stored is _jorel-token. It should correspond to the token an agent get after login to ZIWO, through API /auth/login. (“see: ZIWO API doc, section auth/login”)

Step 3: The second item to be stored is _jorel-ccName. It should correspond to the contact center name of your instance. For example, if your instance is wayne-enterprise.aswat.co, it should correspond to wayne-enterprise


WebPhone Parameter 
Jorel is a ZIWO Web phone that can be integrated in any web app or CRM. Agents are connecting right in their web app and get all the functionalities to receive and place calls, view their call history or even change their status.
_jorel-token”

“_jorel-ccLogin”

“_jorel-ccName”

Getting them via WebPhone means you don’t have to bother on getting or even generating them from our API.

You can find their various uses in the Ziwo full API documentation !
Learn More

Call History
You can fetch call history using ZIWO Web phone (web phone) events

Step 1: Enter URL https://your-ziwo-api.aswat.co/callHistory/46
Step 2: Enter the desired parameter for ID. This endpoint gets a CDR by given id.

<script>

HEADERS
access_token b10c6840-a9e7-11e8-8476-8d2a2f09b159
    
</script>

Fetch Recordings
You can fetch call recording MP3 file using ZIWO Web phone (web phone) events.

Step 1: Enter URL https://your-ziwo-api.aswat.co/surveillance/recordings/<CallID>.mp3
Step 2: Enter the desired parameter for CallID. This endpoint downloads a recording MP3 file for the CDR identified by the given CallID (UUID of the CDR).

<script>

    HEADERS 
    access_token b10c6840-a9e7-11e8-8476-8d2a2f09b159

    </script>
Click to Call
You can make any phone numbers of you web app clickable to generate a call by the agent !

Step 1: In the agent app : Agent clicks to generate a call for himself
You can directly use the ZIWO Web phone function for calling a phone number !

This function can be called via : “window[‘_jorel-callPhoneNumber’]”.
It takes the phone number in international format as String parameter.
Add screenshot / videocast

Step 2: In the admin app : Admin clicks to generate a call for an agent
This is useful if you want to allow a manager wants to create a call for an agent.
For this you need simply need to use this endpoint of our REST API
CRM Profile Pop-up
This is an example of how to use ZIWO Web phone event broadcasting of call states, but they are many others depending on your business and web app !

Step 1: Scenario
You have a CRM containing information on the customers you are calling or who are calling you. You want the agent to automatically get access to the customer CRM data when the call is active, by opening a pop-up page with this data (for which your CRM has an URL).

Step 2: Conception using ZIWO Web phone documentation
Using the ZIWO Web phone documentation, you can see the various jorel events meaning and the outbound and inbound call flows. From this you can see that the appropriate events to use for the pop-up opening are the ‘ringing’ one for inbound calls and the ‘early’ one for the outbound calls.

EVENTS MEANING
Call verto events are broadcasted from the "window" element with the prefix : '_jorel-dialog-state-' with suffix amongst :
 
SUFFIX MEANING PRESENT IN DIRECTION
'requesting' Requesting operator to make the call Outbound
'trying' Operator trying to make the call Outbound
'early' Call is waiting for customer to pick up Outbound
'ringing' Call is ringing agent phone Inbound
'answering' Agent is answering call Inbound
'active' Agent and customer can talk to each other Both
'held' Customer has been put on hold by the Agent Possible in both
'hangup' Call is being hanged up Both
'destroy' Call is being destroyed Both
'recovering' When reconnecting to virtual phone and a call wasn't over, Jorel automatically recovers it ! Possible in both
EVENTS DATA
If browser supports "CustomEvent" class, the "event.detail" object will have the following attributes :
ATTRIBUTE MEANING
callID Id of the current leg of the call
primaryCallID Id of the primary / initial leg of the call
customerNumber Phone number of the customer called or calling
direction 'outbound', 'inbound', 'internal' or 'service'
stateFlow Array listing the states the call went through, with the date for each (Properties of the objects in the array: 'state', 'date', 'dateUNIX')
currentCall Full data of the call, including the ones above and much more
dialog Similar to the above currentCall, but also allows to interract with the call state for example by answering or hanging up. (See verto documentation for full details of possible interractions)
EVENTS FLOW FOR OUTBOUND CALL:
requesting
trying
early
active
hangup
destroy

EVENTS FLOW FOR INBOUND CALL:
ringing
answering
active
hangup
destroy
Also for getting the CRM data you need to use the customer phone number. Using the documentation you can see that you’ll find it in the event details with “event.detail.customerNumber”.

Step 3: Implementation in JS
From what we gathered above here is a script you can use for your pop-up opening. You simply need to complete its first function, which gets the CRM URL from the customer phone number !

<script>

    function getCrmUrlFromPhoneNumber(customerNumber) {

    // Here include your CRM logic to get the customer data URL from the customer phone number

    // This function can either return a String or a Promise resolving a String

    }


    async function openingCustomerPopUpFromEvent(event) {

    window.open(await getCrmUrlFromPhoneNumber(event.detail.customerNumber));

    }


    window.addEventListener('_jorel-dialog-state-ringing', openingCustomerPopUpFromEvent);

    window.addEventListener('_jorel-dialog-state-early', openingCustomerPopUpFromEvent);

    </script>

Fetch Voicemail
You can fetch call history using ZIWO Web phone (web phone) events.

Step 1: Enter URL https://your-ziwo-api.aswat.co/surveillance/recordings/.mp3
Step 2: Enter the desired parameter for CallID. This endpoint downloads a recording MP3 file for the CDR identified by the given CallID (UUID of the CDR).

<script>

HEADERS 
access_token b10c6840-a9e7-11e8-8476-8d2a2f09b159

</script>

Developer News

May 16, 2019
You can now Integrate Ziwo with Microsoft Dynamics to take your business to the next level. See Below, how your company could
benefit from both systems to improve call response, streamline call flow and ultimately sales team performance with
seamless integration of key features such as Click to Call, Pop up and Wrap up
More


Tutorials
May 21, 2019
Check out abundance of informational tutorials to add new features and functions for your product integration
More


Verto Integration
May 27, 2019
Rolling out the red carpet for ASWAT verto integrations
With 200+ API and live sockets, integrate with Ziwo& leverage the power of your customer data.
More

How to implement Call Whispering?

Step 1: POST Create Eavesdrop
https://your-ziwo-api.aswat.co/live/calls/eavesdrop/5555

This initiates a eavesdrop call which let's user to listen to an agent's live conversation with the customers. This call can also be updated to speak/listen to agent/both. When the specified agent is not on a call, this eavesdrop call plays a hold music.

Step 2: This initiated eavesdrop call rings the current user at his/her default position (unless position name is explicitly specified). Hence the position needs to be connected before invoking this API.

Step 3: Check positions module on how to connect this position. Also, currently the call initiated will not be auto answered by the backend, the client needs to implement the logic to auto answer the call. Once the call is answered, whenever target agent is not on a call, hold music will be played, whenever the target agent is on a call, the admin user can listen to live conversation and optionally speak to the agent or both (Check Update Eavesdrop below).

Step 4: : Permissions are based on new permission field eavesdrop in the role.permissions. Visit roles section for more information. Hence please ensure you set necessary permissions for make use of this feature.

<script>

						ADMIN, >=v1.4.2-beta
						HEADERS
						________________________________________
						access_token
						b10c6840-a9e7-11e8-8476-8d2a2f09b159
						BODY urlencoded
						________________________________________


					</script>
positionName
mydesk
Optionally pass the name of the position from where call should be initiated.

Example Request
Success
curl --location --request POST "https://your-ziwo-api.aswat.co/live/calls/eavesdrop/5555" \
--header "access_token: b10c6840-a9e7-11e8-8476-8d2a2f09b159" \
--data ""

Example Response

200 - OK
{
"result": true,
"content": {
"callID": "3f159fc0-0576-469f-8a16-aa3a69e20db2"
},
"info": {}
}


PUT Update Eavesdrop
Step 1: https://your-ziwo-api.aswat.co/live/calls/eavesdrop/e0a89fd6-f0da-481e-9372-622e6eb09ec2
Step 2: This endpoint allows user to update the eavesdrop channel/call identified by the callID. Currently it supports toggling the whisper state (agent, both, none).
<script>
							ADMIN, >=v1.4.2-beta
							HEADERS
							________________________________________
							access_token
							b10c6840-a9e7-11e8-8476-8d2a2f09b159
							BODY urlencoded
							________________________________________


					</script>
whisper
agent
Toggle between whisper states. Available options are (agent, both and none).

Example Request

Success
curl --location --request PUT "https://your-ziwo-api.aswat.co/live/calls/eavesdrop/e0a89fd6-f0da-481e-9372-622e6eb09ec2" \
--header "access_token: b10c6840-a9e7-11e8-8476-8d2a2f09b159" \
--data "whisper=agent"

Example Response

200 - OK
{
"result": true,
"content": {},
"info": {}
}

How to implement Call Masking?

Admin - Call Trackers

Step 1: The Call Trackers module can be used for dynamic handling the incoming calls by making a web service request to external service. This

Step 2: To implement these services from your end, you can look into example start and end request here:
https://documenter.getpostman.com/view/1450071/RWToNwzB?version=latest#00a05a01-9a69-4277-862a-dd5f575c6717

Call Trackers (examples)
https://documenter.getpostman.com/view/1450071/RWToNwzB?version=latest#3c736d8b-f266-431d-a704-132e89d9e8ed
This section is just for demonstration on how call tracker urls have to be implemented.

POST Start Call example
https://your-ziwo-api.aswat.co/callTrackers/example/startCall
This endpoint returns dummy values which demonstrates how the start call url has to be implemented in the integrations. In reality, this API will be outside stark, when there is an incoming call, Stark makes request to this (as detailed in the request section) and expects a response which is demod in the response section. Based on the response, next set of actions for the call will be executed.

<script>

						HEADERS
						________________________________________
						X-API-Key
						some-random-uuid-comes-here
						BODY formdata
						________________________________________


					</script>
didCalled
061234567
This is the didDialed number.

Example Request

Success
curl --location --request POST "https://your-ziwo-api.aswat.co/callTrackers/example/startCall" \
--header "X-API-Key: some-random-uuid-comes-here" \
--form "didCalled=061234567"

Example Response

200 - OK
{
"result": true,
"content": {
"didCalled": "061234567",
"rules": [
{
"action": "call",
"number": "0505874603",
"callerID": "042789926",
"timeout": 10
}

POST End call example
https://your-ziwo-api.aswat.co/callTrackers/example/endCall
This endpoint makes a dummy request (nothing will be stored in the db) which demonstrates how the end call url has to be implemented in the integrations. In reality, this API will be outside stark, when there is an incoming call completion, Stark makes request to this (as detailed in the request section) and expects a response which is demod in the response section. Once this url receives the request with call details integration can make necessary actions.
<script>
						HEADERS
						________________________________________
						X-API-Key
						some-random-uuid-comes-here
						Content-Type
						application/json
						BODY raw
						________________________________________


					</script>


{
"callID": "fdf893f5-ff46-44a9-ac63-7491e7b09dce",
"answeredRawTime": 1468150607,
"hangupBy": "originatee",
"audioQuality": "100",
"duration": 28,
"createdAt": "2016-07-10T11:37:03.944Z",
"callerIDName": "044508146",
"recordingFile": "fdf893f5-ff46-44a9-ac63-7491e7b09dce.mp3",
"direction": "inbound",
"updatedAt": "2016-07-10T11:37:03.944Z",
"callerIDNumber": "044508146",
"endRawTime": 1468150623,
"endDateTime": "2016-07-10T11:37:03.000Z",
"holdTime": 0,
"startRawTime": 1468150595,
"callLegSide": "unknown",
"hangupCause": "NORMAL_CLEARING",
"disposition": "ANSWER",
"agentCCLogin": "unknown",
"startDateTime": "2016-07-10T11:36:35.000Z",
"answeredDateTime": "2016-07-10T11:36:47.000Z",
"didCalled": "061234567",
"channelName": "sofia/internal/[email protected]",
"position": "0505874603",
"gateway": "external",
"status": "active",
"id": "46:5196",
"version": "3",
"extendedInfo": {
"numbers": {
"createdAt": "2016-07-10T06:24:20.420Z",
"linkData": "callTracker-01",
"didDisplay": "061234567",
"didCalled": "061234567",
"linkType": "callTracker",
"did": "061234567",
"updatedAt": "2016-07-10T08:11:07.086Z",
"status": "active",
"id": "19:8278",
"version": "44"
}
},
"callFlows": [
{
"callID": "fdf893f5-ff46-44a9-ac63-7491e7b09dce",
"transfered": false,
"extensionName": "general_incoming",
"createdAt": "2016-07-10T11:37:03.953Z",
"extensionNumber": "061234567",
"step": 1,
"hangup": true,
"updatedAt": "2016-07-10T11:37:03.953Z",
"status": "active",
"id": "50:2071",
"version": "2"
}
]
}


Link :
https://documenter.getpostman.com/view/1450071/RWToNwzB?version=latest#3c736d8b-f266-431d-a704-132e89d9e8ed

Step 3: When a call lands as an incoming call through one of the DID numbers configured, the platform can request an external web service to fetch the list of rules - e.g. Call 061234567 for 10 seconds and if the call fails or is not answered then route the call to another number 047654321 etc. There can be n-number of rules and each rule can have its own timeout value. When the call ends, the CDR is also posted to the external service defined when creating the call tracker.

Step 4: Each call tracker request can have a voicemail feature where in if the call is not answered by any of the numbers set then the call is sent to a voicemail server. This feature can be controlled by a flag.

Step 5: All the logs for both start call and end call can be fetched as well. There are different type of requests possible for this module, as listed below Get the list of call trackers Get a specific call tracker Create a call tracker Update a call tracker Block a call tracker Unblock a call tracker Delete a call tracker Get logs for a call tracker

GET Get Call Trackers
https://your-ziwo-api.aswat.co/admin/callTrackers/?limit=1&skip=0&search&order
This endpoint retrieves all the call trackers.
<script>
									HEADERS
									________________________________________
									access_token
									b10c6840-a9e7-11e8-8476-8d2a2f09b159
									PARAMS
									________________________________________


								</script>
limit
1
Number of items to be retrieved (max limit allowed is 50). It is recommended to use paginated results using limit and skip than fetching all in a single request

skip 0
Number of items to be skipped before applying limit (default is 0)

search
Filter items by keyword

order
Sort by a specific field (Prefix ~ for reversed order, eg: order=~did)

Example Request

Success
curl --location --request GET "https://your-ziwo-api.aswat.co/admin/callTrackers/?limit=1&skip=0&search&order" \
--header "access_token: b10c6840-a9e7-11e8-8476-8d2a2f09b159"

Example Response

200 - OK
{
"result": true,
"content": {
"id": 1,
"name": "CT",
"startRequestURL": "http://127.0.0.1:7000/callTrackers/example/startCall",
"endRequestURL": "http://127.0.0.1:7000/callTrackers/example/endCall",
"startRequestAPIKey": null,
"endRequestAPIKey": null,
"startRequestTimeout": null,
"endRequestTimeout": null,

GET Get Call Tracker
https://your-ziwo-api.aswat.co/admin/callTrackers/1callTrackers
This endpoint retrieves a specific call tracker by id.
<script>
								HEADERS
								________________________________________
								access_token
								b10c6840-a9e7-11e8-8476-8d2a2f09b159
								BODY formdata
								________________________________________


								</script>

Example Request

Success
curl --location --request GET "https://your-ziwo-api.aswat.co/admin/callTrackers/1" \
--header "access_token: b10c6840-a9e7-11e8-8476-8d2a2f09b159"

Example Response

200 - OK
{
"result": true,
"content": {
"id": 1,
"name": "CT",
"startRequestURL": "http://127.0.0.1:7000/callTrackers/example/
startCall",
"endRequestURL": "http://127.0.0.1:7000/callTrackers/example/endCall",
"startRequestAPIKey": null,
"endRequestAPIKey": null,
"startRequestTimeout": null,
"endRequestTimeout": null,

POST Create Call Tracker
https://your-ziwo-api.aswat.co/admin/callTrackers
This endpoint creates a new call tracker.

<script>
									HEADERS
									________________________________________
									access_token
									b10c6840-a9e7-11e8-8476-8d2a2f09b159
									BODY urlencoded
									________________________________________

								</script>
name
calltracker-01
Name of the call tracker.

startRequestURL
https://ct.example.com/start.php
The webservice to call during the call start, this URL should respond with the rules in a certain structure which Stark can understand and process the call accordingly.

startRequestAPIKey
If the call tracker requires an authenticated request then the platform will send the request with X-API-KEY in the headers

startRequestTimeout
10000
The number of milliseconds to wait for request to startUrl.

endRequestURL
https://username:passw[email protected]:8080/end.php
The webservice to call during the end of the call.

endRequestAPIKey
The API Key to be passed from Stark to this end url, if it needs a key based authentication to ensure request is coming from Stark and nowhere else.

endRequestTimeout
10000
The number of milliseconds to wait for request to endUrl.

welcomePlayback
Music to play as a welcome music when the call lands to the platform (provide only the storage hash)

errorPlayback
Music to play if an error occurs while requesting the call tracker server (provide only the storage hash)

Example Request

Create Call Tracker
curl --location --request POST "https://your-ziwo-api.aswat.co/admin/callTrackers" \
--header "access_token: b10c6840-a9e7-11e8-8476-8d2a2f09b159" \
--data "name=calltracker-01&startRequestURL=https%3A//ct.example.com/start.php&startRequestAPIKey=&startRequestTimeout=10000&endRequestURL=https%3A//username%[email protected]%3A8080/
end.php&endRequestAPIKey=&endRequestTimeout=10000&welcomePlayback=&errorPlayback="

PUT Update Call Tracker
https://your-ziwo-api.aswat.co/admin/callTrackers/1 This endpoint updates the call tracker by id.
<script>
									HEADERS
									________________________________________
									access_token
									b10c6840-a9e7-11e8-8476-8d2a2f09b159
									BODY urlencoded
									________________________________________
									startRequestURL

								</script>

https://ct.example.com/start.php
The webservice to call during the call start, this URL should respond with the rules in a certain structure which Stark can understand and process the call accordingly.

startRequestAPIKey
If the call tracker requires an authenticated request then the platform will send the request with X-API-KEY in the headers

startRequestTimeout
10000
The number of milliseconds to wait for request to startUrl.

endRequestURL
https://username:[email protected]:8080/end.php
The webservice to call during the end of the call.

endRequestAPIKey
The API Key to be passed from Stark to this end url, if it needs a key based authentication to ensure request is coming from Stark and nowhere else.

endRequestTimeout
10000
The number of milliseconds to wait for request to endUrl.

welcomePlayback
Music to play as a welcome music when the call lands to the platform (provide only the storage hash)

errorPlayback
Music to play if an error occurs while requesting the call tracker server (provide only the storage hash)

Example Request

Success
curl --location --request PUT "https://your-ziwo-api.aswat.co/admin/
callTrackers/1" \
--header "access_token: b10c6840-a9e7-11e8-8476-8d2a2f09b159" \
--data "startRequestURL=https%3A//ct.example.com/start.php&startRequestAPIKey=&startRequestTimeout=10000&endRequestURL=https%3A//username%[email protected]%3A8080/
end.php&endRequestAPIKey=&endRequestTimeout=10000&welcomePlayback=&errorPlayback="

Example Response
200 - OK
{
"result": true,
"content": {},
"info": {}
}

PUT Block Call Tracker
https://your-ziwo-api.aswat.co/admin/callTrackers/calltracker-01/block
This endpoint blocks a call trakcer by id or name.
<script>
												HEADERS
										________________________________________
										access_token
										b10c6840-a9e7-11e8-8476-8d2a2f09b159
										BODY urlencoded
										________________________________________
								</script>

Example Request

Success
curl --location --request PUT "https://your-ziwo-api.aswat.co/admin/
callTrackers/1/block" \
--header "access_token: b10c6840-a9e7-11e8-8476-8d2a2f09b159" \
--data ""
Example Response
200 - OK
{
"result": true,
"content": {},
"info": {}
}

PUT Unblock Call Tracker
https://your-ziwo-api.aswat.co/admin/callTrackers/1/unblock
This endpoint unblocks a call tracker by id or name.
This endpoint blocks a call trakcer by id or name.
<script>
										HEADERS
										________________________________________
										access_token
										b10c6840-a9e7-11e8-8476-8d2a2f09b159
										BODY urlencoded
										________________________________________
								</script>

Example Request

Success
curl --location --request PUT "https://your-ziwo-api.aswat.co/admin/
callTrackers/1/unblock" \
--header "access_token: b10c6840-a9e7-11e8-8476-8d2a2f09b159" \
--data ""

Example Response
200 - OK
{
"result": true,
"content": {},
"info": {}
}

DEL Delete Call Tracker
https://your-ziwo-api.aswat.co/admin/callTrackers/calltracker-01
This endpoint deletes a call tracker by id or name.
<script>
											HEADERS
											________________________________________
											access_token
											b10c6840-a9e7-11e8-8476-8d2a2f09b159
											BODY urlencoded
											________________________________________
								</script>

Example Request

Success
curl --location --request DELETE "https://your-ziwo-api.aswat.co/admin/
callTrackers/1" \
--header "access_token: b10c6840-a9e7-11e8-8476-8d2a2f09b159" \
--data ""

Example Response
200 - OK
{
"result": true,
"content": {},

"info": {}
}

GET Get Call Tracker Request Logs
https://your-ziwo-api.aswat.co/admin/
callTrackers/logs?fromDate=2015-01-01&toDate=2017-01-01&fetchStart=0&fetchStop=50&callTrackers[]=1

This endpoint retrieves logs of the call tracker.
<script>
							
											HEADERS
											________________________________________
											access_token
											b10c6840-a9e7-11e8-8476-8d2a2f09b159
											PARAMS
											________________________________________
								</script>

fromDate
2015-01-01
Optionally filter by from date.

toDate
2017-01-01
Optionally filter by to date.

fetchStart
0
This is use to paginate the result set e.g. setting fetchStart=30 means it will output the result set from the 30th log.

fetchStop
50
This is the number of records to fetch per page for pagination. e.g. setting fetchStop=100 will fetch 100 logs from the starting point as fetchStart

callTrackers[]
1
Optionally filter by call tracker ids.

BODY formdata ________________________________________

Example Request

Get Call Tracker Request Logs
curl --location --request GET "https://your-ziwo-api.aswat.co/admin/
callTrackers/logs?fromDate=2015-01-01&toDate=2017-01-01&fetchStart=0&fetchStop=50&callTrackers%5B%5D=1" \
--header "access_token: b10c6840-a9e7-11e8-8476-8d2a2f09b159"

PUT Test Call Tracker
https://your-ziwo-api.aswat.co/admin/callTrackers/2/test
This endpoint is to test the call tracker setup. This endpoint initiates requests to start and end url with dummy callId and other required informations. This API also returns the status of the test.
<script>
										HEADERS
											________________________________________
											access_token
											b10c6840-a9e7-11e8-8476-8d2a2f09b159
											BODY urlencoded
								</script>


References


FAQ


Tutorials


Support


Call Whispering- blank


Call Masking- blank

References

FAQ

Tutorials

Support

API

 

Need More help for integration?

Get Full Access to tutorials,videos,how to’s , FAQ and more …

elektrik faturası ödeme hgs bimcell tl yükleme avea tl yükleme seks malzemeleri vibratör erotik shop istanbul sex shop istanbul şişme manken realist manken sabiha gökçen araç kiralama tv reklam paketleri tv reklam e kitap indir bimcell tl yükleme