Basic Management API
# Basic Management API
# Agent Management
# ● Query Agent Setting
Description: Query the agent's extension account /phone number/sorting duration.
API URL: https://sg.sobot.io/callservice/tm/tm-config/api/agents?agentType={agentType}&agent={agent}
Request The method is as follows : GET
Request param (header):
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential. Please refer to Obtain the Authentication Token |
timezoneid | String | No | ZoneId, Asia/Singapore by default |
Request param (query string)
Param | Type | Required | Description |
---|---|---|---|
agent | String | Yes | Agent UUID/work no. |
agentType | int | Yes | Agent param type. 0: Agent work no., 1: Agent uuid |
Return param
Param | Type | Required | Description |
---|---|---|---|
agentUUID | String | Yes | Agent UUID |
agentID | String | Yes | Agent work no. |
agentName | String | No | Agent name |
ext | String | No | Binding Extension No. |
phone | String | No | Bind Phone No. |
wrapUpType | int | No | Post-call sorting type. 1: Overall, 2: Individual |
wrapUpTime | int | No | Post-call sorting duration (s) |
Response example:
{
"apiVersion": "6.2",
"status": "Success",
"message": "ok",
"code": 200,
"reason": "OK",
"kind": "Agent",
"data": {
"agentUUID": " bd4630df3550552ba7c16f27ae9a39cb ", // Agent UUID
"agentID": "1111", // Agent work no.
"agentName": "test", // Agent name
"phone": " 13800138000 ", // Agent phone no.
"ext": " 1000 ", // Agent extension no.
"wrapUpType": 2, // 1: Overall, 2: Individual
"wrapUpTime":60 // Sorting duration (s)
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# ● Modify Agent Setting
Description: Set the agent's corresponding extension account /phone number/sorting duration when the agent provides the phone service.
API URL: https://sg.sobot.io/callservice/tm/tm-config/api/agents
Request The method is as follows : POST
Request param (header):
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential. Please refer to Obtain the Authentication Token |
timezoneid | String | No | ZoneId, Asia/Singapore by default |
Request param (body)
- content-type: application/json;charset=utf-8
- Param Description
Param | Type | Required | Description |
---|---|---|---|
agent | String | Yes | Agent UUID/work no. |
agentType | int | Yes | Agent param type. 0: Agent work no., 1: Agent uuid |
wrapUpTime | int | Yes | Post-call sorting time |
phone | String | No | Phone No. |
ext | String | No | Ext. No. |
wrapUpType | int | No | Post-call sorting type. 1: Overall, 2: Individual |
Return param
Param | Type | Required | Description |
---|---|---|---|
agentName | String | Yes | Agent name |
ext | String | Yes | Binding Extension No. |
phone | String | Yes | Bind Phone No. |
wrapUpType | int | Yes | Post-call sorting type. 1: Overall, 2: Individual |
wrapUpTime | int | Yes | Sorting duration (s) |
agentUUID | String | No | Agent UUID |
agentID | String | No | Agent work no. |
Response example:
{
"apiVersion": "6.2",
"status": "Success",
"message": "ok",
"code": 200,
"reason": "OK",
"kind": "Agent",
"data": {
"agentUUID": " bd4630df3550552ba7c16f27ae9a39cb ", // Agent UUID
"agentID": "1111", // Agent work no.
"agentName": "test", // Agent name
"phone": " 13800138000 ", // Agent phone no.
"ext": " 1000 ", // Agent extension no.
"wrapUpType": 2, // 1: Overall, 2: Individual
"wrapUpTime":60 // Sorting duration (s)
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# ● Unbind Agent Setting
Description Unbind agent setting
API URL: https://sg.sobot.io/callservice/tm/tm-config/api/agents/unbind
Request The method is as follows : POST
Request (header):
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential. Please refer to Obtain the Authentication Token |
timezoneid | String | No | ZoneId, Asia/Singapore by default |
Request param (body)
- content-type: application/json;charset=utf-8
- Param Description
Param | Type | Required | Description |
---|---|---|---|
agent | String | Yes | Agent UUID/work no. |
agentType | int | Yes | Agent param type. 0: Agent work no., 1: Agent uuid |
numberType | int | No | Number type. 0: Extension no., 1: Phone no., 2: Telephone no.+phone no. |
Return param
Param | Type | Required | Description |
---|---|---|---|
agentUUID | String | Yes | Agent UUID |
agentID | String | No | Agent work no. |
agentName | String | No | Agent name |
ext | String | No | Binding Extension No. |
phone | String | No | Bind Phone No. |
wrapUpType | int | No | Post-call sorting type. 1: Overall, 2: Individual |
wrapUpTime | int | No | Post-call sorting duration (s) |
Response example:
{
"apiVersion": "6.2",
"status": "Success",
"message": "ok",
"code": 200,
"reason": "OK",
"kind": "Agent",
"data": {
"agentUUID": " bd4630df3550552ba7c16f27ae9a39cb ", // Agent UUID
"agentID": "1111", // Agent work no.
"agentName": "test", // Agent name
"phone": " 13800138000 ", // Agent phone no.
"ext": " 1000 ", // Agent extension no.
"wrapUpType": 2, // 1: Overall, 2: Individual
"wrapUpTime":60 // Sorting duration (s)
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# ● Query Call Agent List
Description: Query all enterprise agents with call permissions.
API URL: https://sg.sobot.io/callservice/tm/tm-config/api/agents/call/_search
Request The method is as follows : POST
Request (header):
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential. Please refer to Obtain the Authentication Token |
timezoneid | String | No | ZoneId, Asia/Singapore by default |
Request param (body)
- content-type: application/json;charset=utf-8
- Param Description
Param | Type | Required | Description |
---|---|---|---|
agentName | String | No | Agent name (fuzzy query is available) |
agentID | String | No | Agent work no. (fuzzy query is available) |
ext | String | No | Binding extension no. (fuzzy query is available) |
agentStatus | int | No | Agent work status |
Return param
- List set
Param | Type | Required | Description |
---|---|---|---|
agentUUID | String | Yes | Agent UUID |
agentID | String | No | Agent work no. |
agentName | String | No | Agent name |
ext | String | No | Ext. No. |
agentPhone | String | No | Phone no. |
loginStatus | Integer | No | Login status |
notReadyReasonCode | Integer | No | Occupied reason |
createTime | String | No | Creation Time |
updateTime | String | No | Update Time |
createTimeMs | long | No | Creation Time (ms) |
updateTimeMs | long | No | Update Time (ms) |
Response example:
{
"apiVersion": "6.3",
"status": "Success",
"message": "ok",
"code": 200,
"reason": "OK",
"kind": "Agent",
"data": [{
"agentUUID": " bd4630df3550552ba7c16f27ae9a39cb ",
"agentID": "1111",
"agentName": "test01",
"ext": " 1000 ",
"agentPhone": "138xxxxxxxx",
"loginStatus": 1,
"notReadyReasonCode": 0,
"createTime": " 2022-09-14 10 :00: 01 ",
"updateTime": " 2022-09-14 10 :00: 01 ",
"createTimeMs": 1663120801000,
"updateTimeMs": 1663120801000
},{
"agentUUID": " d2a6a9fb2ab2470cba9af6b6774ef858 ",
"agentID": "2222",
"agentName": "test02",
"ext": " 1001 ",
"agentPhone": "186xxxxxxxx",
"loginStatus": 2,
"notReadyReasonCode":11,
"createTime": "2022-08-14 12:43:01",
"updateTime": " 2022-09-10 08 :31: 46 ",
"createTimeMs": 1660452181000,
"updateTimeMs": 1662769906000
}]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Extension Management
# ● Query Extension List
Description: Query extension list
API URL: https://sg.sobot.io/callservice/tm/tm-config/api/exts/_search
Request The method is as follows : POST
Request param (header):
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential. Please refer to Obtain the Authentication Token |
timezoneid | String | No | ZoneId, Asia/Singapore by default |
Request param (body)
- content-type: application/json;charset=utf-8
- Param Description
Param | Type | Required | Description |
---|---|---|---|
bindStatus | int | No | Binding status. 0: Not bound, 1: Bound |
pageSize | int | No | Page size, 10 by default |
currPage | int | No | Page no., 1 by default |
Return param
Param | Type | Required | Description |
---|---|---|---|
ext | String | Yes | Ext. No. |
password | String | Yes | Extension password |
bindStatus | String | Yes | Binding status. 0: Not bound, 1: Bound |
bindTime | long | No | Binding time (ms) |
agentUUID | String | No | Agent‘s unique id |
agentName | String | No | Agent name |
Response example:
{
"apiVersion": "6.3.0",
"status": "Success",
"code": 200,
"message": "Success",
"reason": "",
"kind": "Ext",
"metaData": {},
"data": {
"list": [
{
"ext": " 5002 ",
"password": "123456",
"bindStatus": 1,
"bindTime": 1657274393279 ,
"agentUUID": " 7b8ec043e9a24727ad0570ba1b6e82fe ",
"agentName": "v6_cs2"
},
{
"ext": " 5001 ",
"password": "123456",
"bindStatus": 1,
"bindTime": 1657682876629 ,
"agentUUID": " 59220de7f88141829a1f38d8698acb26 ",
"agentName": "v6_cs1"
}
],
"currPage": 1,
"pageSize": 3,
"total": 13
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# ● Create an extension account
Description: Create an extension account
API URL: https://sg.sobot.io/callservice/tm/tm-config/api/exts/_add
Request The method is as follows : POST
Request param (header):
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential. Please refer to Obtain the Authentication Token |
Request param (body)
- content-type: application/json;charset=utf-8
- Param Description
Param | Type | Required | Description |
---|---|---|---|
agentID | String | Yes | Agent work no. or agent id. |
agentType | String | No | Agent param type, 0: Agent work no., 1: Agent id; Agent work no. by default when it is null. |
ext | String | Yes | Extension account, 3-8-digit number combination; it can start with 0; it cannot be changed after creation |
password | String | Yes | Extension password, 6-8-digit numbers for registering physical phone |
Return param
Param | Type | Required | Description |
---|---|---|---|
ext | String | Yes | Ext. No. |
password | String | Yes | Extension password |
langCodeTxt | String | Yes | Voice code format |
Response example:
{
"apiVersion": "6.3.0",
"status": "Success",
"code": 200,
"message": "Success",
"reason": "",
"kind": "Ext",
"metaData": {},
"data": {
"ext": "5002",
"password": "123456",
"langCodeTxt": "Opus"
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Number Management
# ● Import Enterprise Forbidden No.
API URL :https://sg.sobot.io/callservice/tm/tm-config/blacklist/batch
Request method: PUT
Request param (header):
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential. Please refer to Obtain the Authentication Token |
timezoneid | String | No | ZoneId, Asia/Singapore by default |
Request param (body)
- content-type: application/json;charset=utf-8
- Param Description
Param | Type | Required | Description |
---|---|---|---|
callNumber | String | Yes | Phone no. |
numberType | int | Yes | 1: Phone no. |
callType | int | Yes | Call direction. 2: Inbound, 3: Outbound |
enabled | int | Yes | Enabling status. 0: Disable, 1: Enable |
expirationTime | String | No | Current time:yyyy-MM-dd |
zoneId | String | No | Zone:Refer to the currently available time zone of the company, and the default time zone of the enterprise will be used if not passed |
description | String | No | Description |
Return param
Param | Type | Required | Description |
---|---|---|---|
successCount | int | Yes | Number of the imported |
failedCount | int | No | Number of the failed import |
details | Array | No | Array element. Please refer to Data of Enterprise Forbidden No. Import Failure |
Request example:
[
{
"callNumber": " 15210818952 ", // Call number
"numberType": 1, // Number type. 1-Number
"callType": 2, // Call direction. 2-Inbound, 3-Outbound
"enabled": 0, // Enabling status. 0-Disable, 1-Enable
"description": "test1" // Description
},
{
"callNumber": " 13212341232 ",
"numberType": 2,
"callType": 2,
"enabled": 0,
"description": "test2"
},
{
"callNumber": " 13212341233 ",
"numberType": 2,
"callType": 2,
"enabled": 0,
"description": "test3"
}
]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Response example:
{
"apiVersion":"6.2",
"status":"Success",
"code":200,
"message":"Success",
"reason":"",
"kind":"BatchDetail",
"metaData":{},
"data":
{
"successCount":3,
"failedCount":2,
"details":
[
"NO【2】,【numberType】,Content【2】,【Reference:1-number】",
"NO【3】,【numberType】,Content【2】,【Reference:1-number】"
]
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# ● Query relay number list
API URL:https://sg.sobot.io/callservice/tm/tm-config/api/gatewayNumber/search
Request method:POST
Request param (header): :
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential, Agent token. Please refer to Obtain the Authentication Token |
timezoneid | String | No | ZoneId, Asia/Singapore by default |
language | String | No | en by default |
Request param (body)
- content-type: application/json;charset=utf-8
- Param Description
Param | Type | Required | Description |
---|---|---|---|
enabled | List | No | Number enabled status: 0 – disabled; 1 – enabled; 2 – cancelled. Multiple choices are supported. When it is null, the default value is “enabled” |
numberScope | string | No | Applicable range of numbers: 2. Telemarketing 3. Bot. If it is blank, query telemarketing type by default |
Request body example:
{"enabled":[1,2,0]}
Return param
Param | Type | Description |
---|---|---|
data | List | Relay number set |
Relay number
Param | Type | Description |
---|---|---|
gatewayNumber | String | Relay number |
alias | String | Alias |
remark | String | Notes |
enabled | Map | Number enabled status |
Map
Param | Type | Description |
---|---|---|
enabledCode | Integer | Number enabled status number |
enabledName | String | Number enabled status name |
Response example:
{
"apiVersion": "6.0.0",
"status": "Success",
"code": 200,
"message": "Success",
"reason": "Success",
"kind": "List",
"metaData": {},
"data": [
{
"gatewayNumber": "010514294XX",
"alias": "nick’s",
"remark": "Nick often uses this",
"enabled": {
"enabledCode": 1,
"enabledName": "Enabling"
}
},
{
"gatewayNumber": "010514294XX",
"alias": "Lily",
"remark": "no use",
"enabled": {
"enabledCode": 2,
"enabledName": "Cancelled"
}
}
],
"retMsg": "Success",
"retCode": "000000"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Outbound Task
# ● Create Bot Outbound Task
API description: Create a call making task through API.
Request method: POST
Request URL:
https://sg.sobot.io/callservice/icall/icall-task/companies/{companyId}/tasks
Request header
key | value | Note |
---|---|---|
Authorization | Bearer <accessToken> | Agent-level authorization API is required. Refer to API functional specification |
Content-type | application/json;charset=utf-8 |
Request param:
Param | Type | Required | Description |
---|---|---|---|
companyId | String | Yes | Company Id, obtained from url |
taskName | String | Yes | Task name: enter Chinese, English, number and -_() |
templateId | String | Yes | Script template ID |
robotNum | int | Yes | No. of bots |
timeType | int | No | Task valid date type, default to 2; value range of the field: 1 for custom and 2 for permanent |
startTime | Long | No | Start date of task valid date, valid when timeType is 1; millisecond timestamp, e.g.: 1577808000000 indicates '2020-01-01 00:00:00' |
endTime | Long | No | End date of task valid date, valid when timeType is 1; millisecond timestamp, e.g.: 1580399999000 indicates '2020-01-30 23:59:59' |
retryFlag | int | No | Whether to enable redialing, default to 0; value range of the field: 0 for disabled and 1 for enabled |
taskRetryList | array json | No | Redialing setting array |
priority | int | No | Task priority, dialing with priority for high priority. Default to 2; value range of the field: 1 for low priority, 2 for medium priority and 3 for high priority |
telephoneRule | int | No | Display rules, default to 1; value range of the field: 1. Rotational, 2. Random |
aniList | List <String> | Yes | Display no. |
taskCronList | list | No | Default array of dialing time periods: [{"begin":"09:00","end":"20:00"}] |
usingLocationMatchFlag | int | No | Whether to use location matching rule tag, default to 0 value range of the field: 0-No, 1-Yes |
taskRetryList object array: In the array, each retry settingretryNum
and retryTime
must be equal:
[
{
"retryNum":1,
"retryTime":60,
"retryCondition":3
},
{
"retryNum":1,
"retryTime":60,
"retryCondition":8
}
]
2
3
4
5
6
7
8
9
10
11
12
Param | Type | Required | Description |
---|---|---|---|
retryNum | int | Yes | Redialing times; value range of the field: 1, 2; unit: time |
retryTime | int | Yes | Redialing interval; value range of the field: 3, 10, 30, 60, 90, 120; unit: minute |
retryCondition | int | Yes | Redialing trigger occasion; value range of the field: 3: No answer, 4: Power off, 5: Out of service, 9: User is busy |
taskCronList object array:
Param | Type | Required | Description |
---|---|---|---|
begin | String | Yes | Start time, e.g.: "09:00" |
end | String | Yes | End time, e.g.: "20:00" |
Request example:
https://sg.sobot.io/callservice/icall/icall-task/companies/******/tasks
{
"templateId":"xxxxxxxxx",
"taskName":"test-task",
"startTime":1612800000000,
"endTime":1613836799999,
"robotNum":5,
"timeType":"1",
"aniList":[
"01022222222",
"17111111111"
],
"telephoneRule":1,
"priority":2,
"retryFlag":1,
"taskRetryList":[
{
"retryNum":1,
"retryTime":60,
"retryCondition":3
}
],
"taskCronList":[
{
"begin":"09:00",
"end":"20:00"
}
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Return param:
Param | Type | Description |
---|---|---|
data | json | Data entity |
retMsg | String | Prompt message |
retCode | String | Status code, "000000" is success |
data object:
Param | Type | Description |
---|---|---|
taskId | String | Task ID |
taskName | String | Task name |
templateId | String | Task dialing template ID |
templateName | String | Task dialing template |
Return param example:
{
"apiVersion": "8.0.0",
"status": "Success",
"reason": "",
"kind": "TaskCompanyOpenOut",
"metaData": {},
"data": {
"taskId": "7d7bc8b16bb24d9da6efa1625f20b7cd",
"taskName": "test-task",
"templateId": "37452c7c0afb450296798deb768c871e",
"templateName": "hxl-zh",
"campaignId": "7d7bc8b16bb24d9da6efa162"
},
"retMsg": "Success",
"retCode": "000000"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# ● Bot Task Import Data
API description: Add the phone number to be dialed to the activity
Request method: POST
Request URL:
https://sg.sobot.io/callservice/icall/icall-task/companies/{companyId}/tasks/{taskId}/task-contacts
Request header
key | value | Note |
---|---|---|
Authorization | Bearer <accessToken> | Agent-level authorization API is required. Refer to API functional specification |
Content-type | application/json;charset=utf-8 |
Request param:
Param | Type | Required | Description |
---|---|---|---|
companyId | String | Yes | Company Id, obtained from url |
taskId | String | Yes | Task ID Get after creating task |
contactList | array json | Required | Dialing data Request message size: within 10M |
contactList object: One dialing data, including three parts Data ID Caller business ID
, User's phone no.
and Variable for template The variable is used for task dialing template
.
Param | Type | Required | Description |
---|---|---|---|
outId | String | No | Data ID Caller business ID |
telephone | String | Yes | User's phone no. |
privacyNumber | String | No | Whether a platform privacy number null or "0" for No and "1" for Yes |
variable | Map<String,String> | No | Variable for template The variable is used for task dialing template. It is Map Collection |
Request example:
https://sg.sobot.io/callservice/icall/icall-task/companies/******/tasks/******/task-contacts
{
"contactList": [
{
"outId": "outId001",
"telephone": "135xxxxxxxx",
"variable": {
"VariableKey": "value"
}
}
]
}
2
3
4
5
6
7
8
9
10
11
Return param:
Param | Type | Description |
---|---|---|
data | String | Return data |
retMsg | String | Prompt message |
retCode | String | Status code, "000000" is success |
Return example:
{
"apiVersion": "8.0.0",
"status": "Success",
"reason": "",
"kind": "String",
"metaData": {},
"data": "Total import number is: 1; Success: 1; Failure: 0",
"retMsg": "Success",
"retCode": "000000"
}
2
3
4
5
6
7
8
9
10
# ● Create Outbound Task
API Address: https://sg.sobot.io/callservice/tm/tm-outbound/api/campaigns
Request method: POST
Request param (header)
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential. Please refer to Obtain the Authentication Token |
Idempotency-Key | String | Yes | UUID, idempotency |
timezoneid | String | No | ZoneId, Asia/Singapore by default |
Request param (body)
- content-type: application/json;charset=utf-8
Param | Type | Required | Description |
---|---|---|---|
agentID | String | Yes | Agent work no. or agent id. The value is determined by the agentType value. |
agentType | String | No | Agent param type, 0: Agent work no., 1: Agent id; Agent work no. by default when it is null. |
name | String | Yes | Task name |
dataTemplateCode | String | Yes | Code of import template with an enabled status |
wrapUpTemplateCode | String | Yes | Code of summary template with an enabled status |
scheduleStartTime | Long | Yes | Plan start time, timestamp (ms) |
scheduleEndTime | Long | Yes | Plan end time, timestamp (ms). It must be greater than the plan start time when it is not blank. |
scheduleTimeZoneId | String | No | timeZoneId |
description | String | No | The note should be 200 chars max |
Request body example:
{
"agentID": " 59220de7f88141829a1f38d8698acb26 ",
"agentType": "1",
"name": "Announcement",
"dataTemplateCode": "D000000000",
"wrapUpTemplateCode": "W000000000",
"scheduleStartTime": 1660115936310,
"scheduleEndTime": 1660118400638,
"scheduleTimeZoneId":"Pacific/Midway",
"description": "Description"
}
2
3
4
5
6
7
8
9
10
11
12
Return param
Param | Type | Required | Description |
---|---|---|---|
id | String | Yes | Campaign ID |
code | String | Yes | Code |
Response example
{
"apiVersion": "6.3.0",
"status": "Success",
"code": 200,
"message": "Success",
"reason": "",
"kind": "ApiRespCampaignsVO",
"metaData": {},
"data": {
"id": " 037276ff01c6eM4b1b89413A383072f38476 ",
"code": "dgug92owec"
}
}
2
3
4
5
6
7
8
9
10
11
12
13
# ● Outbound Task Import Data
API Address: https://sg.sobot.io/callservice/tm/tm-exports/api/campaigns/_import
Request method: POST
Request param (header)
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential. Please refer to Obtain the Authentication Token |
Idempotency-Key | String | Yes | UUID, idempotency |
timezoneid | String | No | ZoneId, Asia/Singapore by default |
Request param (body)
- content-type: application/json;charset=utf-8
Param | Type | Required | Description |
---|---|---|---|
agentID | String | Yes | Agent work no. or agent id. The value is determined by the agentType value; |
agentType | String | No | Agent param type, 0: Agent work no., 1: Agent id; Agent work no. by default when it is null. |
campaignId | String | No | Campaign ID. The creator should be the agent currently importing data (API param); otherwise, it is unavailable. |
code | String | No | Code. when outbound Campaign ID is not blank, outbound Campaign ID field is used as primary key of the task for the API to inquire task records.When outbound Campaign ID is blank, and code is not blank, code field is used as primary key of the task for the API to inquire task records. |
callingListCode | String | Yes | Batch no. It should be at most a 20-digit combination of letters and numbers and cannot be modified after being entered. |
removeDuplicatesRule | String | Yes | Number duplicate removal rules NonRemoveDuplicates (not remove Duplicate); RemoveDuplicatesInCallingList (remove duplicate in batch); RemoveDuplicatesInCampaign (remove duplicate in task); RemoveDuplicatesInTenan t(remove duplicate among tasks) |
enableFilterDoNotCallListNumber | String | No | Whether to filter forbidden no. Filter (filter); NoFilter (not filter); NoFilter by default. |
assignRule | String | Yes | Assignment method. AssignAverage (average assignment), AssignAppoint (designated assignment), NoAssign (no assignment) |
assignAgentAndCount | json | No | Assigned agent |
assignAgentAndCount
Param | Type | Required | Description |
---|---|---|---|
agentID | String | Yes | Agent ID |
count | String | Yes | Quantity |
Param | Type | Required | Description |
---|---|---|---|
dataDetails | array json | Yes | Import outbound task data details |
dataDetails
Param | Type | Required | Description |
---|---|---|---|
telephone | String | Yes | Detail number |
allocationAgent | String | No | Assigned agent (work no.) |
name | String | No | Detail name |
description | String | No | The note should be 200 chars max |
customFields | array json | No | Custom field. See the custom field set of task import template for details. |
customFields
Param | Type | Required | Description |
---|---|---|---|
fieldId | String | Yes | Custom ID |
fieldValue | String | Yes | Custom value |
Request body example:
{
"agentID": " e906cc52bfac44b4ae30497fd39c4c4d ",
"agentType": "1",
"campaignId": " cde0f90801d98M4fcb8a43eFff11b201cbff ",
"callingListCode": "20220815203412",
"removeDuplicatesRule": "RemoveDuplicatesInCallingList",
"enableFilterDoNotCallListNumber": "Filter",
"assignRule":"AssignAppoint",
"assignAgentAndCount": [{
"agentID": " 2b82a4acc60647dd814b3db642e75972 ",
"count": 100
}],
"dataDetails": [{
"allocationAgent": "12001",
"name": "Rason",
"telephone": " 100000000 ",
"description":"desc1",
"customFields": [{
"fieldId": " 3b987930e6db4b0ca51f6ad5755e91ae ",
"fieldValue":"Admin"
}]
}]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Return param
Param | Type | Required | Description |
---|---|---|---|
callingListCode | String | Yes | Batch no. Query import results by batch ID |
campaignId | String | Yes | Campaign ID |
code | String | Yes | Code |
Response example
{
"apiVersion": "6.3.0",
"status": "Success",
"code": 200,
"message": "Success",
"reason": "",
"kind": "ApiRespCampaignsVO",
"metaData": {},
"data": {
"campaignId": " 2b82a4acc60647dd814b3db642e75971 ",
"callingListCode": "20220101000000",
"code":"dgug92owec"
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
# ● Batch Import Result Query
API Address: https://sg.sobot.io/callservice/tm/tm-outbound/api/campaigns/calling-list/import-result
Request method: POST
Request param (header)
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential. Please refer to Obtain the Authentication Token |
Idempotency-Key | String | Yes | UUID, idempotency |
timezoneid | String | No | ZoneId, Asia/Singapore by default |
Request param (body)
- content-type: application/json;charset=utf-8
Param | Type | Required | Description |
---|---|---|---|
agentID | String | Yes | Agent work no. or agent id. The value is determined by the agentType value; |
agentType | String | No | Agent param type, 0: Agent work no., 1: Agent id; Agent work no. by default when it is null. |
callingListCode | String | No | Batch no., returned by import task data API |
campaignId | String | No | Campaign ID, returned by import task data API |
code | String | No | Code. when outbound Campaign ID is not blank, outbound task ID field is used as primary key of the task for the API to inquire task records.When outbound task ID is blank, and code is not blank, code field is used as primary key of the task for the API to inquire task records. |
currPage | int | No | Current page, 1 by default |
pageSize | int | No | Pieces on each page, 50 by default |
Request body example:
{
"agentID": " 59220de7f88141829a1f38d8698acb26 ",
"agentType": "1",
"callingListCode": " 02951e5b01ddcM40997b185S2a541d16be48 ",
"campaignId": " 2b82a4acc60647dd814b3db642e75971 ",
"code":"dgug92owec",
"currPage": 1,
"pageSize": 50
}
2
3
4
5
6
7
8
9
10
Return param
Param | Type | Required | Description |
---|---|---|---|
campaignId | String | Yes | Campaign ID |
code | String | Yes | Code |
callingListCode | String | Yes | Batch no. |
creationTime | Long | Yes | Import time, timestamp (ms) |
removeDuplicatesRule | String | Yes | Number duplicate removal rule |
successCount | int | Yes | Succeeded task details |
repeatCount | int | Yes | Repeated task details |
errorCount | int | Yes | Failed task details |
errorReportPath | String | Yes | Error report download URL |
Response example
{
"apiVersion":"v6.3.0",
"status":"Success",
"code":200,
"message":"Success",
"reason":"",
"kind":"ApiRepsICallListResult",
"metaData":{
},
"data":{
"totalCount":13,
"pageSize":50,
"totalPage":1,
"currPage":1,
"list":[
{
"campaignId":" cde0f90801d98M4fcb8a43eFff11b201cbff ",
"code":"dgug92owec",
"callingListCode": "20220815203412",
"removeDuplicatesRule": "RemoveDuplicatesInCallingList",
"successCount":1,
"errorCount":0,
"errorReportPath":"https://img-sg.sobot.io/cc/36a97af88e194c54923484b81adaaa1e/costExport/import/campaigns/20230125/b38de85b0f9d1N43781ab03P89c56729924a/1674654321082757_0619826b0e024N4650194b8P87a660372bfb.xlsx",
"removeDuplicatesCount":0,
"creationTime": 1660632449700
}
]
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Contact Plan
# ● Create Contact Plans in Bulk
Description: Create contact plans in bulk, with 50 max for a single time.
API URL: https://sg.sobot.io/callservice/tm/tm-console/contact-schedules/_batchAddInfos
Request The method is as follows : POST
Request param (header):
Param | Type | Required | Description |
---|---|---|---|
Authorization | String | Yes | API access credential. Please refer to Obtain the Authentication Token |
timezoneid | String | No | ZoneId, Asia/Singapore by default |
Request param (body)
Param | Type | Required | Description |
---|---|---|---|
name | String | Yes | Contact plan name. 20 valid chars max |
bak | String | No | Contact plan note. 200 valid chars max |
scheduleStartTime | Long | Yes | Contact plan start time. Timestamp (ms), accurate in minutes ,e.g.:1663986420000(2022- 09 - 24 10 :27: 00 ) |
scheduleEndTime | Long | Yes | Contact plan expiry time. Timestamp (ms), accurate in minutes |
customerPhoneNumberList | List<String> | Yes | Customer phone no. array. Compliance with 3- to 16-digit rules, with 50 entries max at a time |
executorId | String | Yes | Work no. or id of agent executing the contact plan |
agentID | String | Yes | Work no. or id of agent creating bulk contact plans |
agentType | String | No | Operation user or executor param type. 0: Agent work no., 1: Agent id. Agent work no. by default when it is null |
zoneId | String | No | zoneId |
zoneValue | String | No | zoneValue |
Request body example:
{
"name": "openApi-batch-plan-5",
"scheduleStartTime": 1661911780000,
"scheduleEndTime": 1662998180000,
"executorId": "5001",
"bak": " test4444 ",
"agentID": "5002",
"agentType": "0",
"zoneId":"Asia/Singapore",
"zoneValue":"GMT+08:00 Singapore",
"customerPhoneNumberList": [
" 18189672221 ",
" 18189671111 ",
" 18889673333 "
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Return param
Param | Type | Required | Description |
---|---|---|---|
data | Array | Yes | Contact plan ids |
Response example:
{
"apiVersion": "v6.0.0",
"status": "Success",
"code": 200,
"message": "Success",
"reason": "",
"kind": "List",
"metaData": {},
"data": [
" 83f938c7d45ac0e2445ce0f59bc57e59 ",
" a29efd4c7d3c2a3f7afac174b7fbefac ",
" c0a8e889945b475d17230592ff35d0a6 "
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Common Data Structure
# ● Data of Forbidden No. Import Failure
Param | Type | Required | Description |
---|---|---|---|
detail | String | Yes | E.g.: Entry【3】, 【callType】, content 【5】, 【Refer to: 1-Outbound】 |