短信开放接口测试台

ArkAI 短信开放接口 · HTTP 协议测试
v1.9 https://user.arkai.site/api/v1/open
响应
请求历史清空
暂无请求记录
接口对接代码示例(明文)来源:接口文档第十节 · cURL / password 鉴权
0 · 凭据准备(password / signature 两种鉴权)必读
# ===== 0. 准备(基地址与凭据都来自开发者页「接入参数」)=====
BASE="https://user.arkai.site/api/v1/open"
SP_ID="669736"          # 开发者页「SPID / system_id」
API_PWD="a1b2c3d4"      # 开发者页「密码」(8 位,CMPP/SMPP 与 HTTP 共用)

# --- 方式一 password:API 密码做 md5(32 位小写十六进制)---
PWD=$(printf '%s' "$API_PWD" | md5sum | cut -d' ' -f1)   # Linux
PWD=$(md5 -qs "$API_PWD")                                 # macOS

# --- 方式二 signature:HmacSHA1(密钥=API密码原文)→base64 ---
# 1. 本次请求全部参数(除 signature)按 key 字典序排序
# 2. 每个 key/value URLEncode,并做三处替换:+→%20、*→%2A、%7E→~
# 3. 按 key=value 用 & 拼接成 QueryString
# 4. 前缀拼接:HTTPMethod + "&" + URLEncode("/") + "&",如 POST&%2F&sp_id=...
# 5. 对整串做 HmacSHA1(密钥为 API 密码原文)后 base64 得到 signature
# 本测试页左侧填「API密码原文」会自动计算签名,可与下方核对
POST/send-sms-single单条发送
# ===== 1. 单条短信发送(黑名单等拦截错误实时返回)=====
curl -s -X POST "$BASE/send-sms-single" \
  --data-urlencode "sp_id=$SP_ID" \
  --data-urlencode "password=$PWD" \
  --data-urlencode "mobile=176xxxxxxxxx" \
  --data-urlencode "content=【测试签名】您的验证码是123456"
# => {"code":0,"msg":"success","msg_id":"100000017"}
POST/send-sms-batch批量发送
# ===== 2. 批量发送(一次最多一万条,号码用英文逗号分隔)=====
curl -s -X POST "$BASE/send-sms-batch" \
  --data-urlencode "sp_id=$SP_ID" \
  --data-urlencode "password=$PWD" \
  --data-urlencode "mobiles=176xxxxxxxxx,171xxxxxxxxx" \
  --data-urlencode "content=【测试签名】您的验证码是123456"
POST/send-variable变量发送
# ===== 3. 变量发送(一次最多一万条;多条以英文;分隔,变量以英文,分隔)=====
curl -s -X POST "$BASE/send-variable" \
  --data-urlencode "sp_id=$SP_ID" \
  --data-urlencode "password=$PWD" \
  --data-urlencode "params=176xxxxxxxxx,822233;175xxxxxxxxx,656552" \
  --data-urlencode 'content=【测试】验证码${Text}' \
  --data-urlencode "ext=123"
POST/send-biunique一对一批量
# ===== 4. 一对一批量(一次最多 500 条;JSON:key=手机号,value=内容)=====
curl -s -X POST "$BASE/send-biunique" \
  --data-urlencode "sp_id=$SP_ID" \
  --data-urlencode "password=$PWD" \
  --data-urlencode 'params={"17655555555":"【测试】测试111","17666666666":"【测试】测试222"}' \
  --data-urlencode "ext=123"
GET/report状态报告
# ===== 5. 拉取状态报告(GET,每条只能拉一次,拉到立刻入库)=====
curl -s -G "$BASE/report" \
  --data-urlencode "sp_id=$SP_ID" \
  --data-urlencode "password=$PWD"
# => {"code":0,"msg":"success","data":"扩展号,msg_id,手机号,状态,时间,售价|扩展号,msg_id,..."}
GET/get-reply上行回复
# ===== 6. 拉取上行回复(GET,每条只能拉一次,拿到后本地落库)=====
curl -s -G "$BASE/get-reply" \
  --data-urlencode "sp_id=$SP_ID" \
  --data-urlencode "password=$PWD"
GET/balance余额查询
# ===== 7. 查询余额 =====
curl -s -G "$BASE/balance" \
  --data-urlencode "sp_id=$SP_ID" \
  --data-urlencode "password=$PWD"
# => {"code":0,"msg":"success","data":{"balance":"99999.89"}}
提示:本页顶部「请求详情与 curl 命令」会按你实际填写的参数实时生成等价命令,可与上方示例逐行比对核对对接过程。Java / PHP / Python / Node.js / C# / Go 版本示例见接口文档第十节。