发送短信

最近更新时间:2020-11-18 08:30:23

1. 接口描述

接口请求域名: sms.tencentcloudapi.com 。

短信发送接口,用户给用户发短信验证码、通知类短信或营销短信。

  • 注:由于云 API3.0 安全性有所提升,所以接口鉴权较为复杂,建议使用 SDK 来使用云短信服务。
  • 您可以在 API 3.0 Explorer 中直接运行该接口,可以先免去签名计算步骤。运行成功后,API Explorer可以自动生成SDK代码示例。

默认接口请求频率限制:3000次/秒。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:SendSms。
Version String 公共参数,本接口取值:2019-07-11。
Region String 公共参数,本接口不需要传递此参数。
PhoneNumberSet.N Array of String 下发手机号码,采用 e.164 标准,格式为+[国家或地区码][手机号],单次请求最多支持200个手机号且要求全为境内手机号或全为境外手机号。
例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号。
TemplateID String 模板 ID,必须填写已审核通过的模板 ID。模板ID可登录 短信控制台 查看,若向境外手机号发送短信,仅支持使用国际/港澳台短信模板。
SmsSdkAppid String 短信SdkAppid在 短信控制台 添加应用后生成的实际SdkAppid,示例如1400006666。
Sign String 短信签名内容,使用 UTF-8 编码,必须填写已审核通过的签名,签名信息可登录 短信控制台 查看。注:国内短信为必填参数。
TemplateParamSet.N Array of String 模板参数,若无模板参数,则设置为空。
ExtendCode String 短信码号扩展号,默认未开通,如需开通请联系 sms helper
SessionContext String 用户的 session 内容,可以携带用户侧 ID 等上下文信息,server 会原样返回。
SenderId String 国内短信无senderid,无需填写该项;若需开通国际/港澳台短信senderid,请联系smshelper。

3. 输出参数

参数名称 类型 描述
SendStatusSet Array of SendStatus 短信发送状态。
RequestId String 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 请求示例

输入示例

https://sms.tencentcloudapi.com/?Action=SendSms
&PhoneNumberSet.0=+8618511122233
&PhoneNumberSet.1=+8618511122266
&TemplateID=1234
&Sign=腾讯云
&TemplateParamSet.0=12345
&SmsSdkAppid=1400006666
&SessionContext=test
&<公共请求参数>

输出示例

{
  "Response": {
    "SendStatusSet": [
      {
        "SerialNo": "5000:1045710669157053657849499619",
        "PhoneNumber": "+8618511122233",
        "Fee": 1,
        "SessionContext": "test",
        "Code": "Ok",
        "Message": "send success",
        "IsoCode": "CN"
      },
      {
        "SerialNo": "5000:104571066915705365784949619",
        "PhoneNumber": "+8618511122266",
        "Fee": 1,
        "SessionContext": "test",
        "Code": "Ok",
        "Message": "send success",
        "IsoCode": "CN"
      }
    ],
    "RequestId": "a0aabda6-cf91-4f3e-a81f-9198114a2279"
  }
}

5. 开发者资源

