发送

使用POST /v1/messages发送短信

POST/v1/messages

向单个号码发送单条短信。请求被接受时从余额扣除费用。

请求体

  • tostring必填

    国际格式号码(如 +14155550123)。空格、横线、括号和00前缀会被自动清理。

  • textstring必填

    短信内容。最多10个分段(参见文本与分段说明)。

  • referencestring可选

    自定义ID(最多100字符),将出现在消息对象和所有webhook中。

  • send_atstring可选

    ISO 8601格式的发送时间(2分钟后至45天内)。未设置则立即进入队列。

添加 Idempotency-Key 请求头保障重试安全(参见幂等性)。

curl https://bulksmsapi.cc/v1/messages \
  -H "Authorization: Bearer $BULKSMSAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+14155550123",
    "text": "Your Northwind code is 482913. It expires in 10 minutes.",
    "reference": "login-7781"
  }'
202 AcceptedJSON
{
  "id": "msg_8F3K2Q9TZ1MX",
  "object": "message",
  "batch_id": "bat_4M7Q1X0PK2RS",
  "to": "+14155550123",
  "country": "US",
  "text": "Your Northwind code is 482913. It expires in 10 minutes.",
  "segments": 1,
  "price": "0.00507",
  "currency": "USD",
  "status": "queued",
  "error": null,
  "reference": "login-7781",
  "created_at": "2026-11-07T09:30:12.418Z",
  "sent_at": null,
  "done_at": null
}

消息对象

字段说明

  • idstring

    消息ID(msg_开头+12位字符)

  • objectstring

    固定值message

  • batch_idstring

    所属批次(单条消息也会分配批次)

  • tostring

    清理后的E.164格式号码

  • countrystring

    号码计费所属国家的ISO 3166代码

  • textstring

    实际发送的文本(合并字段已替换)

  • segmentsinteger

    短信内容占用的分段数量

  • pricestring

    本条短信价格(美元,5位小数 = 单段价格×段数)

  • currencystring

    固定值USD

  • statusstring

    scheduled(已预约)、queued(排队中)、sent(已发送)、delivered(已送达)、failed(失败)或canceled(已取消)

  • errorobject or null

    失败/取消消息的错误代码和说明

  • referencestring or null

    请求中的自定义参考值

  • created_atstring

    请求接受时间(ISO 8601格式,UTC)

  • sent_atstring or null

    消息移交至网络的时间

  • done_atstring or null

    最终状态(已送达/失败/已取消)确定时间

获取单条消息

GET/v1/messages/{id}

通过msg_前缀的ID查询单条消息(其他账户的消息返回404)

curl https://bulksmsapi.cc/v1/messages/msg_8F3K2Q9TZ1MX \
  -H "Authorization: Bearer $BULKSMSAPI_KEY"

列出消息

GET/v1/messages

账户消息列表,按最新优先排序。

查询参数

  • batch_idstring可选

    仅限此 bat_ 批次的短信。

  • statusstring可选

    scheduled(已预约)、queued(排队中)、sent(已发送)、delivered(已送达)、failed(失败)或canceled(已取消)

  • limitinteger可选

    1 至 100 条,默认为 20。

  • starting_afterstring可选

    msg_ ID:从此 ID 之后开始分页。使用上一页的最后一个 ID。

curl "https://bulksmsapi.cc/v1/messages?status=failed&limit=50" \
  -H "Authorization: Bearer $BULKSMSAPI_KEY"
200 OKJSON
{
  "object": "list",
  "data": [ { "id": "msg_8F3K2Q9TZ1MX", "object": "message", "status": "failed", "...": "..." } ],
  "has_more": false
}
使用POST /v1/messages发送短信 | BulkSMSAPI文档