Jodo World (“Jodo”) is a Cloud Workplace Technology Framework designed to handle all present and future business communication media and channels by directly embedding communications within software applications and platforms (browser-driven or mobile apps). Jodo handles communication traffic distribution globally, via multi-lingual automation tools and monitors traffic handling via dispersed, multi-device global teams.
Jodo handles business phone calls from multiple geographies (distributed architecture), social media channels, email, chat, digital voice and video channels and SMS. Jodo handles all communication media on the Cloud and communication media events, actions and controls are offered within any business applications via Jodo API.
Customer Web Service
API URL
https://demo2.avhan.com:9443/CustomerWebServices/handleCustomerWS?data={JSON request }
CuRL Tool can be used to test API
curl -d "data={JSON request}" POST
https://demo2.avhan.com:9443/CustomerWebServices/handleCustomerWS
It is also possible to use WGET to test API
wget --post-data "data={JSON request}" POST
https://demo2.avhan.com:9443/CustomerWebServices/handleCustomerWS
SOAP UI, Postman are other tools that can be used to test API
Common Status Code Information
Status | Status Description |
---|---|
1107 | api key not found |
1108 | Service key not found |
1243 | Service Key API Key Not matching |
Purpose: This function is used to push customer data to Jodo Application.
If Media is voice & contact Number is valid, data push for dialing.
Pre-requisite for TTS
Status :: 10500 → After TTS covert, status changed to 1001
TTS web hook need to map with Process + Data Import event
TTS Web Hook :: Commercial service and need separate subscription.
Use Cases:
Start Call in Jodo Platform for CRM pushed specific data (Customer to be called).
Inbound Case :: Customer data store to Avhan and populate using Call Guide. Media :: 11 – Voice In :: Developer team will verify code
Start call via automated voice using Text to Speech (Jodo Messenger Dialer with TTS)
In this case Jodo receives Customer First Name & Last Name via Push API in real-time.
Jodo pushes data to target TTS Engine API. (user defined in configuration)
After TTS API response received, Jodo dials contact number passed in request and start interactive message flow at scheduled time.
Node | M/O | Data type size | Value | Description |
---|---|---|---|---|
method | M | Text | ImportProcessData | Unique Command for JSON Request. (This method value will not be changed) |
apikey | M | Text | test_org | Unique key map to the organization. (This API key will change according to client organisation) |
servicekey | M | Text | VoiceProcess | Unique key map to the process. (This service key will change according to client process) |
media | M | Text | 11 | Media for the received data. (like 1=Email In 2=Email Out 3=SMS In 4=SMS Out 8=Chat 11=Voice In 12=Voice Out 21=Social-Twitter 22=Social-Facebook 31=Video) Refer table below for Media Information values |
data | M | Text | [ { "leadnumber":"1" "name":"Ram" "mobilenumber":"1234567890" "emailid":"v@avhan.com" "callDateTime":"2018-06-20 09:07:00" "calltype":"71" "dateofleadcreation":"2012-02-22" "timeofleadcreation":"12:00:00" "extrafield1":"1" "extrafield2":"2" "extrafield3":"3" }, { "leadnumber":"2" "name":"abc" "mobilenumber":"1234567891" "emailid":"v1@avhan.com" "callDateTime":"2018-06-20 09:07:00" "calltype":"41" "dateofleadcreation":"2012-02-22" "timeofleadcreation":"12:00:00" "extrafield1":"11" "extrafield2":"21" "extrafield3":"31" } ] | Customer data in JSON Array ( It requires mobile number, name, emailid, etc.) |
updateparam | M | Text | Mobilenumber/customercode/crmuniquefield | The parameter used for data check to update and insert data. (like Mobilenumber or customercode or crmuniquefield) |
reqdatetime | M | Text | 2018-11-12 14:00:05 | Date and Time of the request.(Date format: YYYY-MM-DD hh:mm:ss) |
Data Array optional parameters | ||||
Calltype | O | 5 | Refer table below for calltype values | |
userlogin | O | test@avha.com | Valid login id which exists in Jodo Platform |
Multiple trunks handle prefix for domestic and international calling differently and based on the Trunks used in your operations you will need to standardise the data in your applications with the appropriate prefix.
e.g. GSM trunks / Gateways can process + for international dialing as a prefix while TELCO trunks need you to assign 00 as prefix for international dialing. Similarly domestic dialing code prefix may be different in parts of the world.
Developer change ::: To allow mobile number +
Node | Value | Description |
---|---|---|
method | reallocatedata | Unique Command for JSON Response |
resdatetime | 2018-11-12 14:00:05 | Date and Time of the response.(Date format: YYYY-MM-DD hh:mm:ss) |
status | 001 | Refer the status parameter table |
statusdesc | success | status parameter description |
{
"method":"ImportProcessData",
"reqdatetime":"2018-11-12 14:00:05",
"servicekey":"VoiceProcess",
"apikey":"test_org",
"media":"11",
"updateparam":"mobilenumber",
"data"
[
{ "fname":"suvarna", "lname":"gadakh",
"mobilenumber":"00918452892308",
"extra_params":"xyz",
"call_type":"5"},
{ "fname":"suvarna", "lname":"gadakh",
"mobilenumber":"00918452892308",
"extra_params":"xyz",
"call_type":"5"}
]
}
{
"method":"ImportProcessData",
"reqdatetime":"2018-11-12 14:00:05",
"servicekey":"process1",
"apikey":"MsQgi5/gKVZusW5XziRf76nHbn9JxU4VDSWwongD5dU=",
"media":"11",
"updateparam":"customercode",
"data"
[
{
"leadnumber":"1"
"customercode":"1"
"name":"Ram",
"mobilenumber":"1234567890"
"emailid":"v@avhan.com"
},
{
"leadnumber":"2"
"customercode":"2"
"name":"abc"
"mobilenumber":"1234567891"
"emailid":"v1@avhan.com"
}
]
}
{
"method":"ImportProcessData",
"reqdatetime":"2018-11-12 14:00:05",
"servicekey":"process1",
"apikey":"MsQgi5/gKVZusW5XziRf76nHbn9JxU4VDSWwongD5dU=",
"media":"11",
"updateparam":"crmuniquefield",
"data"
[
{
"leadnumber":"1",
"customercode":"1",
"name":"Ram",
"mobilenumber":"1234567890",
"emailid":"v@avhan.com",
"callDateTime":"2018-06-20 09:07:00",
"calltype":"71",
},
{
"leadnumber":"2",
"customercode":"2",
"name":"abc",
"mobilenumber":"1234567891",
"emailid":"v1@avhan.com",
"callDateTime":"2018-06-20 09:07:00",
"calltype":"41",
}
]
}
ImportProcessData JSON Response
{
"method":"ImportProcessData",
"resdatetime":"2018-11-12 14:00:05",
"statuscode":"001",
"statusdesc":"success"
}
ImportProcessData JSON Fail Response
{
"method":”ImportProcessData”,
"revisionno":"1",
"status":5,
"statusdesc":"fail",
"resdatetime":"2018-11-12 14:00:05"
}
Status Code Information
Status | Status Description |
---|---|
01 | Success |
14 | Customer data not found |
15 | Date range not proper |
16 | Invalid To Date Format |
17 | Invalid Media |
18 | Media Not Found |
19 | Media Found blank |
24 | Update Parameter not found |
25 | Update Parameter blank |
26 | Invalid Update Parameter |
CALL Type Code Information
Call Type | CallType Description |
---|---|
5 | Hot Lead |
21 | Callback Call |
31 | Preview Callback Call |
41 | General call back |
71 | Preview Call |
1001 | Fresh Call |
Media type:
Media Id | Media Information |
---|---|
1 | Email In |
2 | Email Out |
3 | SMS In |
4 | SMS Out |
8 | Chat |
11 | Voice In |
12 | Voice Out |
21 | Social-Twitter |
22 | Social-Facebook |
31 | Video |
This method used to pull customer data from DB.
When CRM / Business application want to fetch data from Jodo, this method should be used.
In this request either daterange(fromdate, todate), mobilenumber, customercode, crmuniquefield will be send as searchparam values which are used as input string to pull out data from DB. At a time only one value should be pass else web service will pull data on all given criteria.
Here Searchparam consider as unique field for process data.
This getProcessData method accepts JSON string as input and returns response as JSON string .
Input Value:
M – mandatory parameter
O – Optional parameter
Parameter | M/O | Data Type | Example | Description |
---|---|---|---|---|
method | M | Text | getProcessData | Name of the web service method |
reqdatetime | M | Text | 2016-01-19 12:00:00 | Date time for the webservice request |
servicekey | M | Text | process1 | Unique Servicekey for the process |
apikey | M | Text | MsQgi5/gKVZusW5XziRf76nHbn9JxU4VDSWwongD5dU= | Unique apikey for the organization |
searchparam | M | Text | customer_code(1001) | Unique Process values on which customer wants to search data valid search paramter mobilenumber customercode crmuniquefield daterange |
fromdate | O | Text | 2016-01-17 12:00:00 | From date from which data wants to pull searchparam=”daterange” |
todate | O | Text | 2016-01-19 12:00:00 Valid Format : (yyyy-dd-mm HH:mm:ss) | To date from which data wants to pull searchparam=”daterange” |
mobilenumber | O | Text | Contact number(8765456789) | Mobilenumber If Single contact number data wants to pull out searchparam=”mobilenumber” mobile no range must be min(3 digit and max 16 digit) for international contact no |
Customer code | O | Text | 14001 | This is Jodo World Customer unique code. It is receive through Toolbar when call is connected on Avhan CRM. searchparam=”customercode” |
crmunique field | O | Text | POP100300 | This is CRM Unique Field value. eg. Policy Number searchparam=”crmuniquefield” |
Note:
searchparam is case sensitive.
If searchparam is mobilenumber then webservice fetch mobilenumber value from request and pull out customer data from Jodo World DB on contact1 field
If searchparam is daterange then webservice fetch fromdate and todate values from request and pull out customer data from Jodo World DB on storedatetime field
If searchparam is customercode then webservice fetch customercode value from request and pull out customer data from Jodo World DB on customer_code field
If searchparam is crmuniquefield then webservice fetch crmuniquefield value from request and pull out customer data from Jodo World DB on process associated unique CRM field.
Output Value:
This function returns JSON String with unique id generated by web service. This is used to track details of the request send to the web service
Data as per Form Template definition. Refer Push Data API DATA faq point.
Parameter | Data type | Example | Description |
---|---|---|---|
method | Text | getProcessData | Name of the web service method |
resdatetime | Text | 2016-01-19 12:00:00 | Date time for the webservice response |
statuscode | Text | 001 | Response Code |
statusdesc | Text | success | Response description. |
data | Text | Customerdata in array | Customer data in array |
This method accepts StrRequest JSON string as input and returns response as JSON string .
Sample JSON Request With search param mobilenumber
{
"method":"getProcessData",
"reqdatetime":"2016-01-19 12:00:00",
"servicekey":"Policy",
"apikey":"MsQgi5/gKVZusW5XziRf76nHbn9JxU4VDSWwongD5dU=",
"searchparam":"mobilenumber",
"mobilenumber":
["9000100200", "9000100201","9000100203"]
}
Sample JSON Request With search param customercode
{
"method":"getProcessData",
"reqdatetime":"2016-01-19 12:00:00",
"servicekey":"Policy",
"apikey":"MsQgi5/gKVZusW5XziRf76nHbn9JxU4VDSWwongD5dU=",
"searchparam":"customercode",
"customercode":"1"
}
Sample JSON Request With search param crmuniquefield
{
"method":"getProcessData",
"reqdatetime":"2016-01-19 12:00:00",
"servicekey":"Policy",
"apikey":"MsQgi5/gKVZusW5XziRf76nHbn9JxU4VDSWwongD5dU=",
"searchparam":"crmuniquefield",
"crmuniquefield":"1"
}
Sample JSON Request With search param crmuniquefield
Sample JSON Request With search param daterange
{
"method":"getProcessData",
"reqdatetime":"2016-01-19 12:00:00",
"servicekey":"Policy",
"apikey":"MsQgi5/gKVZusW5XziRf76nHbn9JxU4VDSWwongD5dU=",
"searchparam":"daterange",
"fromdate":"2016-01-19 12:00:00",
"todate":"2016-01-22 12:00:00"
}
Sample JSON Response
{
"method":"getProcessData",
"resdatetime":"2016-01-19 12:00:00",
"statuscode":"001",
"statusdesc":"success",
"data":
[
{
"leadnumber":"1",
"name":"Avhan Technologies",
"mobilenumber":"1234567890",
"emailid":"v@avhan.com",
"callDateTime":"2013-06-20 09:07:00",
"policyexpirydate":"2013-02-22",
"dateofleadcreation":"2012-02-22",
"timeofleadcreation":"12:00:00",
"extrafield1":"1",
"extrafield2":"2",
"extrafield3":"3"
},{
"leadnumber":"2",
"name":"Avhan Technologies 1",
"mobilenumber":"1234567891",
"emailid":"v1@avhan.com",
"callDateTime":"2013-06-20 09:07:00",
"policyexpirydate":"2013-02-22",
"dateofleadcreation":"2012-02-22",
"timeofleadcreation":"12:00:00",
"extrafield1":"11",
"extrafield2":"21",
"extrafield3":"31"
}
]
}
Purpose: This function is used to reallocate data or task to a particular user.
Use Case:
This is used when a user is absent or has left organization and will not be able to handle scheduled calls during their absence. In such cases, data needs to be reallocated to other Jodo users to meet the scheduled call goal.
Option to reallocate data should be added to CRM / Business application.
Node | M/O | Data type size | Value | Description |
---|---|---|---|---|
method | M | reallocatedata | Unique Command for JSON Request. (This method value will not be changed) | |
apikey | M | test_org | Unique key map to the organization. (This apikey will change according to client organisation) | |
servicekey | M | VoiceProcess | Unique key map to the process. (This servicekey will change according to client process) | |
contactnumber | M | 75079959484 | User contact number. (like phone number or mobile number) | |
login | M | Tanmay.k@dev1 | Reassign login (needed emailID) | |
calldatetime | O | 2018-11-10 09:00:00 | Call datetime | |
customercode | O | Unique customer code | ||
reqdatetime | M | 2018-11-12 14:00:05 | Date and Time of the request.(Date format: YYYY-MM-DD hh:mm:ss) |
Node | Value | Description |
---|---|---|
method | reallocatedata | Command for JSON Response |
resdatetime | 2018-11-12 14:00:05 | Date and Time of the response. (Date format: YYYY-MM-DD hh:mm:ss) |
status | 001 | Refer the status parameter table |
statusdesc | success | status parameter description |
This API returns in one format I.e. JSON format.
{
"method":"reallocatedata",
"apikey":"test_org",
"servicekey":"VoiceProcess",
"contactnumber":"7507959484",
"login":"tanmay.k",
"calldatetime":"2018-11-10 09:00:00",
"customercode":0,
"reqdatetime":"2018-11-12 14:00:05"
}
{
"method":"reallocatedata",
"statuscode":"001",
"resdatetime":"2018-11-12 14:00:05",
"statusdesc":"Success"
}
{
"method":”reallocatedata”,
"revisionno":"1",
"status":5,
"statusdesc":"fail",
"resdatetime":"2018-11-12 14:00:05"
}
Status Code Information
Status Status Description 01 Success 13 Tenant Database Not found 38 Error while processing 70 Contact Number not found 71 Contact Number is blank 72 Login not found 73 Login is blank
{
"method":"saveDisposition",
"login":"dinesh.s@avhan.com",
"apikey":"test_org",
"servicekey":"VoiceProcess",
"dispomasterid":1,
"disporeasonid":1,
"remarks":"This is testing remarks",
"selecteddatetime":"2018-11-01 17:00:00",
"contactvalue":"9874561320",
"media": “Voice In”,
"reqdatetime":"2018-11-01 17:00:00",
}
Request JSON Response
{
"method":"saveDisposition",
"statusdesc":"success",
"status":3,
"resdatetime":"2018-11-01 17:00:00"
}
Report request JSON Fail Response
{
"method":"savedisposition",
"reasonid":31,
"statusdesc":"fail",
"status":4,
"resdatetime":"2018-11-01 17:00:00"
}
Status codes :
Status | Status Description |
---|---|
3 | Successful |
4 | Login not found |
6 | Wrong Status mode [Status should be wrapup] |
7 | Wrong date format |
8 | Date not in range(min and max date value configured from db) |
31 | Disposition Master ID / Reason Id not found |
32 | Contact Number In DNC |
33 | Callback count exceed for process |
111 | Error while processing |
421 | Invalid Process Id |
Purpose: This function is used to get recording link of a particular voice call unique systemcallid.
Playback of media sessions e.g. calls to be played within the CRM/ Business application.
Send links to users / customers of the media session recorded
Node | M/O | Data type size | Value | Description |
---|---|---|---|---|
method | M | customer_recording | Unique Command for JSON Request. (This method value will not be changed) | |
apikey | M | test_org | Unique key map to the organization. (This apikey will change according to client organisation) | |
servicekey | M | VoiceProcess | Unique key map to the process. (This servicekey will change according to client process) | |
sessionid | O | 8 | Sessioncalllistid | |
systemcallid | M | 140912183554281005 | Unique value of Systemcallid. (dynamic value generated at the time of call dialed to the user) | |
reqdatetime | M | 2018-11-12 14:00:05 | Date and Time of the request. (Date format: YYYY-MM-DD hh:mm:ss) |
Node | Value | Description |
---|---|---|
method | customer_recording | Unique Command for JSON Response |
restatetime | 2018-11-12 14:00:05 | Date and Time of the response.(Date format: YYYY-MM-DD hh:mm:ss) |
status | 3 | Refer the status parameter table |
statusdesc | success | status parameter description |
revisionno | 1 | Functionality revision no |
This API returns response in JSON format.
{
"method":"customer_recording",
"apikey":"test_org",
"servicekey":"VoiceInOut",
"sessionid":483,
"systemcallid":"140912183554281005" ,
"reqdatetime":"2018-11-12 14:00:05"
}
{
"method":"customer_recording",
"recordingfilepath":"http:\/\/192.168.2.127\/recordings\/\/1\/1\/2014\/09\/12\/18\/140912183554281005_0000.MP3",
"revisionno":1,
"statusdesc":"success",
"status":3,
"resdatetime":"2018-11-12 14:00:05"
}
{
"method":”customer_recording”,
"revisionno":"1",
"status":5,
"statusdesc":"fail",
"resdatetime":"2018-11-12 14:00:05"
}
Status info for Recording Module
Status | Status Description |
---|---|
3 | Successful |
62 | sessionid not found |
63 | systemcallid not found |
66 | systemcallid found blank |
65 | Invalid sessionid |
1111 | Error while processesing data |
This function is used to get recording link of multiple calls
When CRM / Business application need to fetch recording of multiple calls, either for playback or analytic purpose, this method can return URL of multiple calls.
Column Name | Column Name | Column Name | Column Name | Column Name |
---|---|---|---|---|
method | M | customer_multiple_recordings | Unique Command for JSON Request. (This method value will not be changed) | |
apikey | M | test_org | Unique key map to the organization. (This apikey will change according to client organisation) | |
servicekey | M | VoiceProcess | Unique key map to the process. (This servicekey will change according to client process) | |
sessionid | O | 8 | Sessioncalllistid | |
systemcallids | M | { 140912183554281005, 1809121835543434 3, 1709121835542810 34534 } | Array of Unique value of Systemcallid. (dynamic value generated at the time of call dialed to the user) | |
reqdatetime | M | 2018-11-12 14:00:05 | Date and Time of the request. (Date format: YYYY-MM-DD hh:mm:ss) |
Node | Value | Description |
---|---|---|
method | customer_multiple_r ecordings | Unique Command for JSON Response |
resdatetime | 2018-11-12 14:00:05 | Date and Time of the response.(Date format: YYYY-MM-DD hh:mm:ss) |
status | 3 | Refer the status parameter table |
statusdesc | success | status parameter description |
revisionno | 1 | Functionality revision no |
This API returns in one format I.e. JSON format.
Customer multiple recording JSON Request
{ "method":"customer_multiple_recordings",
"apikey":"test_org",
"servicekey":"voiceprocess",
"systemcallids":[ "180717171728015031", "180719161420031002" ], "reqdatetime":"2018-11-12 14:00:05"
}
Customer recording JSON Response
{ "method":"customer_multiple_recordings",
"resdatetime":"2018-12-18 12:39:05",
"statusdata":[
{"systemcallid":"180717171728015031",
"statusdesc":"success",
"status":3,
"recordingfilepath":
"http://192.168.2.127/recordings/1/1/2018/07/17/17/180717171728015 031_1001_1500_1_2500_1728015.MP3"
},
{
"systemcallid":"180719161420031002",
"statusdesc":"Data not found",
"status":67,
"recordingfilepath":"" }
]
}
Status info for Recording Module
Status | Status Description |
---|---|
2 | Wrong format of received request |
3 | Successful |
62 | sessionid not found |
63 | systemcallid not found |
66 | systemcallid found blank |
65 | invalid sessionid |
1111 | Error while processing data |
To handle Jodo User functionality using Web service application
Purpose: This function is used to add new user or edit existing user in Jodo
Use Case: When new user is created in CRM / Business application, it is pushed to Jodo using this API
Node | M/O | Data type size | Value | Description |
---|---|---|---|---|
method | M | Text | addEditUser | Unique Command for JSON Request. (This method value will not be changed) |
apikey | M | Text | test_org | Unique key map to the organization. (This apikey will change according to client organisation) |
action | M | Text | add | Action type (1.add & 2.edit) |
username | M | Text | avhanuser | Username can be alphanumeric |
userimage | O | Text | c2c_clicktocall_201601051003844.jpg | Image of the user |
loginid | M | Text | user12@avhan.com | Email id of user (needed emailid) For Edit this field is not change Non Editable Field |
usertype | M | Text | user | Select paricular usertype while creating user ( usertype like user, admin, dealer, etc) |
mediadetails | M | Text(150) | [{“media”:”Voice In”},{“media”:”Email Out”}] | Media details (Media details like VoiceIn, VoiceOut, EmailIn, EmailOut, social, etc) |
newpassword | O | Text | 12d73bbb7bdf501be4b6595271eac123 | Enter user new password(MD5 encrypted value) |
confirmpassword | O | Text | 12d73bbb7bdf501be4b6595271eac123 | Enter user confirm password(MD5 encrypted value). This field is mandatory when newpassword parameter is passed |
Node | Value | Description |
---|---|---|
method | addEditUser | Unique Command for JSON Response |
revisionno | 1 | Functionality revision no |
status | 3 | Refer the status parameter table |
statusdesc | success | status parameter description |
userid | 136 | New user creation id (whenever new user is created dynamic userid will be generated) |
resdatetime | 2018-11-12 14:00:05 | Date and Time of the response.(Date format: YYYY-MM-DD hh:mm:ss) |
User type:
User Type |
---|
Super Admin |
Administrator |
Supervisor |
Team Leader |
User |
Quality |
Barge-In |
MIS |
Media type:
Media Type |
---|
Email In |
Email Out |
SMS In |
SMS Out |
Chat |
Voice In |
Voice Out |
Social-Twitter |
Social-Facebook |
Video |
Contact ID Info :
Table: contact_types
Table: Contact_types |
---|
Home Number |
Mobile Number |
Personal Number |
Office phone |
Office Fax |
Skype |
Personal Email |
Official Email |
{
"method":"addEditUser",
"apikey":"test_org",
"action":"add",
"userimage":"c2c_clicktocall_201601051003844.jpg",
"username":"Batman12",
"loginid":"Batman12@avhan.com",
"usertype":"user",
"newpassword":"ecc4208a7778c1d76e7e89c5253128c5",
"confirmpassword":"ecc4208a7778c1d76e7e89c5253128c5",
"mediadetails":[{"media":"Email In"},{"media":"Email Out"}],
"customercode":100783,
"groups":["Avhan_group","Batman_group"],
"gender":"Male",
"dob":"1990-11-13",
"doj":"2014-11-13 ",
"address":"Postal colony, chembur"
"country":"India",
"state":"Maharashtra",
"city":"Chembur",
"language":[
{"languageid":"1","language":"English"},
{"languageid":"2","language":"Hindi"}
],
"contactdetails":[
{"contactid":"facebook","contacttype":"testdemo987@avhan.com"},
{"contactid":"mobile number","contacttype":"8465982541"}
],
"skilldetails":[
{"skillname":"language","skilldetail":"hindi","proficiencyvalue":"4"},
{"skillname":"product","skilldetail":"old","proficiencyvalue":"4"}
],
"reqdatetime":"2018-11-12 14:00:05"
}
JSON Add User Response format
{
"method":”addUser”,
"userid":124,
"revisionno":1,
"status":3,
"statusdesc":"success",
"resdatetime":"2018-11-12 14:00:05"
}
JSON Add User Failed Response format
{
"method":”addUser”,
"revisionno":1,
"status":5,
"statusdesc":"fail",
"resdatetime":"2018-11-12 14:00:05"
}
JSON Edit User Request Format
{
"method":"addEditUser",
"apikey":"test_org",
"action":"edit",
"userimage":"c2c_clicktocall_201601051003844.jpg",
"username":"Batman12",
"loginid":"Batman12@avhan.com",
"usertype":"user",
"newpassword":"ecc4208a7778c1d76e7e89c5253128c5",
"confirmpassword":"ecc4208a7778c1d76e7e89c5253128c5",
"mediadetails":[{"media":"Email In"},{"media":"Email Out"}],
"customercode":100783,
"groups":["Avhan_group","Batman_group"],
"gender":"Male",
"dob":"1990-11-13",
"doj":"2014-11-13 ",
"address":"Postal colony, chembur"
"country":"India",
"state":"Maharashtra",
"city":"Chembur",
"language":[
{"languageid":"1","language":"English"},
{"languageid":"2","language":"Hindi"}
],
"contactdetails":[
{"contactid":"facebook","contacttype":"testdemo987@avhan.com"},
{"contactid":"mobile number","contacttype":"8465982541"}
],
"skilldetails":[
{"skillname":"language","skilldetail":"hindi","proficiencyvalue":"4"},
{"skillname":"product","skilldetail":"old","proficiencyvalue":"4"}
],
"reqdatetime":"2018-11-12 14:00:05"
}
JSON Edit User Response format
{
"method":”addEditUser”,
"userid":136,
"revisionno":1,
"status":3,
"statusdesc":"success",
"resdatetime":"2018-11-12 14:00:05"
}
Status Code Information
Status | Status Description |
---|---|
401 | action not found |
402 | action is blank |
403 | userimage not found |
404 | username not found |
405 | username is blank |
406 | loginid not found |
407 | loginid is blank |
408 | loginid is invalid |
409 | usertype not found |
410 | usertype is blank |
This function is used to delete users in Jodo.
Whenever user is deleted in the business application, the application must invoke this API to execute same action in Jodo platform.
When users are deleted in business applications – they will be automatically deleted in Jodo Platform as well.
Node | M/O | Value | Description |
---|---|---|---|
method | M | deleteUser | Unique Command for JSON Request. (This method value will not be changed) |
apikey | M | test_org | Unique key map to the organization. (This apikey will change according to client organisation) |
loginid | M | user12@avhan.com | Email id of user. (needed emailID) |
reqdatetime | M | 2018-11-12 14:00:05 | Date and Time of the request. (Date format: YYYY-MM-DD hh:mm:ss) |
Node | Value | Description |
---|---|---|
method | deleteUser | Unique Command for JSON Response |
resdatetime | 2018-11-12 14:00:05 | Date and Time of the response.(Date format: YYYY-MM-DD hh:mm:ss) |
status | 3 | Refer the status parameter table |
statusdesc | success | status parameter description |
revisionno | 1 | Functionality revision no |
This API returns in one format I.e. JSON format.
{
"method":"deleteUser",
"apikey":"test_org",
"loginid":"Batman12@avhan.com",
"reqdatetime": "2018-11-12 14:00:05"
}
{
"method":"deleteUser",
"revisionno":"1",
"status":1,
"statusdesc":"success",
"resdatetime":"2018-11-12 14:00:05"
}
{
"method":”deleteUser”,
"revisionno":"1",
"status":5,
"statusdesc":"fail",
"resdatetime":"2018-11-12 14:00:05"
}
Status | Status Description |
---|---|
406 | loginid not found |
407 | loginid is blank |
408 | loginid is invalid |
418 | loginid not exists |
461 | clientlogin id does not exists |
Purpose: This function is used to get real-time staus of Jodo user . Also it use to allocate data after check user status.
Use Case:
This API is used by CRM / Business Application to get realtime status of Jodo user .
It should be called before call disposition API.
Based on status, CRM / Business Application can take next action – push new data for processing / calling.
Node | M/O | Data type size | Value | Description |
---|---|---|---|---|
method | M | Text | userStatus | Unique Command for JSON Request. (This method value will not be changed) |
apikey | M | Text | test_org | Unique key map to the organization. (This apikey will change according to client organisation) |
servicekey | M | Text | VoiceProcess | Unique key map to the process. (This servicekey will change according to client process) |
loginids | M | Text | [“rupesh.v@avhan.com”,”t est@avhan.com”], | Jodo user login id |
regdatetime | M | DateTime | 2018-11-12 14:00:05 | Date and Time of the request.(Date format: YYYY-MM-DD hh:mm:ss) |
Node | Value | Description |
---|---|---|
method | userStatus | |
resdatetime | 2018-11-12 14:00:05 | |
status | 001 | |
statusdesc | success | |
statusdata | JSON Array | |
currentstatus | 5 | |
currentstatusdesc | Talking | |
duration | 10 |
This API returns in one format I.e. JSON format.
{
"method":"userStatus",
"apikey":"test_org",
"servicekey":"VoiceProcess",
"loginids":["rupesh.v@avhan.com","user10"],
"reqdatetime": "2017-11-20 10:00:05"
}
JSON Response
{ "statusdata":[
{"duration":100,"currentstatus":1,
"currentstatusdesc":"Ready",
"statuschangetime":"07-Mar-19 11:59:59 PM", "login":"user1","statusdesc":"Success","status":3}
{"duration":11,"currentstatus":11,
"currentstatusdesc":"System Sent NA",
"statuschangetime":"07-Mar-19 11:59:59 PM", "login":"user10","statusdesc":"Success","status":3}
],
"method":"userStatus",
"timestamp":"2019-03-08 11:53:02"
}
User Status Code Information
Status | Status Description |
---|---|
1 | Ready |
2 | Manual CAll |
3 | Preview CAll |
4 | ACD |
5 | Talking |
6 | Hold |
7 | Wrapup |
8 | Dialling |
9 | Live Stream |
10 | Transfer |