腾讯云 API 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
FailedOperation.ContainSensitiveWord 短信内容中含有敏感词,请联系 sms helper
FailedOperation.FailResolvePacket 请求包解析失败,通常情况下是由于没有遵守 API 接口说明规范导致的,请参考 请求包体解析1004错误详解
FailedOperation.InsufficientBalanceInSmsPackage 套餐包余量不足,请 购买套餐包
FailedOperation.JsonParseFail 解析请求包体时候失败。
FailedOperation.MarketingSendTimeConstraint 营销短信发送时间限制,为避免骚扰用户,营销短信只允许在8点到22点发送。
FailedOperation.PhoneNumberInBlacklist 手机号在黑名单库中,通常是用户退订或者命中运营商黑名单导致的,可联系 sms helper 解决。
FailedOperation.SignatureIncorrectOrUnapproved 签名格式错误或者签名未审批,签名只能由中英文、数字组成,要求2 - 12个字。如果符合签名格式规范,请核查签名是否已审批。
FailedOperation.TemplateIncorrectOrUnapproved 模版未审批或请求的内容与审核通过的模版内容不匹配,请参考 1014错误详解
InternalError.OtherError 其他错误,请联系 sms helper 并提供失败手机号。
InternalError.RequestTimeException 请求发起时间不正常,通常是由于您的服务器时间与腾讯云服务器时间差异超过10分钟导致的,请核对服务器时间及 API 接口中的时间字段是否正常。
InternalError.RestApiInterfaceNotExist 不存在该 RESTAPI 接口,请核查 REST API 接口说明。
InternalError.SendAndRecvFail 接口超时或后短信收发包超时,请检查您的网络是否有波动,或联系 sms helper 解决。
InternalError.SigFieldMissing 后端包体中请求包体没有 Sig 字段或 Sig 为空。
InternalError.SigVerificationFail 后端校验 Sig 失败。
InternalError.Timeout 请求下发短信超时,请参考 60008错误详解
InternalError.UnknownError 未知错误类型。
InvalidParameterValue.ContentLengthLimit 请求的短信内容太长,短信长度规则请参考 国内短信内容长度计算规则
InvalidParameterValue.IncorrectPhoneNumber 手机号格式错误,请参考 1016错误详解
InvalidParameterValue.ProhibitedUseUrlInTemplateParameter 禁止在模板变量中使用 URL。
InvalidParameterValue.SdkAppidNotExist SdkAppid 不存在。
InvalidParameterValue.TemplateParameterFormatError 验证码模板参数格式错误,验证码类模版,模版变量只能传入0 - 6位(包括6位)纯数字。
InvalidParameterValue.TemplateParameterLengthLimit 单个模板变量字符数超过12个,企业认证用户不限制单个变量值字数,您可以 变更实名认证模式,变更为企业认证用户后,该限制变更约1小时左右生效。
LimitExceeded.AppDailyLimit 业务短信日下发条数超过设定的上限 ,可自行到控制台调整短信频率限制策略。
LimitExceeded.DailyLimit 短信日下发条数超过设定的上限 (国际/港澳台),如需调整限制,可联系 sms helper
LimitExceeded.DeliveryFrequencyLimit 下发短信命中了频率限制策略,可自行到控制台调整短信频率限制策略,如有其他需求请联系 sms helper
LimitExceeded.PhoneNumberCountLimit 调用短信发送 API 接口单次提交的手机号个数超过200个,请遵守 API 接口说明
LimitExceeded.PhoneNumberDailyLimit 单个手机号日下发短信条数超过设定的上限,可自行到控制台调整短信频率限制策略。
LimitExceeded.PhoneNumberOneHourLimit 单个手机号1小时内下发短信条数超过设定的上限,可自行到控制台调整短信频率限制策略。
LimitExceeded.PhoneNumberSameContentDailyLimit 单个手机号下发相同内容超过设定的上限,可自行到控制台调整短信频率限制策略。
LimitExceeded.PhoneNumberThirtySecondLimit 单个手机号30秒内下发短信条数超过设定的上限,可自行到控制台调整短信频率限制策略。
MissingParameter.EmptyPhoneNumberSet 传入的号码列表为空,请确认您的参数中是否传入号码。
UnauthorizedOperation.IndividualUserMarketingSmsPermissionDeny 个人用户没有发营销短信的权限,请参考 权益区别
UnauthorizedOperation.RequestIpNotInWhitelist 请求 IP 不在白名单中,您配置了校验请求来源 IP,但是检测到当前请求 IP 不在配置列表中,如有需要请联系 sms helper
UnauthorizedOperation.RequestPermissionDeny 请求没有权限,请联系 sms helper
UnauthorizedOperation.SdkAppidIsDisabled 此 sdkappid 禁止提供服务,如有需要请联系 sms helper
UnauthorizedOperation.SerivceSuspendDueToArrears 欠费被停止服务,可自行登录腾讯云充值来缴清欠款。
UnauthorizedOperation.SmsSdkAppidVerifyFail SmsSdkAppid 校验失败。
UnsupportedOperation. 不支持该请求。
UnsupportedOperation.ContainDomesticAndInternationalPhoneNumber 群发请求里既有国内手机号也有国际手机号。
UnsupportedOperation.UnsuportedRegion 不支持该地区短信下发。
目录