tencent cloud

Feedback

SendSms

Last updated: 2024-09-10 16:03:48

    1. API Description

    Domain name for API request: sms.tencentcloudapi.com.

    This API is used to send SMS verification codes, notification, or marketing messages to users.

    • Note: Because of the improved security of TencentCloud API 3.0, API authentication is more complicated. We recommend you use the Tencent Cloud SMS service with the SDK.
    • Note: You can run this API directly in API 3.0 Explorer, which eliminates the signature calculation steps. After it is executed successfully, API Explorer can automatically generate SDK code samples.

    A maximum of 3000 requests can be initiated per second for this API.

    We recommend you to use API Explorer
    Try it
    API Explorer provides a range of capabilities, including online call, signature authentication, SDK code generation, and API quick search. It enables you to view the request, response, and auto-generated examples.

    2. Input Parameters

    The following request parameter list only provides API request parameters and some common parameters. For the complete common parameter list, see Common Request Parameters.

    Parameter Name Required Type Description
    Action Yes String Common Params. The value used for this API: SendSms.
    Version Yes String Common Params. The value used for this API: 2021-01-11.
    Region Yes String Common Params. For more information, please see the list of regions supported by the product.
    PhoneNumberSet.N Yes Array of String Target mobile number in the E.164 standard in the format of +[country/region code][mobile number]. Up to 200 mobile numbers are supported in one request (which should be all Chinese mainland mobile numbers or all global mobile numbers). For example, +60198890000, which has a + sign followed by 60 (country/region code) and then by 198890000 (mobile number).
    SmsSdkAppId Yes String The SMS SdkAppId generated after an application is added in the SMS console, such as 2400006666.
    TemplateId Yes String Template ID, which can be viewed on the Body Templates page in Global SMS. You must enter the ID of an approved template.
    SignName No String SMS signature information which is encoded in UTF-8. You must enter an approved signature (such as Tencent Cloud). The signing information can be viewed on the Signatures page in Global SMS.
    TemplateParamSet.N No Array of String Template parameter. If there is no template parameter, leave this field empty.

    Note

    The number of template parameters should be consistent with that of the template variables of TemplateId.
    ExtendCode No String SMS code number extension, which is not activated by default. If you need to activate it, you can contact SMS Helper.
    SessionContext No String User session content, which can carry context information such as user-side ID and will be returned as-is by the server. Note that the length must be less than 512 bytes.
    SenderId No String For Global SMS, if you have applied for a separate SenderId, this parameter is required. By default, the public SenderId is used, in which case you don't need to enter this parameter.
    Note: If your monthly usage reaches the specified threshold, you can apply for an independent SenderId. For more information, contact SMS Helper.

    3. Output Parameters

    Parameter Name Type Description
    SendStatusSet Array of SendStatus SMS delivery status.
    RequestId String The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.

    4. Example

    Example1 Sample request

    Sample request

    Input Example

    POST / HTTP/1.1
    Host: sms.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: SendSms
    <Common request parameters>
    
    {
        "PhoneNumberSet": [
            "+8618511122266",
            "+8618511122233"
        ],
        "SmsSdkAppId": "1400006666",
        "SignName": "Tencent Cloud",
        "TemplateId": "1234",
        "TemplateParamSet": [
            "12345"
        ],
        "SessionContext": "test"
    }
    

    Output Example

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

    5. Developer Resources

    SDK

    TencentCloud API 3.0 integrates SDKs that support various programming languages to make it easier for you to call APIs.

    Command Line Interface

    6. Error Code

    The following only lists the error codes related to the API business logic. For other error codes, see Common Error Codes.

    Error Code Description
    FailedOperation.ContainSensitiveWord The SMS message contains sensitive words. You can contact SMS Helper for assistance.
    FailedOperation.FailResolvePacket Failed to parse the request packet. Usually, this is because that the API specification was not followed. Please see Detailed Explanation of Request Body Parsing Error 1004.
    FailedOperation.InsufficientBalanceInSmsPackage The package balance is insufficient. Please purchase an SMS package.
    FailedOperation.JsonParseFail Failed to parse the request body.
    FailedOperation.MarketingSendTimeConstraint Marketing SMS messages can only be sent between 8:00 and 22:00 in order not to disturb recipients.
    FailedOperation.PhoneNumberInBlacklist The mobile number is in the opt-out list. This may be because the recipient has unsubscribed from your service or the mobile number is in the carrier’s opt-out list. To solve this problem, contact SMS Helper.
    FailedOperation.SignatureIncorrectOrUnapproved The signature is not approved or in an incorrect format. (1) Log in to the SMS console and check whether the signature has been approved; (2) Check whether the signature is in compliance with the format specification, that is, it can contain 2–12 letters and digits. If you have any questions, contact SMS Helper for assistance.
    FailedOperation.TemplateIncorrectOrUnapproved The template has not been approved or its content does not match that of the approved template. (1) Please log in to the SMS console to check whether the template has been reviewed and approved. (2) Please click here to check whether the template format is correct. If you have any questions, contact SMS Helper.
    FailedOperation.TemplateParamSetNotMatchApprovedTemplate The request content does not match that of the approved template. Please check whether the number of parameters in the request is consistent with that in the approved template. If you have any questions, contact SMS Helper.
    FailedOperation.TemplateUnapprovedOrNotExist The template has not been approved or does not exist. Please log in to the SMS console to check whether the template has been reviewed and approved. If you have any questions, contact SMS Helper.
    InternalError.OtherError Other error. You can contact SMS Helper and provide the failed mobile number for assistance.
    InternalError.RequestTimeException The request was initiated in an exceptional time. Usually, this is because that the difference between your server time and Tencent Cloud server time exceeds 10 minutes. Please check whether the server time and the time field in the API are correct.
    InternalError.RestApiInterfaceNotExist This RESTful API does not exist. Please check the RESTful API description.
    InternalError.SendAndRecvFail The API timed out or SMS packet sending/receiving timed out. You need to check whether your network jitters or contact SMS Helper for assistance.
    InternalError.SigFieldMissing The request body in the backend body does not have a Sig field or the Sig field is empty.
    InternalError.SigVerificationFail Backend check of Sig failed.
    InternalError.Timeout The request to deliver an SMS message timed out. Please see Detailed Explanation of Error 60008.
    InternalError.UnknownError Unknown error.
    InvalidParameterValue.ContentLengthLimit The content of the requested SMS message is too long. For message length calculation rule, please see SMS Length Calculation Rule.
    InvalidParameterValue.IncorrectPhoneNumber Incorrect mobile number format
    InvalidParameterValue.ProhibitedUseUrlInTemplateParameter URLs are not allowed in template variables.
    InvalidParameterValue.SdkAppIdNotExist The SdkAppId does not exist.
    InvalidParameterValue.TemplateParameterFormatError The parameter format of the verification code template is incorrect. For a verification code template, only 0–6 digits can be passed in as the template variable.
    InvalidParameterValue.TemplateParameterLengthLimit There are more than 12 characters in a single template variable. There is no upper limit of variable characters for enterprise users. You can change your account identity type to enterprise as instructed here. The limit change will take effect in about one hour.
    LimitExceeded.AppCountryOrRegionDailyLimit The number of Global SMS messages sent to the specified country/region per day has exceeded the preset limit. You can adjust the message sending limit in Application Management > Basic Configuration in the SMS console.
    LimitExceeded.AppCountryOrRegionInBlacklist The Global SMS message failed to be sent because the recipient country/region is not included in the specified country/region list. You can adjust the country/region list in Application Management > Basic Configuration in the SMS console.
    LimitExceeded.AppDailyLimit The number of SMS messages delivered on the current day exceeds the set upper limit. You can adjust the SMS delivery rate limit policy in the console.
    LimitExceeded.AppGlobalDailyLimit The number of Global SMS messages sent per day has exceeded the preset limit. You can adjust the message sending threshold in Application Management > Basic Configuration in the SMS console.
    LimitExceeded.AppMainlandChinaDailyLimit The number of Chinese Mainland SMS messages sent per day has exceeded the preset limit. You can adjust the message sending threshold in Application Management > Basic Configuration in the SMS console.
    LimitExceeded.DailyLimit The number of SMS messages delivered on the current day exceeds the set upper limit (for Global SMS). If you want to adjust the limit, you can contact SMS Helper for assistance.
    LimitExceeded.DeliveryFrequencyLimit The SMS delivery hits the delivery rate limit policy. You can adjust the policy in the console. If you have other requirements, you can contact SMS Helper for assistance.
    LimitExceeded.PhoneNumberCountLimit The number of mobile numbers you query at a time exceeds 200. Please refer to the input parameter PhoneNumberSet.
    LimitExceeded.PhoneNumberDailyLimit The number of SMS messages delivered to a single mobile number on the current day exceeds the set upper limit. You can adjust the SMS delivery rate limit policy in the console.
    LimitExceeded.PhoneNumberOneHourLimit The number of SMS messages delivered to a single mobile number within 1 hour exceeds the set upper limit. You can adjust the SMS delivery rate limit policy in the console.
    LimitExceeded.PhoneNumberSameContentDailyLimit The number of identical SMS messages delivered to a single mobile number exceeds the set upper limit. You can adjust the SMS delivery rate limit policy in the console.
    LimitExceeded.PhoneNumberThirtySecondLimit The number of SMS messages delivered to a single mobile number within 30 seconds exceeds the set upper limit. You can adjust the SMS delivery rate limit policy in the console
    MissingParameter.EmptyPhoneNumberSet The list of mobile numbers passed in is empty. Please check whether numbers are present in your parameters.
    UnauthorizedOperation.IndividualUserMarketingSmsPermissionDeny Individual users do not have permission to send marketing SMS messages. Please see Differences in Rights.
    UnauthorizedOperation.RequestIpNotInWhitelist The requesting IP is not in the allowlist. You have configured the verification of request source IP, but the current requesting IP is not in the configured allowlist. If necessary, you can contact SMS Helper.
    UnauthorizedOperation.RequestPermissionDeny The request does not have permission. You can contact SMS Helper.
    UnauthorizedOperation.SdkAppIdIsDisabled This SdkAppId is forbidden to provide services. If necessary, you can contact SMS Helper.
    UnauthorizedOperation.ServiceSuspendDueToArrears If the service is suspended due to outstanding fees, you can log in to Tencent Cloud to recharge and clear the debt on your own.
    UnauthorizedOperation.SmsSdkAppIdVerifyFail Failed to verify SmsSdkAppId. Please check whether SmsSdkAppId is under the account associated with the TencentCloud API key.
    UnsupportedOperation. The request is not supported.
    UnsupportedOperation.ChineseMainlandTemplateToGlobalPhone A Chinese Mainland SMS template cannot be used to sent messages to global numbers. Please use a Global SMS template instead.
    UnsupportedOperation.ContainDomesticAndInternationalPhoneNumber The group message request contains both Chinese mainland numbers and international numbers. Please check: (1) whether the message is sent to international numbers with a Chinese mainland signature or template; (2) whether the message is sent to Chinese mainland numbers with an international signature or template.
    UnsupportedOperation.GlobalTemplateToChineseMainlandPhone A Global SMS template cannot be used to sent messages to Chinese mainland numbers. Please use a Chinese Mainland SMS template instead.
    UnsupportedOperation.UnsupportedRegion