# 订单、付款和账户通知

> 从后端通过短信向 228 个国家和地区发送订单确认、配送更新、付款收据和账户通知。每个事件调用一次 API，使用带签名的送达 webhook，无需 KYC。

发送事务型通知时，请从后端针对每个事件调用一次 `POST /v1/messages`，使用 `shipping` 等 `campaign` 标签以及订单号等您自己的 `reference` 标记该事件，并将短信标记为事务型，使其不会因静默时段而暂缓发送。送达事件会通过 webhook 返回，并带有同一 reference，因此您的订单系统可以记录客户已收到通知。

## 推荐设置

- 流量类型：事务型
- API 调用：每个事件调用一次 `POST /v1/messages`，夜间批处理则使用 `/batch`
- 追踪：`reference` 会在响应和 webhook 中原样返回
- 分组：每种通知类型使用一个 `campaign` 标签
- 长度：一到两个分段；如有链接，使用自有域名
- 历史记录：每条短信的报告保留 90 天

## 操作步骤

1. 接入事件：在您的系统将订单标记为已发货或将付款标记为已收款的位置添加 API 调用。将订单号用作 reference，并纳入幂等键。
2. 一次写好短信文本：品牌、事实、下一步。例如：“ACME：订单 4821 已发货。追踪：acme.com/t/8fK2”。这段中文使用 Unicode，应控制在一个分段内。
3. 记录结果：针对订单存储 delivered 或 failed 状态。如果通知因号码未知而失败，这就是一个应当显露出来的客户数据问题。
4. 按类型查看：群发任务标签会在报告中将配送、收据和警报分类汇总，因此某一类型的数据下降会清晰可见。

## 事务型短信应包含什么

如果客户因自己执行的某项操作而预期收到通知，该通知就是事务型通知。它陈述一个事实，最多再指出可到何处查看详情。一旦通知中包含优惠，就属于营销内容，需要获得同意并遵守静默时段；如果仍将其标记为事务型，还会危及线路。请将这两类流量分开：使用不同的模板和不同的群发任务标签。

请使用自有域名上的链接。公共短链接是短信中最容易被过滤的模式，还会隐藏客户正在寻找的品牌。

## 在您这一侧确保可靠性

发送时使用根据事件生成的 `Idempotency-Key`，例如 `order-4821-shipped`。如果您的任务崩溃后重新运行，API 会返回原始响应，客户只会收到一条短信，而不是两条。收到 429 和 5xx 响应时采用退避策略重试；其他 4xx 响应绝不要重试，而应修正问题。

对于付款提醒等夜间批处理，批量端点可接收 每次 API 请求最多 1,000 条消息，并列出每个被拒绝行及其原因，因此一个错误号码不会导致整次处理失败。

## 示例短信

发件人：ACME："ACME：订单 4821 已发货，将于周四送达。追踪：acme.com/t/8fK2"

```bash
curl https://api.smsmeteor.com/v1/messages \
  -H "Authorization: Bearer $SMSMETEOR_KEY" \
  -H "Idempotency-Key: order-4821-shipped" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+447700900123",
    "from": "ACME",
    "text": "ACME：订单 4821 已发货，将于周四送达。追踪：acme.com/t/8fK2",
    "window": { "quiet_hours": "bypass" },
    "campaign": "shipping",
    "reference": "order-4821"
  }'
```

## 常见问题

**事务型通知是否需要事先取得同意？** 这类通知源于客户关系：订单确认或安全警报不需要营销同意。加入促销内容就会改变其性质，因此请确保通知只提供信息。

**可以在夜间发送通知吗？** 可以，但要使用事务型标记（将 window.quiet_hours 设为 bypass）。它只能用于客户预期收到的短信；以这种方式发送促销内容违反可接受使用政策。

**如何知道客户是否收到了短信？** 请注册 webhook：message.delivered 和 message.failed 事件会带上您的 reference；如果失败，还会包含运营商给出的原因。在运营商只返回确认的地区，sent 是最终肯定状态，相关国家和地区页面会对此作出说明。

**如果同一事件被处理两次怎么办？** 发送同一个 Idempotency-Key，API 会在 24 小时内返回原始响应，不会再次发送短信。

**能否通过一套集成向多个国家和地区发送通知？** 可以。系统会根据号码识别目的地，按该国家或地区公布的费率计价，并使用当地规则允许的发件人。您的代码无需进行任何更改。

**有最低发送量吗？** 没有。每条通知均按公布的费率计为一条短信。没有月费，也无需签订合同。



---
来源：[HTML 页面](https://smsmeteor.com/zh/use-cases/transactional-notifications)。由 SMSMeteor 使用与页面相同的数据生成。[全站摘要](https://smsmeteor.com/zh/llms.txt)
