Fast Tracks 支持多种短信提供商,如果您的业务需要一个不在支持的提供商列表中的提供商,那么您可以构建这个 API。

Fast Track 短信服务

Fast Track 短信服务可以配置为向下面列出的运营商 API 端点发送短信请求,这允许运营商管理短信提供商。它支持发送消息和获取投递状态。发送功能支持单条或批量短信请求。
以下端点可以作为您的运营商 API 的一部分构建:

⬆️ POST /channels/sms/single

⬆️ POST /channels/sms/batch

运营商然后可以将这些请求转发给短信提供商进行处理,并返回相应的响应。
API 格式和响应需要按照下面概述的格式进行格式化
重要的是,下面概述的 "meta" 数据需要通过 Webhook 或轮询方式发送回 Fast Track,以便正确存储转换数据。请参考显示的示例和下面的表格以获得进一步的说明。

前提条件

  1. 告知 Fast Track 是否应考虑任何速率限制。(如果您计划实施速率限制,请事先联系 Fast Track,以便我们可以指导您支持的实施方式)
  2. 告知 Fast Track 是否应考虑任何批量最大限制
  3. 向 Fast Track 提供集成提供商的任何特定凭据(如果需要)
  4. 支持的短信格式为 GSM7USC2

发送短信(单条)

单条短信发送请求将在单独的 API 请求中包含每条个人短信的数据。

端点实现

按照下面的格式实现端点,以支持通过 API 发送单条短信。
⬆️ POST <operator-api-endpoint-url>/channels/sms/single

请求头

发送请求的头部包含一个 "X-Api-Key",这是在端点处认证 API 调用所需的令牌。此令牌需要传递给 Fast Track 以便进行这些请求。

请求体模式

请参考 Fast Track 发送的单条短信请求的以下示例。每个字段的描述在下面的表格中列出。
必需属性用 * 标记
类型描述
activity.id *
integer
短信的唯一标识符
activity.brand_id *
integer
Fast Track 上品牌的唯一标识符
activity.user_id *
string
玩家的唯一标识符
activity.activity_id *
integer
Fast Track 中设置的活动的唯一标识符
activity.action_group_id *
integer
此活动所属的行动组的标识符
activity.trigger_hash *
string
标识触发此活动的触发器的哈希
activity.action_id *
integer
活动内特定行动的标识符
content *
string
短信消息正文
recipient *
string
E.164 格式的收件人电话号码
sender_name *
string
向收件人显示的发送者姓名或号码
provider_name *
string
路由消息的短信提供商
encoding *
string
消息的字符编码。值:auto | gsm7 | ucs2
provider_id
string
可选的提供商特定消息标识符
meta
object
在 Fast Track CRM 活动中定义的自定义键值对

预期响应

运营商 API 应该分别返回每条个人短信消息的响应,以避免短信数据的无关存储。

成功 HTTP 200-299 JSON 响应

"sms_id" 将是由运营商 API 生成的唯一标识符,它允许 Fast Track 识别特定的短信消息,以便在发送后更新其投递状态。

错误 非 200 响应 JSON 响应

错误响应通常与 HTTP 状态码 400s 或 500s 相关联。响应应包含一个 "error" 字段,描述出现了什么问题并协助故障排除。
来自运营商 API 的响应将根据 HTTP 状态码的类别进行不同处理。下表总结了 HTTP 状态码如何分别处理。
HTTP 状态码描述
200-299
成功投递。Fast Track 将确认消息并开始处理队列中的下一条消息。
400-499
不成功。收到此错误时,Fast Track 将跳过短信消息。此外,如果启用了该服务,它将把数据发送到失败操作。
500 或任何其他未在上面列出的状态码
不成功。服务致命错误,Fast Track 将持续重试直到收到 200 响应。

批量短信

批量短信有助于在一个 API 请求中处理短信集合。批量请求中的消息数量受配置中设置的整数量限制,并在配置的时间跨度内发送,即使批量尚未满。

端点实现

按照下面的格式实现端点,以支持通过 API 批量发送短信。
⬆️ POST <operator-api-endpoint-url>/channels/sms/batch

请求头

发送请求的头部包含一个 "X-Api-Key",这是在端点处认证 API 调用所需的令牌。此令牌需要传递给 Fast Track 以便进行这些请求。

请求体模式

这里是批量请求时预期格式的示例。它与单条短信请求类似,但请求存储在数组中,一个接一个。
有关格式化、描述和必需字段的更多详细信息,请参见上表(对于单条短信)。

预期响应

运营商 API 应返回以下响应。

成功 HTTP 200 JSON 响应

请求中最初发送的 "activity.id" 将在响应中作为 "id" 返回。这是帮助 Fast Track 识别初始批量请求中个别短信消息所必需的。 "sms_id" 将是由运营商 API 生成的唯一标识符,Fast Track 将使用它在更新状态时识别相关的短信消息。 如果任何列出的类别("successful"、"failed" 或 "fatal")没有关联的短信,它们应作为空数组返回。
请求需要包含 successful、failed 或 fatal 属性中的一个
响应处理的逻辑流程与单条短信中 HTTP 状态码的处理方式非常相似。唯一的区别是将根据响应中消息的类别处理状态码为 200 的响应。
响应类别描述
successful
成功投递。Fast Track 将确认消息并开始处理队列中的下一个批次。
failed
不成功。收到此错误时,Fast Track 将跳过短信消息。此外,如果启用了该服务,它将把数据发送到失败操作。
fatal
消息将被重试
响应中未列出的任何其他消息将被重试。

错误(非 500 响应)JSON 响应

Fast Track 在批量处理中仅支持 HTTP 状态码 200。如果收到任何其他状态码,整个批量请求将