Import Customers to Task
https://api.itniotech.com/aivoice/importCustomer
Parameters | Description | Required | Type |
---|---|---|---|
appId | Application id | Yes | String |
jobId | Task Id | Yes | Long |
callRecordDup | Whether the list has been called repeatedly default false | No | Boolean |
customerPersons | Import the customer list. Up to 100 entries. | Yes | Array |
name | Customer name | Yes | String |
phoneNumber | Customer phone. if it is an encryption scenario, the encryption ID can be transmitted, and the length does not exceed 32 characters. Such as: 13000000001 | No | String |
gender | Gender,MALE: male FEMALE: female, null value is passed, not null string | No | String |
properties | User defined variables, you can add the caller's business information here, which will be completely returned during callback, This field is required if there are variables in scripts or SMS messages. It is not required and is invalid in other periods. Such as: { "Amount owed": "10.13", "Final repayment date": "October 3, 2018" } | No | Map |
Request URL:
https://api.itniotech.com/aivoice/importCustomer
Request Method:
POST
Request Headers:
Content-Type: application/json;charset=UTF-8
Sign: 05d7a50893e22a5c4bb3216ae3396c7c
Timestamp: 1630468800
Api-Key: bD8JFiq9
Request Body:
{
"appId":"LILIN888",
"jobId":1000,
"customerPersons":[
{
"name":"Jack",
"phoneNumber":"91856321412",
"properties": {
"name":"Jack",
"income":"3000",
"IDCard":"1234",
"relation":"friend"
}
},
{
"name":"starai",
"phoneNumber":"91856321413",
"properties": {
"name":"starai",
"income":"3000",
"IDCard":"1234",
"relation":"friend"
}
}
]
}
Parameters | Description | Type |
---|---|---|
status | "0"means successful, others than 0 means failure, seeing Status code description | String |
reason | Failure Reason Description | String |
data | Data that fails to be imported | Array |
status | Description |
---|---|
0 | Success |
-1 | Authentication error |
-4 | Timestamp expires |
-6 | Restricted IP access |
-27 | Abnormal parameter verification |
-32 | Outbound task does not exist |
-35 | Customer information import failed |
-37 | Application does not exist |
-43 | Rates don't exist |
-49 | Account not authenticated |
-55 | This type of operation is not allowed in the word unbinding |
-56 | Exceed import limit, Max. 100 entries |
-57 | The Sign cannot be empty |
-58 | The Timestamp cannot be empty |
-59 | The Api-Key cannot be empty |
Java
PHP
REQUEST
import cn.hutool.crypto.SecureUtil;
import cn.hutool.http.Header;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
public void importCustomer() {
final String baseUrl = "https://api.itniotech.com/aivoice";
final String apiKey = "your api key";
final String apiPwd = "your api secret";
final String appId = "your appid";
final Integer jobId = 1000; //Your job ID
//Custom variable
final Map properties = new HashMap();
properties.put("income", 3000);
properties.put("IDCard", "1234");
properties.put("relation", "friend");
properties.put("name", "Jack");
HashMap customerPersons = new HashMap<>();
customerPersons.put("name","Jack"); //Customer Name
customerPersons.put("phoneNumber","13000000000"); //Dial phone number
customerPersons.put("properties",properties); //Custom variable
final String url = baseUrl.concat("/importCustomer");
HttpRequest request = HttpRequest.post(url);
// currentTime
final String datetime = String.valueOf(LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant().getEpochSecond());
// generate md5 key
final String sign = SecureUtil.md5(apiKey.concat(apiPwd).concat(datetime));
request.header(Header.CONNECTION, "Keep-Alive")
.header(Header.CONTENT_TYPE, "application/json;charset=UTF-8")
.header("Sign", sign) //Signature with encryption
.header("Timestamp", datetime) //Current system time stamp (second)
.header("Api-Key", apiKey); //API KEY(Home-Developer options)
final String params = JSONUtil.createObj()
.set("appId", appId)
.set("jobId", jobId)
.set("customerPersons", Arrays.asList(customerPersons))
.toString();
HttpResponse response = request.body(params).execute();
if (response.isOk()) {
String result = response.body();
System.out.println(result);
}
}
REQUEST
header('content-type:text/html;charset=utf8');
$apiKey = "your api key";
$apiSecret = "your api secret";
$appId = "your appid";
$url = "https://api.itniotech.com/aivoice/importCustomer";
$timeStamp = time();
$sign = md5($apiKey.$apiSecret.$timeStamp);
$dataArr["appId"] = $appId;
$dataArr["jobId"] = 1000;
$dataArr["customerPersons"] = array(
array(
"name" => "Jack",
"phoneNumber" => "13000000000",
"properties" => array(
"income" => "3000",
"IDCard" => "1234",
"relation" => "friend",
"name" => "Jack"
)
)
);
$data = json_encode($dataArr);
$headers = array('Content-Type:application/json;charset=UTF-8',"Sign:$sign","Timestamp:$timeStamp","Api-Key:$apiKey");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 600);
curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
curl_setopt($ch, CURLOPT_POSTFIELDS , $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
$output = curl_exec($ch);
curl_close($ch);
var_dump($output);
RESPONSEEXAMPLE
{
"status": "0",
"reason": "success",
"data": [
"The customer already exists in this task,Phone Number:13612345678",
"The customer already exists in this task,Phone Number:13512345678",
"Customer custom property is incomplete,Phone Number:13412345678"
]
}