Import Customers to Task

POST

https://api.itniotech.com/aivoice/importCustomer

Import Customers to Task.
Request Parameters
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 Sample
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"
            }
        }
    ]
}
Response Parameters
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
Response Status Code
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

language

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"
    ]
}