Home > API Center > API interface guide

 

Initiate Call

POST

https://api.laaffic.com/v3/voice/sendSip

The API is for invoking phone for a call.
 
Request Parameters
callee
String
Required
Called number: 7-15 digits composed of national code + mobile phone number.
displayNum
String
Display number: 7-15 digits or null.
account
String
Required
Phone account
appId
String
Required
Voice application ID.
calledInfo
String
Called information, 0-1000 characters.
 
Request Sample
Request URL:
    https://api.laaffic.com/v3/voice/sendSip
Request Method:
    POST
Request Headers:
    Content-Type: application/json;charset=UTF-8
    Sign: 05d7a50893e22a5c4bb3216ae3396c7c
    Timestamp: 1630468800
    Api-Key: bDqJFiq9
Request Body:
{
    "callee":"932111111111",
    "displayNum":"1008122211",
    "account":"test_001",
    "appId":"4luaKsL2",
    "calledInfo":"calledInfo"
}
 
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 Exclusive recording ID String
 
Response Status Code
status Description
0 success
-1 Authentication error
-2 Restricted IP access
-10 The customer's balance is insufficient
-16 Timestamp expires
-18 Port program unusual
-22 Parameter exception
-26 Getting fee faily
-68 The SIP is not in the idle state and cannot be used

Was this page helpful?

Questions about integration? Contact our technical support

LAAFFIC API dedicated TG technical support channel, real-time response to your needs

Contact via Telegram
 

language

Java

PHP

REQUEST

import cn.hutool.core.codec.Base64;
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.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.time.LocalDateTime;
import java.time.ZoneId;

public void sendSip() {
    final String baseUrl = "https://api.laaffic.com/v3/voice";
    final String apiKey = "your api key";
    final String apiPwd = "your api secret";
    final String appId = "{{appId}}";

    final String callee = "{{callee}}";
    final String displayNum = "{{displayNum}}";
    final String account = "{{account}}";
    final String calledInfo = "{{calledInfo}}";

    final String url = baseUrl.concat("/sendSip");
    HttpRequest request = HttpRequest.post(url);

    // generate md5 key
    final String datetime = String.valueOf(LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant().getEpochSecond());
    final String sign = SecureUtil.md5(apiKey.concat(apiPwd).concat(datetime));

    request.header(Header.CONTENT_TYPE, "application/json;charset=UTF-8")
            .header("Sign", sign)
            .header("Timestamp", datetime)
            .header("Api-Key", apiKey);

    final String body = JSONUtil.createObj()
            .set("callee", callee)
            .set("displayNum", displayNum)
            .set("account", account)
            .set("appId", appId)
            .set("calledInfo", calledInfo)
            .toString();

    HttpResponse response = request.body(body).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 = "{{appId}}";
$url = "https://api.laaffic.com/v3/voice/sendSip";

$timeStamp = time();
$sign = md5($apiKey.$apiSecret.$timeStamp);

$dataArr['callee'] = "{{callee}}";
$dataArr['displayNum'] = "{{displayNum}}";
$dataArr['account'] = "{{account}}";
$dataArr['appId'] = $appId;
$dataArr['calledInfo'] = "{{calledInfo}}";

$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);
$error = curl_error($ch);
curl_close($ch);

var_dump($output);        
                
 

RESPONSEEXAMPLE

{
    "status": "0",
    "reason": "success",
    "data": "2203031113381000002"
}                    
                

Telegram
WhatsApp
Chat with us!
Need help?
Click here and start chatting with us!