査詢短訊發送結果

GET

https://api.laaffic.com/v3/getReport?appId={appId}&msgIds={msgIds}

查詢指定msgid集合的發送結果,支持查詢最近90~120天的短訊記錄
 
請求參數
appId
String
必填
應用id(短訊-短訊應用)
msgIds
String
必填
sendSms接口響應返回的平臺id,多個用英文逗號分隔,單次查詢最大200個msgld
 
請求示例
Request URL:
    https://api.laaffic.com/v3/getReport?appId=4luaKsL2&msgIds=2108021054011000095,2108021059531000096
Request Method:
    GET
Request Headers:
    Content-Type: application/json;charset=UTF-8
    Sign: 05d7a50893e22a5c4bb3216ae3396c7c
    Timestamp: 1630468800
    Api-Key: bDqJFiq9
 
響應參數
參數 説明 類型
status 狀態碼,0表示成功,其他參見狀態碼説明. String
reason 失敗原因説明 String
成功 發送成功的條數 String
fail 發送失敗的條數 String
sending 正在發送的條數 String
nofound id未找到的條數(包含隊列中的短訊) String
array 找到發送結果的json集合 JSONArray
msgId 提交號碼對應平臺msgld String
number 提交號碼 String
receiveTime 發送時間,ISO8601標準時間格式(2021-02-12T09:30:03+08:00) String
status 發送狀態:0:發送成功,-1:發送中,1:發送失敗(不包含隊列中的短訊) String
 
響應狀態碼
狀態碼 説明
0 成功
-1 認證錯誤
-2 IP訪問受限
-11 定時時間格式不對
-14 Fieid爲空或查詢id異常
-16 超出時間限制
-18 接口異常
-19 請聯係業務經理綁定通道
 

語言

Java

PHP

Python

請求

package com.laaffic.api.demo.sms;

import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.http.Header;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONUtil;

import java.net.URLEncoder;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

private void getReport() {
    final String baseUrl = "https://api.laaffic.com/v3";
    final String apiKey = "your api key";
    final String apiPwd = "your api secret";
    final String appId = "{{appId}}";
    final String msgIds = "{{msgIds}}";
    final String url = baseUrl.concat("/getReport");
    final CharSequence sendSmsTemplate = "?appId={}&msgIds={}";
    HttpRequest request = HttpRequest.get(url.concat(StrUtil.format(sendSmsTemplate, appId, msgIds)));

    // 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)
            .header("Timestamp", datetime)
            .header("Api-Key", apiKey);
    HttpResponse response = request.execute();
    if (response.isOk()) {
        String result = response.body();
        System.out.println(result);
    }
}        
                

請求

header('content-type:text/html;charset=utf8');

$apiKey = "your api key";
$apiSecret = "your api secret";
$appId = "{{appId}}";
$msgIds = "{{msgIds}}";
$url = "https://api.laaffic.com/v3/getReport?appId=$appId&msgIds=$msgIds";
$timeStamp = time();
$sign = md5($apiKey.$apiSecret.$timeStamp);
$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_CONNECTTIMEOUT, 600);
curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
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);        
                

請求

import hashlib
import time
import requests
import json

base_url = "https://api.laaffic.com/v3"
api_key = "your api key"
api_pwd = "your api secret"
appid = "{{appId}}"
msgIds = "{{msgIds}}"

def create_headers():
  timestamp = int(time.time())
  s = "%s%s%s" % (api_key, api_pwd, str(timestamp))
  sign = hashlib.md5(s.encode(encoding='UTF-8')).hexdigest()
  headers = {
    'Content-Type': 'application/json;charset=utf-8',
    'Sign': sign,
    'Timestamp': str(timestamp),
    'Api-Key': api_key
  }
  return headers

headers = create_headers()

url = "%s/getReport" % base_url
print(url)

params = {"appId": appid, "msgIds": "8613000000000,8613000000001"}
print(params)

rsp = requests.get(url, params, headers=headers)
if rsp.status_code == 200:
    res = json.loads(rsp.text)
  print(res)        
                
 

響應示例

{
    "status": "0",
    "reason": "success",
    "success": "2",
    "fail": "0",
    "sending": "0",
    "nofound": "0",
    "array": [
        {
            "msgId": "2108021054011000095",
            "number": "91856321412",
            "receiveTime": "2021-02-12T09:30:03+08:00",
            "status": "0"
        },
        {
            "msgId": "2108021059531000096",
            "number": "91856321413",
            "receiveTime": "2021-02-12T09:30:03+08:00",
            "status": "0"
        }
    ]
}                    
                

點擊此處開啟人工服務