'1.0', 'info' => ['style' => 'RPC', 'product' => 'Dysmsapi', 'version' => '2017-05-25'], 'directories' => [ [ 'children' => ['SubmitSmsQualification', 'QuerySmsQualificationRecord', 'QuerySingleSmsQualification', 'UpdateSmsQualification', 'DeleteSmsQualification', 'RequiredPhoneCode', 'ValidPhoneCode'], 'type' => 'directory', 'title' => 'Qualification management', ], [ 'children' => ['CreateSmsAuthorizationLetter', 'QuerySmsAuthorizationLetter'], 'type' => 'directory', 'title' => 'Power of attorney', ], [ 'children' => ['CreateSmsSign', 'GetSmsSign', 'QuerySmsSignList', 'UpdateSmsSign', 'DeleteSmsSign', 'ChangeSignatureQualification', 'AddSmsSign', 'ModifySmsSign', 'QuerySmsSign'], 'type' => 'directory', 'title' => 'Signature management', ], [ 'children' => ['CreateSmsTrademark', 'QuerySmsTrademark', 'CreateSmsAppIcpRecord', 'QuerySmsAppIcpRecord'], 'type' => 'directory', 'title' => 'Trademark and ICP filing', ], [ 'children' => ['CreateSmsTemplate', 'GetSmsTemplate', 'QuerySmsTemplateList', 'UpdateSmsTemplate', 'DeleteSmsTemplate', 'AddSmsTemplate', 'ModifySmsTemplate', 'QuerySmsTemplate'], 'type' => 'directory', 'title' => 'Template management', ], [ 'children' => ['SendSms', 'SendBatchSms'], 'type' => 'directory', 'title' => 'SMS sending', ], [ 'children' => ['QuerySendDetails', 'QuerySendStatistics'], 'type' => 'directory', 'title' => 'Sending query', ], [ 'children' => ['CreateDigitalSignOrder', 'QueryDigitalSignByName', 'CreateDigitalSmsTemplate'], 'type' => 'directory', 'title' => 'Digital SMS', ], [ 'children' => ['GetOSSInfoForCardTemplate', 'GetMediaResourceId', 'CreateCardSmsTemplate', 'QueryCardSmsTemplate', 'CheckMobilesCardSupport', 'QueryMobilesCardSupport', 'GetCardSmsLink', 'GetCardSmsDetails', 'QueryCardSmsTemplateReport', 'SendCardSms', 'SendBatchCardSms'], 'type' => 'directory', 'title' => 'Card SMS', ], [ 'children' => ['GetQualificationOssInfo', 'GetSmsOcrOssInfo'], 'type' => 'directory', 'title' => 'Retrieve OSS upload information', ], [ 'children' => ['SmsConversionIntl', 'ConversionDataIntl'], 'type' => 'directory', 'title' => 'Domestic-to-international SMS conversion rate', ], [ 'children' => ['AddShortUrl', 'DeleteShortUrl', 'QueryShortUrl'], 'type' => 'directory', 'title' => 'Short URL management', ], [ 'children' => ['GetOSSInfoForUploadFile', 'ListTagResources', 'TagResources', 'UntagResources'], 'title' => 'Others', 'type' => 'directory', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ 'AddShortUrl' => [ 'summary' => 'Creates a short URL.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '102437', 'abilityTreeNodes' => ['FEATUREdysmsQAI8QG'], ], 'parameters' => [ [ 'name' => 'SourceUrl', 'in' => 'formData', 'schema' => ['description' => 'The URL that you want to shorten. Maximum length: 1,000 characters.'."\n" ."\n" .'>'."\n" ."\n" .'Short Message Service does not currently support this API operation.'."\n" ."\n" .'>', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'https://www.****.com/product/sms', 'title' => ''], ], [ 'name' => 'ShortUrlName', 'in' => 'formData', 'schema' => ['description' => 'The name of the short URL. Maximum length: 13 characters.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '阿里短链测试', 'title' => ''], ], [ 'name' => 'EffectiveDays', 'in' => 'formData', 'schema' => ['description' => 'The validity period of the short URL, in days. The maximum value is 90.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '7', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The status code of the request.'."\n" ."\n" .'- A value of `OK` indicates that the request was successful.'."\n" ."\n" .'- For other error codes, see [Error Code List](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => 'The message that describes the status.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '819BE656-D2E0-4858-8B21-B2E477085AAF', 'title' => ''], 'Data' => [ 'description' => 'The details of the short URL.', 'type' => 'object', 'properties' => [ 'SourceUrl' => ['description' => 'The source URL that was shortened.', 'type' => 'string', 'example' => 'https://www.****.com/product/sms', 'title' => ''], 'ExpireDate' => ['description' => 'The expiration time of the short URL.'."\n" ."\n" .'> The value of **ExpireDate** is always on the hour.', 'type' => 'string', 'example' => '2021-09-19 00:00:00', 'title' => ''], 'ShortUrl' => ['description' => 'The generated short URL.', 'type' => 'string', 'example' => 'http://****.cn/6y8uy7', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"819BE656-D2E0-4858-8B21-B2E477085AAF\\",\\n \\"Data\\": {\\n \\"SourceUrl\\": \\"https://www.****.com/product/sms\\",\\n \\"ExpireDate\\": \\"2021-09-19 00:00:00\\",\\n \\"ShortUrl\\": \\"http://****.cn/6y8uy7\\"\\n }\\n}","type":"json"}]', 'title' => 'AddShortUrl', 'description' => '>'."\n" ."\n" .'Short Message Service does not currently support this API operation.'."\n" ."\n" .'>'."\n" ."\n" .'- You can create up to 3,000 short URLs per calendar day.'."\n" ."\n" .'- After a short URL is generated, it must pass a security review, which typically takes 10 minutes to 2 hours. You cannot access the short URL until it passes this review.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddShortUrl'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'dysms:AddShortUrl', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'AddSmsSign' => [ 'summary' => 'This API has been discontinued.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '102438', 'abilityTreeNodes' => ['FEATUREdysmsJ2BZAJ'], ], 'parameters' => [ [ 'name' => 'SignName', 'in' => 'query', 'schema' => ['description' => 'The signature name. The signature name must comply with the [Signature specifications](~~108076#section-0p8-qn8-mmy~~).'."\n" ."\n" .'> - Signature names are case-insensitive. For example, [Aliyun Communication] and [aliyun communication] are considered the same name.'."\n" .'> - When your verification code signature and general-purpose signature have the same name, the system uses the general-purpose signature to send SMS messages by default.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '阿里云', 'title' => ''], ], [ 'name' => 'SignSource', 'in' => 'query', 'schema' => ['description' => 'The source of the signature. Valid values:'."\n" ."\n" .'- **0**: Full name or abbreviation of an enterprise or public institution.'."\n" .'- **1**: Full name or abbreviation of a website registered with the Ministry of Industry and Information Technology (MIIT).'."\n" .'- **2**: Full name or abbreviation of an app.'."\n" .'- **3**: Full name or abbreviation of an official account or mini program.'."\n" .'- **4**: Full name or abbreviation of an e-commerce platform store name.'."\n" .'- **5**: Full name or abbreviation of a trademark name.'."\n" ."\n" .'For detailed descriptions of signature sources, see [Signature source](https://help.aliyun.com/en/sms/user-guide/signature-specifications-1?spm=a2c4g.11186623.0.0.4f9710fder2gR7#section-xup-k46-yi4).'."\n" ."\n" .'>This API does not support applying for signatures whose signature source is **Test or learning** or **Online trial**. If you need to apply for signatures with these two sources, go to the [Short Message Service (SMS) console](https://dysms.console.aliyun.com/domestic/text/sign/add/qualification) to submit your application.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'Remark', 'in' => 'query', 'schema' => ['description' => 'The description of the SMS signature scenario. The description cannot exceed 200 characters in length.'."\n" ."\n" .'This is reference information for signature review. Providing a complete application description helps reviewers understand your business scenario and improves review efficiency. Guidelines for filling in:'."\n" ."\n" .'- You can provide the use cases of a business that has been launched.'."\n" ."\n" .'- You can provide real-world SMS message examples to reflect your business scenarios.'."\n" ."\n" .'- You can provide the parameter values passed to variables and describe the business use cases and the reasons for choosing these variable attributes in detail.'."\n" ."\n" .'- You can provide the website links, registered domain names, or app store download links of your actual business.'."\n" ."\n" .'- For login scenarios, you can provide a test account and password.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '当前的短信签名应用于双11大促推广营销', 'title' => ''], ], [ 'name' => 'SignFileList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of signature files.', 'type' => 'array', 'items' => [ 'description' => 'The signature data.', 'type' => 'object', 'properties' => [ 'FileContents' => ['description' => 'The Base64-encoded string of the qualification certificate file for the signature. The image size cannot exceed 2 MB. In some scenarios, you need to upload a certificate file when you apply for a signature.'."\n" ."\n" .'For detailed specifications, see [File upload specifications](~~463316~~).', 'type' => 'string', 'required' => true, 'example' => 'R0lGODlhHAAmAKIHAKqqqsvLy0hISObm5vf394uL****', 'title' => ''], 'FileSuffix' => ['description' => 'The format of the signature certificate file. Multiple images can be uploaded. Currently, JPG, PNG, GIF, and JPEG formats are supported. In some scenarios, you need to upload a certificate file when you apply for a signature.'."\n" ."\n" .'> If the signature is for third-party use or if you are an individual-certified user whose self-use signature source is an enterprise or public institution name, you also need to upload a certificate file and a power of attorney. For more information, see [Certificate file](~~108076~~) and [Power of attorney](~~56741~~).', 'type' => 'string', 'required' => true, 'example' => 'jpg', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], [ 'name' => 'SignType', 'in' => 'query', 'schema' => ['description' => 'The type of the signature.'."\n" ."\n" .'- **0**: Verification code'."\n" .'- **1**: General-purpose', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The HTTP status code.'."\n" ."\n" .'* OK is returned if the request is successful.'."\n" .'* For other error codes, see [API error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', 'title' => ''], 'SignName' => ['description' => 'The signature name.', 'type' => 'string', 'example' => '阿里云', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\",\\n \\"SignName\\": \\"阿里云\\"\\n}","type":"json"}]', 'title' => 'Apply for an SMS signature (discontinued)', 'description' => '- In accordance with the regulations of the Ministry of Industry and Information Technology (MIIT) and the [relevant requirements](~~2806975~~) of carriers, Alibaba Cloud has made functional modifications to signature-related APIs. To improve the review efficiency and approval rate of your signatures, use the new API [CreateSmsSign - Apply for an SMS signature](~~2807427~~).'."\n" ."\n" .'- An individual user can apply for one signature per natural day under the same Alibaba Cloud account. Enterprise users have no limit on the number of applications. For details about the differences in rights and interests between individual users and enterprise users, see [Usage notes](~~55324~~).'."\n" ."\n" .'- The signature information applied for through the API is synchronized to the SMS console. For operations on signatures in the console, see [SMS signatures](~~108073~~).'."\n" ."\n" .'- After you submit a signature application, you can call the [QuerySmsSign](~~419283~~) API to query the review status and details of the signature. You can also [configure receipt messages](~~101508~~) and use [SignSmsReport](~~120998~~) to obtain signature review status messages.'."\n" ."\n" .'### QPS limit'."\n" .'The single-user QPS limit for this API is 1 call per second. If the limit is exceeded, API calls will be throttled, which may affect your business. Call this API at a reasonable rate.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-08-15T04:21:05.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-08-15T04:21:02.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-08-15T04:03:26.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-08-15T04:02:05.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-07-09T12:20:25.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-07-09T12:20:18.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-07-09T12:20:05.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddSmsSign'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'dysms:AddSmsSign', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'AddSmsTemplate' => [ 'summary' => 'An SMS template is the detailed content received by the recipient, including variables and template content. You can apply for verification code, notification, or promotional SMS templates based on your business needs. SMS can only be sent after the template is approved.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => true, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '102439', 'abilityTreeNodes' => ['FEATUREdysms2H0K7P'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'TemplateType', 'in' => 'query', 'schema' => ['description' => 'The SMS type. Valid values:'."\n" ."\n" .'- **0**: verification code.'."\n" .'- **1**: notification SMS.'."\n" .'- **2**: promotional SMS.'."\n" .'- **3**: international/Hong Kong, Macao, and Taiwan messages.'."\n" ."\n" .'> Only enterprise-verified users can apply for promotional SMS and international/Hong Kong, Macao, and Taiwan messages. For details about the differences between individual and enterprise user privileges, see [Usage notes](~~55324~~).', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '0', 'title' => ''], ], [ 'name' => 'TemplateName', 'in' => 'query', 'schema' => ['description' => 'The template name. The length must not exceed 30 characters.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '验证码', 'title' => ''], ], [ 'name' => 'TemplateContent', 'in' => 'query', 'schema' => ['description' => 'The template content. The length must not exceed 500 characters.'."\n" ."\n" .'The template content and variable content must comply with the [SMS template specifications](~~463161~~); otherwise, the template review will fail. You can also view common template examples on the [Apply for template](https://dysms.console.aliyun.com/domestic/text/template/add) page. Using example templates can improve review efficiency and success rate. For variable specifications, see [TemplateContent parameter variable specifications](~~2806243~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '您正在申请手机注册,验证码为:${code},5分钟内有效!', 'title' => ''], ], [ 'name' => 'Remark', 'in' => 'query', 'schema' => ['description' => 'The description for the SMS template application. The length must not exceed 100 characters.'."\n" ."\n" .'This is reference information for template review. Providing a complete application description helps reviewers understand your business scenario and improves review efficiency. Guidelines:'."\n" ."\n" .'- You can provide the usage scenario of business that has been launched.'."\n" .'- You can provide SMS examples for real scenarios to demonstrate your business scenario.'."\n" .'- You can provide the variable parameter content, describing the business usage scenario in detail and the reason for choosing this variable attribute.'."\n" .'- You can provide website links of actual business, registered domain addresses, app market download links, and so on.'."\n" .'- For login scenarios, you can provide a test account and password.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '申请验证码短信', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The request status code.'."\n" ."\n" .'* The value OK indicates that the request was successful.'."\n" .'* For other error codes, see [API error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', 'title' => ''], 'TemplateCode' => ['description' => 'The SMS template code.'."\n" ."\n" .'After submitting the template application, you can use the SMS template code to query the template review details through the [QuerySmsTemplate](~~419289~~) operation. You can also [configure receipt messages](~~101508~~) and obtain the template review status messages through [TemplateSmsReport](~~120999~~).', 'type' => 'string', 'example' => 'SMS_46817****', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'TemplateParameterCountIllegal', 'errorMessage' => 'The verification code template only supports 1 verification code as a variable', 'description' => 'Verification code templates support only one variable, which must be a verification code.'], ], ], 'staticInfo' => [ 'substitutions' => ['Dysmsapi::2017-05-25::CreateSmsTemplate'], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\",\\n \\"TemplateCode\\": \\"SMS_46817****\\"\\n}","type":"json"}]', 'title' => 'Apply for SMS template (discontinued)', 'description' => '- In accordance with the regulations of the Ministry of Industry and Information Technology and the [related requirements](~~2806975~~) of carriers, Alibaba Cloud has revamped the functionality of template-related APIs. To improve the review efficiency and approval rate of your templates, please use the new operation [CreateSmsTemplate - Apply for SMS template](~~2807431~~).'."\n" ."\n" .'- You can submit a maximum of 100 SMS template applications per natural day via the API. It is recommended that each application be submitted at intervals of at least 30 seconds. There is no limit on the number of submissions when applying for SMS templates through the [console](https://dysms.console.aliyun.com/domestic/text/template).'."\n" ."\n" .'- Template information applied for through the API is synchronized to the SMS service console. For related template operations in the console, see [SMS templates](~~108085~~).'."\n" ."\n" .'- After submitting the template application, you can query the template review status and details through the [QuerySmsTemplate](~~419289~~) operation. You can also [configure receipt messages](~~101508~~) and obtain the template review status messages through [TemplateSmsReport](~~120999~~).'."\n" ."\n" .'- Domestic SMS templates and international/Hong Kong, Macao, and Taiwan SMS templates are not interchangeable (cannot be mixed). Please apply for templates based on your business usage scenarios.'."\n" ."\n" .'- Only enterprise-verified users can apply for promotional SMS and international/Hong Kong, Macao, and Taiwan messages. For details about the differences between individual and enterprise user privileges, see [Usage notes](~~55324~~).'."\n" ."\n" .'### QPS limits'."\n" .'The per-user QPS limit for this operation is 1,000 calls per second. If the limit is exceeded, API calls will be throttled, which may affect your business. Please call the operation reasonably.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-08-15T04:21:06.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-08-15T04:21:02.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-07-09T12:20:25.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-07-09T12:20:18.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-07-09T12:20:05.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddSmsTemplate'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'dysms:AddSmsTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ChangeSignatureQualification' => [ 'summary' => 'Updates the qualification and authorization letter for a signature.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '268874', 'abilityTreeNodes' => ['FEATUREdysmsJ2BZAJ'], ], 'parameters' => [ [ 'name' => 'SignatureName', 'in' => 'query', 'schema' => ['description' => 'The signature.', 'type' => 'string', 'required' => true, 'example' => '阿里云', 'title' => ''], ], [ 'name' => 'QualificationId', 'in' => 'query', 'schema' => ['description' => 'The ID of the qualification, which is returned when you apply for it. You can also find this ID on the [Qualification Management](https://dysms.console.aliyun.com/domestic/text/qualification) page in the console for messages to the Chinese mainland.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1*****2', 'title' => ''], ], [ 'name' => 'AuthorizationLetterId', 'in' => 'query', 'schema' => ['description' => 'The ID of the authorization letter.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000********1234', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'AccessDeniedDetail' => ['description' => 'Details of the access denial. This field is returned only if RAM authentication fails.', 'type' => 'string', 'example' => '无', 'title' => ''], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => 'The request ID. Alibaba Cloud generates this unique identifier to help you troubleshoot issues.', 'type' => 'string', 'example' => '0A974B78-02BF-4C79-ADF3-90CFBA1B55B1', 'title' => ''], 'Data' => [ 'type' => 'object', 'properties' => [ 'Data' => ['description' => 'This field is not used. You can ignore it.', 'type' => 'object', 'title' => '', 'example' => ''], 'ErrMessage' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'ErrCode' => ['description' => 'The status code of the request.', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], 'description' => 'The returned data structure.', 'title' => '', 'example' => '', ], 'Code' => ['description' => 'The status code of the request.'."\n" ."\n" .'- A value of `OK` indicates that the request was successful.'."\n" ."\n" .'- For other error codes, see the error code list in this topic or the [API Error Codes](~~101346~~) topic.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Success' => [ 'description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'- **true**: The call was successful.'."\n" ."\n" .'- **false**: The call failed.', 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'type' => 'boolean', 'example' => 'true', 'title' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'QualificationNotExist', 'errorMessage' => 'Can\'t query qualification information.', 'description' => 'Can\'t query qualification information'], ['errorCode' => 'SmsAuthorizationLetterNotExist', 'errorMessage' => 'Authorization does not belong to the customer.', 'description' => ''], ['errorCode' => 'SmsSignatureNotExist', 'errorMessage' => 'Signature does not exist.', 'description' => 'Signature does not exist'], ['errorCode' => 'SmsQualificationRegisterFailed', 'errorMessage' => 'The registration of the current qualification fails. Please modify the qualification and re-bind the qualification before completing the signature registration process again.', 'description' => 'The registration of the current qualification fails. Please modify the qualification and re-bind the qualification before completing the signature registration process again.'], ['errorCode' => 'SmsQualificationNotPassed', 'errorMessage' => 'The qualification has not been approved and cannot be bound to the signature.', 'description' => 'The qualification has not been approved and cannot be bound to the signature.'], ['errorCode' => 'SmsPassedAuthorizationLetterNotMatch', 'errorMessage' => 'Please bind audited authorization letter whose the social credit code is same to the the social credit code of qualification.', 'description' => 'Please bind and unify the qualification authorization letter with the same and available social credit code.'."\n"], ['errorCode' => 'QualificationNotComplete', 'errorMessage' => 'The qualification elements are incomplete.', 'description' => 'The qualification elements are incomplete, and the missing elements are []'], ['errorCode' => 'SmsSignNotAuthorized', 'errorMessage' => 'the signature is not in the sign scope of the authorization letter.', 'description' => 'The signature is not within the scope of the authorization.'], ['errorCode' => 'SMS_STATUS_ILLEGAL', 'errorMessage' => 'When replacing the qualification and power of attorney of the signature, the signature status must be approved.', 'description' => 'When replacing the qualification and power of attorney of the signature, the signature status must be approved.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"0A974B78-02BF-4C79-ADF3-90CFBA1B55B1\\",\\n \\"Data\\": {\\n \\"Data\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"ErrMessage\\": \\"OK\\",\\n \\"Success\\": true,\\n \\"ErrCode\\": \\"OK\\"\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Replace the Qualification and Letter of Authorization for a Signature (to be unpublished)', 'changeSet' => [ ['createdAt' => '2025-08-01T04:05:19.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [], ], 'CheckMobilesCardSupport' => [ 'summary' => 'Checks whether phone numbers support card SMS.', 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '125700', 'abilityTreeNodes' => ['FEATUREdysmsB35KN5'], ], 'parameters' => [ [ 'name' => 'TemplateCode', 'in' => 'query', 'schema' => ['description' => 'The code of the card SMS template.'."\n" .'Log on to the SMS Service console and go to the [Domestic Card SMS](https://dysms.console.aliyun.com/domestic/card) page. On the **Template Management** tab, you can view the list of card SMS templates.'."\n" ."\n" .'>The template must be added and approved.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'CARD_SMS_****', 'title' => ''], ], [ 'name' => 'Mobiles', 'in' => 'query', 'style' => 'flat', 'schema' => [ 'description' => 'The list of phone numbers to be queried.', 'type' => 'array', 'items' => ['description' => 'The phone number to be queried. The parameter must be in the format of {"#6#mobile":"1380000****"}. Otherwise, a phone number format error is returned. Up to 10,000 phone numbers can be queried in a single request.', 'type' => 'object', 'required' => false, 'example' => '{"#6#mobile":"1322587****"}', 'title' => ''], 'required' => true, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The request status code.'."\n" .'- The value OK indicates that the request was successful.'."\n" .'- For information about other error codes, see [Error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => 'The request ID, which is a unique identifier generated by Alibaba Cloud for the request and can be used to troubleshoot and locate issues.', 'type' => 'string', 'example' => '819BE656-D2E0-4858-8B21-B2E477085AAF', 'title' => ''], 'Success' => ['description' => 'Indicates whether the API call was successful. Valid values:'."\n" ."\n" .'- **true**: The call was successful.'."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'queryResult' => [ 'description' => 'The list of query results.', 'type' => 'array', 'items' => [ 'description' => 'The query data.', 'type' => 'object', 'properties' => [ 'mobile' => ['description' => 'The phone number.', 'type' => 'string', 'example' => '1390000****', 'title' => ''], 'support' => ['description' => 'Indicates whether card SMS is supported. Valid values:'."\n" ."\n" .'- **true**: Card SMS is supported.'."\n" ."\n" .'- **false**: Card SMS is not supported.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => 'No access, please contact administrator.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"RequestId\\": \\"819BE656-D2E0-4858-8B21-B2E477085AAF\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"queryResult\\": [\\n {\\n \\"mobile\\": \\"1390000****\\",\\n \\"support\\": true\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Check whether phone numbers support card SMS (Old API)', 'description' => '- Alibaba Cloud accounts that have not activated card SMS cannot call this API.'."\n" .'- Card SMS is currently in the internal invitation phase. Contact your Alibaba Cloud account manager to apply for activation or [contact Alibaba Cloud pre-sales](https://help.aliyun.com/document_detail/464625.html).'."\n" .'- We recommend that you use the new API [QueryMobilesCardSupport](~~QueryMobilesCardSupport~~) to query whether phone numbers support card SMS.'."\n" .'### QPS limit'."\n" .'The per-user QPS limit for this API is 2,000 calls per second. If the limit is exceeded, API calls are throttled, which may affect your business. Make calls reasonably.', 'requestParamsDescription' => 'Complete request parameter example:'."\n" ."\n" .'```'."\n" .'{'."\n" .' "Mobiles": ['."\n" .' {'."\n" .' "#6#mobile": "137******00"'."\n" .' },'."\n" .' {'."\n" .' "#6#mobile": "130******00"'."\n" .' }'."\n" .' ],'."\n" .' "TemplateCode": "CARD_SMS_6***9"'."\n" .'}'."\n" .'```', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CheckMobilesCardSupport'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:CheckMobilesCardSupport', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ConversionDataIntl' => [ 'summary' => 'Reports SMS conversion rate statistics to the Alibaba Cloud SMS platform.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '176602', 'abilityTreeNodes' => ['FEATUREdysmsWO2BNU'], ], 'parameters' => [ [ 'name' => 'ReportTime', 'in' => 'query', 'schema' => ['description' => 'The point in time when the conversion rate is observed. The value must be a Unix timestamp in milliseconds, represented as a long integer.'."\n" ."\n" .'>If you do not specify this parameter, the current timestamp is used by default.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1349055900000', 'title' => ''], ], [ 'name' => 'ConversionRate', 'in' => 'query', 'schema' => ['description' => 'The conversion rate monitoring value.'."\n" .'>This parameter is of the double type. Valid values: \\[0,1].', 'type' => 'string', 'required' => true, 'example' => '0.53', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '819BE656-D2E0-4858-8B21-B2E477085AAF'."\n", 'title' => ''], 'Code' => ['description' => '状态码。取值:'."\n" ."\n" .'- OK:代表请求成功。'."\n" ."\n" .'- 其他错误码,请参见[错误码列表](~~101346~~)。', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"819BE656-D2E0-4858-8B21-B2E477085AAF\\\\n\\",\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', 'title' => 'Report conversion rate data for international SMS sent from China', 'description' => '指标说明:转化率=OTP 转化量/OTP 发送量。'."\n" .'- OTP发送量:验证码发送量。'."\n" .'- OTP转化量:验证码转换量。(用户成功获取验证码,并进行回传)'."\n" .'>转化率反馈功能会对业务系统有一定的侵入性,为了防止调用转化率 API 的抖动影响业务逻辑,请考虑: '."\n" .'>- 使用异步模式(例如:队列或事件驱动)调用 API。 '."\n" .'>- 添加可降级的方案保护业务逻辑(例如:手动降级开工或者使用断路器自动降级)。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ConversionDataIntl'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:ConversionDataIntl', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CreateCardSmsTemplate' => [ 'summary' => 'Creates a card SMS template.', 'methods' => ['post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '102440', 'abilityTreeNodes' => ['FEATUREdysms17QZIS'], ], 'parameters' => [ [ 'name' => 'TemplateName', 'in' => 'query', 'schema' => ['description' => 'The name of the card SMS template.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '阿里云图文类模板', 'title' => ''], ], [ 'name' => 'Template', 'in' => 'query', 'style' => 'json', 'schema' => ['description' => 'The content of the card SMS template.'."\n" ."\n" .'> - For more information about the `Template`, `ExtendInfo`, `TemplateContent`, `TmpCard`, and `Action` fields, see [Card SMS template parameters](~~434929~~).'."\n" .'>'."\n" .'> - The content structure varies based on the type of card SMS template. For more information, see [Card SMS template examples](~~435361~~).', 'type' => 'object', 'required' => true, 'docRequired' => true, 'example' => '{'."\n" .' "extendInfo":{'."\n" .' "scene":"HMOVM图文",'."\n" .' "purpose":"2",'."\n" .' "userExt":{'."\n" .' "outId":"1234554321"'."\n" .' }'."\n" .' },'."\n" .' "templateContent":{'."\n" .' "pages":['."\n" .' {'."\n" .'"tmpCards":['."\n" .' {'."\n" .' "type":"IMAGE",'."\n" .' "srcType":1,'."\n" .' "src":"28755",'."\n" .' "actionType":"OPEN_APP",'."\n" .' "action":{'."\n" .' "target":"https://s.tb.cn/c.KxzZ",'."\n" .' "merchantName":"测试-图文模板",'."\n" .' "packageName":['."\n" .' "com.taobao.taobao"],'."\n" .' "floorUrl":"https://s.tb.cn/c.KxzZ"'."\n" .' },'."\n" .' "positionNumber":1'."\n" .' },'."\n" .' {'."\n" .' "type":"TEXT",'."\n" .' "content":"测试- BENZ AMG 2020 试驾邀请",'."\n" .' "isTextTitle":true,'."\n" .' "positionNumber":2'."\n" .' },'."\n" .' {'."\n" .' "type":"TEXT",'."\n" .' "content":"测试-梅赛德斯-奔驰,创新激情永不灭。作为汽车 XXXX",'."\n" .' "isTextTitle":false,'."\n" .' "positionNumber":3'."\n" .' },'."\n" .' {'."\n" .' "type":"BUTTON",'."\n" .' "content":"预约试驾",'."\n" .' "actionType":"OPEN_BROWSER",'."\n" .' "action":{'."\n" .' "target":"https://www.mercedes-benz.com.cn",'."\n" .' "merchantName":"测试-正在跳转梅赛德斯-奔驰"'."\n" .'},'."\n" .' "positionNumber":4'."\n" .' }]'."\n" .' }]'."\n" .' },'."\n" .' "cardSignName":"阿里云",'."\n" .' "cardType":5,'."\n" .' "companyName": "投放企业名称"'."\n" .'}', 'title' => ''], ], [ 'name' => 'Memo', 'in' => 'query', 'schema' => ['description' => 'A description of the template.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '图文类模板', 'title' => ''], ], [ 'name' => 'Factorys', 'in' => 'query', 'schema' => ['description' => 'The vendors to which the template will be submitted. Valid values:'."\n" ."\n" .'- **HuaWei**: Huawei'."\n" ."\n" .'- **XiaoMi**: Xiaomi'."\n" ."\n" .'- **OPPO**: OPPO'."\n" ."\n" .'- **VIVO**: VIVO'."\n" ."\n" .'- **MEIZU**: MEIZU'."\n" ."\n" .'- **HONOR**: HONOR'."\n" ."\n" .'> If you do not specify this parameter, the system automatically submits the template to all supported mobile phone vendors.', 'type' => 'string', 'required' => false, 'example' => '["HuaWei","XiaoMi"] ', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The data object.', 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The request status code. Valid values:'."\n" ."\n" .'- OK: The request was successful.'."\n" ."\n" .'- For a list of other error codes, see [Error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', 'title' => ''], 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'- **true**: The call was successful.'."\n" ."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The data returned by the operation.', 'type' => 'object', 'properties' => [ 'TemplateCode' => ['description' => 'The code for the card SMS template. You can view the **Template Code** on the **Card SMS** > [template management](https://dysms.console.aliyun.com/domestic/card) page in the console.'."\n" ."\n" .'> The card SMS template must be approved before it can be used.', 'type' => 'string', 'example' => 'CARD_SMS_2****', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => 'No access, please contact administrator.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"TemplateCode\\": \\"CARD_SMS_2****\\"\\n }\\n}","type":"json"}]', 'title' => 'CreateCardSmsTemplate', 'description' => '- The card SMS feature is currently available by invitation only. To enable this feature, contact your Alibaba Cloud business manager or our [pre-sales consultation](https://help.aliyun.com/document_detail/464625.html?spm=a2c4g.11186623.0.0.213273d4Xe6UEu#section-81n-72q-ybm) team.'."\n" ."\n" .'- This operation saves a card SMS template, submits it to mobile phone vendors for review, and returns a template code.'."\n" ."\n" .'- If a card SMS template contains a type or event that a vendor does not support, the system does not submit the template to that vendor for review. For more information, see [Supported template types by vendor](~~434611~~).'."\n" ."\n" .'- For more examples of card SMS templates, see [Card SMS template examples](~~435361~~).'."\n" ."\n" .'### QPS limit'."\n" ."\n" .'The QPS limit for a single user is 300. API calls that exceed this limit are throttled, which may impact your business. Plan your calls accordingly.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2026-02-04T08:10:39.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-12-06T14:40:53.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-12-06T14:40:42.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-24T02:44:52.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-24T02:44:41.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCardSmsTemplate'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'dysms:CreateCardSmsTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CreateDigitalSignOrder' => [ 'summary' => 'Creates an order to add, update, or delete a digital message signature.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'autoTest' => true, 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'OrderType', 'in' => 'query', 'schema' => [ 'description' => 'The operation to perform on the signature. Valid values:'."\n" ."\n" .'- `UPDATE_DIGITALSMS_SIGN`: Update a signature.'."\n" ."\n" .'- `DELETE_DIGITALSMS_SIGN`: Delete a signature.'."\n" ."\n" .'- `CREATE_DIGITALSMS_SIGN`: Create a signature.', 'enumValueTitles' => ['UPDATE_DIGITALSMS_SIGN' => 'Update', 'DELETE_DIGITALSMS_SIGN' => 'Delete', 'CREATE_DIGITALSMS_SIGN' => 'Create'], 'type' => 'string', 'required' => false, 'example' => 'CREATE_DIGITALSMS_SIGN', 'title' => '', ], ], [ 'name' => 'Submitter', 'in' => 'query', 'schema' => ['description' => 'The ID of the user who submits the order.', 'type' => 'string', 'required' => false, 'example' => '110000001750080', 'title' => ''], ], [ 'name' => 'SignName', 'in' => 'query', 'schema' => ['description' => 'The signature name. This parameter is required for creating, updating, and deleting signatures.'."\n" ."\n" .'1. The name must be 2 to 16 characters in length.'."\n" ."\n" .'2. The name can contain Chinese characters, letters, and digits.'."\n" ."\n" .'- Special characters are not allowed, including $, &, %, #, @, !, ^, \\*, (, ), \\_, +, -, =, {, }, \\[, ], |, ;, :, \', ", <, >, ,, ., /, ?, \\~, and .'."\n" ."\n" .'- The name cannot be only letters.'."\n" ."\n" .'- The name cannot be only digits. Spaces are not allowed.'."\n" ."\n" .'- Emojis are not allowed.', 'type' => 'string', 'required' => false, 'example' => '阿里云商城', 'title' => ''], ], [ 'name' => 'QualificationId', 'in' => 'query', 'schema' => ['description' => 'The ID of the qualification.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '41', 'title' => ''], ], [ 'name' => 'QualificationVersion', 'in' => 'query', 'schema' => ['description' => 'The version of the qualification.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '49', 'title' => ''], ], [ 'name' => 'OrderContext', 'in' => 'query', 'style' => 'json', 'schema' => [ 'description' => 'The qualification information. This object is required when you create a signature, or when you update a signature\'s qualification information.'."\n" ."\n" .'- qualificationCompanyName: Company name. The name can be up to 150 characters long. It cannot consist of only digits or contain symbols other than the middle dot (·), Chinese brackets (【】), Chinese parentheses (()), English parentheses (()), and spaces.'."\n" ."\n" .'- `qualificationOrganizationCode`: The 18-character Unified Social Credit Identifier (USCI). It must be an 18-digit code or a code that consists of 18 uppercase or lowercase letters and digits.'."\n" ."\n" .'- `qualificationAdminName`: The name of the agent or legal representative. The name must be in Chinese.'."\n" ."\n" .'- `qualificationAdminIDCard`: The 18-digit ID card number of the agent. Only PRC ID cards are supported.'."\n" ."\n" .'- `qualificationLegalPersonName`: The name of the legal representative or agent.'."\n" ."\n" .'- `qualificationLegalPersonIDCard`: The 18-digit ID card number of the legal representative. Only PRC ID cards are supported.', 'enumValueTitles' => [], 'type' => 'object', 'required' => false, 'example' => '{'."\n" .' "qualificationCompanyName": "阿里阿巴",'."\n" .' "qualificationOrganizationCode": "91330106MA2A0XABCD",'."\n" .' "qualificationLegalPersonName": "张三",'."\n" .' "qualificationLegalPersonIDCard": "110105199001011234",'."\n" .' "qualificationAdminName": "李四",'."\n" .' "qualificationAdminIDCard": "11010519900101****"'."\n" .'}', 'title' => '', ], ], [ 'name' => 'SignIndustry', 'in' => 'query', 'schema' => [ 'description' => 'The industry type. This parameter is required when you create or update a signature. It is optional when you delete a signature. Valid values:'."\n" ."\n" .'- `0`: General (GENERAL)'."\n" ."\n" .'- `1`: E-commerce and retail (ECOMMERCE)', 'enumValueTitles' => ['General (GENERAL)', 'E-commerce and retail (ECOMMERCE)'], 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '0', 'title' => '', ], ], [ 'name' => 'SignId', 'in' => 'query', 'schema' => ['description' => 'The unique ID of the signature.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '80', 'title' => ''], ], [ 'name' => 'SignSource', 'in' => 'query', 'schema' => [ 'description' => 'The signature source. This parameter is required when you create or update a signature. It is optional when you delete a signature. Valid values:'."\n" ."\n" .'- `0`: Enterprises and public institutions'."\n" ."\n" .'- `2`: App', 'enumValueTitles' => ['Enterprises and public institutions', 2 => 'App', 5 => 'Brand name', 7 => 'E-commerce or flagship store'], 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '0', 'title' => '', ], ], [ 'name' => 'ExtendMessage', 'in' => 'query', 'schema' => ['description' => 'Reserved for future use.', 'type' => 'string', 'required' => false, 'example' => 'example', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response object.', 'type' => 'object', 'properties' => [ 'AccessDeniedDetail' => ['description' => 'The details about the access denial. This parameter is returned only if the RAM user is not authorized.', 'type' => 'string', 'example' => 'None', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '2D0133B9-6C0D-0BAE-8161-1EEF9E2D4069', 'title' => ''], 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'example', 'title' => ''], 'Data' => ['description' => 'The returned data.'."\n" ."\n" .'- `signName`: The name of the signature.'."\n" ."\n" .'- `signOrderId`: The ID of the signature order.'."\n" ."\n" .'- `signCode`: The code of the signature.'."\n" ."\n" .'- `signId`: The ID of the signature.', 'type' => 'object', 'example' => '{\'signId\': \'2006746****\', \'signCode\': \'SIGN_100000184736042_174416475****_hpMd1\', \'signOrderId\': 2246979****, \'signName\': u\'\\u8d5b\\u745e\\u5a05\\u808c\\u80a4\\u7ba1\\u7406\'}', 'title' => ''], 'Code' => ['description' => 'The status code.'."\n" ."\n" .'- If the request is successful, `OK` is returned.'."\n" ."\n" .'- For more information about other error codes, see [API error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Success' => [ 'description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" .'- **true**: The request was successful.'."\n" ."\n" .'- **false**: The request failed.', 'enumValueTitles' => ['true' => 'Success', 'false' => 'Failure'], 'type' => 'boolean', 'example' => 'true', 'title' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Digital Message SMS Signature Management ', 'description' => 'Creates, updates, or deletes a signature.', 'requestParamsDescription' => 'The qualification information. This object is required when you create a signature, or when you update a signature\'s qualification information.'."\n" ."\n" .'Example in JSON format:'."\n" .'`{ "qualificationCompanyName": "Aliaba", "qualificationOrganizationCode": "91330106MA2A0XABCD", "qualificationLegalPersonName": "Zhang San", "qualificationLegalPersonIDCard": "110105199001011234", "qualificationAdminName": "Li Si", "qualificationAdminIDCard": "1101051990010100000" }`'."\n" ."\n" .'- qualificationCompanyName The name of the company. The only supported symbols are the middle dot (·), Chinese brackets (【】), Chinese parentheses (()), English parentheses (()), and spaces. The value cannot consist of only digits, and its length cannot exceed 150 characters.'."\n" ."\n" .'- `qualificationOrganizationCode`: The 18-character USCI. It must be an 18-digit code or a code that consists of 18 uppercase or lowercase letters and digits.'."\n" ."\n" .'- `qualificationAdminName`: The name of the agent or legal representative. The name must be in Chinese.'."\n" ."\n" .'- `qualificationAdminIDCard`: The 18-digit ID card number of the agent. Only PRC ID cards are supported.'."\n" ."\n" .'- `qualificationLegalPersonName`: The name of the legal representative or agent.'."\n" ."\n" .'- `qualificationLegalPersonIDCard`: The 18-digit ID card number of the legal representative. Only PRC ID cards are supported.', 'extraInfo' => 'After you commit a sign request, you can use the GetSmsSign API to query the sign filing status and details. You can also [configure receipt messages](https://dysmsnext.console.aliyun.com/general/audit). '."\n" ."\n" .'Core processing logic: '."\n" ."\n" .'1. Delete sign: When you delete a sign via the API, the operation synchronizes with the Short Message Service console, and the sign record is removed from the page. If any carrier has a “filing in progress” status for this sign, deletion is not supported. Please wait for the result before retrying. '."\n" .'2. Associated template invalidation: The system automatically queries all SMS templates associated with this sign and updates their status in batch to “Out Of Effect.” '."\n" .'3. Mark reason: In the status change records of the associated templates, the reason for invalidation is appended as: “The sign associated with the template was deleted.” '."\n" ."\n" .'● Limits and notes: '."\n" ."\n" .'1. Permission: Only the Alibaba Cloud account that owns the sign can perform the delete operation. '."\n" .'2. Irreversible: Deleted signs cannot be recovered. If you need to use the sign again, you must submit a new request. '."\n" .'3. Sending impact: After the sign is deleted and its associated templates become invalid, all text message sending requests based on these templates will fail. You must confirm the impact scope before performing this operation.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"RequestId\\": \\"2D0133B9-6C0D-0BAE-8161-1EEF9E2D4069\\",\\n \\"Message\\": \\"example\\",\\n \\"Data\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], 'CreateDigitalSmsTemplate' => [ 'summary' => 'Creates a digital SMS template.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '102441', 'abilityTreeNodes' => ['FEATUREdysms0VSOON'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'TemplateName', 'in' => 'query', 'schema' => ['description' => 'The template name. The name can contain up to 20 characters.', 'type' => 'string', 'required' => true, 'example' => '****模板', 'title' => ''], ], [ 'name' => 'Remark', 'in' => 'query', 'schema' => ['description' => 'The application description. Describe your business use case for the template.', 'type' => 'string', 'required' => true, 'example' => '***业务需要', 'title' => ''], ], [ 'name' => 'TemplateContents', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'maxItems' => 10, 'description' => 'An array of objects that define the template content.', 'type' => 'array', 'items' => [ 'description' => 'The template content.', 'type' => 'object', 'properties' => [ 'FileContents' => ['description' => 'The file content, converted to a Base64 string. The file must be UTF-8 encoded before the Base64 conversion.', 'type' => 'string', 'required' => false, 'example' => '字符', 'title' => ''], 'FileSuffix' => ['description' => 'The file suffix. Supported formats are `txt` for text; `gif`, `jpg`, and `png` for images; `mp3` for audio; and `mp4` for video. You can upload only one video file per template.', 'type' => 'string', 'required' => false, 'example' => 'txt', 'title' => ''], 'FileName' => ['description' => 'The file name without the extension.', 'type' => 'string', 'required' => false, 'example' => 'file-1', 'title' => ''], 'FileSize' => ['description' => 'The file size, in bytes.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1840901', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => true, 'title' => '', 'example' => '', ], ], [ 'name' => 'SignName', 'in' => 'query', 'allowEmptyValue' => false, 'schema' => ['description' => 'The signature.', 'type' => 'string', 'required' => false, 'example' => '签名', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The status code of the request. A value of `OK` indicates a successful request.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => 'The response message. `success` indicates a successful request. If the request fails, an error message is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], 'RequestId' => ['description' => 'The request ID. This unique identifier is generated by Alibaba Cloud and can be used to troubleshoot issues.', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', 'title' => ''], 'TemplateCode' => ['description' => 'The template code.', 'type' => 'string', 'example' => 'DIGITAL_SMS_0001', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Digital SMS Template Creation ', 'description' => 'Use this operation to create a reusable template for your digital SMS messages.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\",\\n \\"TemplateCode\\": \\"DIGITAL_SMS_0001\\"\\n}","type":"json"}]', ], 'CreateSmsAppIcpRecord' => [ 'summary' => 'The process for using a live app as a signature source has changed. If you use an app as the signature source, you must call this operation to create an ICP filing record for it.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '289841', 'abilityTreeNodes' => ['FEATUREdysmsJ2BZAJ'], 'autoTest' => true, 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'AppIcpRecordPic', 'in' => 'query', 'schema' => ['title' => 'OSS key of the APP-ICP filing details screenshot ', 'description' => 'The fileKey for the screenshot of your app\'s ICP filing details.'."\n" ."\n" .'1. To look up your ICP filing, go to the [MIIT service platform](https://beian.miit.gov.cn/#/Integrated/recordQuery), search for your filing, and open its details page.'."\n" ."\n" .'2. The ICP filing screenshot must be uploaded to OSS and meet the following requirements:'."\n" ."\n" .'- The filename cannot contain Chinese characters or special characters.'."\n" ."\n" .'- The file must be an image in `jpg`, `png`, `gif`, or `jpeg` format. The file size cannot exceed 5 MB.'."\n" ."\n" .'- The screenshot must show the full URL.'."\n" ."\n" .'- For **Record Type**, select "APP".'."\n" ."\n" .'- The **principal unit name** must be identical to the company or institution name on the qualification documents associated with the signature.'."\n" ."\n" .'- The screenshot must clearly show the complete ICP record/license number.'."\n" ."\n" .'- The **service name** must be identical to the **signature name**.'."\n" ."\n" .'3. To obtain the fileKey, see [Upload files through OSS](~~2833114~~).', 'type' => 'string', 'required' => true, 'example' => ' '."\n" .'123456/test1719383196031.jpg'."\n"], ], [ 'name' => 'AppServiceName', 'in' => 'query', 'schema' => ['title' => 'App service name', 'description' => 'The service name from your ICP filing. The name must not exceed 15 characters.', 'type' => 'string', 'required' => true, 'example' => '阿里云'], ], [ 'name' => 'AppPrincipalUnitName', 'in' => 'query', 'schema' => ['title' => 'Sponsoring Organization Name ', 'description' => 'The principal unit name from your ICP filing. The name must not exceed 50 characters.', 'type' => 'string', 'required' => true, 'example' => '阿里云计算有限公司'], ], [ 'name' => 'AppIcpLicenseNumber', 'in' => 'query', 'schema' => ['title' => 'ICP Filing/License Number ', 'description' => 'The ICP record/license number. The number must not exceed 15 characters.', 'type' => 'string', 'required' => true, 'example' => '浙B2-20080101'], ], [ 'name' => 'AppApprovalDate', 'in' => 'query', 'schema' => ['title' => 'Review pass date, for example, 2025-09-01', 'description' => 'The ICP filing approval date.', 'type' => 'string', 'required' => true, 'example' => '2025-05-22'], ], [ 'name' => 'Domain', 'in' => 'query', 'schema' => ['title' => 'Link to the APP Application Store', 'description' => 'The app store link.'."\n" ."\n" .'> - The link must start with `http://` or `https://`.', 'type' => 'string', 'required' => true, 'example' => 'https://apps.apple.com/cn/app/阿里云/id981011420'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'AccessDeniedDetail' => ['description' => 'Details about the access denial.', 'type' => 'string', 'example' => '无', 'title' => ''], 'RequestId' => ['description' => 'The request ID. Alibaba Cloud generates this unique identifier for each request. Use this ID to troubleshoot issues.', 'type' => 'string', 'title' => '', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990'."\n"], 'Message' => ['description' => 'The message returned with the request status code.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Data' => ['description' => 'The ID of the app\'s ICP filing record.', 'type' => 'string', 'title' => '', 'example' => '10000*******'], 'Code' => ['description' => 'The request status code.'."\n" ."\n" .'- A value of `OK` indicates that the request was successful.'."\n" ."\n" .'- For other error codes, see the [error code list](~~101346~~).', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Success' => ['description' => 'Indicates whether the API call was successful. Valid values:'."\n" ."\n" .'- **`true`**'."\n" ."\n" .'- **`false`**', 'type' => 'boolean', 'title' => '', 'example' => 'true'], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'AppIcpRecordOssFileNotUploadError', 'errorMessage' => 'The APP-ICP record screenshot file is not uploaded.', 'description' => ''], ['errorCode' => 'AppIcpRecordDateNotMatchRegex', 'errorMessage' => 'The format of the APP-ICP record approval date is incorrect.', 'description' => ''], ['errorCode' => 'AppPrincipalUnitNameNotMatchRegex', 'errorMessage' => 'The principal unit name of the APP cannot be empty.', 'description' => ''], ['errorCode' => 'AppPrincipalUnitNameOverLimit', 'errorMessage' => 'The principal unit name of the APP exceeds the length limit.', 'description' => ''], ['errorCode' => 'AppIcpLicenseNumberNotMatchRegex', 'errorMessage' => 'The ICP record/license number cannot be empty.', 'description' => ''], ['errorCode' => 'AppIcpLicenseNumberOverLimit', 'errorMessage' => 'The ICP record/license number exceeds the length limit.', 'description' => ''], ['errorCode' => 'AppDomainNotMatchRegex', 'errorMessage' => 'The APP app store link cannot be empty and must start with http:// or https://.', 'description' => ''], ['errorCode' => 'AppDomainOverLimit', 'errorMessage' => 'The APP app store link exceeds the length limit.', 'description' => ''], ['errorCode' => 'AppApprovalDateNotValid', 'errorMessage' => 'The validity period of the APP-ICP record is not within the valid range.', 'description' => ''], ['errorCode' => 'AppIcpRecordPicsFileError', 'errorMessage' => 'The format of the APP-ICP record screenshot file is incorrect.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Create an ICP Filing Entity ', 'description' => '>To use a **live app** as a signature source, you must now provide its ICP filing information.> This requires you to upload a screenshot of the app\'s ICP filing.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\\\n\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": \\"10000*******\\",\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], 'CreateSmsAuthorizationLetter' => [ 'summary' => 'If the qualification is intended for use by a third party or the requested signature involves third-party rights, you must obtain third-party authorization and create an authorization letter before submitting the application.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'abilityTreeCode' => '264691', 'abilityTreeNodes' => ['FEATUREdysmsJ2BZAJ'], ], 'parameters' => [ [ 'name' => 'AuthorizationLetterPic', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The fileKey of the authorization letter.'."\n" ."\n" .'1. The authorization letter file uploaded to OSS. Download the [Authorization Letter Template](https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250414/bvpcmo/%E6%8E%88%E6%9D%83%E5%A7%94%E6%89%98%E4%B9%A6%E6%A8%A1%E7%89%88.doc), then fill it out and stamp it according to the [specifications](~~56741~~) before uploading. File upload requirements:'."\n" .'- The name of the file to be uploaded cannot contain Chinese characters or special characters.'."\n" .'- Only images in JPG, PNG, GIF, or JPEG format are supported, and the image must not exceed 5 MB.'."\n" ."\n" .'2. To obtain the fileKey, see [Upload files through OSS](~~2833114~~).', 'type' => 'string', 'required' => true, 'example' => '123456/test1719383196031.jpg'], ], [ 'name' => 'SignList', 'in' => 'query', 'style' => 'json', 'schema' => [ 'title' => '', 'description' => 'The list of authorized signatures. The number of signatures cannot exceed 100.'."\n" ."\n" .'> We recommend that you authorize all signatures that may be used at once in the authorization letter. This prevents subsequent signature applications from falling outside the scope of the authorization letter, which would cause review failure and require you to supplement the authorization letter.', 'type' => 'array', 'items' => ['title' => '', 'description' => 'The SMS signature name. Comply with the [Signature Specifications](~~108076~~). The length is limited to 2 to 12 characters. Words such as "测试" and "test" are not supported. Symbols such as 【】, (), and [] cannot be added. Special characters such as `、, ,, 。, and spaces` are not supported.', 'type' => 'string', 'required' => false, 'example' => '菜鸟网络'], 'required' => true, 'example' => '', ], ], [ 'name' => 'AuthorizationLetterExpDate', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The validity period of the authorization letter. Format: `YYYY-MM-DD~YYYY-MM-DD`.'."\n" ."\n" .'> The recommended validity period is 1 to 3 years. Set a reasonable time period and avoid making the validity period too long or too short.', 'type' => 'string', 'required' => true, 'example' => '2023-01-01~2026-01-01'], ], [ 'name' => 'Authorization', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The authorizing party, that is, the owner of the signature. Only the middle dot `·`, Chinese `【】()`, English `()`, and spaces are supported. Other symbols or purely numeric input are not allowed. The length cannot exceed 150 characters.', 'type' => 'string', 'required' => true, 'example' => '菜鸟网络科技有限公司'], ], [ 'name' => 'OrganizationCode', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The unified social credit code of the authorizing party. The length cannot exceed 150 characters. The credit code must be consistent with the unified social credit code field in the qualification information bound to the signature. Otherwise, the signature creation will fail.', 'type' => 'string', 'required' => true, 'example' => '9****************A'], ], [ 'name' => 'ProxyAuthorization', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The authorized party, that is, the signature applicant. Only the middle dot `·`, Chinese `【】()`, English `()`, and spaces are supported. Other symbols or purely numeric input are not allowed. The length cannot exceed 150 characters.', 'type' => 'string', 'required' => true, 'example' => '支付宝(中国)网络技术有限公司'], ], [ 'name' => 'AuthorizationLetterName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The name of the authorization letter. The name cannot be the same as any of your other authorization letters. Only Chinese characters, English characters, or a combination with numbers are supported. Symbols or purely numeric input are not allowed. The length cannot exceed 100 characters.', 'type' => 'string', 'required' => true, 'example' => '菜鸟公司授权书'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'AccessDeniedDetail' => ['description' => 'The detailed information about the access denial. This field is returned only when RAM verification fails.', 'type' => 'string', 'example' => '无', 'title' => ''], 'RequestId' => ['description' => 'The ID of the current request, which is a unique identifier generated by Alibaba Cloud for the request and can be used to troubleshoot and locate issues.', 'type' => 'string', 'title' => '', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990'."\n"], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Data' => ['description' => 'The ID of the authorization letter.', 'type' => 'string', 'title' => '', 'example' => '10000****'], 'Code' => ['description' => 'The status code of the request.'."\n" ."\n" .'- OK indicates that the request was successful.'."\n" .'- For other error codes, see the error code list in this chapter or [API Error Codes](~~101346~~) of this product.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Success' => [ 'description' => 'Indicates whether the API call was successful. Valid values:'."\n" ."\n" .'- **true**: The call was successful.'."\n" .'- **false**: The call failed.', 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'type' => 'boolean', 'title' => '', 'example' => 'true', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'AuthorizationLetterNameRepeat', 'errorMessage' => 'The authorization letter name is duplicated.', 'description' => ''], ['errorCode' => 'AuthorizationLetterDateNotMatchRegex', 'errorMessage' => 'The format of the authorization letter\'s effective and expiry date is incorrect.', 'description' => ''], ['errorCode' => 'AuthorizationLetterDateNotValid', 'errorMessage' => 'The current time is not within the validity period of the authorization letter.', 'description' => ''], ['errorCode' => 'AuthorizationLetterNameNotMatchRegex', 'errorMessage' => 'The authorization letter name cannot be empty and must consist of Chinese, English characters or a combination with numbers, symbols or purely numeric input are not supported.', 'description' => ''], ['errorCode' => 'AuthorizationLetterNameOverLimit', 'errorMessage' => 'The authorization letter name exceeds the 100-character length limit.', 'description' => ''], ['errorCode' => 'AuthorizationNotMatchRegex', 'errorMessage' => 'The authorizer name cannot be empty and currently does not support any symbols except middle dots, spaces, Chinese brackets, and English parentheses or purely numeric input.', 'description' => ''], ['errorCode' => 'AuthorizationOssFileNotUploadError', 'errorMessage' => 'The authorization letter file has not been uploaded.', 'description' => ''], ['errorCode' => 'AuthorizationOverLimit', 'errorMessage' => 'The authorizer exceeds the 1000-character length limit.', 'description' => ''], ['errorCode' => 'ProxyAuthorizationOverLimit', 'errorMessage' => 'The authorized party exceeds the 1000-character length limit.', 'description' => ''], ['errorCode' => 'ProxyAuthorizationNotMatchRegex', 'errorMessage' => 'The authorized party name currently does not support any symbols except middle dots, spaces, Chinese brackets, and English parentheses or purely numeric input.', 'description' => ''], ['errorCode' => 'SignNumOverLimit', 'errorMessage' => 'The signature exceeds the limit of 100 entries.', 'description' => ''], ['errorCode' => 'SignNotMatchRegex', 'errorMessage' => 'The signature length is limited to 2-12 characters and does not support some special characters.', 'description' => ''], ['errorCode' => 'OrganizationCodeOverLimit', 'errorMessage' => 'The organization code is limited to 150 characters.', 'description' => 'Social credit code is not allowed to exceed 150 characters'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\\\n\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": \\"10000****\\",\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Create an Authorization Letter', 'description' => '- Before use, please read the [Authorization Letter Specifications](~~56741~~). Download the [Authorization Letter Template](https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250414/bvpcmo/%E6%8E%88%E6%9D%83%E5%A7%94%E6%89%98%E4%B9%A6%E6%A8%A1%E7%89%88.doc), fill it out and stamp it according to the specifications, and then upload it.'."\n" .'- The authorization letter you create can be used when applying for SMS qualifications or SMS signatures. If your qualification or signature is intended for use by a third party, you must create and submit an authorization letter.'."\n" .'- After creating an authorization letter, you can call [QuerySmsAuthorizationLetter](~~QuerySmsAuthorizationLetter~~) to query the details of the created authorization letter. Authorization letter information created through the API is synchronized to the Short Message Service console.', 'changeSet' => [ ['createdAt' => '2025-08-01T04:05:19.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [], ], 'CreateSmsSign' => [ 'summary' => 'An SMS signature identifies the sender of an SMS message. Before sending SMS messages, you must apply for a signature and a template. The system prepends the approved SMS signature to the message content and sends them together to the recipient.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '218492', 'abilityTreeNodes' => ['FEATUREdysmsJ2BZAJ'], ], 'parameters' => [ [ 'name' => 'SignName', 'in' => 'query', 'schema' => ['description' => 'The signature name. The signature name must comply with the [signature specifications](~~108076#section-0p8-qn8-mmy~~):'."\n" ."\n" .'- The name must be 2 to 12 characters in length and cannot contain words such as "test".'."\n" ."\n" .'- The name cannot contain symbols such as 【】, (), or []. Special characters such as commas, periods, and spaces are not supported.'."\n" ."\n" .'> - Signature names are case-sensitive. For example, 【Aliyun通信】 and 【aliyun通信】 are treated as two different signatures.'."\n" .'> - If your verification code signature and general-purpose signature have the same name, the system uses the general-purpose signature to send SMS messages by default.', 'type' => 'string', 'required' => true, 'example' => '阿里云验证码', 'title' => ''], ], [ 'name' => 'Remark', 'in' => 'query', 'schema' => ['description' => 'The description of the SMS signature scenario. This is one of the reference materials for signature review. The description can be up to 200 characters in length.'."\n" .'> - You can describe the scenarios of your online service and provide links to the actual business website or marketplace download page.'."\n" .'> - You can provide a complete SMS example that reflects your business scenario.'."\n" .'> - You can provide the pass parameter content of variables and describe in detail the business scenario and the reason for selecting the variable property.'."\n" .'> - If the signature involves a government or public institution, specify the landline phone number of the institution.'."\n" ."\n" .'A well-documented application description improves the review efficiency for signatures and templates. Failure to follow the specifications or leaving this field empty may affect the approval of your signature.', 'type' => 'string', 'required' => false, 'maxLength' => 500, 'example' => '登录场景使用验证码', 'title' => ''], ], [ 'name' => 'SignType', 'in' => 'query', 'schema' => ['description' => 'The signature type. Valid values:'."\n" ."\n" .'- **0**: verification code.'."\n" ."\n" .'- **1**: general-purpose (default).'."\n" ."\n" .'We recommend that you use the default value: **general-purpose**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'MoreData', 'in' => 'query', 'style' => 'json', 'schema' => [ 'description' => 'The supplementary materials. Upload business proof files or business screenshots to help reviewers understand your business details. See [Signature application materials](~~108076#section-xup-k46-yi4~~) and upload the relevant materials.', 'type' => 'array', 'items' => ['description' => 'The information about the file uploaded to OSS. For file upload operations, see [Upload files to OSS](~~2833114~~).', 'type' => 'string', 'required' => false, 'example' => '10098689758*****/123qwe.png', 'title' => ''], 'required' => false, 'title' => '', 'example' => '', ], ], [ 'name' => 'QualificationId', 'in' => 'query', 'schema' => ['description' => 'The ID of the approved qualification.'."\n" ."\n" .'> - Before applying for an SMS signature, [apply for a qualification](~~2539801~~).'."\n" .'> - You can view the qualification ID on the [Qualification Management](https://dysms.console.aliyun.com/domestic/text/qualification) page.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '8563**', 'title' => ''], ], [ 'name' => 'ApplySceneContent', 'in' => 'query', 'schema' => ['description' => '> The signature source of launched apps is no longer supported.>'."\n" .'The app store link. If the signature source is a launched app, that is, SignSource is set to 2, specify a link that starts with http:// or https:// and make sure the app is already launched.', 'type' => 'string', 'required' => false, 'example' => 'http://www.aliyun.com/', 'title' => ''], ], [ 'name' => 'SignSource', 'in' => 'query', 'schema' => [ 'description' => 'The signature source. Valid values:'."\n" ."\n" .'- **0**: full name or abbreviation of an enterprise or public institution. **(Recommended)**'."\n" .'- **5**: full name or abbreviation of a trademark.'."\n" .'- **2**: full name or abbreviation of an app. **(Not recommended)**'."\n" ."\n" .'For more information about signature sources, see [Signature sources](~~108076#section-fow-bfu-wo9~~).', 'enumValueTitles' => [], 'type' => 'integer', 'format' => 'int32', 'required' => true, 'enum' => ['0', '1', '2', '3', '4', '5'], 'example' => '0', 'title' => '', ], ], [ 'name' => 'ThirdParty', 'in' => 'query', 'schema' => ['description' => 'The signature purpose. Valid values:'."\n" ."\n" .'- false: for personal use (default). The signature is the enterprise name, website, or product name verified under this account.'."\n" ."\n" .'- true: for third-party use. The signature is the enterprise name, website, or product name not verified under this account.'."\n" .'>If the signature is for personal use, select a qualification ID for personal use. If the signature is for third-party use, select a qualification ID for third-party use.>.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'AuthorizationLetterId', 'in' => 'query', 'schema' => ['description' => 'The ID of the power of attorney. When the signature is for third-party use, this parameter is required. Otherwise, the signature review will not pass. The unified social credit code in the power of attorney must match the unified social credit code in the qualification information bound to the signature. Otherwise, the signature creation fails.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000********1234', 'title' => ''], ], [ 'name' => 'TrademarkId', 'in' => 'query', 'schema' => ['description' => 'The trademark entity ID.'."\n" .'> - 1. This parameter is required when SignSource is set to 5.'."\n" .'> - 2. You can obtain the trademark entity ID by calling the [CreateSmsTrademark](~~CreateSmsTrademark~~) operation.'."\n" .'> - 3. Based on carrier real-name registration requirements, provide the relevant field information. Otherwise, the probability of review rejection or carrier registration failure increases significantly.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000009081***', 'title' => ''], ], [ 'name' => 'AppIcpRecordId', 'in' => 'query', 'schema' => ['description' => 'The APP-ICP filing entity ID.'."\n" .'> - This parameter is required when SignSource is set to 2.'."\n" .'> - You can obtain the filing entity ID by calling the [CreateSmsAppIcpRecord](~~CreateSmsAppIcpRecord~~) operation.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10000****029', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID. It is a unique identifier generated by Alibaba Cloud for the request and can be used to troubleshoot issues.', 'type' => 'string', 'example' => 'CCA2BCFF-2BA7-427C-90EE-AC6994748623', 'title' => ''], 'Code' => ['description' => 'The request status code. Valid values:'."\n" ."\n" .'- OK: The request was successful.'."\n" .'- For other error codes, see [Error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'successful', 'title' => ''], 'SignName' => ['description' => 'The signature name.', 'type' => 'string', 'example' => '阿里云', 'title' => ''], 'OrderId' => ['description' => 'The ticket number.'."\n" ."\n" .'Reviewers use this parameter when querying reviews. Provide this ticket number if you need to expedite the review.', 'type' => 'string', 'example' => '2004415****', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => ''], ['errorCode' => 'ParameterMismatch.ThirdParty', 'errorMessage' => 'The type of signature, whether for personal use or for a third party, should be consistent with the qualifications.', 'description' => 'Whether the signature is used by a third party should be consistent with the qualification.'], ['errorCode' => 'SignName.Exists', 'errorMessage' => 'Sorry, this signature already exists and cannot be applied for again.', 'description' => 'Sorry, this signature already exists and cannot be reapplied.'], ['errorCode' => 'InvalidQualification', 'errorMessage' => 'The qualification should be approved.', 'description' => 'Invalid qualification, qualification should be approved.'], ['errorCode' => 'InvalidSignName', 'errorMessage' => 'The signature cannot contain spaces, special '."\n" .'symbols, or all numbers.', 'description' => 'The signature cannot contain special characters such as simplified Chinese, English, or spaces other than digits, and cannot be all digits.'], ['errorCode' => 'InvalidApplySceneContent', 'errorMessage' => 'For certain signature sources, the '."\n" .'applySceneContent should be an HTTP or HTTPS link.', 'description' => 'invalid application scenario, under some signature sources,'."\n" .'The application scenario should be an HTTP or HTTPS link.'], ['errorCode' => 'MissApplySceneContent', 'errorMessage' => 'In some signature sources, the applySceneContent is required.', 'description' => 'Under some signature sources, the application scenario is required.'], ['errorCode' => 'MissingSignName', 'errorMessage' => 'The signature name cannot be empty.', 'description' => 'Signature name cannot be empty'], ['errorCode' => 'SmsAuthorizationLetterNotMatch', 'errorMessage' => 'Please bind the available authorization letter whose the social credit code is same to the the social credit code of qualification.', 'description' => 'Please bind the available authorization letter whose the social credit code is same to the the social credit code of qualification'], ['errorCode' => 'SmsAuthorizationLetterNotExist', 'errorMessage' => 'Authorization does not belong to the customer.', 'description' => ''], ['errorCode' => 'SmsSignNotAuthorized', 'errorMessage' => 'the signature is not in the sign scope of the authorization letter.', 'description' => 'The signature is not within the scope of the authorization.'], ['errorCode' => 'TrademarkNotExist', 'errorMessage' => 'The trademark does not exist.', 'description' => ''], ['errorCode' => 'AppIcpRecordNotExist', 'errorMessage' => 'The APP-ICP record does not exist.', 'description' => ''], ], 404 => [ ['errorCode' => 'QualificationNotFound', 'errorMessage' => 'Qualification does not exist.', 'description' => 'Qualification does not exist.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CCA2BCFF-2BA7-427C-90EE-AC6994748623\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"successful\\",\\n \\"SignName\\": \\"阿里云\\",\\n \\"OrderId\\": \\"2004415****\\"\\n}","type":"json"}]', 'title' => 'Apply for an SMS signature (new operation)', 'description' => '- For details about the changes between the new and original operations, see [Announcement on updating signature and template operations for Short Message Service](~~2806975~~).'."\n" ."\n" .'- Users who verify your identity - Individual account can apply for one formal signature per calendar day per Alibaba Cloud account. Users who verify your identity - Enterprise account currently have no such limit. For details about the differences between individual and enterprise user privileges, see [Before you begin](~~55324~~).'."\n" ."\n" .'- Read the [Signature specifications](~~108076~~) to learn about the SMS signature review standards.'."\n" .'- Signatures applied for through the API are synchronized to the Short Message Service console. For console-related operations, see [SMS signatures](~~108073~~).'."\n" ."\n" .'- After you submit a signature application, you can call the [GetSmsSign](~~2807429~~) operation to query the signature review status and details. You can also [configure receipt messages](~~101508~~) and use [SignSmsReport](~~120998~~) to obtain the signature review status messages.', 'changeSet' => [ ['createdAt' => '2025-12-16T07:31:35.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2025-12-11T12:44:31.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-12-11T12:44:31.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-12-11T10:08:22.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-12-11T10:08:22.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-14T02:14:07.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-14T02:14:00.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-14T02:07:46.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-03T13:14:42.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-03T13:14:37.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-03T13:14:01.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-03T13:14:00.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSmsSign'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'dysms:CreateSmsSign', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CreateSmsTemplate' => [ 'summary' => 'A message template defines the content of an SMS message. This content includes the message text and any variables. You can create templates for various business needs, such as sending verification codes, notifications, or promotional messages. A template must be approved before you can use it to send messages.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '218485', 'abilityTreeNodes' => ['FEATUREdysms2H0K7P'], ], 'parameters' => [ [ 'name' => 'TemplateName', 'in' => 'query', 'schema' => ['description' => 'The template name. The name must be 30 characters or less.', 'type' => 'string', 'required' => true, 'example' => '验证码', 'maxLength' => 30, 'title' => ''], ], [ 'name' => 'TemplateContent', 'in' => 'query', 'schema' => ['description' => 'The template content. The content must be 500 characters or less.'."\n" ."\n" .'The template content and variables must comply with the [SMS Template Specifications](~~463161~~). Templates that do not comply may be rejected. You can find common template examples on the [Apply for Template](https://dysms.console.aliyun.com/domestic/text/template/add) page. Using these examples can speed up the review process and increase the approval rate. For variable specifications, see [Variable Specifications for the TemplateContent Parameter](~~2806243~~).', 'type' => 'string', 'required' => true, 'example' => '您正在申请手机注册,验证码为:${code},5分钟内有效!'."\n", 'maxLength' => 500, 'title' => ''], ], [ 'name' => 'Remark', 'in' => 'query', 'schema' => ['description' => 'Describe the business scenario for the SMS messages, or provide a URL for online scenarios. You must also provide a complete SMS example with actual values for any variables. Complete information increases the chance of template approval. Templates that do not provide this information as specified may be rejected.', 'type' => 'string', 'required' => false, 'example' => '申请验证码短信', 'maxLength' => 500, 'title' => ''], ], [ 'name' => 'TemplateType', 'in' => 'query', 'schema' => [ 'description' => 'The SMS type. Valid values:'."\n" ."\n" .'- **0**: verification code.'."\n" ."\n" .'- **1**: notification message.'."\n" ."\n" .'- **2**: promotional message.'."\n" ."\n" .'- **3**: international/Hong Kong, Macao, and Taiwan messages.'."\n" ."\n" .'> Only enterprise-verified users can apply for promotional messages or international/Hong Kong, Macao, and Taiwan messages. For more information about the differences in privileges between individual and enterprise users, see [Usage Notes](https://help.aliyun.com/zh/sms/user-guide/usage-notes?spm=a2c4g.11186623.0.0.67447f576NJnE8).', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '0', 'enum' => ['0', '1', '2', '3'], 'title' => '', ], ], [ 'name' => 'RelatedSignName', 'in' => 'query', 'schema' => ['description' => 'The name of the signature to associate with the template. The signature must be an approved signature.'."\n" ."\n" .'>'."\n" ."\n" .'- This parameter is required if **TemplateType** is set to **0**, **1**, or **2**.'."\n" ."\n" .'- Associating a signature can expedite the review process. The signature associated here is unrelated to the one you select when sending SMS messages.'."\n" ."\n" .'>', 'type' => 'string', 'required' => false, 'example' => '验证码签名', 'title' => ''], ], [ 'name' => 'TemplateRule', 'in' => 'query', 'schema' => ['description' => 'The rules for variables in the template. For instructions on how to define these rules, see [Sample Document](~~2806243~~).'."\n" ."\n" .'> - This parameter is required if the message template contains variables.', 'type' => 'string', 'required' => false, 'example' => '{"code":"characterWithNumber2"}'."\n", 'title' => ''], ], [ 'name' => 'MoreData', 'in' => 'query', 'style' => 'json', 'schema' => [ 'description' => 'Additional information. You can upload supporting documents or business screenshots to help reviewers better understand your business scenario. If you are applying for a promotional message template (where `TemplateType` is `2`), you must upload user authorization materials. For more information, see [Specifications for Uploading User Authorization Materials](~~312341~~).', 'type' => 'array', 'items' => ['description' => 'The OSS object key for the uploaded file. For instructions on how to upload a file, see [Upload a file to OSS](~~2833114~~).', 'type' => 'string', 'required' => false, 'example' => '10098689758*****/1234qwe.png', 'title' => ''], 'required' => false, 'title' => '', 'example' => '', ], ], [ 'name' => 'ApplySceneContent', 'in' => 'query', 'schema' => ['description' => 'The business scenario.'."\n" ."\n" .'- If the associated signature\'s use case is "Live App", `ApplySceneContent` must be an app URL that starts with `http://` or `https://`.'."\n" ."\n" .'- This parameter is required if the associated signature\'s use case is "Registered Trademark Name" or "organization name".', 'type' => 'string', 'required' => false, 'example' => 'http://www.aliyun.com/'."\n", 'title' => ''], ], [ 'name' => 'IntlType', 'in' => 'query', 'schema' => ['description' => 'The type of the template for international/Hong Kong, Macao, and Taiwan messages. This parameter is required when **TemplateType** is set to **3**. Valid values:'."\n" ."\n" .'- **0**: notification message.'."\n" ."\n" .'- **1**: promotional message.'."\n" ."\n" .'- **2**: verification code.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], ], [ 'name' => 'TrafficDriving', 'in' => 'query', 'schema' => ['description' => '>'."\n" ."\n" .'To control the security of SMS content, messages that contain traffic-driving information, such as phone numbers and links, may be blocked by carriers, which can lead to delivery failures. To reduce this risk, we recommend that you avoid including such information in message templates.'."\n" ."\n" .'>'."\n" ."\n" .'A JSON string that contains a list of traffic-driving information.'."\n" .'>The value must be a JSON array serialized into a string.>'."\n" ."\n" .'### 1. Fields'."\n" ."\n" .'{'."\n" .'"trafficDrivingType":"traffic driving type",'."\n" .'"trafficDrivingContent":"traffic driving content",'."\n" .'"variableName":"variable name",'."\n" .'"companyName":"organization name",'."\n" .'"organizationCode":"unified social credit code",'."\n" .'"icpNo":"ICP filing or license number",'."\n" .'"icpPicOssKey":"OSS key of the ICP filing screenshot",'."\n" .'"companyDifferentFromSignQuaReason":"Reason for the discrepancy between the organization name and the signature qualification"'."\n" .'}'."\n" ."\n" .'### 2. Notes'."\n" ."\n" .'- If the content is not a variable, do not pass the `variableName` parameter.'."\n" ."\n" .'- If the organization name is different from the one in the signature qualification, pass the `companyDifferentFromSignQuaReason` parameter.'."\n" ."\n" .'- If `trafficDrivingType` is set to `DOMAIN`, all parameters in this object are required.'."\n" ."\n" .'- If `trafficDrivingType` is set to another value, pass the `trafficDrivingType`, `trafficDrivingContent`, `variableName` (if applicable), `companyName`, `organizationCode`, and `companyDifferentFromSignQuaReason` (if applicable) parameters.'."\n" ."\n" .'### 3. trafficDrivingType enum values'."\n" ."\n" .'>'."\n" ."\n" .'Due to regulatory requirements, mobile phone numbers are not supported.'."\n" ."\n" .'>'."\n" ."\n" .'- DOMAIN: A domain link.'."\n" ."\n" .'- FIXED\\_PHONE: Fixed-line phone.'."\n" ."\n" .'- 400\\_PHONE: Phone number prefixed with 400.'."\n" ."\n" .'- 800\\_PHONE: Phone number prefixed with 800.'."\n" ."\n" .'- 95\\_PHONE: Phone number prefixed with 95.'."\n" ."\n" .'- 96\\_PHONE: Phone number prefixed with 96.'."\n" ."\n" .'- 1\\_PHONE: A 3- to 8-digit phone number that starts with 1.'."\n" ."\n" .'- OTHER\\_PHONE: Other phone number.', 'type' => 'string', 'required' => false, 'example' => '[{"trafficDrivingType":"DOMAIN","trafficDrivingContent":"aliyun.com","companyName":"阿里云计算有限公司","organizationCode":"91330****73959654P","icpNo":"浙B2-20****01-4","icpPicOssKey":"db7784d8-cb0c-498f-****-295f1ad6d665_mf29l7nf.png", "companyDifferentFromSignQuaReason":"这是一段说明文字"},{"trafficDrivingType":"1_PHONE","trafficDrivingContent":"1**86","variableName":"my1Phone","companyName":"阿里云计算有限公司","organizationCode":"91330****73959654P","companyDifferentFromSignQuaReason":"这是一段说明文字"}]', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request. Alibaba Cloud generates a unique ID for each request. You can use this ID to troubleshoot issues.', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE991', 'title' => ''], 'Code' => ['description' => 'The status code of the request. Valid values:'."\n" ."\n" .'- OK: The request was successful.'."\n" ."\n" .'- For other error codes, see the **Error codes** list in this topic or [API Error Codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'successful', 'title' => ''], 'TemplateName' => ['description' => 'The name of the message template.', 'type' => 'string', 'example' => '验证码模板', 'title' => ''], 'TemplateCode' => ['description' => 'The code of the message template.'."\n" ."\n" .'After you submit a template application, you can use the template code to call the [GetSmsTemplate](~~2807433~~) operation and query the review details of the template. You can also [configure delivery receipts](~~101508~~) to receive the review status of the template in the [TemplateSmsReport](~~120999~~) message.', 'type' => 'string', 'example' => 'SMS_10000****', 'title' => ''], 'OrderId' => ['description' => 'The ticket ID.'."\n" ."\n" .'Reviewers use this ID to check the review status. You must provide this ID when you request an expedited review.', 'type' => 'string', 'example' => '2005020****', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => ''], ['errorCode' => 'AssocSignUnapproved', 'errorMessage' => 'Associated signature must be approved.', 'description' => 'The associated signature needs to use the approved signature.'], ['errorCode' => 'InvalidTemplateRule.Format', 'errorMessage' => 'The parameter TemplateRule format must be JSON.', 'description' => 'Template variable rules must be filled with JSON-formatted data.'], ['errorCode' => 'InvalidMoreData', 'errorMessage' => 'Specified parameter MoreData is not valid.', 'description' => 'The uploaded more information is invalid.'], ['errorCode' => 'TemplateVarLimitExceeded', 'errorMessage' => 'The verification code template only supports one variable.', 'description' => 'The verification code template only supports one variable.'], ['errorCode' => 'InvalidTemplateContent.Format', 'errorMessage' => 'Invalid template content format.', 'description' => 'The template content is not in the correct format.'], ['errorCode' => 'InvalidTemplateRule', 'errorMessage' => 'The template variable format is non-standard. Please refer to the variable format specifications in the help documentation.', 'description' => 'The template variable does not meet the specifications. Please check the SMS template specification document and pass in the template variable that meets the requirements.'], ['errorCode' => 'ServiceNotOpened', 'errorMessage' => 'This product service is not opened.', 'description' => 'Product service not activated'], ], 404 => [ ['errorCode' => 'MissingTemplateName', 'errorMessage' => 'The template name cannot be empty.', 'description' => 'Template name cannot be empty.'], ['errorCode' => 'SmsSignatureNotFound', 'errorMessage' => 'The associated SMS signature does not exist.', 'description' => 'The associated SMS signature does not exist.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE991\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"successful\\",\\n \\"TemplateName\\": \\"验证码模板\\",\\n \\"TemplateCode\\": \\"SMS_10000****\\",\\n \\"OrderId\\": \\"2005020****\\"\\n}","type":"json"}]', 'title' => 'Apply for SMS Template (New Interface)', 'description' => '- For details on the API changes for signatures and templates, see the [Announcement on Signature and Template API Updates for Short Message Service](~~2806975~~).'."\n" ."\n" .'- Wait at least 30 seconds between API calls when applying for a message template.'."\n" ."\n" .'- Message templates you apply for via the API are synchronized to the Short Message Service console. For details on how to manage message templates in the console, see [Message templates](~~108085~~).'."\n" ."\n" .'- After you submit a template for review, you can call the [GetSmsTemplate](~~2807433~~) API to query the template\'s review status and details. You can also [configure status reports](~~101508~~) to receive the template\'s review status through [TemplateSmsReport](~~120999~~).'."\n" ."\n" .'- Message templates for Chinese mainland messages and international messages are not interchangeable. Apply for message templates based on your use case.'."\n" ."\n" .'- Only enterprise-verified users can apply for message templates for promotional messages and international messages. For details on the permission differences between individual and enterprise users, see [Usage notes](~~55324~~).', 'changeSet' => [ ['createdAt' => '2025-08-12T14:41:31.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-08-12T14:41:26.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-08-12T14:37:16.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-08-12T14:37:06.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-08-12T14:37:03.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-08-12T08:38:21.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-08-12T07:59:59.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSmsTemplate'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'dysms:CreateSmsTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CreateSmsTrademark' => [ 'summary' => 'Creates a trademark entity. This operation is used when you need to upload trademark information when the signature source is set to trademark.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '289843', 'abilityTreeNodes' => ['FEATUREdysmsJ2BZAJ'], 'autoTest' => true, 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'TrademarkPic', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The fileKey of the trademark details screenshot.'."\n" ."\n" .'1. How to query a trademark:'."\n" .'- Log on to the China Trademark Network, click **Trademark Online Query**, and take a screenshot of the trademark details.'."\n" .'- Accept the terms of use and enter the **Application/Registration Number** to query.'."\n" .'- Click the **Application/Registration Number** to view the details.'."\n" ."\n" .'2. Information about the trademark file uploaded to OSS. File upload requirements:'."\n" .'- The name of the file to be uploaded cannot contain Chinese characters or special characters.'."\n" .'- Only images in JPG, PNG, GIF, and JPEG formats are supported, and the image size cannot exceed 5 MB.'."\n" .'- The screenshot must contain the complete URL.'."\n" .'- The trademark image must be clear and identical to the **signature name**.'."\n" .'- The **applicant name** must be identical to the name of the enterprise or institution associated with the signature.'."\n" .'- The trademark status must be registered trademark.'."\n" ."\n" .'3. To obtain the fileKey, see [Upload files to OSS](~~2833114~~).', 'type' => 'string', 'required' => true, 'example' => '123456/test1719383196031.jpg'], ], [ 'name' => 'TrademarkRegistrationNumber', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The trademark registration number. The value can be up to 15 characters in length.', 'type' => 'string', 'required' => true, 'example' => '766905'], ], [ 'name' => 'TrademarkName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The trademark name. The value can be up to 15 characters in length.', 'type' => 'string', 'required' => true, 'example' => '阿里云'], ], [ 'name' => 'TrademarkApplicantName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The name of the applicant. The value can be up to 50 characters in length.', 'type' => 'string', 'required' => true, 'example' => '阿里巴巴(中国)有限公司'], ], [ 'name' => 'TrademarkEffExpDate', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The effective and expiration dates of the exclusive right.', 'type' => 'string', 'required' => true, 'example' => '2010-12-14~2030-12-13'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'example' => '无', 'title' => ''], 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'title' => '', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990'], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Data' => ['description' => 'The trademark ID.', 'type' => 'string', 'title' => '', 'example' => '10000*******'], 'Code' => ['description' => 'The status code of the request.'."\n" ."\n" .'* If OK is returned, the request was successful.'."\n" .'* For other error codes, see the error code list in this topic or [API error codes](~~101346~~).', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Success' => ['description' => 'Indicates whether the API call was successful. Valid values:'."\n" ."\n" .'- **true**: The call was successful.'."\n" ."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'TrademarkOssFileNotUploadError', 'errorMessage' => 'The trademark screenshot file is not uploaded.', 'description' => ''], ['errorCode' => 'TrademarkLetterDateNotMatchRegex', 'errorMessage' => 'The format of the trademark\'s validity period is incorrect.', 'description' => ''], ['errorCode' => 'TrademarkNameNotMatchRegex', 'errorMessage' => 'The trademark name cannot be empty.', 'description' => ''], ['errorCode' => 'TrademarkNameOverLimit', 'errorMessage' => 'The trademark name exceeds the length limit.', 'description' => ''], ['errorCode' => 'TrademarkRegistrationNumberNotMatchRegex', 'errorMessage' => 'The trademark registration number cannot be empty.', 'description' => ''], ['errorCode' => 'TrademarkRegistrationNumberOverLimit', 'errorMessage' => 'The trademark registration number exceeds the length limit.', 'description' => ''], ['errorCode' => 'TrademarkApplicantNameNotMatchRegex', 'errorMessage' => 'The trademark applicant cannot be empty.', 'description' => ''], ['errorCode' => 'TrademarkApplicantNameOverLimit', 'errorMessage' => 'The trademark applicant exceeds the length limit.', 'description' => ''], ['errorCode' => 'TrademarkDateNotValid', 'errorMessage' => 'The trademark\'s validity period is not within the valid range.', 'description' => ''], ['errorCode' => 'TrademarkPicsFileError', 'errorMessage' => 'The format of the trademark screenshot file is incorrect.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Create a trademark entity', 'description' => 'The trademark must be searchable on the China Trademark Network of the Trademark Office of the China National Intellectual Property Administration, and the trademark owner must match the enterprise name.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": \\"10000*******\\",\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], 'DeleteShortUrl' => [ 'summary' => 'Deletes a short URL. After deletion, the short URL is no longer usable and cannot be resolved to the source URL.', 'methods' => ['post', 'get', 'delete'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '102443', 'abilityTreeNodes' => ['FEATUREdysmsAF8QUN'], ], 'parameters' => [ [ 'name' => 'SourceUrl', 'in' => 'formData', 'schema' => ['description' => 'The source URL. The URL must not exceed 1,000 characters.'."\n" ."\n" .'>'."\n" ."\n" .'Short Message Service does not currently support this API operation.'."\n" ."\n" .'>', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'https://www.****.com/product/sms', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The status code of the request.'."\n" ."\n" .'- `OK` indicates the request was successful.'."\n" ."\n" .'- For other error codes, see [Error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '819BE656-D2E0-4858-8B21-B2E477085AAF', 'title' => ''], ], 'description' => 'The data returned.', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"819BE656-D2E0-4858-8B21-B2E477085AAF\\"\\n}","type":"json"}]', 'title' => 'DeleteShortUrl', 'description' => '>'."\n" ."\n" .'Short Message Service does not currently support this API operation.'."\n" ."\n" .'>'."\n" ."\n" .'### QPS limit'."\n" ."\n" .'The QPS limit for a single user is 100. Calls that exceed this limit are subject to rate limiting, which may affect your business. To prevent disruptions, call this operation at a reasonable frequency.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteShortUrl'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dysms:DeleteShortUrl', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteSmsQualification' => [ 'summary' => 'If you no longer use an SMS qualification or need to delete it for other reasons, call this API or delete the SMS qualification in the Short Message Service console.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'delete', 'abilityTreeCode' => '264874', 'abilityTreeNodes' => ['FEATUREdysmsJ2BZAJ'], ], 'parameters' => [ [ 'name' => 'QualificationGroupId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The qualification ID, which is the ID returned when you [apply for a qualification](~~SubmitSmsQualification~~). You can obtain the qualification ID under the current account by calling the [QuerySmsQualificationRecord](~~QuerySmsQualificationRecord~~) operation, or on the [Qualification Management](https://dysms.console.aliyun.com/domestic/text/qualification) page of Domestic Messages in the console.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '10000****'], ], [ 'name' => 'OrderId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The review ticket ID. You can obtain the qualification and its corresponding review ticket ID under the current account by calling the [QuerySmsQualificationRecord](~~QuerySmsQualificationRecord~~) operation, or on the [Qualification Management](https://dysms.console.aliyun.com/domestic/text/qualification) page of Domestic Messages in the console.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '2001****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'AccessDeniedDetail' => ['description' => 'The details about the access denial. This field is returned only when the RAM verification fails.', 'type' => 'string', 'example' => '无', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request, which is a unique identifier generated by Alibaba Cloud for the request and can be used to troubleshoot and locate problems.', 'type' => 'string', 'title' => '', 'example' => '25D5AFDE-8EBC-132E-8909-1FDC071DA'."\n"], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Data' => [ 'description' => 'Indicates whether the deletion is successful. Valid values:'."\n" ."\n" .'- **true**: success.'."\n" .'- **false**: failure.', 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'type' => 'boolean', 'title' => '', 'example' => 'true', ], 'Code' => ['description' => 'The request status code.'."\n" ."\n" .'- The value OK indicates that the request was successful.'."\n" .'- For more information, see the error code list in this topic or the product [error code list](~~101346~~).', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Success' => [ 'description' => 'Indicates whether the API call is successful. Valid values:'."\n" ."\n" .'- **true**: The call is successful.'."\n" .'- **false**: The call fails.', 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'type' => 'boolean', 'title' => '', 'example' => 'true', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'QualificationNotExist', 'errorMessage' => 'Qualification does not exist.', 'description' => ''], ['errorCode' => 'BindSignDeleteFailed', 'errorMessage' => 'The qualification is bound to a signature and cannot be deleted temporarily.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"RequestId\\": \\"25D5AFDE-8EBC-132E-8909-1FDC071DA\\\\n\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": true,\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Delete an SMS qualification', 'description' => '>Once a qualification is deleted, it cannot be restored or selected when you apply for signatures later. Proceed with caution.>'."\n" .'- Qualifications under review cannot be modified or deleted. You can withdraw the application in the Short Message Service [console](https://dysms.console.aliyun.com/domestic/text/qualification) before performing the operation.'."\n" .'- Approved qualifications that have been bound to signatures cannot be deleted.'."\n" .'- Rejected qualifications can be directly resubmitted for review after you [modify the qualification information](~~UpdateSmsQualification~~).', 'changeSet' => [ ['createdAt' => '2025-08-01T04:05:19.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [], ], 'DeleteSmsSign' => [ 'summary' => 'If you no longer use an SMS signature and need to delete it, call this operation or delete the SMS signature in the SMS Service console.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '102444', 'abilityTreeNodes' => ['FEATUREdysmsJ2BZAJ'], ], 'parameters' => [ [ 'name' => 'SignName', 'in' => 'query', 'schema' => ['description' => 'The SMS signature. You can delete signatures that are in the Withdrawn, Failed, or Approved state. You cannot delete signatures that are in the Pending Approval state.'."\n" ."\n" .'You can call the [QuerySmsSignList](~~419282~~) operation to query the signatures that have been applied for under the current account, or view the signature list on the [Signature Management](https://dysms.console.aliyun.com/domestic/text/sign) page in the SMS console.'."\n" .'>Deleted SMS signatures cannot be recovered, and the signature can no longer be used to send SMS messages. Proceed with caution.>', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '阿里云', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The HTTP status code.'."\n" ."\n" .'* The value OK indicates that the request was successful.'."\n" .'* For information about other return values, see [Error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8D****', 'title' => ''], 'SignName' => ['description' => 'The name of the deleted signature.', 'type' => 'string', 'example' => '阿里云', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8D****\\",\\n \\"SignName\\": \\"阿里云\\"\\n}","type":"json"}]', 'title' => 'Delete an SMS signature', 'description' => '- You can delete signatures that are in the Withdrawn, Failed, or Approved state. You cannot delete signatures that are in the Pending Approval state.'."\n" .'- Deleted SMS signatures cannot be recovered, and the signature can no longer be used to send SMS messages. Proceed with caution.'."\n" .'- Signature deletion operations performed via the API are synchronized to the SMS Service console. For information about how to manage templates in the console, see [SMS signatures](~~108073~~).', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSmsSign'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dysms:DeleteSmsSign', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DeleteSmsTemplate' => [ 'summary' => 'Deletes an SMS template that you no longer need.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '102445', 'abilityTreeNodes' => ['FEATUREdysms2H0K7P'], ], 'parameters' => [ [ 'name' => 'TemplateCode', 'in' => 'query', 'schema' => ['description' => 'The SMS template code. You can delete SMS templates that are recalled, rejected, or approved. You cannot delete SMS templates that are being reviewed.'."\n" ."\n" .'- You can call the [QuerySmsTemplateList](~~419288~~) operation to obtain the SMS template code.'."\n" ."\n" .'- You can also obtain the SMS template code on the [Template Management](https://dysms.console.aliyun.com/domestic/text/template) page of the Short Message Service (SMS) console.'."\n" .'>Deleted SMS templates cannot be recovered and cannot be used to send messages. Proceed with caution.>.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'SMS_152550****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => '请求状态码。'."\n" ."\n" .'- 返回OK代表请求成功。'."\n" .'- 其他错误码,请参见[API错误码](~~101346~~)。', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CCA2BCFF-2BA7-427C-90EE-AC6994748607', 'title' => ''], 'TemplateCode' => ['description' => '已删除的模板Code。', 'type' => 'string', 'example' => 'SMS_152550****', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"CCA2BCFF-2BA7-427C-90EE-AC6994748607\\",\\n \\"TemplateCode\\": \\"SMS_152550****\\"\\n}","type":"json"}]', 'title' => 'Delete an SMS template', 'description' => '- 支持删除已撤回、审核失败或审核通过的模板,审核中的短信模板不支持删除。'."\n" .'- 删除短信模板后不可恢复,且后续不可再使用该模板发送短信,请谨慎操作。'."\n" .'- 通过接口删除模板的操作会在短信服务控制台同步,在控制台对模板的相关操作,请参见[短信模板](~~108085~~)。'."\n" ."\n\n" .'### QPS限制'."\n" .'本接口的单用户QPS限制为1000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSmsTemplate'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dysms:DeleteSmsTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetCardSmsDetails' => [ 'summary' => 'Queries the card SMS sending records and sending status of a single phone number.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The current page number when you paginate sending records.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of card SMS records to display on each page when you paginate sending records.'."\n" ."\n" .'Valid values: 1 to 50.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'SendDate', 'in' => 'query', 'schema' => ['description' => 'The card SMS sending date. Records from the last 30 days can be queried.'."\n" ."\n" .'Format: yyyyMMdd. For example, 20240112.', 'type' => 'string', 'required' => true, 'example' => '20240112', 'title' => ''], ], [ 'name' => 'PhoneNumber', 'in' => 'query', 'schema' => ['description' => 'The domestic mobile phone number that received the SMS. Format: an 11-digit mobile phone number. For example, 1390000****.', 'type' => 'string', 'required' => true, 'example' => '1390000****', 'title' => ''], ], [ 'name' => 'BizCardId', 'in' => 'query', 'schema' => ['description' => 'The card SMS sending ID. When you send a card SMS by calling the [SendCardSms](~~434120~~) or [SendBatchCardSms](~~434119~~) operation, obtain the BizCardId field from the response.', 'type' => 'string', 'required' => false, 'example' => '123456^0', 'title' => ''], ], [ 'name' => 'BizSmsId', 'in' => 'query', 'schema' => ['description' => 'The text SMS sending ID. When you send a card SMS by calling the [SendCardSms](~~434120~~) or [SendBatchCardSms](~~434119~~) operation, obtain the BizSmsId field from the response.', 'type' => 'string', 'required' => false, 'example' => '1234576^0', 'title' => ''], ], [ 'name' => 'BizDigitId', 'in' => 'query', 'schema' => ['description' => 'The digital SMS sending ID. When you send a card SMS by calling the [SendCardSms](~~434120~~) or [SendBatchCardSms](~~434119~~) operation, obtain the BizDigitalId field from the response.', 'type' => 'string', 'required' => false, 'example' => '12346^0', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned information.', 'type' => 'object', 'properties' => [ 'AccessDeniedDetail' => ['description' => 'The access denied details. This parameter is returned only when the RAM check fails.', 'type' => 'string', 'example' => '无', 'title' => ''], 'Message' => ['title' => '', 'description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK'."\n"], 'CardSendDetailDTO' => [ 'title' => '', 'description' => 'The card SMS sending result.', 'type' => 'object', 'properties' => [ 'TotalCount' => ['title' => '', 'description' => 'The total count.', 'type' => 'integer', 'format' => 'int64', 'example' => '10'], 'PageSize' => ['title' => '', 'description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int64', 'example' => '10'], 'CurrentPage' => ['title' => '', 'description' => 'The page number.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], 'Records' => [ 'description' => 'The list of card SMS sending records.', 'type' => 'array', 'items' => [ 'description' => 'The card SMS sending record.', 'type' => 'object', 'properties' => [ 'TemplateCode' => ['title' => '', 'description' => 'The template code.', 'type' => 'string', 'example' => 'CARD_SMS_6***'], 'RenderDate' => ['title' => '', 'description' => 'The render time.', 'type' => 'string', 'example' => '2024-09-27 12:13:39'], 'ReceiveDate' => ['title' => '', 'description' => 'The receive time.', 'type' => 'string', 'example' => '2024-09-27 11:26:35'], 'RenderStatus' => ['title' => '', 'description' => 'The parsing status. Valid values:'."\n" ."\n" .'- 0: not parsed.'."\n" .'- 1: parsed successfully.'."\n" .'- 3: not parsed.', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], 'ReceiveType' => ['title' => '', 'description' => 'The SMS receive type.', 'type' => 'string', 'example' => 'CARD_SMS'], 'SendStatus' => ['title' => '', 'description' => 'The sending status. Valid values:'."\n" ."\n" .'- 1: sending.'."\n" .'- 2: sending failed.'."\n" .'- 3: sending succeeded.'."\n" .'- 4: addressing failed.', 'type' => 'integer', 'format' => 'int64', 'example' => '3'], 'OutId' => ['title' => '', 'description' => 'The outId passed by the customer.', 'type' => 'string', 'example' => '12345678'], 'PhoneNumber' => ['title' => '', 'description' => 'The phone number that received the SMS.', 'type' => 'string', 'example' => '156****9080'], 'SmsContent' => ['title' => '', 'description' => 'The SMS content. Only text SMS has a value.', 'type' => 'string', 'example' => '您收到一条短信消息'], 'SendDate' => ['title' => '', 'description' => 'The SMS sending time.', 'type' => 'string', 'example' => '2024-09-27 11:26:32'], 'ErrCode' => ['title' => '', 'description' => 'The sending error code.', 'type' => 'string', 'example' => 'Success'], ], 'title' => '', 'example' => '', ], 'example' => '', 'title' => '', ], ], 'example' => '', ], 'Code' => ['title' => '', 'description' => 'The request status code.'."\n" .'* OK indicates that the request was successful.'."\n" .'* For other error codes, see [API error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK'."\n"], 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" ."\n" .'- **true**: The call was successful.'."\n" ."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorMessage' => 'Incorrect phone number format.', 'errorCode' => 'InvalidParam.PhoneNumber', 'description' => 'Incorrect phone number format'], ['errorMessage' => 'PageSize must be less than or equal to 50.', 'errorCode' => 'InvalidParam.PageSize', 'description' => 'pageSize must be less than or equal to 50'], ['errorMessage' => 'Only the last 30 days can be queried.', 'errorCode' => 'InvalidParam.SendDate', 'description' => 'Only the data of the last 30 days can be queried'], ['errorMessage' => 'At most, only one parameter can be passed among bizCardId, bizSmsId, and bizDigitId.', 'errorCode' => 'InvalidParameter', 'description' => 'At most, only one parameter can be passed among bizCardId, bizSmsId, and bizDigitId.'], ], ], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"Message\\": \\"OK\\\\n\\",\\n \\"CardSendDetailDTO\\": {\\n \\"TotalCount\\": 10,\\n \\"PageSize\\": 10,\\n \\"CurrentPage\\": 1,\\n \\"Records\\": [\\n {\\n \\"TemplateCode\\": \\"CARD_SMS_6***\\",\\n \\"RenderDate\\": \\"2024-09-27 12:13:39\\",\\n \\"ReceiveDate\\": \\"2024-09-27 11:26:35\\",\\n \\"RenderStatus\\": 1,\\n \\"ReceiveType\\": \\"CARD_SMS\\",\\n \\"SendStatus\\": 3,\\n \\"OutId\\": \\"12345678\\",\\n \\"PhoneNumber\\": \\"156****9080\\",\\n \\"SmsContent\\": \\"您收到一条短信消息\\",\\n \\"SendDate\\": \\"2024-09-27 11:26:32\\",\\n \\"ErrCode\\": \\"Success\\"\\n }\\n ]\\n },\\n \\"Code\\": \\"OK\\\\n\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Queries the card SMS sending records and sending status of a single phone number', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetCardSmsDetails'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'dysms:GetCardSmsDetails', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetCardSmsLink' => [ 'summary' => 'Retrieves the short URL for a card message.', 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '125584', 'abilityTreeNodes' => ['FEATUREdysms17QZIS'], ], 'parameters' => [ [ 'name' => 'CardTemplateCode', 'in' => 'query', 'schema' => ['description' => 'The code of the card message template. In the console, go to the [Card Messages > Template Management](https://dysms.console.aliyun.com/domestic/card) page and select the code of an approved card message template.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'CARD_SMS_****', 'title' => ''], ], [ 'name' => 'OutId', 'in' => 'query', 'schema' => ['description' => 'The external extension field.', 'type' => 'string', 'required' => false, 'example' => 'BC20220608102511660860762****', 'title' => ''], ], [ 'name' => 'PhoneNumberJson', 'in' => 'query', 'schema' => ['description' => 'The phone number, user ID, or internal system identifier.'."\n" ."\n" .'> - Supports up to 10,000 phone numbers.'."\n" .'> - You can also specify a custom identifier of up to 60 characters.'."\n" .'> - For OPPO templates, you can submit up to 10 requests at a time.', 'type' => 'string', 'required' => false, 'example' => '[\\"1390000****'."\n" .'\\",\\"1370000****'."\n" .'\\"]', 'title' => ''], ], [ 'name' => 'SignNameJson', 'in' => 'query', 'schema' => ['description' => 'The signature name of the SMS message.'."\n" .'In the console, go to the [Domestic Messages > Signature Management](https://dysms.console.aliyun.com/domestic/text/sign) tab and view the name in the **Signature Name** column. You can also call the [QuerySmsSignList](https://www.alibabacloud.com/help/en/sms/developer-reference/api-dysmsapi-2017-05-25-querysmssignlist) operation to view SMS signature names.'."\n" ."\n" .'> The signature must be added and approved. The number of SMS signatures must match the number of phone numbers, and each signature must correspond to a phone number.', 'type' => 'string', 'required' => true, 'example' => '[\\"阿里云\\", \\"阿里云2\\"]', 'title' => ''], ], [ 'name' => 'CardTemplateParamJson', 'in' => 'query', 'schema' => ['description' => 'The variables of the card message template.', 'type' => 'string', 'required' => false, 'example' => ' [{\\"customUrl\\":\\"https://alibaba.com\\",\\"dyncParams\\": \\"{\\\\\\"动参key\\\\\\":\\\\\\"动参value\\\\\\"}\\"},{\\"customUrl\\":\\"https://alibaba.com\\",\\"dyncParams\\": \\"{\\\\\\"动参key\\\\\\":\\\\\\"动参value\\\\\\"}\\"}]', 'title' => ''], ], [ 'name' => 'CardCodeType', 'in' => 'query', 'schema' => ['description' => 'The encoding type of the short URL for the card message. Valid values:'."\n" .'- 1: bulk sending.'."\n" .'- 2: personalized.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2', 'title' => ''], ], [ 'name' => 'CardLinkType', 'in' => 'query', 'schema' => ['description' => 'The type of the short URL for the card message. Valid values:'."\n" .'- 1: standard short URL.'."\n" .'- 2: custom short URL.'."\n" ."\n" .'> If **CardLinkType** is left empty, the default value is standard short URL. To generate a custom short URL, contact Alibaba Cloud operations to register in advance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'Domain', 'in' => 'query', 'schema' => ['description' => 'The short URL domain assigned to the sending account. The domain must be registered in advance.'."\n" ."\n" .'> - When **CardLinkType** is set to **2**, the **Domain** parameter is required.'."\n" .'> - If the **Domain** parameter is left empty, the system default domain is used. The value can be up to 100 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'xxx.com', 'title' => ''], ], [ 'name' => 'CustomShortCodeJson', 'in' => 'query', 'schema' => ['description' => 'The custom short code. The value must be 4 to 8 digits or letters.'."\n" ."\n" .'> This parameter is required when the generation type is custom short URL.', 'type' => 'string', 'required' => false, 'example' => 'abCde', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ 'Code' => ['description' => '请求状态码。取值:'."\n" .'- OK:代表请求成功。'."\n" .'- 其他错误码,请参见[错误码列表](~~101346~~)。', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => '请求ID。'."\n", 'type' => 'string', 'example' => 'CC89A90C-978F-46AC-B80D-54738371E7CA', 'title' => ''], 'Success' => ['description' => '接口调用是否成功。取值:'."\n" ."\n" .'- **true**:调用成功。'."\n" .'- **false**:调用失败。', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ 'CardTmpState' => ['description' => '卡片短信模板审核状态。取值:'."\n" .'- **0**:审核中。'."\n" .'- **1**:审核通过。'."\n" .'- **2**:审核不通过。'."\n" ."\n" .'> 未审核通过的短信走回落流程。', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'NotMediaMobiles' => ['description' => '不支持卡片短信的手机号。', 'type' => 'string', 'example' => '1390000****', 'title' => ''], 'CardPhoneNumbers' => ['description' => '支持卡片短信的手机号码。', 'type' => 'string', 'example' => '[\\"1390000****\\",\\"1370000****\\"]', 'title' => ''], 'CardSmsLinks' => ['description' => '卡片短信短链。', 'type' => 'string', 'example' => '[\\"mw2m.cn/LAaGGa\\",\\"mw2m.cn/LAAaes\\"]', 'title' => ''], 'CardSignNames' => ['description' => '用于申请卡片短信短链的短信签名,在发送时签名、接收号码、卡片短信短链要一一对应。', 'type' => 'string', 'example' => '["阿里云","阿里云2"]', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => 'No access, please contact administrator.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"RequestId\\": \\"CC89A90C-978F-46AC-B80D-54738371E7CA\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"CardTmpState\\": 0,\\n \\"NotMediaMobiles\\": \\"1390000****\\",\\n \\"CardPhoneNumbers\\": \\"[\\\\\\\\\\\\\\"1390000****\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"1370000****\\\\\\\\\\\\\\"]\\",\\n \\"CardSmsLinks\\": \\"[\\\\\\\\\\\\\\"mw2m.cn/LAaGGa\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"mw2m.cn/LAAaes\\\\\\\\\\\\\\"]\\",\\n \\"CardSignNames\\": \\"[\\\\\\"阿里云\\\\\\",\\\\\\"阿里云2\\\\\\"]\\"\\n }\\n}","type":"json"}]', 'title' => 'Retrieve the short URL for a card message', 'description' => '- 目前卡片短信在内部邀约阶段,请联系您的阿里云商务经理申请开通或联系[阿里云售前咨询](https://help.aliyun.com/document_detail/464625.html?spm=a2c4g.11186623.0.0.213273d4Xe6UEu#section-81n-72q-ybm)。'."\n" ."\n" .'### QPS限制'."\n" .'- 本接口的单用户QPS限制为1000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '8000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetCardSmsLink'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:GetCardSmsLink', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetMediaResourceId' => [ 'summary' => 'Converts images and videos uploaded to OSS storage for card SMS into resource data for unified management, and returns a resource ID. You can manage the returned resource ID as needed.', 'methods' => ['post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '102446', 'abilityTreeNodes' => ['FEATUREdysms17QZIS'], ], 'parameters' => [ [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => ['description' => 'The resource type.'."\n" ."\n" .'- **1**: Text'."\n" .'- **2**: Image. Small images must not exceed 100 KB. Large images must not exceed 2 MB. Images must be clear. Supported formats: JPG, JPEG, PNG.'."\n" .'- **3**: Audio'."\n" .'- **4**: Video. Supported format: MP4.'."\n" .'> '."\n" .'> - If the resource type is image, **img_rate** is required.'."\n" .'> - 1:1 ratio: oneToOne'."\n" .'> - 16:9 ratio: sixteenToNine'."\n" .'> - 3:1 ratio: threeToOne'."\n" .'> - 48:65 ratio: fortyEightToSixtyFiv.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '10000', 'minimum' => '0', 'example' => '1', 'title' => ''], ], [ 'name' => 'OssKey', 'in' => 'query', 'schema' => ['description' => 'The address of the resource to retrieve.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'oss://alicom-fc-media/1947741454322274/alicom-fc-media/pic/202205191526575398603697152.png', 'title' => ''], ], [ 'name' => 'FileSize', 'in' => 'query', 'schema' => ['description' => 'The file size. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'maximum' => '9223372036854775807', 'minimum' => '0', 'example' => '12', 'title' => ''], ], [ 'name' => 'ExtendInfo', 'in' => 'query', 'schema' => ['description' => 'The extended field.'."\n" ."\n" .'> Required when the resource type is **image**.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '{\\"img_rate\\":\\"oneToOne\\"}', 'title' => ''], ], [ 'name' => 'Memo', 'in' => 'query', 'schema' => ['description' => 'The description of the uploaded resource.', 'type' => 'string', 'required' => false, 'example' => '图片信息', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ 'Code' => ['description' => '请求状态码。'."\n" ."\n" .'- 返回OK代表请求成功。'."\n" .'- 其他错误码,请参见[错误码列表](~~101346~~)。', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'F07CF237-F6E3-5F77-B91B-F9B7C5DE84AB', 'title' => ''], 'Success' => ['description' => '调用接口是否成功。取值:'."\n" ."\n" .'- **true**:调用成功。'."\n" ."\n" .'- **false**:调用失败。', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ 'ResourceId' => ['description' => '资源ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], 'ResUrlDownload' => ['description' => '资源下载地址。', 'type' => 'string', 'example' => 'http://test-example.com/download.jpg', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => 'No access, please contact administrator.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"RequestId\\": \\"F07CF237-F6E3-5F77-B91B-F9B7C5DE84AB\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"ResourceId\\": 0,\\n \\"ResUrlDownload\\": \\"http://test-example.com/download.jpg\\"\\n }\\n}","type":"json"}]', 'title' => 'Retrieve a media resource ID', 'description' => '### QPS限制'."\n" .'本接口的单用户QPS限制为300次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMediaResourceId'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:GetMediaResourceId', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetOSSInfoForCardTemplate' => [ 'summary' => 'Retrieves the OSS resource configuration information for card messages. This information is used for subsequent OSS file upload operations.', 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '102447', 'abilityTreeNodes' => ['FEATUREdysms17QZIS'], ], 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ 'Code' => ['description' => '请求状态码。'."\n" ."\n" .'- OK:代表请求成功。'."\n" .'- 其他错误码,请参见[API错误码](~~101346~~)。', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'A90E4451-FED7-49D2-87C8-00700A8C4D0D', 'title' => ''], 'Success' => ['description' => '调用接口是否成功。取值:'."\n" ."\n" .'- **true**:调用成功。'."\n" ."\n" .'- **false**:调用失败。', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ 'Signature' => ['description' => '短信签名。', 'type' => 'string', 'example' => '阿里云', 'title' => ''], 'Host' => ['description' => '访问地址。', 'type' => 'string', 'example' => 'http://***.aliyuncs.com'."\n", 'title' => ''], 'Policy' => ['description' => '签名策略。', 'type' => 'string', 'example' => 'eyJleHBpcmF0aW9uIjoiMjAyNS0wMy0yNlQwMzo0NDoyMy4xNTlaIiwiY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMTA0ODU3NjAwMF0sWyJzdGFydHMtd2l0aCIsIiRrZXkiLCIxNDIwNjM0******************', 'title' => ''], 'ExpireTime' => ['description' => '超时时间戳。单位:秒。', 'type' => 'string', 'example' => '1634209418', 'title' => ''], 'AliUid' => ['description' => '阿里云账号ID。', 'type' => 'string', 'example' => '168**********184'."\n", 'title' => ''], 'AccessKeyId' => ['description' => '签名使用的AccessKey ID。', 'type' => 'string', 'example' => 'LTAI************', 'title' => ''], 'StartPath' => ['description' => '策略路径。', 'type' => 'string', 'example' => '168**********184', 'title' => ''], 'Bucket' => ['description' => 'OSS文件保存桶名称。', 'type' => 'string', 'example' => 'alicom-cardsms-resources', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => 'No access, please contact administrator.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"RequestId\\": \\"A90E4451-FED7-49D2-87C8-00700A8C4D0D\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Signature\\": \\"阿里云\\",\\n \\"Host\\": \\"http://***.aliyuncs.com\\\\n\\",\\n \\"Policy\\": \\"eyJleHBpcmF0aW9uIjoiMjAyNS0wMy0yNlQwMzo0NDoyMy4xNTlaIiwiY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMTA0ODU3NjAwMF0sWyJzdGFydHMtd2l0aCIsIiRrZXkiLCIxNDIwNjM0******************\\",\\n \\"ExpireTime\\": \\"1634209418\\",\\n \\"AliUid\\": \\"168**********184\\\\n\\",\\n \\"AccessKeyId\\": \\"LTAI************\\",\\n \\"StartPath\\": \\"168**********184\\",\\n \\"Bucket\\": \\"alicom-cardsms-resources\\"\\n }\\n}","type":"json"}]', 'title' => 'Retrieve OSS upload information', 'description' => '- 您在调用卡片短信相关API接口前,首先需要开通卡片短信功能,目前卡片短信在内部邀约阶段,请联系您的阿里云商务经理申请开通或联系[阿里云售前咨询](https://help.aliyun.com/document_detail/464625.html)。'."\n" ."\n" .'- 卡片短信模板中使用的图片、视频等素材资源可上传到OSS文件系统保存。文件上传操作,请参见[OSS文件上传](~~437303~~)。'."\n" ."\n" .'### QPS限制'."\n" .'本接口的单用户QPS限制为300次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', 'requestParamsDescription' => '### Request parameter description'."\n" .'The GetOSSInfoForCardTemplate operation has no request parameters. Call the operation directly to retrieve the OSS upload information.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetOSSInfoForCardTemplate'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:GetOSSInfoForCardTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetOSSInfoForUploadFile' => [ 'summary' => 'Obtains OSS resource configuration information, which will be used for subsequent OSS file upload operations.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '218013', 'abilityTreeNodes' => ['FEATUREdysms2H0K7P', 'FEATUREdysmsJ2BZAJ'], ], 'parameters' => [ [ 'name' => 'BizType', 'in' => 'query', 'schema' => ['description' => 'The business type. Default value: **fcMediaSms**.'."\n" ."\n" .'When you create a signature or template and upload **More Materials**, the value is **fcMediaSms**.', 'type' => 'string', 'required' => false, 'example' => 'fcMediaSms', 'default' => 'fcMediaSms', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request, which is a unique identifier generated by Alibaba Cloud for the request and can be used to troubleshoot and locate issues.', 'type' => 'string', 'example' => 'A90E4451-FED7-49D2-87C8-00700EDCFD0D', 'title' => ''], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Model' => [ 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ 'Policy' => ['description' => 'The signature policy.', 'type' => 'string', 'example' => 'eyJleHBpcmF0aW9uIjoiMjAyN***Ni0yNVQwNjozNzoyNS45NzBaI**iY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMTA0ODU3NjAwMF0sWyJzdGFydHMtd2l0***sIiRrZXkiLCIiXV19', 'title' => ''], 'StartPath' => ['description' => 'The policy path.', 'type' => 'string', 'example' => '123456', 'title' => ''], 'AccessKeyId' => ['description' => 'The AccessKey ID used for the signature.', 'type' => 'string', 'example' => 'LTAI************'."\n", 'title' => ''], 'Signature' => ['description' => 'The signature information calculated based on the **AccessKey Secret** and **Policy**. When you call an OSS API operation, OSS verifies the signature information to confirm the validity of the POST request.', 'type' => 'string', 'example' => 'BXnwCWPrhVb*****aoZHZfli5KE=', 'title' => ''], 'Host' => ['description' => 'The host address.', 'type' => 'string', 'example' => 'https://alicom-fc-media.oss-cn-zhangjiakou.aliyuncs.com', 'title' => ''], 'ExpireTime' => ['description' => 'The expiration time.', 'type' => 'string', 'example' => '1719297445', 'title' => ''], ], 'title' => '', 'example' => '', ], 'Code' => ['description' => 'The status code of the request.'."\n" ."\n" .'- **OK** indicates that the request is successful.'."\n" .'- For information about other error codes, see [Error codes](https://help.aliyun.com/document_detail/101346.htm).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Success' => ['description' => 'Indicates whether the API call is successful. Valid values:'."\n" ."\n" .'- **true**: The call is successful.'."\n" .'- **false**: The call fails.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A90E4451-FED7-49D2-87C8-00700EDCFD0D\\",\\n \\"Message\\": \\"OK\\",\\n \\"Model\\": {\\n \\"Policy\\": \\"eyJleHBpcmF0aW9uIjoiMjAyN***Ni0yNVQwNjozNzoyNS45NzBaI**iY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMTA0ODU3NjAwMF0sWyJzdGFydHMtd2l0***sIiRrZXkiLCIiXV19\\",\\n \\"StartPath\\": \\"123456\\",\\n \\"AccessKeyId\\": \\"LTAI************\\\\n\\",\\n \\"Signature\\": \\"BXnwCWPrhVb*****aoZHZfli5KE=\\",\\n \\"Host\\": \\"https://alicom-fc-media.oss-cn-zhangjiakou.aliyuncs.com\\",\\n \\"ExpireTime\\": \\"1719297445\\"\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Obtain OSS Configuration Information for Signature/Template Materials', 'description' => '- When you create a signature or template, you can upload materials such as login pages with links, backend page screenshots, software copyrights, and supplementary agreements. These materials help reviewers understand the details of your business. If you have multiple materials, you can combine them into one file. The supported formats are png, jpg, jpeg, doc, docx, and pdf.'."\n" ."\n" .'- Additional materials required for creating a signature or template can be uploaded to the OSS file system for storage. For information about file upload operations, see [Upload files to OSS](~~2833114~~).', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetOSSInfoForUploadFile'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [], ], 'GetQualificationOssInfo' => [ 'summary' => 'Obtains the OSS resource configuration information for qualification materials. This configuration information will be used for subsequent uploads of qualification files such as authorization letters and enterprise certificates.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '264692', 'abilityTreeNodes' => ['FEATUREdysmsJ2BZAJ'], ], 'parameters' => [ [ 'name' => 'BizType', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The business type. When applying for a qualification or creating an authorization letter file, enter **dysms**.', 'type' => 'string', 'required' => true, 'example' => 'dysms'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'AccessDeniedDetail' => ['description' => 'The details about the access denial. This parameter is returned only if the RAM check fails.', 'type' => 'string', 'example' => '无', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request, which is a unique identifier generated by Alibaba Cloud for the request. It can be used to troubleshoot and locate issues.', 'type' => 'string', 'title' => '', 'example' => '25D5AFDE-8EBC-132E-8909-1FDC071DA'], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Data' => [ 'title' => '', 'description' => 'The OSS configuration information.', 'type' => 'object', 'properties' => [ 'Policy' => ['title' => '', 'description' => 'The signature policy.', 'type' => 'string', 'example' => 'eyJleHBpcmF0aW9uIjoiMjAyNS0wMy0wOVQxMTo1NTozOS4wMDFaIiwiY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMTA0ODU3NjAwMF0seyJidWNrZXQiOiJhbGljb20tZmMtbWVkaWEifSxbImVxIiwiJGtleSIsIjEwMDAwMDM1ODA4MjA2M1wv********'], 'Expire' => ['title' => '', 'description' => 'The expiration timestamp. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1741521339'], 'StartPath' => ['title' => '', 'description' => 'The policy path.', 'type' => 'string', 'example' => '1000********001'], 'AccessKeyId' => ['title' => '', 'description' => 'The AccessKey ID used for the signature.', 'type' => 'string', 'example' => 'bypFNbG******'], 'Signature' => ['title' => '', 'description' => 'The signature information calculated based on the AccessKey secret and the policy. When you call the OSS API, OSS verifies the signature information to confirm the validity of the request.', 'type' => 'string', 'example' => 'QvNTGC9DSLTeByP+ZWW******'], 'Host' => ['title' => '', 'description' => 'The host address.', 'type' => 'string', 'example' => 'http://***.oss-cn-zhangjiakou.aliyuncs.com'], ], 'example' => '', ], 'Code' => ['description' => 'The request status code.'."\n" ."\n" .'- If OK is returned, the request is successful.'."\n" .'- For other error codes, see [API error codes](~~101346~~).', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Success' => ['description' => 'Indicates whether the API call is successful. Valid values:'."\n" ."\n" .'- **true**: The call is successful.'."\n" ."\n" .'- **false**: The call fails.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'OssBiztypeNotSupportError', 'errorMessage' => 'Retrieving OSS configuration does not support this biz type.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"RequestId\\": \\"25D5AFDE-8EBC-132E-8909-1FDC071DA\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"Policy\\": \\"eyJleHBpcmF0aW9uIjoiMjAyNS0wMy0wOVQxMTo1NTozOS4wMDFaIiwiY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMTA0ODU3NjAwMF0seyJidWNrZXQiOiJhbGljb20tZmMtbWVkaWEifSxbImVxIiwiJGtleSIsIjEwMDAwMDM1ODA4MjA2M1wv********\\",\\n \\"Expire\\": 1741521339,\\n \\"StartPath\\": \\"1000********001\\",\\n \\"AccessKeyId\\": \\"bypFNbG******\\",\\n \\"Signature\\": \\"QvNTGC9DSLTeByP+ZWW******\\",\\n \\"Host\\": \\"http://***.oss-cn-zhangjiakou.aliyuncs.com\\"\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Obtain the OSS configuration information for qualification materials/authorization letters', 'description' => '- When you apply for a qualification or signature, if the purpose is for other use or involves a third party, you must provide an [authorization letter](~~56741~~).'."\n" .'- After you use this API to obtain the OSS resource configuration information, upload the related qualification materials through OSS. For more information, see [Upload files through OSS](~~2833114~~).'."\n" .'- The names of files to be uploaded cannot contain Chinese characters or special symbols.', 'changeSet' => [ ['createdAt' => '2025-08-01T04:05:19.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [], ], 'GetSmsOcrOssInfo' => [ 'summary' => 'Retrieves the OSS information for OCR.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '287263', 'abilityTreeNodes' => ['FEATUREdysms2H0K7P'], 'autoTest' => true, 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'TaskType', 'in' => 'query', 'schema' => [ 'title' => '', 'description' => 'The OCR task type. Valid values:'."\n" .'- ICP_DOMAIN: ICP filing screenshot for domain-type links.', 'enumValueTitles' => ['ICP_DOMAIN' => 'ICP filing screenshot for domain-type links.'], 'type' => 'string', 'required' => false, 'example' => 'ICP_DOMAIN', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息,只有 RAM 校验失败才会返回此字段。', 'type' => 'string', 'example' => 'None', 'title' => ''], 'RequestId' => ['description' => '本次调用请求的 ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'title' => '', 'example' => '25D5AFDE-xxxx-132E-8909-1FDC071DA'], 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Model' => [ 'title' => '', 'description' => 'OSS配置信息。', 'type' => 'object', 'properties' => [ 'Policy' => ['description' => '签名策略。', 'type' => 'string', 'title' => '', 'example' => 'eyJleHBpcmF0aW9uIjoiMjAyNS0wMy0wOVQxMTo1NTozOS4wMDFaIiwiY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMTA0ODU3NjAwMF0seyJidWNrZXQiOiJhbGljb20tZmMtbWVkaWEifSxbImVxIiwiJGtleSIsIjEwMDAwMDM1ODA4MjA2M1wv********'], 'StartPath' => ['description' => '策略路径。', 'type' => 'string', 'title' => '', 'example' => '1000********001'], 'Bucket' => ['description' => 'bucket名称。', 'type' => 'string', 'title' => '', 'example' => '示例值'], 'AccessKeyId' => ['description' => '签名使用的 AccessKey ID。', 'type' => 'string', 'title' => '', 'example' => 'bypFNbG******'], 'Signature' => ['description' => '根据 AccessKey Secret 和 Policy 计算出的签名信息。调用 OSS API 时,OSS 验证该签名信息,从而确认请求的合法性。', 'type' => 'string', 'title' => '', 'example' => 'QvNTGC9DSLTeByP+ZWW******'], 'Host' => ['description' => 'Host 地址。', 'type' => 'string', 'title' => '', 'example' => 'http://***.oss-cn-zhangjiakou.aliyuncs.com'], 'ExpireTime' => ['description' => '过期时间戳,单位:秒。', 'type' => 'string', 'title' => '', 'example' => '1741521339'], ], 'example' => '', ], 'Code' => ['description' => '请求状态码。'."\n" ."\n" .'- 返回 OK 代表请求成功。'."\n" ."\n" .'- 其他错误码,请参见 [API 错误码](https://www.alibabacloud.com/help/en/sms/developer-reference/api-error-codes)。', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Success' => ['description' => '调用接口是否成功。取值:'."\n" ."\n" .'- true:调用成功。'."\n" ."\n" .'- false:调用失败。', 'type' => 'boolean', 'title' => '', 'example' => 'true'], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Retrieve OSS information for OCR image recognition', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:GetSmsOcrOssInfo', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"None\\",\\n \\"RequestId\\": \\"25D5AFDE-xxxx-132E-8909-1FDC071DA\\",\\n \\"Message\\": \\"OK\\",\\n \\"Model\\": {\\n \\"Policy\\": \\"eyJleHBpcmF0aW9uIjoiMjAyNS0wMy0wOVQxMTo1NTozOS4wMDFaIiwiY29uZGl0aW9ucyI6W1siY29udGVudC1sZW5ndGgtcmFuZ2UiLDAsMTA0ODU3NjAwMF0seyJidWNrZXQiOiJhbGljb20tZmMtbWVkaWEifSxbImVxIiwiJGtleSIsIjEwMDAwMDM1ODA4MjA2M1wv********\\",\\n \\"StartPath\\": \\"1000********001\\",\\n \\"Bucket\\": \\"示例值\\",\\n \\"AccessKeyId\\": \\"bypFNbG******\\",\\n \\"Signature\\": \\"QvNTGC9DSLTeByP+ZWW******\\",\\n \\"Host\\": \\"http://***.oss-cn-zhangjiakou.aliyuncs.com\\",\\n \\"ExpireTime\\": \\"1741521339\\"\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], 'GetSmsSign' => [ 'summary' => 'Queries the review details of a signature after you apply for it.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '218493', 'abilityTreeNodes' => ['FEATUREdysmsJ2BZAJ'], ], 'parameters' => [ [ 'name' => 'SignName', 'in' => 'query', 'schema' => ['description' => 'The signature name. The signature must be applied for by your account.'."\n" ."\n" .'- After you call the [CreateSmsSign](~~2807427~~) operation, obtain the signature name from the response.'."\n" .'- View the signature on the [Signatures](https://dysms.console.aliyun.com/domestic/text/sign) page.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '阿里云', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', 'title' => ''], 'Code' => ['description' => '请求状态码。取值:'."\n" ."\n" .'- OK:代表请求成功。'."\n" .'- 其他错误码,请参见[API错误码](~~101346~~)。', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'SignName' => ['description' => '短信签名名称。', 'type' => 'string', 'example' => '登录验证', 'title' => ''], 'SignStatus' => ['description' => '签名审核状态。取值:'."\n" ."\n" .'- **0**:审核中。'."\n" .'- **1**:审核通过。'."\n" .'- **2**:审核失败,请在返回参数`AuditInfo.RejectInfo`中查看审核失败原因。'."\n" .'- **10**:取消审核。', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], 'CreateDate' => ['description' => '短信签名的创建日期和时间。', 'type' => 'string', 'example' => '2024-06-03 10:02:34', 'title' => ''], 'OrderId' => ['description' => '工单号。'."\n" ."\n" .'审核人员查询审核时会用到此参数。您需要审核加急时需要提供此工单号。', 'type' => 'string', 'example' => '20044156924', 'title' => ''], 'QualificationId' => ['description' => '资质ID。申请签名时关联的资质ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '2004393****', 'title' => ''], 'Remark' => ['description' => '短信签名场景说明,长度不超过200个字符。', 'type' => 'string', 'example' => '登录场景验证码', 'title' => ''], 'AuditInfo' => [ 'description' => '审核信息。', 'type' => 'object', 'properties' => [ 'RejectInfo' => ['description' => '审批未通过的原因。', 'type' => 'string', 'example' => '通过资质信息,不能判断是否可以申请此签名。', 'title' => ''], 'AuditDate' => ['description' => '审核时间。', 'type' => 'string', 'example' => '2024-06-03 12:02:34'."\n", 'title' => ''], ], 'title' => '', 'example' => '', ], 'FileUrlList' => [ 'description' => '更多资料信息,补充上传业务证明文件或业务截图文件列表。', 'type' => 'array', 'items' => ['description' => '上传到OSS上的文件信息。', 'type' => 'string', 'example' => '10098689758*****/1234qwe.png'."\n", 'title' => ''], 'title' => '', 'example' => '', ], 'SignCode' => ['description' => '短信签名Code。', 'type' => 'string', 'example' => 'SIGN_100000077042023_17174665*****_ZM2kG', 'title' => ''], 'SignTag' => ['description' => '签名标识。取值:'."\n" ."\n" .'- 2:用户自定义创建签名。'."\n" .'- 3:系统赠送签名。'."\n" .'- 4:测试签名。'."\n" .'- 5:试用签名。', 'type' => 'string', 'example' => '2', 'title' => ''], 'ApplyScene' => ['description' => '应用场景内容。', 'type' => 'string', 'example' => 'http://www.aliyun.com/'."\n", 'title' => ''], 'ThirdParty' => ['description' => '签名为自用或他用。'."\n" ."\n" .'- false:自用(默认值)。'."\n" ."\n" .'- true:他用。', 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'SignUsage' => ['description' => '签名使用场景。', 'type' => 'string', 'example' => '已注册商标名称。', 'title' => ''], 'RegisterResult' => ['description' => '**已废弃,请使用`SignIspRegisterDetailList`查看各运营商实名报备结果。**'."\n" ."\n" .'签名实名制报备结果。取值:'."\n" .'- 0:报备失败。'."\n" .'- 1:报备成功。'."\n" .'- 2:报备失效。'."\n" .'- -1:无状态。'."\n" ."\n" .'建议您单击查看[更多签名实名制报备内容及建议操作](~~2873145~~)。', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'AuthorizationLetterId' => ['description' => '委托授权书ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '1000********1234', 'title' => ''], 'AuthorizationLetterAuditPass' => [ 'description' => '委托授权书审核状态。取值:'."\n" .'- true:审核通过。'."\n" .'- false:审核未通过(包含审核通过外的其他所有状态)。', 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'type' => 'boolean', 'example' => 'true', 'title' => '', ], 'SignIspRegisterDetailList' => [ 'description' => '运营商报备状态列表。获取此参数返回数据需要[更新SDK](https://api.aliyun.com/api-tools/sdk/Dysmsapi?version=2017-05-25&language=java-tea&tab=primer-doc)至4.1.2版本或以上。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'RegisterStatus' => ['description' => '报备状态。取值:'."\n" ."\n" .'- **0**:报备失败,原因可能为资质信息与工信注册信息不一致或运营商侧无法支持等。建议您登录[短信服务控制台](https://dysms.console.aliyun.com/domestic/text/sign)查看具体失败原因,并依据提示进行操作;'."\n" .'- **1**:已报备待验证,当前至少有一个子端口号运营商已返回报备通过,建议您少量多次向不同运营商手机号发送验证码、通知短信进行验证;'."\n" .'- **2**:报备失效,签名超过 6 个月无发送记录时,报备结果失效。如您需要重新启用该签名,请在[短信服务控制台](https://dysms.console.aliyun.com/domestic/text/sign)重新发起报备;'."\n" .'- **3**:报备成功,当前至少有一个子端口号运营商已返回报备通过,经验证短信发送成功率符合预期,建议您持续关注发送成功率;'."\n" .'- **-1**:报备中,当前尚未收到运营商反馈的报备结果,建议您等待签名报备状态变更为“已报备待验证”后再批量发送,当前可少量多次尝试使用该签名发送,观察短信发送效果;'."\n" .'- **-2**:未报备,原因可能为当前签名未关联实名资质或关联资质信息不全,建议您修改当前资质或编辑签名绑定其他资质以重新发起报备。'."\n" ."\n" .'建议您单击查看[更多签名实名制报备内容及建议操作](~~2873145~~)。', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'OperatorCode' => ['description' => '运营商类型。取值:'."\n" .'- **mobile**:中国移动;'."\n" .'- **unicom**:中国联通;'."\n" .'- **telecom**:中国电信。', 'type' => 'string', 'example' => 'telecom', 'title' => ''], 'OperatorCompleteTime' => ['description' => '运营商反馈时间,格式为yyyy-MM-dd HH:mm:ss。', 'type' => 'string', 'example' => '2025-06-13 15:55:26', 'title' => ''], 'RegisterStatusReasons' => [ 'description' => '报备状态原因列表。', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ReasonCode' => ['description' => '报备状态原因码。取值:'."\n" .'- **UNBINDING_QUA**:签名未关联资质;'."\n" .'- **BINDING_INCOMPLETE_QUA**:关联资质信息不全;'."\n" .'- **NON_REGISTER**:未发起报备;'."\n" .'- **REGISTERING**:签名报备中;'."\n" .'- **DETECTING**:未发起探测或探测中;'."\n" .'- **DETECT_SUCCESS**:报备成功;'."\n" .'- **QUALIFICATION_ERROR**:资质原因;'."\n" .'- **SIGNATURE_ERROR**:签名原因;'."\n" .'- **SIGNATURE_QUALIFICATION_ERROR**:签名与资质关系不符;'."\n" .'- **ONE_CODE_MULTIPLE_SIGN**:扩展码原因;'."\n" .'- **OTHERS_ERROR**:其他原因;'."\n" .'- **REGISTER_TIMEOUT**:报备超时;'."\n" .'- **NO_SEND_RECORD**:签名超过6个月无发送记录;'."\n" .'- **EXT_CODE_RECYCLE**:扩展码收回。'."\n" .'- **SUBPORT_RECYCLE**:子端口被运营商治理。', 'type' => 'string', 'example' => 'REGISTER_TIMEOUT', 'title' => ''], 'ReasonDescList' => [ 'description' => '原因说明列表。可能返回0个或者多个原因说明,返回原因码不一定会返回原因说明。', 'type' => 'array', 'items' => ['description' => '原因说明。', 'type' => 'string', 'example' => '报备超时。', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'TrademarkId' => ['description' => '商标实体id。', 'type' => 'integer', 'format' => 'int64', 'example' => '1000009081***', 'title' => ''], 'AppIcpRecordId' => ['description' => 'APP-ICP备案实体id。', 'type' => 'integer', 'format' => 'int64', 'example' => '1000009***123', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => ''], ], 404 => [ ['errorCode' => 'SignatureNotFound', 'errorMessage' => 'The signature does not exist.', 'description' => 'The corresponding signature cannot be found under the account.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"SignName\\": \\"登录验证\\",\\n \\"SignStatus\\": 2,\\n \\"CreateDate\\": \\"2024-06-03 10:02:34\\",\\n \\"OrderId\\": \\"20044156924\\",\\n \\"QualificationId\\": 0,\\n \\"Remark\\": \\"登录场景验证码\\",\\n \\"AuditInfo\\": {\\n \\"RejectInfo\\": \\"通过资质信息,不能判断是否可以申请此签名。\\",\\n \\"AuditDate\\": \\"2024-06-03 12:02:34\\\\n\\"\\n },\\n \\"FileUrlList\\": [\\n \\"10098689758*****/1234qwe.png\\\\n\\"\\n ],\\n \\"SignCode\\": \\"SIGN_100000077042023_17174665*****_ZM2kG\\",\\n \\"SignTag\\": \\"2\\",\\n \\"ApplyScene\\": \\"http://www.aliyun.com/\\\\n\\",\\n \\"ThirdParty\\": false,\\n \\"SignUsage\\": \\"已注册商标名称。\\",\\n \\"RegisterResult\\": 1,\\n \\"AuthorizationLetterId\\": 0,\\n \\"AuthorizationLetterAuditPass\\": true,\\n \\"SignIspRegisterDetailList\\": [\\n {\\n \\"RegisterStatus\\": 0,\\n \\"OperatorCode\\": \\"telecom\\",\\n \\"OperatorCompleteTime\\": \\"2025-06-13 15:55:26\\",\\n \\"RegisterStatusReasons\\": [\\n {\\n \\"ReasonCode\\": \\"REGISTER_TIMEOUT\\",\\n \\"ReasonDescList\\": [\\n \\"报备超时。\\"\\n ]\\n }\\n ]\\n }\\n ],\\n \\"TrademarkId\\": 0,\\n \\"AppIcpRecordId\\": 0\\n}","type":"json"}]', 'title' => 'Query signature details (new operation)', 'description' => '- 仅可查询**首次创建**的签名资料或者**最新审核通过**的资料。'."\n" ."\n" .'- 新接口和原接口变更的公告详情请参见[关于短信服务更新签名&模板接口的公告](~~2806975~~)。'."\n" ."\n" .'- 审核时间:一般情况下,签名提交后,阿里云预计在 2 个小时内审核完成(审核工作时间:周一至周日 9:00~21:00,法定节假日顺延)。'."\n" ."\n" .'- 如果签名未通过审核,会返回审核失败的原因,请参考[短信审核失败的处理建议](~~65990~~),调用[UpdateSmsSign](~~2807428~~)接口或在[签名管理](https://dysms.console.aliyun.com/domestic/text/sign)页面修改未审核通过的短信签名。'."\n" ."\n" .'- [QuerySmsSignList](~~QuerySmsSignList~~)接口可以查询您账号下的所有签名,包括签名审核状态、签名类型、签名名称等。'."\n" ."\n" .'- 本接口的单用户QPS限制为150次/秒。超过限制,API调用将会被限流,这可能会影响您的业务,请合理调用。', 'changeSet' => [ ['createdAt' => '2025-12-16T07:48:18.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2025-12-11T12:44:35.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-12-11T12:44:31.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-12-11T10:08:22.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-12-11T10:08:22.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-14T02:14:07.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-14T02:14:00.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-14T02:07:44.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-10T08:25:02.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-10T08:11:09.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-03T13:14:39.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-03T13:14:37.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-03T13:14:03.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-03T13:13:58.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-06-18T07:40:37.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '150', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSmsSign'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'dysms:GetSmsSign', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetSmsTemplate' => [ 'summary' => 'Queries the approval details of a template after you submit a template application. You can view the approval status of the template.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '217890', 'abilityTreeNodes' => ['FEATUREdysms2H0K7P'], ], 'parameters' => [ [ 'name' => 'TemplateCode', 'in' => 'query', 'schema' => ['description' => 'The code of the SMS template.'."\n" ."\n" .'- Obtain the SMS template code from the response parameters of the [CreateSmsTemplate](~~2807431~~) operation.'."\n" .'- View the SMS template code on the [Templates](https://dysms.console.aliyun.com/domestic/text/template) page.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'SMS_20375****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => '本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', 'title' => ''], 'Code' => ['description' => '请求状态码。取值:'."\n" ."\n" .'* OK:代表请求成功。'."\n" .'* 其他错误码,请参见[API错误码](~~101346~~)。', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'TemplateName' => ['description' => '短信模板名称。', 'type' => 'string', 'example' => '验证码', 'title' => ''], 'TemplateCode' => ['description' => '短信模板Code。', 'type' => 'string', 'example' => 'SMS_20375****', 'title' => ''], 'TemplateContent' => ['description' => '短信模板内容。', 'type' => 'string', 'example' => '您正在申请手机注册,验证码为:${code},5分钟内有效!', 'title' => ''], 'TemplateType' => ['description' => '短信类型。取值:'."\n" ."\n" .'- **0**:验证码。'."\n" .'- **1**:短信通知。'."\n" .'- **2**:推广短信。'."\n" .'- **3**:国际/港澳台消息。'."\n" ."\n" .'> 仅支持企业认证用户申请推广短信和国际/港澳台消息。个人用户与企业用户权益区别详情请参见[使用须知](https://www.alibabacloud.com/help/en/sms/user-guide/usage-notes)。', 'type' => 'string', 'example' => '0', 'title' => ''], 'TemplateStatus' => ['description' => '模板审核状态。返回值:'."\n" ."\n" .'- **0**:审核中。'."\n" .'- **1**:通过审核。'."\n" .'- **2**:未通过审核,会返回审核失败的原因,请参考[短信审核失败的处理建议](https://www.alibabacloud.com/help/en/sms/user-guide/causes-of-application-failures-and-suggestions),调用[UpdateSmsTemplate](https://www.alibabacloud.com/help/en/sms/developer-reference/api-dysmsapi-2017-05-25-updatesmstemplate)接口或在[模板管理](https://dysms.console.aliyun.com/domestic/text/template)页面修改短信模板。'."\n" .'- **10**:取消审核。', 'type' => 'string', 'example' => '2', 'title' => ''], 'RelatedSignName' => ['description' => '申请模板时,关联的短信签名。', 'type' => 'string', 'example' => '阿里云', 'title' => ''], 'TemplateTag' => ['description' => '模板标识。取值:'."\n" ."\n" .'- 2:用户自定义创建模板。'."\n" ."\n" .'- 3:系统赠送模板。'."\n" ."\n" .'- 4:测试模板。', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'OrderId' => ['description' => '工单号。'."\n" ."\n" .'审核人员查询审核时会用到此参数。您需要审核加急时需要提供此工单号。', 'type' => 'string', 'example' => '2003019****', 'title' => ''], 'VariableAttribute' => ['description' => '模板变量规则。'."\n" ."\n" .'模板变量规则详情,请参见[示例文档](https://www.alibabacloud.com/help/en/sms/templaterule-template-variable-parameter-filling-example)。', 'type' => 'string', 'example' => '{"code":"characterWithNumber"}'."\n", 'title' => ''], 'Remark' => ['description' => '短信模板申请说明,是模板审核的参考信息之一。', 'type' => 'string', 'example' => '申请验证码模板', 'title' => ''], 'CreateDate' => ['description' => '创建短信模板的时间。', 'type' => 'string', 'example' => '2024-06-03 10:02:34', 'title' => ''], 'AuditInfo' => [ 'description' => '审核信息。', 'type' => 'object', 'properties' => [ 'RejectInfo' => ['description' => '审核未通过的原因。', 'type' => 'string', 'example' => '模板内容中包含错别字。', 'title' => ''], 'AuditDate' => ['description' => '审核时间。', 'type' => 'string', 'example' => '2024-06-03 11:20:34'."\n", 'title' => ''], ], 'title' => '', 'example' => '', ], 'FileUrlList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'FileUrl' => [ 'description' => '文件资料信息。兼容旧接口创建的信息。', 'type' => 'array', 'items' => ['description' => '文件信息。', 'type' => 'string', 'example' => '//alicom-fc-media.cn-hangzhou.oss.aliyun-inc.com/1800975045205261/data.jpg?Expires=1718202335&OSSAccessKeyId=bypFNb*****73PsLI&Signature=3dBy9k%2B0%2B8DnCsvzsHi68GHzRg0%3D', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'MoreDataFileUrlList' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'MoreDataFileUrl' => [ 'description' => '更多资料信息,补充上传业务证明文件或业务截图文件列表。', 'type' => 'array', 'items' => ['description' => 'OSS上的文件信息。', 'type' => 'string', 'example' => '//alicom-fc-media.cn-hangzhou.oss.aliyun-inc.com/1800975045205261/test.jpg?Expires=1718202335&OSSAccessKeyId=bypFNb*****73PsLI&Signature=3dBy9k%2B0%2B8DnCsvzsHi68GHzRg0%3D', 'title' => ''], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'IntlType' => ['description' => '国际/港澳台模板类型。当**TemplateType**参数返回值为**3**时,此参数取值:'."\n" .'- **0**:短信通知。'."\n" .'- **1**:推广短信。'."\n" .'- **2**:验证码。', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'ApplyScene' => ['description' => '应用场景内容。', 'type' => 'string', 'example' => 'http://www.aliyun.com/'."\n", 'title' => ''], 'VendorAuditStatus' => ['title' => '', 'description' => '各运营商审核状态,仅数字短信会返回该参数。'."\n" ."\n\n" .'key代表运营商。取值:'."\n" ."\n" .'- MOBILE_VENDOR:中国移动。'."\n" ."\n" .'- TELECOM_VENDOR:中国电信。'."\n" ."\n" .'- UNICOM_VENDOR:中国联通。'."\n" ."\n" .' value代表审核状态。取值: '."\n" ."\n" .'- 0:审核中。'."\n" ."\n" .'- 1:通过。'."\n" ."\n" .' - 2:不通过。'."\n" ."\n" .' - 15:已失效。', 'type' => 'object', 'example' => '{'."\n" .' "MOBILE_VENDOR": 0,'."\n" .' "TELCOM_VENDOR": 0,'."\n" .' "UNICOM_VENDOR": 0'."\n" .' }'], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => ''], ], 404 => [ ['errorCode' => 'TemplateNotFound', 'errorMessage' => 'The template does not exist.', 'description' => ''], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"TemplateName\\": \\"验证码\\",\\n \\"TemplateCode\\": \\"SMS_20375****\\",\\n \\"TemplateContent\\": \\"您正在申请手机注册,验证码为:${code},5分钟内有效!\\",\\n \\"TemplateType\\": \\"0\\",\\n \\"TemplateStatus\\": \\"2\\",\\n \\"RelatedSignName\\": \\"阿里云\\",\\n \\"TemplateTag\\": 2,\\n \\"OrderId\\": \\"2003019****\\",\\n \\"VariableAttribute\\": \\"{\\\\\\"code\\\\\\":\\\\\\"characterWithNumber\\\\\\"}\\\\n\\",\\n \\"Remark\\": \\"申请验证码模板\\",\\n \\"CreateDate\\": \\"2024-06-03 10:02:34\\",\\n \\"AuditInfo\\": {\\n \\"RejectInfo\\": \\"模板内容中包含错别字。\\",\\n \\"AuditDate\\": \\"2024-06-03 11:20:34\\\\n\\"\\n },\\n \\"FileUrlList\\": {\\n \\"FileUrl\\": [\\n \\"//alicom-fc-media.cn-hangzhou.oss.aliyun-inc.com/1800975045205261/data.jpg?Expires=1718202335&OSSAccessKeyId=bypFNb*****73PsLI&Signature=3dBy9k%2B0%2B8DnCsvzsHi68GHzRg0%3D\\"\\n ]\\n },\\n \\"MoreDataFileUrlList\\": {\\n \\"MoreDataFileUrl\\": [\\n \\"//alicom-fc-media.cn-hangzhou.oss.aliyun-inc.com/1800975045205261/test.jpg?Expires=1718202335&OSSAccessKeyId=bypFNb*****73PsLI&Signature=3dBy9k%2B0%2B8DnCsvzsHi68GHzRg0%3D\\"\\n ]\\n },\\n \\"IntlType\\": 0,\\n \\"ApplyScene\\": \\"http://www.aliyun.com/\\\\n\\",\\n \\"VendorAuditStatus\\": {\\n \\"MOBILE_VENDOR\\": 0,\\n \\"TELCOM_VENDOR\\": 0,\\n \\"UNICOM_VENDOR\\": 0\\n }\\n}","type":"json"}]', 'title' => 'Query template approval details (new operation)', 'description' => '- 新接口和原接口变更的公告详情请参见[关于短信服务更新签名&模板接口的公告](~~2806975~~)。'."\n" .'- 审核时间:一般情况下,模板提交后,阿里云预计在2个小时内审核完成(审核工作时间:周一至周日9:00~21:00,法定节假日顺延)。'."\n" ."\n" .'- 如果模板未通过审核,会返回审核失败的原因,请参考[短信审核失败的处理建议](~~65990~~),调用[UpdateSmsTemplate](~~UpdateSmsTemplate~~)接口或在[模板管理](https://dysms.console.aliyun.com/domestic/text/template)页面修改短信模板。'."\n" ."\n" .'- 当前接口是通过模板Code查询单个模板的审核详情。[QuerySmsTemplateList](~~419288~~)接口可以查询您当前账号下所有模板的模板详情。', 'changeSet' => [ ['createdAt' => '2026-06-08T07:44:54.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2026-06-08T07:44:51.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2026-04-07T06:43:39.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2026-04-07T06:43:33.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2026-04-07T06:43:31.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2026-03-30T03:26:05.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2026-03-30T03:12:25.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2026-03-30T03:05:16.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2026-03-30T02:56:05.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2026-03-30T02:44:05.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2026-03-30T02:44:02.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSmsTemplate'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'dysms:GetSmsTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ListTagResources' => [ 'summary' => 'Tags are markers that you add to templates. Each tag consists of a key-value pair (Key-Value). You can query the template codes bound to a tag key-value pair, or query all tags bound to a specific template.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '102448', 'abilityTreeNodes' => ['FEATUREdysmsGD2ZLS'], ], 'parameters' => [ [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => ['description' => 'The resource type. Default value: TEMPLATE.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'TEMPLATE', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID. Default value: **cn-hangzhou**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The token used to query the next page of tags.', 'type' => 'string', 'required' => false, 'example' => '23432453245', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], [ 'name' => 'ProdCode', 'in' => 'query', 'schema' => ['description' => 'The product name. Default value: **dysms**.', 'type' => 'string', 'required' => false, 'default' => 'dysms', 'example' => 'dysms', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tag list. The tag list and **ResourceId** (SMS template code) cannot be empty at the same time. You can specify up to 20 tags.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The SMS template code. The SMS template code and the tag list **Tag** cannot be empty at the same time.', 'type' => 'array', 'items' => ['description' => 'The SMS template code.', 'type' => 'string', 'required' => false, 'example' => 'SMS_2342****', 'title' => ''], 'required' => false, 'example' => 'SMS_23423423', 'maxItems' => 51, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The request status code.'."\n" ."\n" .'- A value of OK indicates that the request was successful.'."\n" .'- For other error codes, see [Error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'NextToken' => ['description' => 'The token used to query the next page of tags.', 'type' => 'string', 'example' => '"23432453245"', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request. The request ID is a unique identifier generated by Alibaba Cloud for the request and can be used to troubleshoot and locate issues.', 'type' => 'string', 'example' => 'A90E4451-FED7-49D2-87C8-00700A8C4D0D', 'title' => ''], 'TagResources' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'TagResource' => [ 'description' => 'The tag resources.', 'type' => 'array', 'items' => [ 'description' => 'The tag resource.', 'type' => 'object', 'properties' => [ 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'example' => 'ALIYUN::DYSMS::TEMPLATE', 'title' => ''], 'TagValue' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'TestValue', 'title' => ''], 'ResourceId' => ['description' => 'The SMS template code.', 'type' => 'string', 'example' => 'SMS_23423****', 'title' => ''], 'TagKey' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'TestKey', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => 'No access, please contact administrator.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"NextToken\\": \\"\\\\\\"23432453245\\\\\\"\\",\\n \\"RequestId\\": \\"A90E4451-FED7-49D2-87C8-00700A8C4D0D\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::DYSMS::TEMPLATE\\",\\n \\"TagValue\\": \\"TestValue\\",\\n \\"ResourceId\\": \\"SMS_23423****\\",\\n \\"TagKey\\": \\"TestKey\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Queries the tags of a template', 'description' => 'You can log on to the Short Message Service (SMS) console and go to the [Template Management](https://dysms.console.aliyun.com/domestic/text/template) page to filter SMS templates that are bound to tag key-value pairs, or click **Details** in the Actions column to view the tags that are bound to the current template.'."\n" .'### QPS limit'."\n" .'The per-user QPS limit of this operation is 50 calls per second. If the limit is exceeded, API calls will be throttled, which may affect your business. Call this operation properly.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagResources'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'dysms:ListTagResources', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ModifySmsSign' => [ 'summary' => 'This operation is discontinued.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '102449', 'abilityTreeNodes' => ['FEATUREdysmsJ2BZAJ'], ], 'parameters' => [ [ 'name' => 'SignName', 'in' => 'query', 'schema' => ['description' => 'The signature name.'."\n" ."\n" .'> You can modify a signature that has been approved, but you cannot change its name. The modified signature must be reviewed and approved before it can be used. The original signature cannot be used until the review is complete.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '阿里云', 'title' => ''], ], [ 'name' => 'SignSource', 'in' => 'query', 'schema' => ['description' => 'The signature source. Valid values:'."\n" ."\n" .'- **0**: full name or abbreviation of an enterprise or public institution.'."\n" .'- **1**: full name or abbreviation of a website filed with the Ministry of Industry and Information Technology (MIIT).'."\n" .'- **2**: full name or abbreviation of an app.'."\n" .'- **3**: full name or abbreviation of an official account or mini program.'."\n" .'- **4**: full name or abbreviation of a store on an e-commerce platform.'."\n" .'- **5**: full name or abbreviation of a trademark.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'Remark', 'in' => 'query', 'schema' => ['description' => 'The description of the SMS signature application. The description cannot exceed 200 characters in length.'."\n" ."\n" .'The description is used as a reference for signature review. A complete description helps reviewers understand your business scenario and improves review efficiency. Guidelines:'."\n" ."\n" .'- Provide the use case of a service that is already online.'."\n" .'- Provide an SMS example from a real scenario to illustrate your business scenario.'."\n" .'- Provide the values passed for variables, and describe the business scenario in detail and the reason for choosing the variable attributes.'."\n" .'- Provide the website URL of the actual service, a filed domain name, or an app store download link.'."\n" .'- For logon scenarios, provide a test account and password.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '当前的短信签名应用于双11大促推广营销', 'title' => ''], ], [ 'name' => 'SignFileList', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'The list of signature files.', 'type' => 'array', 'items' => [ 'description' => '签名文件列表。', 'type' => 'object', 'properties' => [ 'FileContents' => ['description' => '签名的纸质证明文件经base64编码后的字符串。图片不超过2 MB。'."\n" ."\n" .'个别场景下,申请签名需要上传证明文件。详细说明,请参见[短信签名规范](~~108076~~)。', 'type' => 'string', 'required' => true, 'example' => 'R0lGODlhHAAmAKIHAKqqqsvLy0hISObm5vf394uLiwAA', 'title' => ''], 'FileSuffix' => ['description' => '签名的证明文件格式,支持上传多张图片。当前支持JPG、PNG、GIF或JPEG格式的图片。'."\n" ."\n" .'个别场景下,申请签名需要上传证明文件。详细说明,请参见[短信签名规范](~~108076~~)。'."\n" .'> 如果签名用途为他用或个人认证用户的自用签名来源为企事业单位名时,还需上传证明文件和委托授权书,详情请参见[证明文件](~~108076~~)和[授权委托书](~~56741~~)。', 'type' => 'string', 'required' => true, 'example' => 'jpg', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 10, 'title' => '', 'example' => '', ], ], [ 'name' => 'SignType', 'in' => 'query', 'schema' => ['description' => 'The signature type. Valid values:'."\n" ."\n" .'- **0**: verification code.'."\n" ."\n" .'- **1**: general.', 'type' => 'integer', 'format' => 'int32', 'default' => '1', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ 'Code' => ['description' => '请求状态码。'."\n" ."\n" .'* 返回OK代表请求成功。'."\n" .'* 其他错误码,请参见[API错误码](~~101346~~)。', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', 'title' => ''], 'SignName' => ['description' => '签名名称。', 'type' => 'string', 'example' => '阿里云', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\",\\n \\"SignName\\": \\"阿里云\\"\\n}","type":"json"}]', 'title' => 'Modify an SMS signature (discontinued)', 'description' => '- 根据工信部规定与运营商[相关要求](~~2806975~~),阿里云进行了签名相关API的功能改造。为提升您签名的审核效率和审核通过率,请您使用新接口[UpdateSmsSign-修改短信签名](~~2807428~~)。'."\n" ."\n" .'- 仅支持修改未通过审核的签名,请参考[短信审核失败的处理建议](~~65990~~),调用此接口修改后自动提交审核,签名进入待审核状态。'."\n" ."\n" .'- 通过接口修改签名的操作会在短信服务控制台同步,在控制台对签名的相关操作,请参见[短信签名](~~108073~~)。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-08-15T04:21:05.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-08-15T04:21:01.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-07-09T12:20:24.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-07-09T12:20:18.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-07-09T12:20:05.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifySmsSign'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'dysms:ModifySmsSign', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ModifySmsTemplate' => [ 'summary' => 'This operation is discontinued.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => true, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '102450', 'abilityTreeNodes' => ['FEATUREdysms2H0K7P'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'TemplateType', 'in' => 'query', 'schema' => ['description' => 'The SMS type. Valid values:'."\n" ."\n" .'- **0**: verification code.'."\n" .'- **1**: SMS notification.'."\n" .'- **2**: promotional message.'."\n" .'- **3**: international or Hong Kong, Macao, and Taiwan message.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '0', 'title' => ''], ], [ 'name' => 'TemplateName', 'in' => 'query', 'schema' => ['description' => 'The template name. The name must be 1 to 30 characters in length.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '验证码模板', 'title' => ''], ], [ 'name' => 'TemplateCode', 'in' => 'query', 'schema' => ['description' => 'The code of the SMS template that failed the review.'."\n" ."\n" .'- Call the [QuerySmsTemplateList](~~419288~~) operation to obtain the code of the SMS template that failed the review.'."\n" .'- View the code of the SMS template that failed the review on the [Templates](https://dysms.console.aliyun.com/domestic/text/template) page.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'SMS_15255****', 'title' => ''], ], [ 'name' => 'TemplateContent', 'in' => 'query', 'schema' => ['description' => 'The template content. The content cannot exceed 500 characters in length.'."\n" ."\n" .'The template content and variable content must comply with the [SMS template specifications](~~463161~~). Otherwise, the template fails the review. You can view common template examples on the [Apply for Template](https://dysms.console.aliyun.com/domestic/text/template/add) page. Using sample templates can improve review efficiency and success rate. For variable specifications, see [TemplateContent variable specifications](~~2806243~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '您正在申请手机注册,验证码为:${code},5分钟内有效!', 'title' => ''], ], [ 'name' => 'Remark', 'in' => 'query', 'schema' => ['description' => 'The description of the SMS template application. The description cannot exceed 100 characters in length.'."\n" ."\n" .'This information helps reviewers understand your business scenarios and improves review efficiency. Guidelines:'."\n" ."\n" .'- Provide the use case of your live business.'."\n" .'- Provide SMS examples for real scenarios to reflect your business scenarios.'."\n" .'- Provide variable values and describe in detail the business use case and the reason for choosing the variable attributes.'."\n" .'- Provide the website URL, registered domain name, or application marketplace download link of the actual business.'."\n" .'- For logon scenarios, provide the test account and password.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '手机注册登录', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => '请求状态码。'."\n" ."\n" .'- 返回OK代表请求成功。'."\n" .'- 其他错误码,请参见[错误码列表](~~101346~~)。', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', 'title' => ''], 'TemplateCode' => ['description' => '已修改的模板Code。', 'type' => 'string', 'example' => 'SMS_15255****', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'TemplateParameterCountIllegal', 'errorMessage' => 'The verification code template only supports 1 verification code as a variable', 'description' => 'Verification code templates support only one variable, which must be a verification code.'], ], ], 'staticInfo' => [ 'substitutions' => ['Dysmsapi::2017-05-25::UpdateSmsTemplate'], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\",\\n \\"TemplateCode\\": \\"SMS_15255****\\"\\n}","type":"json"}]', 'title' => 'Modify SMS template (discontinued)', 'description' => '- 根据工信部规定与运营商[相关要求](~~2806975~~),阿里云进行了模板相关API的功能改造。为提升您模板的审核效率和审核通过率,请您使用新接口[UpdateSmsTemplate-修改短信模板](~~2807432~~)。'."\n" ."\n" .'- 仅支持修改未通过审核的模板,请参考[短信审核失败的处理建议](~~65990~~),调用此接口修改后重新提交审核。'."\n" ."\n" .'- 通过接口修改模板的操作会在短信服务控制台同步,在控制台对模板的相关操作,请参见[短信模板](~~108085~~)。'."\n" ."\n" .'### QPS限制'."\n" .'本接口的单用户QPS限制为1000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [ ['createdAt' => '2025-08-15T04:21:05.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-08-15T04:21:01.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-07-09T12:20:25.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-07-09T12:20:18.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-07-09T12:20:05.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifySmsTemplate'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'dysms:ModifySmsTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryCardSmsTemplate' => [ 'summary' => 'Queries the review status of a card SMS template and returns information about the review by mobile phone vendors.', 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '102452', 'abilityTreeNodes' => ['FEATUREdysms17QZIS'], ], 'parameters' => [ [ 'name' => 'TemplateCode', 'in' => 'query', 'schema' => ['description' => 'The code of the card SMS template. Valid values:'."\n" ."\n" .'- After you call the [CreateCardSmsTemplate](~~CreateCardSmsTemplate~~) operation, the value of the **TemplateCode** response parameter is the code of the newly created card SMS template.'."\n" ."\n" .'- You can also log on to the [Domestic Card SMS](https://dysms.console.aliyun.com/domestic/card) page in the console and view the card SMS template code on the **Template Management** tab.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'CARD_SMS_2****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The status code.'."\n" ."\n" .'* If OK is returned, the request is successful.'."\n" .'* For other error codes, see [API error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request, which is a unique identifier generated by Alibaba Cloud for the request. It can be used to troubleshoot and locate issues.', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', 'title' => ''], 'Success' => ['description' => 'Indicates whether the API call was successful. Valid values:'."\n" ."\n" .'- **true**: The call was successful.'."\n" ."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ 'Templates' => [ 'description' => 'The list of returned templates.'."\n", 'type' => 'array', 'items' => ['description' => 'The returned template information. The actual returned values prevail.'."\n" .'- tmpName: the name of the template.'."\n" .'- tmpCode: the code of the template.'."\n" .'- state: the review status of the template. 0: under review. 1: approved. 2: rejected.'."\n" .'- tmpOps: the list of mobile phone vendor reviews. (state: the review status from the mobile phone vendor. vendorCode: the information about the mobile phone vendor. remark: the review remarks from the mobile phone vendor.)', 'type' => 'object', 'example' => ' {'."\n" .'"tmpName": "测试",'."\n" .'"tmpCode": "CARD_SMS_****",'."\n" .'"state": 1,'."\n" .'"tmpOps": ['."\n" .' {'."\n" .' "tmpOpId": "536363",'."\n" .' "vendorTmpId": "600302896",'."\n" .' "remark": "自动审核通过",'."\n" .' "supplierCode": "MW",'."\n" .' "state": 1,'."\n" .' "vendorName": "华为",'."\n" .' "vendorCode": "HUAWEI"'."\n" .' }]'."\n" .'}', 'title' => ''], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => 'No access, please contact administrator.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"Templates\\": [\\n {\\n \\"tmpName\\": \\"测试\\",\\n \\"tmpCode\\": \\"CARD_SMS_****\\",\\n \\"state\\": 1,\\n \\"tmpOps\\": [\\n {\\n \\"tmpOpId\\": \\"536363\\",\\n \\"vendorTmpId\\": \\"600302896\\",\\n \\"remark\\": \\"自动审核通过\\",\\n \\"supplierCode\\": \\"MW\\",\\n \\"state\\": 1,\\n \\"vendorName\\": \\"华为\\",\\n \\"vendorCode\\": \\"HUAWEI\\"\\n }\\n ]\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Queries the status of a card SMS template', 'description' => '- Alibaba Cloud accounts that have not activated the card SMS service cannot call this API.'."\n" .'- The card SMS service is currently in the internal invitation phase. Contact your Alibaba Cloud business manager to apply for activation or [contact Alibaba Cloud pre-sales consultation](https://help.aliyun.com/document_detail/464625.html).'."\n" .'- You can also log on to the [Domestic Card SMS](https://dysms.console.aliyun.com/domestic/card) page in the console and query the review status of card SMS templates on the Template Management tab.'."\n" .'### QPS limit'."\n" .'The per-user QPS limit for this operation is 300 calls per second. If the limit is exceeded, API calls are throttled, which may affect your business. Call this operation responsibly.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryCardSmsTemplate'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QueryCardSmsTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryCardSmsTemplateReport' => [ 'summary' => 'Queries the parsing data of a specified card SMS template. The parsing data includes the number of successful SMS parsing receipts, the number of message exposures, and the number of message clicks.', 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '118232', 'abilityTreeNodes' => ['FEATUREdysms3V8ND3'], ], 'parameters' => [ [ 'name' => 'TemplateCodes', 'in' => 'query', 'style' => 'flat', 'schema' => [ 'description' => 'The card SMS object.', 'type' => 'array', 'items' => ['description' => 'The code of the card SMS template. You can view the code in the **Template CODE** column on the **Template Management** tab of the **Domestic Messages** page in the console.'."\n" ."\n" .'>The template must be a card SMS template that is added and approved.', 'type' => 'string', 'required' => false, 'example' => 'CARD_SMS_391', 'title' => ''], 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '', ], ], [ 'name' => 'StartDate', 'in' => 'query', 'schema' => ['description' => 'The start time. Format: yyyy-MM-dd HH:mm:ss.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => '2020-10-10 00:00:01', 'title' => ''], ], [ 'name' => 'EndDate', 'in' => 'query', 'schema' => ['description' => 'The end time. Format: yyyy-MM-dd HH:mm:ss.', 'type' => 'string', 'docRequired' => true, 'required' => true, 'example' => '2020-10-11 00:00:01', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The data object.', 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The request status code.'."\n" ."\n" .'- The value OK indicates that the request was successful.'."\n" ."\n" .'- For information about other error codes, see [Error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B71F06CA-7735-183A-B52E-234EF8AFE14B', 'title' => ''], 'Success' => ['description' => 'Indicates whether the API call was successful. Valid values:'."\n" ."\n" .'- **true**: The call was successful.'."\n" ."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ 'model' => [ 'description' => 'The list of returned data.', 'type' => 'array', 'items' => ['description' => 'The details of the returned data.'."\n" .'- tmpCode: the template code.'."\n" .'- date: the data date. Format: yyyy-MM-dd HH:mm:ss.'."\n" .'- rptSuccessCount: the number of successful SMS parsing receipts.'."\n" .'- exposeUv: the number of message exposure UVs.'."\n" .'- exposePv: the number of message exposure PVs.'."\n" .'- clickUv: the number of message click UVs.'."\n" .'- clickPv: the number of message click PVs.'."\n" .'- facPvUvList: the list of vendor information.', 'type' => 'object', 'title' => '', 'example' => ''], 'enumValueTitles' => [], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => 'No access, please contact administrator.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"RequestId\\": \\"B71F06CA-7735-183A-B52E-234EF8AFE14B\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"model\\": [\\n {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Queries the parsing data of a specified card SMS template', 'description' => '### QPS limit'."\n" .'The QPS limit on this operation is 300 calls per second per user. If the number of calls per second exceeds the limit, throttling is triggered. This may affect your business. Call this operation at a reasonable pace.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryCardSmsTemplateReport'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QueryCardSmsTemplateReport', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryDigitalSignByName' => [ 'summary' => 'Retrieves the details of a digital SMS signature by its name.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'autoTest' => true, 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'SignName', 'in' => 'query', 'schema' => ['description' => 'The name of the digital SMS signature. The signature must belong to your Alibaba Cloud account.', 'type' => 'string', 'required' => false, 'example' => '阿里云数字商城', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'AccessDeniedDetail' => ['description' => 'Details of the access denial. This parameter is returned only if Resource Access Management (RAM) authentication fails.', 'type' => 'string', 'example' => '无', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', 'title' => ''], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => ['description' => '- `gmtModified`: The time when the signature was last modified.'."\n" ."\n" .'- `creator`: The ID of the user who created the signature.'."\n" ."\n" .'- `signName`: The name of the digital SMS signature.'."\n" ."\n" .'- `qualificationId`: The ID of the qualification. You can create qualifications in the console or by calling an API operation.'."\n" ."\n" .'- `signIndustry`: The industry type. Valid values: `0` (General) and `1` (E-commerce).'."\n" ."\n" .'- `signVersion`: The version of the signature. This value is updated for each new version. The current version is 1.'."\n" ."\n" .'- `telecomRegisterStatus`: The filing status with China Telecom. Valid values: `0` (Filing Failed), `3` (Filing Successful), `-1` (Filing in Progress), and `-2` (Not Filed).'."\n" ."\n" .'- `signCode`: The code of the digital SMS signature.'."\n" ."\n" .'- `gmtCreate`: The time when the signature was created.'."\n" ."\n" .'- `signId`: The ID of the signature. This is a unique identifier.'."\n" ."\n" .'- `mobileRegisterStatus`: The filing status with China Mobile.'."\n" ."\n" .'- `SignSource`: The source of the signature. Valid values:'."\n" ."\n" .'- `mobileAvailableStatus`: The availability status with China Mobile. Valid values: `0` (Unavailable) and `1` (Available). We recommend that you select an available signature when you create a template or send a digital SMS message.'."\n" ."\n" .'- `unicomRegisterStatus`: The filing status with China Unicom. Valid values: `0` (Filing Failed), `3` (Filing Successful), `-1` (Filing in Progress), and `-2` (Not Filed).'."\n" ."\n" .'- `unicomAvailableStatus`: The availability status with China Unicom. Valid values: `0` (Unavailable) and `1` (Available). We recommend that you select an available signature when you create a template or send a digital SMS message.'."\n" ."\n" .'- `telecomAvailableStatus`: The availability status with China Telecom. Valid values: `0` (Unavailable) and `1` (Available). We recommend that you select an available signature when you create a template or send a digital SMS message.', 'type' => 'object', 'example' => ' "Data": {'."\n" .' "gmtModified": 1770005896000,'."\n" .' "creator": "UID:1498275912899720",'."\n" .' "signName": "驳回理由",'."\n" .' "qualificationId": 2757722,'."\n" .' "qualificationVersion": 1768974751432,'."\n" .' "signIndustry": 0,'."\n" .' "registerStatueReason": {},'."\n" .' "signVersion": 1,'."\n" .' "remark": "",'."\n" .' "telecomRegisterStatus": -1,'."\n" .' "signCode": "DIGSIGN_100000168688001_1769050485148_pYZu1",'."\n" .' "gmtCreate": 1769050485000,'."\n" .' "signId": 22784769,'."\n" .' "mobileRegisterStatus": -1,'."\n" .' "signSource": 0,'."\n" .' "mobileAvailableStatus": 0,'."\n" .' "attachmentList": [],'."\n" .' "unicomRegisterStatus": 3,'."\n" .' "unicomAvailableStatus": 1,'."\n" .' "signType": 1,'."\n" .' "telecomAvailableStatus": 0,'."\n" .' "extendMessage": "{}"'."\n" .' },', 'title' => ''], 'Code' => ['description' => 'The status code of the request. A value of `OK` indicates that the request was successful. Other values indicate error codes.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Success' => [ 'description' => 'Indicates whether the request was successful.', 'enumValueTitles' => ['true' => 'The request was successful.', 'false' => 'The request failed.'], 'type' => 'boolean', 'example' => 'false', 'title' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query Digital Message SMS Signature ', 'description' => 'You can query only the digital SMS signatures that belong to your Alibaba Cloud account.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": false\\n}","type":"json"}]', ], 'QueryMobilesCardSupport' => [ 'summary' => 'Queries whether a phone number supports card SMS messages.', 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '161447', 'abilityTreeNodes' => ['FEATUREdysmsB35KN5'], ], 'parameters' => [ [ 'name' => 'TemplateCode', 'in' => 'query', 'schema' => ['description' => 'The code of the card SMS template. To view the code, log on to the console and choose **Domestic Messages** > [Template Management](https://dysms.console.aliyun.com/domestic/text/template).'."\n" ."\n" .'>The template must be added and approved.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'CARD_SMS_2****', 'title' => ''], ], [ 'name' => 'Mobiles', 'in' => 'query', 'style' => 'json', 'schema' => [ 'description' => 'The list of phone numbers.', 'type' => 'array', 'items' => ['description' => '待查询的手机号。一次请求最多支持查询10000个号码。', 'type' => 'object', 'required' => false, 'example' => '{'."\n" .' "mobile": "138****0000"'."\n" .'}', 'title' => ''], 'required' => true, 'title' => '', 'example' => '', ], ], [ 'name' => 'EncryptType', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => [ 'description' => 'The encryption method for the phone number. Valid values:'."\n" .'- SHA1: SHA1 encryption.'."\n" .'- NORMAL: no encryption. The phone number is transmitted in plaintext.', 'enumValueTitles' => [], 'type' => 'string', 'example' => 'NORMAL', 'maxLength' => 100, 'default' => 'NORMAL', 'enum' => ['SHA1', 'NORMAL'], 'required' => false, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '返回值根对象。', 'type' => 'object', 'properties' => [ 'Code' => ['description' => '请求状态码。'."\n" ."\n" .'- 返回OK代表请求成功。'."\n" .'- 其他错误码,请参见[错误码列表](~~101346~~)。', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => '阿里云为该请求生成的唯一标识符。', 'type' => 'string', 'example' => '08C17DFE-2E10-54F4-BAFB-7180039CC217', 'title' => ''], 'Success' => ['description' => '调用接口是否成功。取值:'."\n" ."\n" .'- **true**:调用成功。'."\n" ."\n" .'- **false**:调用失败。', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ 'QueryResult' => [ 'description' => '查询值。', 'type' => 'array', 'items' => [ 'description' => '查询值。', 'type' => 'object', 'properties' => [ 'Mobile' => ['description' => '查询的手机号码。', 'type' => 'string', 'example' => '1380000****', 'title' => ''], 'Support' => ['description' => '是否支持卡片短信。取值:'."\n" ."\n" .'- **true**:支持。'."\n" .'- **false**:不支持。', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => 'No access, please contact administrator.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"RequestId\\": \\"08C17DFE-2E10-54F4-BAFB-7180039CC217\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"QueryResult\\": [\\n {\\n \\"Mobile\\": \\"1380000****\\",\\n \\"Support\\": true\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Query whether a phone number supports card SMS messages (new API)', 'description' => '- 未开通卡片短信业务的阿里云账号无法调用此API。'."\n" .'- 目前卡片短信在内部邀约阶段,请联系您的阿里云商务经理申请开通或[联系阿里云售前咨询](https://help.aliyun.com/document_detail/464625.html)。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '2000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryMobilesCardSupport'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QueryMobilesCardSupport', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QuerySendDetails' => [ 'summary' => 'Queries the delivery records and status of SMS messages sent to a single phone number.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '102455', 'abilityTreeNodes' => ['FEATUREdysmsWO2BNU'], ], 'parameters' => [ [ 'name' => 'PhoneNumber', 'in' => 'query', 'schema' => ['description' => 'The phone number to query. The format is as follows:'."\n" ."\n" .'- For messages to the Chinese mainland, use an 11-digit phone number, such as 1390000\\*\\*\\*\\*.'."\n" ."\n" .'- For international SMS, use the format: country/region code + phone number, such as 8520000\\*\\*\\*\\*.'."\n" ."\n" .'> You can specify only one phone number.', 'type' => 'string', 'required' => true, 'example' => '1390000****', 'title' => ''], ], [ 'name' => 'BizId', 'in' => 'query', 'schema' => ['description' => 'The delivery receipt ID. This is the `BizId` returned in the response when you call the [SendSms](~~419273~~) or [SendBatchSms](~~419274~~) operation.'."\n" ."\n" .'> You can specify only one `BizId`.', 'type' => 'string', 'required' => false, 'example' => '134523^435****', 'title' => ''], ], [ 'name' => 'SendDate', 'in' => 'query', 'schema' => ['description' => 'The date when the SMS message was sent. You can query records from the past 30 days.'."\n" ."\n" .'Format: **yyyyMMdd**, for example, 20250601.', 'type' => 'string', 'required' => true, 'example' => '20250601', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of delivery records to return on each page.'."\n" ."\n" .'Valid values: 1 to 50.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '20', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', 'schema' => ['description' => 'The current page number for paginated results.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The request status code.'."\n" ."\n" .'- **OK** indicates the request was successful.'."\n" ."\n" .'- For other error codes, see [Error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => 'The request ID. This unique identifier is generated by Alibaba Cloud for each request and can be used for troubleshooting.', 'type' => 'string', 'example' => '819BE656-D2E0-4858-8B21-B2E477085AAF', 'title' => ''], 'TotalCount' => ['description' => 'The total number of SMS messages sent.'."\n" ."\n" .'> - This value represents the number of submission attempts, not the number of units for billing.', 'type' => 'string', 'example' => '1', 'title' => ''], 'SmsSendDetailDTOs' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'SmsSendDetailDTO' => [ 'description' => 'The SMS delivery details.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ErrCode' => ['description' => 'The delivery status code from the carrier.'."\n" ."\n" .'- **DELIVERED**: The message was delivered successfully.'."\n" ."\n" .'- For failure codes, see [Error codes](~~101347~~).', 'type' => 'string', 'example' => 'DELIVERED', 'title' => ''], 'TemplateCode' => ['description' => 'The code of the message template.'."\n" ."\n" .'> The `TemplateCode` parameter is not returned for test messages sent with the `[Test] Alibaba Cloud` signature and the `[Test] Alibaba Cloud test template`.', 'type' => 'string', 'example' => 'SMS_12231****', 'title' => ''], 'OutId' => ['description' => 'The external ID.'."\n" ."\n" .'> This parameter is returned only if you specify the `OutId` parameter in the send request.', 'type' => 'string', 'example' => '123', 'title' => ''], 'ReceiveDate' => ['description' => 'The time the message was received by the recipient\'s device.', 'type' => 'string', 'example' => '2025-06-01 16:44:13', 'title' => ''], 'SendDate' => ['description' => 'The time the message was sent.', 'type' => 'string', 'example' => '2025-06-01 16:44:10', 'title' => ''], 'PhoneNum' => ['description' => 'The recipient\'s phone number.', 'type' => 'string', 'example' => '1390000****', 'title' => ''], 'Content' => ['description' => 'The message content.', 'type' => 'string', 'example' => '【阿里云】验证码为:123,您正在登录,若非本人操作,请勿泄露', 'title' => ''], 'SendStatus' => ['description' => 'The delivery status of the SMS message. Valid values include:'."\n" ."\n" .'- **1**: The message is awaiting a delivery receipt.'."\n" ."\n" .'- **2**: The message failed to be delivered.'."\n" ."\n" .'- **3**: The message was delivered successfully.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => 'Contains the delivery details.', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"819BE656-D2E0-4858-8B21-B2E477085AAF\\",\\n \\"TotalCount\\": \\"1\\",\\n \\"SmsSendDetailDTOs\\": {\\n \\"SmsSendDetailDTO\\": [\\n {\\n \\"ErrCode\\": \\"DELIVERED\\",\\n \\"TemplateCode\\": \\"SMS_12231****\\",\\n \\"OutId\\": \\"123\\",\\n \\"ReceiveDate\\": \\"2025-06-01 16:44:13\\",\\n \\"SendDate\\": \\"2025-06-01 16:44:10\\",\\n \\"PhoneNum\\": \\"1390000****\\",\\n \\"Content\\": \\"【阿里云】验证码为:123,您正在登录,若非本人操作,请勿泄露\\",\\n \\"SendStatus\\": 3\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'QuerySendDetails', 'description' => '- This operation queries the details of SMS messages sent to a specific phone number on a given date. You can also provide the `BizId` to query a specific delivery record.'."\n" ."\n" .'- This operation queries delivery details for a single phone number at a time. To view delivery details in bulk, use the [QuerySendStatistics](~~419276~~) operation to query delivery statistics, or log in to the [Delivery Receipts](https://dysms.console.aliyun.com/record) page in the console.'."\n" ."\n" .'### QPS limit'."\n" ."\n" .'The QPS limit for this operation is 5,000 requests per second per user. Calls that exceed this limit are throttled.', 'requestParamsDescription' => 'You can visit the [OpenAPI Portal](https://api.aliyun.com/api/Dysmsapi/2017-05-25/QuerySendDetails?tab=DEMO\\&lang=JAVA) to view SDK request examples for different languages.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySendDetails'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QuerySendDetails', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QuerySendStatistics' => [ 'summary' => 'Queries message delivery statistics, including send dates, the number of successfully sent messages, and the number of received delivery receipts.', 'methods' => ['post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '118726', 'abilityTreeNodes' => ['FEATUREdysmsWO2BNU'], ], 'parameters' => [ [ 'name' => 'IsGlobe', 'in' => 'query', 'schema' => ['description' => 'The destination scope of the messages. Valid values:'."\n" ."\n" .'- **1**: domestic messages.'."\n" ."\n" .'- **2**: international messages.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '2', 'minimum' => '1', 'maxLength' => 2, 'minLength' => 1, 'example' => '1', 'title' => ''], ], [ 'name' => 'StartDate', 'in' => 'query', 'schema' => ['description' => 'The start date. The format is yyyyMMdd.', 'type' => 'string', 'required' => true, 'example' => '20201002', 'title' => ''], ], [ 'name' => 'EndDate', 'in' => 'query', 'schema' => ['description' => 'The end date. The format is yyyyMMdd.', 'type' => 'string', 'required' => true, 'example' => '20201003', 'title' => ''], ], [ 'name' => 'PageIndex', 'in' => 'query', 'schema' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'minimum' => '1', 'minLength' => 1, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The page size. Valid values: **1 to 50**.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '50', 'minimum' => '1', 'maxLength' => 50, 'minLength' => 1, 'example' => '10', 'title' => ''], ], [ 'name' => 'TemplateType', 'in' => 'query', 'schema' => ['description' => 'The template type. Valid values:'."\n" ."\n" .'- **0**: verification code.'."\n" ."\n" .'- **1**: notification message.'."\n" ."\n" .'- **2**: promotional message. (Enterprise customers only)'."\n" ."\n" .'- **3**: international message. (Enterprise customers only)'."\n" ."\n" .'- **7**: digital message.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], ], [ 'name' => 'SignName', 'in' => 'query', 'schema' => ['description' => 'The signature.', 'type' => 'string', 'required' => false, 'example' => '阿里云平台', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990'."\n", 'title' => ''], 'Code' => ['description' => 'The response code. Valid values:'."\n" ."\n" .'- OK: The request was successful.'."\n" ."\n" .'- For other values, see [Error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => [ 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ 'TotalSize' => ['description' => 'The total number of entries returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], 'TargetList' => [ 'description' => 'A list of delivery statistics.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'TotalCount' => ['description' => 'The number of successfully sent messages (billable message count).', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], 'RespondedSuccessCount' => ['description' => 'The number of messages with successful delivery receipts.', 'type' => 'integer', 'format' => 'int64', 'example' => '17', 'title' => ''], 'RespondedFailCount' => ['description' => 'The number of messages with failed delivery receipts.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], 'NoRespondedCount' => ['description' => 'The number of messages with no delivery receipts.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], 'SendDate' => ['description' => 'The date the messages were sent. Format: yyyyMMdd.', 'type' => 'string', 'example' => '20201010', 'title' => ''], ], 'description' => 'The information about the configuration.'."\n", 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], 'description' => 'The body of the response.', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\\\n\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"TotalSize\\": 20,\\n \\"TargetList\\": [\\n {\\n \\"TotalCount\\": 20,\\n \\"RespondedSuccessCount\\": 17,\\n \\"RespondedFailCount\\": 2,\\n \\"NoRespondedCount\\": 1,\\n \\"SendDate\\": \\"20201010\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'QuerySendStatistics', 'description' => '- If you query data over a long time range, the results are paginated. You can specify the page size and page number to navigate through the Delivery Logs.'."\n" ."\n" .'- You can also view delivery details by logging in to the [Short Message Service console](https://dysms.console.aliyun.com/dysms.htm#/overview) and navigating to the **Business Statistics** > **Delivery Logs** page.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySendStatistics'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QuerySendStatistics', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QueryShortUrl' => [ 'summary' => 'Checks the status and availability of a short link.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '102456', 'abilityTreeNodes' => ['FEATUREdysms2D1XSC'], ], 'parameters' => [ [ 'name' => 'ShortUrl', 'in' => 'formData', 'schema' => ['description' => 'The short link to query. Obtain this URL by calling the [AddShortUrl](~~186774~~) API.'."\n" ."\n" .'>'."\n" ."\n" .'This API is not currently supported by Short Message Service.'."\n" ."\n" .'>', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'http://****.cn/6y8uy7', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The request status code.'."\n" ."\n" .'- A successful request returns `OK`.'."\n" ."\n" .'- For other error codes, see [Error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '819BE656-D2E0-4858-8B21-B2E477085AAF', 'title' => ''], 'Data' => [ 'description' => 'The details of the short link.', 'type' => 'object', 'properties' => [ 'UniqueVisitorCount' => ['description' => 'The unique visitor (UV) count for the short link.', 'type' => 'string', 'example' => '23', 'title' => ''], 'SourceUrl' => ['description' => 'The source URL.', 'type' => 'string', 'example' => 'https://www.****.com/product/sms', 'title' => ''], 'ShortUrlStatus' => ['description' => 'The short link status. Valid values:'."\n" ."\n" .'- **expired**: The short link has expired.'."\n" ."\n" .'- **effective**: The short link is active.'."\n" ."\n" .'- **audit**: The short link is under review.'."\n" ."\n" .'- **reject**: The short link was rejected.', 'type' => 'string', 'example' => 'expired', 'title' => ''], 'PageViewCount' => ['description' => 'The page view (PV) count for the short link.', 'type' => 'string', 'example' => '300', 'title' => ''], 'ExpireDate' => ['description' => 'The expiration date and time of the short link.', 'type' => 'string', 'example' => '2019-01-22 11:21:11', 'title' => ''], 'ShortUrlName' => ['description' => 'The name of the service that generated the short link.', 'type' => 'string', 'example' => '阿里短链测试', 'title' => ''], 'CreateDate' => ['description' => 'The creation date and time of the short link.', 'type' => 'string', 'example' => '2019-01-08 16:44:13', 'title' => ''], 'ShortUrl' => ['description' => 'The generated short link.', 'type' => 'string', 'example' => 'http://****.cn/6y8uy7', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"819BE656-D2E0-4858-8B21-B2E477085AAF\\",\\n \\"Data\\": {\\n \\"UniqueVisitorCount\\": \\"23\\",\\n \\"SourceUrl\\": \\"https://www.****.com/product/sms\\",\\n \\"ShortUrlStatus\\": \\"expired\\",\\n \\"PageViewCount\\": \\"300\\",\\n \\"ExpireDate\\": \\"2019-01-22 11:21:11\\",\\n \\"ShortUrlName\\": \\"阿里短链测试\\",\\n \\"CreateDate\\": \\"2019-01-08 16:44:13\\",\\n \\"ShortUrl\\": \\"http://****.cn/6y8uy7\\"\\n }\\n}","type":"json"}]', 'title' => 'QueryShortUrl', 'description' => '>'."\n" ."\n" .'This API is not currently supported by Short Message Service.'."\n" ."\n" .'>'."\n" ."\n" .'### QPS limit'."\n" ."\n" .'The QPS limit for this API is 20 queries per second per user. API calls that exceed this limit are rate-limited, which can impact your business. Plan your calls accordingly.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryShortUrl'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QueryShortUrl', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QuerySingleSmsQualification' => [ 'summary' => 'After you apply for SMS qualifications, you can call this operation to query the details of a single qualification.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'parameters' => [ [ 'name' => 'QualificationGroupId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The qualification ID, which is the ID returned when you [apply for a qualification](~~SubmitSmsQualification~~). You can call the [QuerySmsQualificationRecord](~~QuerySmsQualificationRecord~~) operation to obtain the qualification IDs under your current account.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '10000****'], ], [ 'name' => 'OrderId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The review ticket ID. You can call the [QuerySmsQualificationRecord](~~QuerySmsQualificationRecord~~) operation to obtain the qualifications and corresponding review ticket IDs under your current account.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '2001****'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'AccessDeniedDetail' => ['description' => 'The details about the access denial. This parameter is returned only when the RAM check fails.', 'type' => 'string', 'example' => '无', 'title' => ''], 'RequestId' => ['description' => 'The ID of this API call request, which is the unique identifier generated by Alibaba Cloud for this request. It can be used to troubleshoot and locate issues.', 'type' => 'string', 'title' => '', 'example' => '25D5AFDE-8EBC-132E-8909-1FDC071DA'."\n"], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Data' => [ 'title' => '', 'description' => 'The details of a single qualification.', 'type' => 'object', 'properties' => [ 'AdminIDCardExpDate' => ['title' => '', 'description' => 'The validity period of the administrator\'s certificate. Format: YYYY-MM-DD~YYYY-MM-DD.', 'type' => 'string', 'example' => '2023-01-01~2033-01-01'], 'BusinessType' => ['title' => '', 'description' => 'The industry type.', 'type' => 'string', 'example' => 'dysms'], 'AdminIDCardFrontFace' => ['title' => '', 'description' => 'The full URL of the photo of the front side of the administrator\'s certificate (national emblem side of the ID card).', 'type' => 'string', 'example' => 'https://******.aliyuncs.com/******'], 'Remark' => ['title' => '', 'description' => 'The remarks.', 'type' => 'string', 'example' => '无'], 'LegalPersonName' => ['title' => '', 'description' => 'The name of the legal representative.', 'type' => 'string', 'example' => '李华'], 'CompanyName' => ['title' => '', 'description' => 'The name of the enterprise.', 'type' => 'string', 'example' => '阿里云云通信有限公司'], 'LegalPersonIDCardNo' => ['title' => '', 'description' => 'The certificate number of the legal representative.', 'type' => 'string', 'example' => '511391********5123'."\n"], 'BusinessLicensePics' => [ 'title' => '', 'description' => 'The business license information of the enterprise.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Type' => ['description' => 'The type of business license. Valid values:'."\n" ."\n" .'- socialCreditLicense: Unified social credit code certificate.'."\n" .'- businessLicense: Business license.'."\n" .'- signLegalLicense: Legal person certificate of a public institution.'."\n" .'- otherLicense: Other types of license certificates.', 'type' => 'string', 'title' => '', 'example' => 'businessLicense'], 'LicensePic' => ['description' => 'The file path parameter of the business license.', 'type' => 'string', 'title' => '', 'example' => '123456/111.png'], 'PicUrl' => ['title' => '', 'description' => 'The full URL of the business license file.', 'type' => 'string', 'example' => 'https://******.aliyuncs.com/******'."\n"], ], 'description' => '', 'title' => '', 'example' => '', ], 'example' => '', ], 'AdminIDCardNo' => ['title' => '', 'description' => 'The certificate number of the administrator.', 'type' => 'string', 'example' => '511391********5123'], 'OrganizationCode' => ['title' => '', 'description' => 'The unified social credit code.', 'type' => 'string', 'example' => '910X********0012'."\n"], 'LegalPersonIdCardEffTime' => ['title' => '', 'description' => 'The validity period of the legal representative\'s certificate. Format: YYYY-MM-DD~YYYY-MM-DD.', 'type' => 'string', 'example' => '2023-01-01~2033-01-01'], 'AdminPhoneNo' => ['title' => '', 'description' => 'The mobile phone number of the administrator.', 'type' => 'string', 'example' => '137*******'], 'QualificationName' => ['title' => '', 'description' => 'The qualification name.', 'type' => 'string', 'example' => '阿里云云通信有限公司资质李华'."\n"], 'AdminName' => ['title' => '', 'description' => 'The name of the administrator.', 'type' => 'string', 'example' => '李华'], 'CompanyType' => ['title' => '', 'description' => 'The type of enterprise. Valid values:'."\n" ."\n" .'- COMPANY: Enterprise.'."\n" .'- NON_PROFIT_ORGANIZATION: Government agency or public institution.', 'type' => 'string', 'example' => 'COMPANY'], 'AdminIDCardType' => ['title' => '', 'description' => 'The type of the administrator\'s certificate. Valid values:'."\n" ."\n" .'- identityCard: ID card.'."\n" .'- passport: Passport.'."\n" .'- homeReturnPermit: Home return permit for Hong Kong and Macao residents.'."\n" .'- TaiwanCompatriotPermit: Mainland travel permit for Taiwan residents.'."\n" .'- residencePermit: Residence permit for residents of Hong Kong, Macao, and Taiwan.'."\n" .'- other: Other.', 'type' => 'string', 'example' => 'identityCard'], 'UseBySelf' => ['title' => '', 'description' => 'The purpose of the qualification application. Valid values:'."\n" ."\n" .'- **true**: For self-use.'."\n" .'- **false**: For other use.', 'type' => 'boolean', 'example' => 'false'], 'EffTimeStr' => ['description' => 'The validity period of the business license. Format: YYYY-MM-DD~YYYY-MM-DD.', 'type' => 'string', 'title' => '', 'example' => '2023-01-01~2033-01-01'."\n"], 'QualificationGroupId' => ['description' => 'The qualification ID.', 'type' => 'integer', 'title' => '', 'format' => 'int64', 'example' => '10000****'], 'WhetherShare' => [ 'description' => 'Qualification authorization. Indicates whether to allow this qualification to be shared with other cloud communication products (such as Domestic Voice and Domestic Number Privacy Protection). The qualification can be shared and reused only when you apply for a **self-use qualification** and the qualification information **matches the enterprise information authenticated under the current Alibaba Cloud account**. Other cases are invalid. Valid values:'."\n" ."\n" .'- true: Agree. Your qualification information can be invoked in the "qualification authentication step" of other cloud communication products, eliminating duplicate authentication steps.'."\n" .'- false: Disagree.', 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'type' => 'boolean', 'title' => '', 'example' => 'false', ], 'WorkOrderId' => ['title' => '', 'description' => 'The review ticket ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '2001****'], 'State' => [ 'title' => '', 'description' => 'The review status. Valid values:'."\n" ."\n" .'- INT: Under review.'."\n" .'- FAILED: Review failed.'."\n" .'- PASSED: Review passed.'."\n" .'- NOT_FINISH: Materials to be supplemented.'."\n" .'- CANCELED: Cancelled.'."\n" ."\n" .'> This API does not return review remarks. To query review remarks (`AuditRemark`), use [QuerySmsQualificationRecord](~~QuerySmsQualificationRecord~~).', 'enumValueTitles' => ['NOT_FINISH' => 'Materials to be supplemented', 'FAILED' => 'Review failed', 'CANCELED' => 'Cancelled', 'INT' => 'Under review', 'PASSED' => 'Review passed'], 'type' => 'string', 'example' => 'PASSED', ], 'OtherFiles' => [ 'title' => '', 'description' => 'Additional materials.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'LicensePic' => ['description' => 'The file path parameter of the additional materials.', 'type' => 'string', 'title' => '', 'example' => '123456/111.png'], 'PicUrl' => ['title' => '', 'description' => 'The full URL of the additional materials file.', 'type' => 'string', 'example' => 'https://******.aliyuncs.com/******'], ], 'description' => '', 'title' => '', 'example' => '', ], 'example' => '', ], 'LegalPersonIDCardType' => ['title' => '', 'description' => 'The type of the legal representative\'s certificate. Valid values:'."\n" ."\n" .'- identityCard: ID card.'."\n" .'- passport: Passport.'."\n" .'- homeReturnPermit: Home return permit for Hong Kong and Macao residents.'."\n" .'- TaiwanCompatriotPermit: Mainland travel permit for Taiwan residents.'."\n" .'- residencePermit: Residence permit for residents of Hong Kong, Macao, and Taiwan.'."\n" .'- other: Other.', 'type' => 'string', 'example' => 'identityCard'], 'AdminIDCardPic' => ['title' => '', 'description' => 'The full URL of the photo of the back side of the administrator\'s certificate (portrait side of the ID card).', 'type' => 'string', 'example' => 'https://******.aliyuncs.com/******'], ], 'example' => '', ], 'Code' => ['description' => 'The status code of the request.'."\n" ."\n" .'- The value OK indicates that the request was successful.'."\n" .'- For other error codes, see the error code list in this chapter or the product [error code list](~~101346~~).', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Success' => [ 'description' => 'Indicates whether the API call was successful. Valid values:'."\n" ."\n" .'- **true**: The call was successful.'."\n" .'- **false**: The call failed.', 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'type' => 'boolean', 'title' => '', 'example' => 'true', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"RequestId\\": \\"25D5AFDE-8EBC-132E-8909-1FDC071DA\\\\n\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"AdminIDCardExpDate\\": \\"2023-01-01~2033-01-01\\",\\n \\"BusinessType\\": \\"dysms\\",\\n \\"AdminIDCardFrontFace\\": \\"https://******.aliyuncs.com/******\\",\\n \\"Remark\\": \\"无\\",\\n \\"LegalPersonName\\": \\"李华\\",\\n \\"CompanyName\\": \\"阿里云云通信有限公司\\",\\n \\"LegalPersonIDCardNo\\": \\"511391********5123\\\\n\\",\\n \\"BusinessLicensePics\\": [\\n {\\n \\"Type\\": \\"businessLicense\\",\\n \\"LicensePic\\": \\"123456/111.png\\",\\n \\"PicUrl\\": \\"https://******.aliyuncs.com/******\\\\n\\"\\n }\\n ],\\n \\"AdminIDCardNo\\": \\"511391********5123\\",\\n \\"OrganizationCode\\": \\"910X********0012\\\\n\\",\\n \\"LegalPersonIdCardEffTime\\": \\"2023-01-01~2033-01-01\\",\\n \\"AdminPhoneNo\\": \\"137*******\\",\\n \\"QualificationName\\": \\"阿里云云通信有限公司资质李华\\\\n\\",\\n \\"AdminName\\": \\"李华\\",\\n \\"CompanyType\\": \\"COMPANY\\",\\n \\"AdminIDCardType\\": \\"identityCard\\",\\n \\"UseBySelf\\": false,\\n \\"EffTimeStr\\": \\"2023-01-01~2033-01-01\\\\n\\",\\n \\"QualificationGroupId\\": 0,\\n \\"WhetherShare\\": false,\\n \\"WorkOrderId\\": 0,\\n \\"State\\": \\"PASSED\\",\\n \\"OtherFiles\\": [\\n {\\n \\"LicensePic\\": \\"123456/111.png\\",\\n \\"PicUrl\\": \\"https://******.aliyuncs.com/******\\"\\n }\\n ],\\n \\"LegalPersonIDCardType\\": \\"identityCard\\",\\n \\"AdminIDCardPic\\": \\"https://******.aliyuncs.com/******\\"\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Query the details of a single qualification', 'description' => '- This API queries the details of a single qualification (enterprise information, legal representative information, and administrator information).'."\n" .'- To query all qualification information under your current account, or to query review details, call the [QuerySmsQualificationRecord](~~QuerySmsQualificationRecord~~) operation.'."\n" .'- Affected by the SMS signature real-name registration requirements, the volume of qualification review tickets is growing rapidly, and the review time may be extended. Please be patient. The review is expected to be completed within 2 business days (review hours: Monday to Sunday 9:00-21:00, postponed for legal holidays). In special cases, the review time may be extended. Please be patient.', 'changeSet' => [ ['createdAt' => '2025-08-01T04:05:19.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [], ], 'QuerySmsAppIcpRecord' => [ 'summary' => 'Queries icp record details.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '289840', 'abilityTreeNodes' => ['FEATUREdysmsJ2BZAJ'], 'autoTest' => true, 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'AppIcpRecordIdList', 'in' => 'query', 'style' => 'json', 'schema' => [ 'description' => 'A list of icp record entity IDs.', 'title' => 'APP ICP filing entity ID list ', 'type' => 'array', 'items' => ['description' => 'The icp record entity ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100000***', 'title' => ''], 'required' => true, 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '', 'type' => 'object', 'properties' => [ 'AccessDeniedDetail' => ['description' => 'The access denial details.', 'type' => 'string', 'example' => '无', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'C9955E63-8BFF-101D-80A1-E6998DFEFF1A'], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Data' => [ 'description' => 'A list of APP-ICP record entity details.', 'title' => '', 'type' => 'array', 'items' => [ 'description' => 'The details of an APP-ICP record entity.', 'type' => 'object', 'properties' => [ 'AppIcpRecordId' => ['title' => 'APP-ICP filing material ID', 'description' => 'The ID of the APP-ICP record material.', 'type' => 'integer', 'format' => 'int64', 'example' => '51'], 'AppIcpRecordPic' => ['title' => 'OSS key of the APP-ICP filing screenshot image (used for submitting tickets related to signatures)', 'description' => 'The OSS fileKey for the APP-ICP record screenshot.', 'type' => 'string', 'example' => '10000025*****02/ac181696-****-49c6-90dc-50689267aa00_mhsjd8b8_17*****662348.jpeg'], 'AppIcpRecordPicUrl' => ['title' => 'URL of the APP-ICP filing screenshot', 'description' => 'The URL of the APP-ICP record screenshot.', 'type' => 'string', 'example' => 'https://alicom-fc-media.oss-cn-zhangjiakou.aliyuncs.com/100000****50802/afde****-496d-46e4-899d-b43758****8_mhk9oz0p_176224****542.png?Expires=1762****6&OSSAccessKeyId=bypFN****73PsLI&Signature=BygI9X****h7%2FXmFIo****FB2c%3D'], 'AppPrincipalUnitName' => ['title' => 'Sponsoring organization name', 'description' => 'The hosting unit name.', 'type' => 'string', 'example' => '阿里云'], 'AppIcpLicenseNumber' => ['title' => 'ICP Filing/License Number ', 'description' => 'The icp filing/license number.', 'type' => 'string', 'example' => '123'], 'Domain' => ['title' => 'APP App Store Link ', 'description' => 'The app store link.', 'type' => 'string', 'example' => 'https://apps.apple.com/cn/app/阿里云/id981011420'], 'AppApprovalDate' => ['title' => 'Review pass date, for example: 2025-09-01 ', 'description' => 'The approval date.', 'type' => 'string', 'example' => '2020-01-01'], 'AppServiceName' => ['title' => 'APP service name ', 'description' => 'The app service name.', 'type' => 'string', 'example' => '测试'], ], 'title' => '', 'example' => '', ], 'example' => '', ], 'Code' => ['description' => 'The status code of the request.'."\n" ."\n" .'- OK indicates a successful request.'."\n" ."\n" .'- For other error codes, see the [error code list](https://help.aliyun.com/document_detail/101346.htm).', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Success' => ['description' => 'Specifies whether the API call was successful. Valid values:'."\n" ."\n" .'- **true**: The call was successful.'."\n" ."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], ], 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query ICP Filing Entity ', 'description' => 'Pass a list of icp record IDs to retrieve their details.'."\n" ."\n" .'For example, call the QuerySmsSignList or GetSmsSign API to obtain the required icp record IDs.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"RequestId\\": \\"C9955E63-8BFF-101D-80A1-E6998DFEFF1A\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"AppIcpRecordId\\": 51,\\n \\"AppIcpRecordPic\\": \\"10000025*****02/ac181696-****-49c6-90dc-50689267aa00_mhsjd8b8_17*****662348.jpeg\\",\\n \\"AppIcpRecordPicUrl\\": \\"https://alicom-fc-media.oss-cn-zhangjiakou.aliyuncs.com/100000****50802/afde****-496d-46e4-899d-b43758****8_mhk9oz0p_176224****542.png?Expires=1762****6&OSSAccessKeyId=bypFN****73PsLI&Signature=BygI9X****h7%2FXmFIo****FB2c%3D\\",\\n \\"AppPrincipalUnitName\\": \\"阿里云\\",\\n \\"AppIcpLicenseNumber\\": \\"123\\",\\n \\"Domain\\": \\"https://apps.apple.com/cn/app/阿里云/id981011420\\",\\n \\"AppApprovalDate\\": \\"2020-01-01\\",\\n \\"AppServiceName\\": \\"测试\\"\\n }\\n ],\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], 'QuerySmsAuthorizationLetter' => [ 'summary' => 'Queries created letters of authorization. You can view the review status and authorized signature scope of the letters.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '264690', 'abilityTreeNodes' => ['FEATUREdysmsJ2BZAJ'], ], 'parameters' => [ [ 'name' => 'AuthorizationLetterIdList', 'in' => 'query', 'style' => 'json', 'schema' => [ 'title' => '', 'description' => 'The list of letter of authorization IDs.', 'type' => 'array', 'items' => ['description' => 'The letter of authorization ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10000*****', 'title' => ''], 'required' => false, 'example' => '', ], ], [ 'name' => 'SignName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The signature name. If the authorization scope includes multiple signatures when you create the letter of authorization, the letters of authorization that contain the signature are returned.', 'type' => 'string', 'required' => false, 'example' => '菜鸟网络'], ], [ 'name' => 'OrganizationCode', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The unified social credit code of the authorizing party. The length cannot exceed 150 characters.', 'type' => 'string', 'required' => false, 'example' => '9****************A'], ], [ 'name' => 'State', 'in' => 'query', 'schema' => [ 'title' => '', 'description' => 'The review status of the letter of authorization, which is related to the review status of the signature. Valid values:'."\n" .'- **INT**: Pending review. The letter of authorization has been created. After you submit a signature application, it enters the review process.'."\n" .'- **PASSED**: Review passed. When a signature in the authorized signature scope of the letter of authorization passes the review, the status of the letter of authorization changes to PASSED.', 'enumValueTitles' => ['INT' => 'Pending review', 'PASSED' => 'Review passed'], 'type' => 'string', 'required' => false, 'example' => 'PASSED', ], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => [ 'title' => '', 'description' => 'The availability status of the letter of authorization, which is related to the validity period of the letter of authorization. Valid values:'."\n" ."\n" .'- **VALID**: Available. The letter of authorization is within the validity period.'."\n" .'- **INVALID**: Unavailable. The letter of authorization has expired.', 'enumValueTitles' => ['VALID' => 'Available', 'INVALID' => 'Unavailable'], 'type' => 'string', 'required' => false, 'example' => 'VALID', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'AccessDeniedDetail' => ['description' => 'The details of the access denial. This parameter is returned only when the RAM check fails.', 'type' => 'string', 'example' => '无', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request, which is a unique identifier generated by Alibaba Cloud for the request and can be used to troubleshoot and locate issues.', 'type' => 'string', 'title' => '', 'example' => '25D5AFDE-8EBC-132E-8909-1FDC071D'], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Data' => [ 'title' => '', 'description' => 'The information of the letters of authorization.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Authorization' => ['title' => '', 'description' => 'The authorizing party.', 'type' => 'string', 'example' => '菜鸟网络科技有限公司'], 'Status' => ['title' => '', 'description' => 'The availability status of the letter of authorization, which is related to the validity period of the letter of authorization. Valid values:'."\n" ."\n" .'- **VALID**: Available. The letter of authorization is within the validity period.'."\n" .'- **INVALID**: Unavailable. The letter of authorization has expired.', 'type' => 'string', 'example' => 'VALID'], 'SignScope' => ['title' => '', 'description' => 'The authorized signature scope. If multiple signatures are included, the signatures are separated by Chinese enumeration commas (、).', 'type' => 'string', 'example' => '菜鸟网络、菜鸟驿站、菜鸟裹裹'], 'State' => ['title' => '', 'description' => 'The status of the letter of authorization, which is related to the review status of the signature. Valid values:'."\n" .'- **INT**: Pending review. The letter of authorization has been created. After you submit a signature application, it enters the review process.'."\n" .'- **PASSED**: Review passed. When a signature in the authorized signature scope of the letter of authorization passes the review, the status of the letter of authorization changes to PASSED.', 'type' => 'string', 'example' => 'PASSED'], 'AuthorizationLetterExpDate' => ['title' => '', 'description' => 'The validity period of the letter of authorization. Format: YYYY-MM-DD~YYYY-MM-DD.', 'type' => 'string', 'example' => '2023-01-01~2026-01-01'], 'AuthorizationLetterPic' => ['title' => '', 'description' => 'The URL of the letter of authorization file.', 'type' => 'string', 'example' => '1000045****/111.png'], 'OrganizationCode' => ['title' => '', 'description' => 'The unified social credit code of the authorizing party.', 'type' => 'string', 'example' => '9****************A'], 'ProxyAuthorization' => ['title' => '', 'description' => 'The authorized party.', 'type' => 'string', 'example' => '支付宝(中国)网络技术有限公司'], 'AuthorizationLetterId' => ['title' => '', 'description' => 'The letter of authorization ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '10000******'], 'AuthorizationLetterName' => ['title' => '', 'description' => 'The name of the letter of authorization.', 'type' => 'string', 'example' => '菜鸟公司授权书'], ], 'description' => '', 'title' => '', 'example' => '', ], 'example' => '', ], 'Code' => ['description' => 'The status code of the request.'."\n" ."\n" .'- The value OK indicates that the request was successful.'."\n" .'- For other error codes, see the error code list in this topic or [API error codes](~~101346~~).', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Success' => [ 'description' => 'Indicates whether the API call was successful. Valid values:'."\n" ."\n" .'- **true**: The call was successful.'."\n" .'- **false**: The call failed.', 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'type' => 'boolean', 'title' => '', 'example' => 'true', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"RequestId\\": \\"25D5AFDE-8EBC-132E-8909-1FDC071D\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"Authorization\\": \\"菜鸟网络科技有限公司\\",\\n \\"Status\\": \\"VALID\\",\\n \\"SignScope\\": \\"菜鸟网络、菜鸟驿站、菜鸟裹裹\\",\\n \\"State\\": \\"PASSED\\",\\n \\"AuthorizationLetterExpDate\\": \\"2023-01-01~2026-01-01\\",\\n \\"AuthorizationLetterPic\\": \\"1000045****/111.png\\",\\n \\"OrganizationCode\\": \\"9****************A\\",\\n \\"ProxyAuthorization\\": \\"支付宝(中国)网络技术有限公司\\",\\n \\"AuthorizationLetterId\\": 0,\\n \\"AuthorizationLetterName\\": \\"菜鸟公司授权书\\"\\n }\\n ],\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Query letters of authorization', 'description' => '- Supports full query or conditional query:'."\n" .' - **Full query**: Queries the information of all letters of authorization under your current account. No parameters need to be passed. Full query is performed by default.'."\n" .' - **Conditional query**: Supports queries by letter of authorization ID, signature name, and review status of the letter of authorization. Pass the parameters by which you want to filter.'."\n" ."\n" .'- Review duration: Affected by the real-name registration requirements for SMS signatures, the volume of qualification review tickets is currently increasing rapidly, and the review duration may be extended. Please wait patiently. The review is expected to be completed within 2 working days. SMS signatures and templates are expected to be reviewed within 2 hours after submission. Reviews involving governments and enterprises are generally completed within 2 working days. If verification upgrades, a large number of review tasks, or non-working hours are encountered, the review duration may be extended. Please wait patiently. (Review working hours: Monday to Sunday, 9:00–21:00, postponed for statutory holidays.)', 'changeSet' => [ ['createdAt' => '2025-08-01T04:05:19.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [], ], 'QuerySmsQualificationRecord' => [ 'summary' => 'Queries a list of SMS qualifications and their review details after you submit qualification applications. This operation supports filtered query.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'parameters' => [ [ 'name' => 'QualificationGroupName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The qualification name.', 'type' => 'string', 'required' => false, 'example' => '阿里云云通信有限公司李华'], ], [ 'name' => 'CompanyName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The company name.', 'type' => 'string', 'required' => false, 'example' => '阿里云云通信有限公司'], ], [ 'name' => 'State', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The review status. Valid values:'."\n" ."\n" .'- INIT: Under review.'."\n" .'- NOT_PASS: Review rejected. '."\n" .'- PASS: Review approved.'."\n" .'- NOT_FINISH: Additional information required.'."\n" .'- CANCEL: Withdrawn.', 'type' => 'string', 'required' => false, 'example' => 'PASS'], ], [ 'name' => 'WorkOrderId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The review ticket ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '2001****'], ], [ 'name' => 'LegalPersonName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The name of the legal representative.', 'type' => 'string', 'required' => false, 'example' => '李华'], ], [ 'name' => 'UseBySelf', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The purpose of the qualification application. Valid values:'."\n" ."\n" .'- **true**: For self-use.'."\n" .'- **false**: For use by others.', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: 1.', 'type' => 'integer', 'title' => '', 'format' => 'int64', 'required' => false, 'example' => '1'], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Valid values: **1 to 50**.', 'type' => 'integer', 'title' => '', 'format' => 'int64', 'required' => false, 'example' => '20'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'AccessDeniedDetail' => ['description' => '访问被拒绝详细信息。', 'type' => 'string', 'example' => '无', 'title' => ''], 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'title' => '', 'example' => '25D5AFDE-8EBC-132E-8909-1FDC071DA'."\n"], 'Message' => ['description' => '状态码的描述。', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Data' => [ 'description' => '资质审核列表', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => '每页数据条数。', 'type' => 'integer', 'title' => '', 'format' => 'int64', 'example' => '20'], 'Total' => ['description' => '总条数。', 'type' => 'integer', 'title' => '', 'format' => 'int64', 'example' => '25'], 'PageNo' => ['description' => '当前页码。', 'type' => 'integer', 'title' => '', 'format' => 'int64', 'example' => '1'], 'List' => [ 'title' => '', 'description' => '满足过滤条件的数据列表。', 'type' => 'array', 'items' => [ 'description' => '单个资质审核详情。', 'type' => 'object', 'properties' => [ 'LegalPersonName' => ['title' => '', 'description' => '法人姓名。', 'type' => 'string', 'example' => '李华'], 'AuditRemark' => ['title' => '', 'description' => '审核备注。', 'type' => 'string', 'example' => '无'], 'CompanyName' => ['title' => '', 'description' => '企业名称。', 'type' => 'string', 'example' => '阿里云云通信有限公司'], 'WorkOrderId' => ['title' => '', 'description' => '审核工单ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '2001****'], 'StateName' => ['title' => '', 'description' => '审核状态。取值:'."\n" ."\n" .'- INIT:审核中。'."\n" .'- NOT_PASS:审核不通过。 '."\n" .'- PASS:审核通过。'."\n" .'- NOT_FINISH:资料待补充。'."\n" .'- CANCEL:已撤回。', 'type' => 'string', 'example' => 'INIT'], 'AuditTime' => ['title' => '', 'description' => '审核时间。', 'type' => 'string', 'example' => '2024-12-26 17:29:04'], 'CreateDate' => ['title' => '', 'description' => '资质创建时间。', 'type' => 'string', 'example' => '2025-02-20 11:59:30'], 'QualificationGroupName' => ['title' => '', 'description' => '资质名称。', 'type' => 'string', 'example' => '阿里云云通信有限公司李华'], 'GroupId' => ['title' => '', 'description' => '资质ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '10000****'], 'UseBySelf' => ['title' => '', 'description' => '资质申请用途,取值:'."\n" ."\n" .'- **true**:自用。'."\n" .'- **false**:他用。', 'type' => 'string', 'example' => 'true'], ], 'title' => '', 'example' => '', ], 'example' => '', ], ], 'title' => '', 'example' => '', ], 'Code' => ['description' => '请求状态码。'."\n" ."\n" .'* 返回OK代表请求成功。'."\n" .'* 其他错误码,请参见本章节的错误码列表或产品[API错误码](~~101346~~)。', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Success' => ['description' => '调用接口是否成功。取值:'."\n" ."\n" .'- **true**:调用成功。'."\n" .'- **false**:调用失败。', 'type' => 'boolean', 'title' => '', 'example' => 'true'], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"RequestId\\": \\"25D5AFDE-8EBC-132E-8909-1FDC071DA\\\\n\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": {\\n \\"PageSize\\": 20,\\n \\"Total\\": 25,\\n \\"PageNo\\": 1,\\n \\"List\\": [\\n {\\n \\"LegalPersonName\\": \\"李华\\",\\n \\"AuditRemark\\": \\"无\\",\\n \\"CompanyName\\": \\"阿里云云通信有限公司\\",\\n \\"WorkOrderId\\": 0,\\n \\"StateName\\": \\"INIT\\",\\n \\"AuditTime\\": \\"2024-12-26 17:29:04\\",\\n \\"CreateDate\\": \\"2025-02-20 11:59:30\\",\\n \\"QualificationGroupName\\": \\"阿里云云通信有限公司李华\\",\\n \\"GroupId\\": 0,\\n \\"UseBySelf\\": \\"true\\"\\n }\\n ]\\n },\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Query qualification list', 'description' => '- 支持全量查询或条件查询:'."\n" .' - **全量查询**:查询您当前帐户下所有短信资质,无需传参。默认全量查询。'."\n" .' - **条件查询**:支持根据资质名称、企业名称、法人姓名、审核状态、审核工单ID、资质用途进行查询,传入您希望筛选的参数即可。'."\n" ."\n" .'- 本接口用于查询资质及其审核信息,如果需要查询单个资质的具体信息(企业信息、法人信息、管理员信息),请调用[查询单个资质详情](~~QuerySingleSmsQualification~~)接口。'."\n" ."\n" .'- 受短信签名实名制报备要求影响,当前资质审核工单量增长快速,审核时间可能会延长,请耐心等待,预计2个工作日内完成(审核工作时间:周一至周日 9:00~21:00,法定节假日顺延)。特殊情况可能延长审核时间,请耐心等待。'."\n" .'- 如果资质未通过审核,审核备注`AuditRemark`会返回审核失败的原因,请参考[审核失败的处理建议](~~2384377#a96cc318b94x1~~),调用[修改短信资质](~~UpdateSmsQualification~~)接口或在控制台[资质管理](https://dysms.console.aliyun.com/domestic/text/qualification)页面修改资质信息后,重新发起审核。', 'changeSet' => [ ['createdAt' => '2025-08-01T04:05:19.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [], ], 'QuerySmsSign' => [ 'summary' => 'Queries the review status of an SMS signature.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '102459', 'abilityTreeNodes' => ['FEATUREdysmsJ2BZAJ'], ], 'parameters' => [ [ 'name' => 'SignName', 'in' => 'query', 'schema' => ['description' => 'The name of an existing SMS signature in your account.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '阿里云', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'CC89A90C-978F-46AC-B80D-54738371E7CA', 'title' => ''], 'SignStatus' => ['description' => 'The review status of the SMS signature. Valid values:'."\n" ."\n" .'- **0**: Pending Review.'."\n" ."\n" .'- **1**: Approved.'."\n" ."\n" .'- **2**: Rejected. For details, see the `Reason` parameter.'."\n" ."\n" .'- **10**: Canceled.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Code' => ['description' => 'The status code of the request.'."\n" ."\n" .'- `OK` indicates that the request was successful.'."\n" ."\n" .'- For other error codes, see [Error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'CreateDate' => ['description' => 'The date and time when the SMS signature was created.', 'type' => 'string', 'example' => ' 2019-01-08 16:44:13', 'title' => ''], 'Reason' => ['description' => 'The review reason.'."\n" ."\n" .'- If the review status is **Approved** or **Pending Review**, this parameter is empty.'."\n" ."\n" .'- If the review status is **Rejected**, this parameter provides the reason for the rejection.', 'type' => 'string', 'example' => '文件不能证明信息真实性,请重新上传', 'title' => ''], 'SignName' => ['description' => 'The SMS signature.', 'type' => 'string', 'example' => '阿里云', 'title' => ''], ], 'description' => 'The response body.', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CC89A90C-978F-46AC-B80D-54738371E7CA\\",\\n \\"SignStatus\\": 1,\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"CreateDate\\": \\" 2019-01-08 16:44:13\\",\\n \\"Reason\\": \\"文件不能证明信息真实性,请重新上传\\",\\n \\"SignName\\": \\"阿里云\\"\\n}","type":"json"}]', 'title' => 'QuerySmsSign', 'description' => '- To comply with regulations from the Ministry of Industry and Information Technology (MIIT) and [related requirements](~~2806975~~) from carriers, Alibaba Cloud has upgraded its SMS signature management APIs. We recommend using the new [GetSmsSign - Query Signature Details](~~2807429~~) API, which returns more detailed information about signatures than this API.'."\n" ."\n" .'- We typically review signatures within two hours of submission. The review service is available from 9:00 to 21:00, Monday to Sunday. Reviews may be delayed during public holidays. We recommend submitting your application before 18:00 for a timely review.'."\n" ."\n" .'- If a signature is rejected, the response includes the review reason. For troubleshooting information, see [Troubleshooting Signature Review Failures](~~65990~~). You can then call the [ModifySmsTemplate](~~419287~~) API or modify the SMS signature on the [Signature Management](https://dysms.console.aliyun.com/domestic/text) page.'."\n" ."\n" .'- This API queries the review details for a single signature by name. To query all signatures in your account, call the [QuerySmsSignList](~~419288~~) API.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySmsSign'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QuerySmsSign', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QuerySmsSignList' => [ 'summary' => 'You can call this operation to query all signatures under your account, including signature audit status, signature type, and signature name.', 'methods' => ['post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '118916', 'abilityTreeNodes' => ['FEATUREdysmsJ2BZAJ'], ], 'parameters' => [ [ 'name' => 'PageIndex', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'minLength' => 1, 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of signatures to return on each page. Default value: **10**. Valid values: **1 to 50**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990'."\n", 'title' => ''], 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" .' '."\n" .'- OK: The request was successful.'."\n" ."\n" .'- For other error codes, see [Error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'SmsSignList' => [ 'description' => 'The list of returned results.', 'type' => 'array', 'items' => [ 'description' => 'The list of returned results.', 'type' => 'object', 'properties' => [ 'SignName' => ['description' => 'The signature name.', 'type' => 'string', 'example' => '阿里云', 'title' => ''], 'AuditStatus' => ['description' => 'The audit status of the signature. Valid values:'."\n" ."\n" .'- **AUDIT_STATE_INIT**: under review.'."\n" ."\n" .'- **AUDIT_STATE_PASS**: approved.'."\n" ."\n" .'- **AUDIT_STATE_NOT_PASS**: rejected. You can view the rejection reason in the Reason response parameter.'."\n" ."\n" .'- **AUDIT_STATE_CANCEL**: review canceled.', 'type' => 'string', 'example' => 'AUDIT_STATE_NOT_PASS', 'title' => ''], 'CreateDate' => ['description' => 'The time when the SMS signature was created. The format is yyyy-MM-dd HH:mm:ss.', 'type' => 'string', 'example' => '2020-06-04 11:42:17', 'title' => ''], 'Reason' => [ 'description' => 'The audit remarks.'."\n" ."\n" .'- If the audit status is **approved** or **under review**, the Reason parameter is displayed as "No audit remarks".'."\n" ."\n" .'- If the audit status is **rejected**, the Reason parameter displays the specific reason for the rejection.', 'type' => 'object', 'properties' => [ 'RejectSubInfo' => ['description' => 'The remarks for the rejection.', 'type' => 'string', 'example' => '文件不能证明信息真实性,请重新上传。', 'title' => ''], 'RejectDate' => ['description' => 'The time when the signature was rejected. The format is yyyy-MM-dd HH:mm:ss.', 'type' => 'string', 'example' => '2020-06-04 13:35:10', 'title' => ''], 'RejectInfo' => ['description' => 'The reason for the rejection.', 'type' => 'string', 'example' => '文件不能证明信息真实性,请重新上传。', 'title' => ''], ], 'title' => '', 'example' => '', ], 'BusinessType' => ['description' => 'The scenario type of the signature. Valid values:'."\n" ."\n" .'- Verification code.'."\n" ."\n" .'- General-purpose.', 'type' => 'string', 'example' => '验证码类型', 'title' => ''], 'OrderId' => ['description' => 'The order ID.'."\n" ."\n" .'This parameter is used by auditors when querying the audit. You must provide this order ID if you need to expedite the audit.', 'type' => 'string', 'example' => '2005098****', 'title' => ''], 'AuthorizationLetterId' => ['description' => 'The ID of the letter of authorization.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000********1234', 'title' => ''], 'authorizationLetterAuditPass' => [ 'description' => 'The audit status of the letter of authorization. Valid values:'."\n" .'- true: approved.'."\n" .'- false: not approved (includes all statuses other than approved).', 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'type' => 'boolean', 'example' => 'true', 'title' => '', ], 'TrademarkId' => ['description' => 'The trademark entity ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000009081***', 'title' => ''], 'AppIcpRecordId' => ['description' => 'The APP-ICP filing entity ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1000001***123', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'TotalCount' => ['description' => 'The total number of signatures.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], 'CurrentPage' => ['description' => 'The page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of signatures to return on each page. Default value: **10**. Valid values: **1 to 50**.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\\\n\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"SmsSignList\\": [\\n {\\n \\"SignName\\": \\"阿里云\\",\\n \\"AuditStatus\\": \\"AUDIT_STATE_NOT_PASS\\",\\n \\"CreateDate\\": \\"2020-06-04 11:42:17\\",\\n \\"Reason\\": {\\n \\"RejectSubInfo\\": \\"文件不能证明信息真实性,请重新上传。\\",\\n \\"RejectDate\\": \\"2020-06-04 13:35:10\\",\\n \\"RejectInfo\\": \\"文件不能证明信息真实性,请重新上传。\\"\\n },\\n \\"BusinessType\\": \\"验证码类型\\",\\n \\"OrderId\\": \\"2005098****\\",\\n \\"AuthorizationLetterId\\": 0,\\n \\"authorizationLetterAuditPass\\": true,\\n \\"TrademarkId\\": 0,\\n \\"AppIcpRecordId\\": 0\\n }\\n ],\\n \\"TotalCount\\": 100,\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10\\n}","type":"json"}]', 'title' => 'Query signature list details', 'description' => 'This operation queries the signature information that was **first created** or the **most recently approved** signature details under your current account. If you need to query more information such as application scenario content or files uploaded during application, you can call the [GetSmsSign](~~GetSmsSign~~) operation to query the audit details of a single signature by signature name.', 'changeSet' => [ ['createdAt' => '2025-12-16T07:48:28.000Z', 'description' => 'Response parameters changed'], ['createdAt' => '2025-12-11T12:44:33.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-12-11T12:44:31.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-12-11T10:08:22.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-12-11T10:08:22.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-14T02:14:08.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-14T02:14:00.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-14T02:07:46.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-03T13:14:40.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-03T13:14:39.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-03T13:14:00.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-03T13:14:00.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySmsSignList'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QuerySmsSignList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QuerySmsTemplate' => [ 'summary' => 'This API has been deprecated.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => true, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '102460', 'abilityTreeNodes' => ['FEATUREdysms2H0K7P'], ], 'parameters' => [ [ 'name' => 'TemplateCode', 'in' => 'query', 'schema' => ['description' => 'The template code.'."\n" ."\n" .'- The template code is returned in the response of the [AddSmsTemplate](~~121208~~) API.'."\n" ."\n" .'- The template code is available on the [Template Management](https://dysms.console.aliyun.com/domestic/text/template) page.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'SMS_1525****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'TemplateContent' => ['description' => 'The template content.', 'type' => 'string', 'example' => '亲爱的会员!阿里云短信服务祝您新年快乐!', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0A974B78-02BF-4C79-ADF3-90CFBA1B55B1', 'title' => ''], 'TemplateCode' => ['description' => 'The template code.', 'type' => 'string', 'example' => 'SMS_1525****', 'title' => ''], 'TemplateStatus' => ['description' => 'The review status of the template. Valid values:'."\n" ."\n" .'- **0**: Reviewing.'."\n" ."\n" .'- **1**: Approved.'."\n" ."\n" .'- **2**: Rejected. The reason for the rejection is returned in the response. For more information, see [Suggestions for handling a failed review](~~65990~~). You can then call the [ModifySmsTemplate](~~419287~~) API or modify the template on the [Template Management](https://dysms.console.aliyun.com/domestic/text/template) page.'."\n" ."\n" .'- **10**: Canceled.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'Code' => ['description' => 'The status code of the request.'."\n" ."\n" .'- OK indicates that the request was successful.'."\n" ."\n" .'- For a list of other error codes, see [Error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'TemplateType' => ['description' => 'The message type. Valid values:'."\n" ."\n" .'- **0**: Verification code.'."\n" ."\n" .'- **1**: Message notification.'."\n" ."\n" .'- **2**: Promotional message.'."\n" ."\n" .'- **3**: International message.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'TemplateName' => ['description' => 'The template name.', 'type' => 'string', 'example' => '通知短信', 'title' => ''], 'CreateDate' => ['description' => 'The time when the template was created.', 'type' => 'string', 'example' => '2024-06-03 10:02:34', 'title' => ''], 'Reason' => ['description' => 'The review notes for the template.'."\n" ."\n" .'- If the review status is **Approved** or **Reviewing**, the message "No review remarks" is returned.'."\n" ."\n" .'- If the review status is **Rejected**, the reason for the rejection is returned.', 'type' => 'string', 'example' => '无审批备注', 'title' => ''], ], 'description' => 'The data returned.', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => [ 'substitutions' => ['Dysmsapi::2017-05-25::GetSmsTemplate'], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TemplateContent\\": \\"亲爱的会员!阿里云短信服务祝您新年快乐!\\",\\n \\"RequestId\\": \\"0A974B78-02BF-4C79-ADF3-90CFBA1B55B1\\",\\n \\"TemplateCode\\": \\"SMS_1525****\\",\\n \\"TemplateStatus\\": 0,\\n \\"Code\\": \\"OK\\",\\n \\"TemplateType\\": 1,\\n \\"Message\\": \\"OK\\",\\n \\"TemplateName\\": \\"通知短信\\",\\n \\"CreateDate\\": \\"2024-06-03 10:02:34\\",\\n \\"Reason\\": \\"无审批备注\\"\\n}","type":"json"}]', 'title' => 'QuerySmsTemplate', 'description' => '- Alibaba Cloud has updated its template-related APIs to comply with regulatory and [carrier requirements](~~2806975~~). We recommend that you use the new [GetSmsTemplate - Query template review details](~~2807433~~) API. The new API returns more detailed template information in its response.'."\n" ."\n" .'- Review timeline: After you submit a template, Alibaba Cloud typically completes the review within two hours. Review hours are 9:00 to 21:00 (UTC+8) from Monday to Sunday. Reviews are postponed during public holidays. We recommend that you submit your templates before 18:00 (UTC+8).'."\n" ."\n" .'- If a template fails review, the response includes the reason for the rejection. For more information, see [Suggestions for handling a failed review](~~65990~~). You can then call the [ModifySmsTemplate](~~419287~~) API or modify the template on the [Template Management](https://dysms.console.aliyun.com/domestic/text/template) page.'."\n" ."\n" .'- QuerySmsTemplate queries the review details of a single template by its template code. To query the details of all templates in your account, call the [QuerySmsTemplateList](~~419288~~) API.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySmsTemplate'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QuerySmsTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'extraInfo' => ' ', ], 'QuerySmsTemplateList' => [ 'summary' => 'You can call this operation to query all templates under your account. This way, you can view template details, including the template approval status, template type, and template content.', 'methods' => ['post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '118761', 'abilityTreeNodes' => ['FEATUREdysms2H0K7P'], ], 'parameters' => [ [ 'name' => 'PageIndex', 'in' => 'query', 'schema' => ['description' => 'The current page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of templates displayed per page. Valid values: **1 to 50**. Default value: **10**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request. The unique identifier generated by Alibaba Cloud for the request can be used to troubleshoot and locate issues.', 'type' => 'string', 'example' => '819BE656-D2E0-4858-8B21-B2E47708****', 'title' => ''], 'Code' => ['description' => 'The HTTP status code.'."\n" ."\n" .'- The value OK indicates that the request was successful.'."\n" .'- For information about other status codes, see [Error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'SmsTemplateList' => [ 'description' => 'The result list.', 'type' => 'array', 'items' => [ 'description' => 'The details of a single template.', 'type' => 'object', 'properties' => [ 'TemplateCode' => ['description' => 'The code of the SMS template.', 'type' => 'string', 'example' => 'SMS_1525***', 'title' => ''], 'TemplateName' => ['description' => 'The name of the SMS template.', 'type' => 'string', 'example' => '验证码模板', 'title' => ''], 'OuterTemplateType' => ['description' => 'The template type (for external use). Valid values:'."\n" ."\n" .'- **0**: verification code message.'."\n" .'- **1**: notification message.'."\n" .'- **2**: promotional message.'."\n" .'- **3**: international or Hong Kong, Macao, and Taiwan message.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'AuditStatus' => ['description' => 'The template approval status. Valid values:'."\n" ."\n" .'- **AUDIT_STATE_INIT**: under review.'."\n" .'- **AUDIT_STATE_PASS**: approved.'."\n" .'- **AUDIT_STATE_NOT_PASS**: rejected. View the rejection reason in the Reason response parameter.'."\n" .'- **AUDIT_SATE_CANCEL**: review canceled.', 'type' => 'string', 'example' => 'AUDIT_STATE_PASS', 'title' => ''], 'TemplateContent' => ['description' => 'The template content.', 'type' => 'string', 'example' => '验证码为:${code},您正在注册成为平台会员,感谢您的支持!', 'title' => ''], 'CreateDate' => ['description' => 'The time when the template was created. Format: yyyy-MM-dd HH:mm:ss.', 'type' => 'string', 'example' => '2020-06-04 11:42:17', 'title' => ''], 'Reason' => [ 'description' => 'The approval result.', 'type' => 'object', 'properties' => [ 'RejectDate' => ['description' => 'The time when the template was rejected. Format: yyyy-MM-dd HH:mm:ss.', 'type' => 'string', 'example' => '2020-06-04 16:01:17', 'title' => ''], 'RejectInfo' => ['description' => 'The reason why the template was rejected.', 'type' => 'string', 'example' => '变量不符合规范', 'title' => ''], 'RejectSubInfo' => ['description' => 'The detailed reason why the template was rejected.', 'type' => 'string', 'example' => '变量属性选择错误。'."\n" .'请根据业务使用场景选择合适的变量属性。', 'title' => ''], ], 'title' => '', 'example' => '', ], 'OrderId' => ['description' => 'The ticket ID.'."\n" ."\n" .'Reviewers use this parameter when querying approval information. You must provide this ticket ID when you request expedited approval.', 'type' => 'string', 'example' => '2004983****', 'title' => ''], 'TemplateType' => ['description' => 'The template type. Valid values:'."\n" ."\n" .'- **0**: notification message.'."\n" .'- **1**: promotional message.'."\n" .'- **2**: verification code message.'."\n" .'- **6**: international or Hong Kong, Macao, and Taiwan message.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'SignatureName' => ['description' => 'The name of the associated signature.', 'type' => 'string', 'example' => '阿里云', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'TotalCount' => ['description' => 'The total number of templates returned.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], 'CurrentPage' => ['description' => 'The current page number. Default value: **1**.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of templates displayed per page. Valid values: **1 to 50**.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"819BE656-D2E0-4858-8B21-B2E47708****\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"SmsTemplateList\\": [\\n {\\n \\"TemplateCode\\": \\"SMS_1525***\\",\\n \\"TemplateName\\": \\"验证码模板\\",\\n \\"OuterTemplateType\\": 0,\\n \\"AuditStatus\\": \\"AUDIT_STATE_PASS\\",\\n \\"TemplateContent\\": \\"验证码为:${code},您正在注册成为平台会员,感谢您的支持!\\",\\n \\"CreateDate\\": \\"2020-06-04 11:42:17\\",\\n \\"Reason\\": {\\n \\"RejectDate\\": \\"2020-06-04 16:01:17\\",\\n \\"RejectInfo\\": \\"变量不符合规范\\",\\n \\"RejectSubInfo\\": \\"变量属性选择错误。\\\\n请根据业务使用场景选择合适的变量属性。\\"\\n },\\n \\"OrderId\\": \\"2004983****\\",\\n \\"TemplateType\\": 2,\\n \\"SignatureName\\": \\"阿里云\\"\\n }\\n ],\\n \\"TotalCount\\": 100,\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10\\n}","type":"json"}]', 'title' => 'Queries the details of template lists', 'description' => '- This operation queries the template details of all templates under your current account. To query more details such as the template variable content and the file information uploaded during application, you can call the [GetSmsTemplate](~~GetSmsTemplate~~) operation to query the approval details of a single template by template code.'."\n" .'- You can also log on to the Short Message Service (SMS) console and view the template details of all templates under your current account on the [Template Management](https://dysms.console.aliyun.com/domestic/text/template) page.', 'changeSet' => [ ['createdAt' => '2026-06-08T07:45:00.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2026-06-08T07:44:55.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2026-06-04T07:56:04.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2026-06-04T07:55:45.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-27T03:33:20.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-27T03:33:12.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-08-12T14:41:26.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySmsTemplateList'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QuerySmsTemplateList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'QuerySmsTrademark' => [ 'summary' => 'Queries the details of one or more trademarks.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '289842', 'abilityTreeNodes' => ['FEATUREdysmsJ2BZAJ'], 'autoTest' => true, 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'TrademarkIdList', 'in' => 'query', 'style' => 'json', 'schema' => [ 'description' => 'A list of trademark IDs.', 'title' => 'List of trademark entity IDs ', 'type' => 'array', 'items' => ['description' => 'A trademark ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100000***', 'title' => ''], 'required' => true, 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response body.', 'type' => 'object', 'properties' => [ 'AccessDeniedDetail' => ['description' => 'The details of the access denial.', 'type' => 'string', 'example' => '无', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '569E9DBD-23FF-1785-99AD-E4B23608C104'], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Data' => [ 'description' => 'A list of trademark details.', 'title' => '', 'type' => 'array', 'items' => [ 'description' => 'The details of a trademark.', 'type' => 'object', 'properties' => [ 'TrademarkPicUrl' => ['title' => 'URL of the trademark screenshot.', 'description' => 'The URL of the trademark screenshot.', 'type' => 'string', 'example' => 'https://alicom-fc-media.oss-cn-zhangjiakou.aliyuncs.com/100000****50802/afde****-496d-46e4-899d-b43758****8_mhk9oz0p_176224****542.png?Expires=1762****6&OSSAccessKeyId=bypFN****73PsLI&Signature=BygI9X****h7%2FXmFIo****FB2c%3D'], 'TrademarkRegistrationNumber' => ['title' => 'Trademark registration number.', 'description' => 'The trademark registration number.', 'type' => 'string', 'example' => '1234'], 'TrademarkName' => ['title' => 'Trademark name.', 'description' => 'The name of the trademark.', 'type' => 'string', 'example' => '示例商标'], 'TrademarkPic' => ['title' => 'OSS key of the trademark screenshot (used when submitting a ticket for signature).', 'description' => 'The Object Storage Service (OSS) file key for the trademark image.', 'type' => 'string', 'example' => '100000*****802/afdebd46-****-46e4-899d-b4375826c898_mhk9oz0p_1762****31542.png'], 'TrademarkEffExpDate' => ['title' => 'Effective and expiration dates of exclusive rights.', 'description' => 'The validity period of the trademark.', 'type' => 'string', 'example' => '2025-11-01~2025-12-19'], 'TrademarkId' => ['title' => 'Trademark material ID ', 'description' => 'The trademark ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '10000*******'], 'TrademarkApplicantName' => ['title' => 'Applied By Name ', 'description' => 'The applicant name.', 'type' => 'string', 'example' => '阿里云'], ], 'title' => '', 'example' => '', ], 'example' => '', ], 'Code' => ['description' => 'The status code of the request.'."\n" ."\n" .'- `OK` indicates that the request was successful.'."\n" ."\n" .'- For other error codes, see [Error codes](~~101346~~).', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Success' => ['description' => 'Indicates whether the request is successful. Valid values:'."\n" ."\n" .'- **true**: The request is successful.'."\n" ."\n" .'- **false**: The request fails.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], ], 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Query trademark entity ', 'description' => 'This operation retrieves the details of trademarks by using a list of trademark IDs.'."\n" ."\n" .'For example, you can obtain trademark IDs by calling signature query operations such as `QuerySmsSignList` or `GetSmsSign`. You can then use this operation to retrieve the details of each trademark.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"RequestId\\": \\"569E9DBD-23FF-1785-99AD-E4B23608C104\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": [\\n {\\n \\"TrademarkPicUrl\\": \\"https://alicom-fc-media.oss-cn-zhangjiakou.aliyuncs.com/100000****50802/afde****-496d-46e4-899d-b43758****8_mhk9oz0p_176224****542.png?Expires=1762****6&OSSAccessKeyId=bypFN****73PsLI&Signature=BygI9X****h7%2FXmFIo****FB2c%3D\\",\\n \\"TrademarkRegistrationNumber\\": \\"1234\\",\\n \\"TrademarkName\\": \\"示例商标\\",\\n \\"TrademarkPic\\": \\"100000*****802/afdebd46-****-46e4-899d-b4375826c898_mhk9oz0p_1762****31542.png\\",\\n \\"TrademarkEffExpDate\\": \\"2025-11-01~2025-12-19\\",\\n \\"TrademarkId\\": 0,\\n \\"TrademarkApplicantName\\": \\"阿里云\\"\\n }\\n ],\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], 'RequiredPhoneCode' => [ 'summary' => 'When applying for SMS qualification, the administrator\'s phone number must be verified. Use this operation to obtain an SMS verification code.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'parameters' => [ [ 'name' => 'PhoneNo', 'in' => 'query', 'schema' => ['description' => 'The administrator\'s phone number that receives the verification code.'."\n" .'- The account that **calls this operation to send the verification code must be the same account that submits the qualification**. Otherwise, the call fails.'."\n" .'- Phone number format: +/+86/0086/86 or a mobile phone number without any prefix, for example 1390000****.', 'type' => 'string', 'title' => '', 'required' => true, 'example' => '137****1234'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'AccessDeniedDetail' => ['description' => 'The details about the access denial.', 'type' => 'string', 'example' => '无', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => '90E63D28-E31D-1EB2-8939-A9486641****'], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Data' => ['description' => 'This field is not returned and can be ignored.', 'type' => 'string', 'example' => '-', 'title' => ''], 'Code' => ['description' => 'The request status code.'."\n" ."\n" .'- OK indicates that the request was successful.'."\n" .'- For other error codes, see [Error codes](~~101346~~).', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Success' => [ 'description' => 'Indicates whether the operation call is successful. Valid values:'."\n" ."\n" .'- **true**: The call is successful.'."\n" ."\n" .'- **false**: The call fails.', 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'type' => 'boolean', 'title' => '', 'example' => 'true', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"RequestId\\": \\"90E63D28-E31D-1EB2-8939-A9486641****\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": \\"-\\",\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Obtain a phone verification code', 'description' => '- After you receive the phone verification code, pass it to the `CertifyCode` parameter of the [SubmitSmsQualification](~~SubmitSmsQualification~~) or [UpdateSmsQualification](~~UpdateSmsQualification~~) operation.'."\n" .'- You can call the [ValidPhoneCode](~~ValidPhoneCode~~) operation to verify whether the SMS verification code is correct.'."\n" .'- This operation is subject to [throttling](~~44335#section-0wh-xn6-0t7~~). Do not call it too frequently. For the same phone number, a maximum of 1 message per minute, 5 messages per hour, and 10 messages per day are supported.', 'changeSet' => [ ['createdAt' => '2025-08-01T04:05:19.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [], ], 'SendBatchCardSms' => [ 'summary' => 'Sends card SMS messages in batches.', 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '125151', 'abilityTreeNodes' => ['FEATUREdysmsB35KN5'], ], 'parameters' => [ [ 'name' => 'CardTemplateCode', 'in' => 'query', 'schema' => ['description' => 'The code of the card SMS template. On the **Card SMS** [Template Management](https://dysms.console.aliyun.com/domestic/card) page in the console, select the code of a card SMS template that has been **approved**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'CARD_SMS_3**5', 'title' => ''], ], [ 'name' => 'SmsTemplateCode', 'in' => 'query', 'schema' => ['description' => 'The code of the text SMS template used for fallback. This parameter is required when **FallbackType** is set to **SMS** (fallback to text SMS).'."\n" ."\n" .'You can call the [QuerySmsTemplateList](~~419288~~) operation to query the templates that have been submitted under the current account, or you can view the list of templates in the [Short Message Service console](https://dysms.console.aliyun.com/domestic/text/template).'."\n" .'>The template must be added and approved.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'SMS_23425****', 'title' => ''], ], [ 'name' => 'FallbackType', 'in' => 'query', 'schema' => ['description' => 'The fallback type. Valid values:'."\n" .'- **SMS**: Phone numbers that do not support card SMS messages fall back to text SMS messages.'."\n" .'- **DIGITALSMS**: Phone numbers that do not support card SMS messages fall back to digital SMS messages.'."\n" .'- **NONE**: No fallback is required.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'SMS', 'title' => ''], ], [ 'name' => 'DigitalTemplateCode', 'in' => 'query', 'schema' => ['description' => 'The code of the digital SMS template used for fallback. This parameter is required when **FallbackType** is set to **DIGITALSMS** (fallback to digital SMS).'."\n" ."\n" .'You can view the list of digital SMS templates on the **Domestic Digital SMS** [Template Management](https://dysms.console.aliyun.com/domestic/digit) page in the console.'."\n" .'>The template must be added and approved.', 'type' => 'string', 'required' => false, 'example' => 'DIGITAL_SMS_23408****', 'title' => ''], ], [ 'name' => 'OutId', 'in' => 'query', 'schema' => ['description' => 'The ID reserved for the caller.', 'type' => 'string', 'required' => false, 'example' => '16545681783595370', 'title' => ''], ], [ 'name' => 'PhoneNumberJson', 'in' => 'query', 'schema' => ['description' => 'The mobile phone numbers that receive the SMS messages.', 'type' => 'string', 'required' => true, 'example' => '["1390000****","1370000****"]', 'title' => ''], ], [ 'name' => 'SignNameJson', 'in' => 'query', 'schema' => ['description' => 'The name of the SMS signature.'."\n" .'You can call the [QuerySmsSignList](~~419282~~) operation to query the signatures that have been submitted under the current account, or you can view the list of signatures in the [Short Message Service console](https://dysms.console.aliyun.com/domestic/text/sign).'."\n" .'>The signature must be added and approved. The number of SMS signatures must be the same as the number of phone numbers, and the signatures must be in one-to-one correspondence with the phone numbers.', 'type' => 'string', 'required' => true, 'example' => '["阿里云","阿里巴巴"]', 'title' => ''], ], [ 'name' => 'CardTemplateParamJson', 'in' => 'query', 'schema' => ['description' => 'The actual values of the variables in the card SMS template. This parameter is required when the card SMS template specified by **CardTemplateCode** contains variables.'."\n" ."\n" .'>If the JSON contains line breaks, handle them based on the standard JSON protocol.', 'type' => 'string', 'required' => false, 'example' => '[{"customurl":"http://www.alibaba.com","dyncParams":"{"a":"hello","b":"world"}"}]', 'title' => ''], ], [ 'name' => 'SmsTemplateParamJson', 'in' => 'query', 'schema' => ['description' => 'The actual values of the variables in the text SMS template. This parameter is required when the fallback text SMS template specified by **SmsTemplateCode** contains variables.'."\n" ."\n" .'>If the JSON contains line breaks, handle them based on the standard JSON protocol.', 'type' => 'string', 'required' => false, 'example' => '[{"a":1,"b":2},{"a":9,"b":8}]', 'title' => ''], ], [ 'name' => 'DigitalTemplateParamJson', 'in' => 'query', 'schema' => ['description' => 'The actual values of the variables in the digital SMS template. This parameter is required when the fallback digital SMS template specified by **DigitalTemplateCode** contains variables.'."\n" .'>If the JSON contains line breaks, handle them based on the standard JSON protocol.', 'type' => 'string', 'required' => false, 'example' => '[{"a":1,"b":2},{"a":9,"b":8}]', 'title' => ''], ], [ 'name' => 'SmsUpExtendCodeJson', 'in' => 'query', 'schema' => ['description' => 'The extension code of the MO (mobile-originated) SMS message.', 'type' => 'string', 'required' => false, 'example' => '[\\"6\\",\\"6\\"]', 'title' => ''], ], [ 'name' => 'TemplateCode', 'in' => 'query', 'schema' => ['description' => 'The code of the custom send content template.'."\n" ."\n" .'The custom content is sent to the terminal in the form of the selected text SMS template plus the card parsing link. You can log on to the [Short Message Service console](https://dysms.console.aliyun.com/overview), choose **Domestic Messages** or **International/Hong Kong, Macao, and Taiwan Messages**, and then view the **Template Code** on the **Template Management** page.'."\n" ."\n" .'> - The template must be added and approved. To send international or Hong Kong, Macao, and Taiwan messages, use an international or Hong Kong, Macao, and Taiwan SMS template.'."\n" .'> - For example, the selected text SMS template content is: You have a message to check; the card parsing link is: `1*.cn/2**d`. The final delivered content is: `You have a message to check 1*.cn/2**d`. Perform testing and control the number of characters before sending.', 'type' => 'string', 'required' => false, 'example' => 'SMS_20375****', 'title' => ''], ], [ 'name' => 'TemplateParamJson', 'in' => 'query', 'schema' => ['description' => 'The actual values of the variables in the custom send content template. This parameter is required when the SMS template specified by **TemplateCode** contains variables.'."\n" ."\n" .'> - If the JSON contains line breaks, handle them based on the standard JSON protocol.'."\n" .'> - The number of template variable values must be the same as the number of phone numbers and signatures, and they must be in one-to-one correspondence. This indicates that an SMS message with the corresponding signature is sent to the specified phone number, and the variable parameters in the SMS template are replaced with the corresponding values.', 'type' => 'string', 'required' => false, 'example' => '[{"name":"TemplateParamJson"},{"name":"TemplateParamJson"}]', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The request status code.'."\n" .'* If **OK** is returned, the request is successful.'."\n" .'* For information about other error codes, see [API error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A90E4451-FED7-49D2-87C8-00700A8C4D0D', 'title' => ''], 'Success' => ['description' => 'Indicates whether the call is successful. Valid values:'."\n" ."\n" .'- **true**: The call is successful.'."\n" ."\n" .'- **false**: The call fails.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ 'MediaMobiles' => ['description' => 'The mobile phone numbers that receive the card SMS messages.', 'type' => 'string', 'example' => '1390000****', 'title' => ''], 'BizCardId' => ['description' => 'The ID of the card SMS sending task.', 'type' => 'string', 'example' => '123', 'title' => ''], 'BizDigitalId' => ['description' => 'The ID of the digital SMS sending task.', 'type' => 'string', 'example' => '3214', 'title' => ''], 'CardTmpState' => ['description' => 'The review status of the card SMS template. Valid values:'."\n" .'- **0**: Under review.'."\n" .'- **1**: Approved.'."\n" .'- **2**: Rejected.'."\n" .'> For SMS messages that are rejected, you can configure the fallback process by using the **FallbackType** parameter.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'NotMediaMobiles' => ['description' => 'The fallback phone numbers.', 'type' => 'string', 'example' => '1390000****', 'title' => ''], 'BizSmsId' => ['description' => 'The ID of the text SMS sending task.', 'type' => 'string', 'example' => '3256', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => 'No access, please contact administrator.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"RequestId\\": \\"A90E4451-FED7-49D2-87C8-00700A8C4D0D\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"MediaMobiles\\": \\"1390000****\\",\\n \\"BizCardId\\": \\"123\\",\\n \\"BizDigitalId\\": \\"3214\\",\\n \\"CardTmpState\\": 0,\\n \\"NotMediaMobiles\\": \\"1390000****\\",\\n \\"BizSmsId\\": \\"3256\\"\\n }\\n}","type":"json"}]', 'title' => 'Sends card SMS messages in batches', 'description' => '- Sending card SMS messages is a billable operation. You are not charged if a card SMS message fails to be sent or rendered. For more information, see [Multimedia SMS pricing](~~437951~~).'."\n" .'- The card SMS feature is currently in the internal invitation phase. Contact your Alibaba Cloud business manager to apply for activation, or contact [Alibaba Cloud pre-sales consulting](https://help.aliyun.com/document_detail/464625.html?spm=a2c4g.11186623.0.0.213219fcSn2Ykj#section-81n-72q-ybm).'."\n" .'- We recommend that you set the timeout period for card SMS messages to a value greater than or equal to 3 seconds. If a timeout failure occurs, we recommend that you check the delivery status before deciding whether to retry. We also recommend that you do not enable SDK retry logic when calling this operation; otherwise, multiple sending attempts may occur. For more information about timeout and retry settings, see [Timeout mechanism](~~262079~~) and [Retry mechanism](~~262080~~).'."\n" .'- Domestic SMS, international SMS, and multimedia SMS do not currently support idempotency. Implement idempotency control to prevent duplicate operations caused by multiple retries.'."\n" .'- Before you send a card SMS message, you must add and obtain approval for a card SMS template. When this operation is called to send an SMS message, the system checks whether the phone number supports card SMS messages. If the phone number does not support card SMS messages, you can configure whether to accept fallback to digital SMS or text SMS in the operation to improve the delivery rate.'."\n" .'- When you send card SMS messages in batches, each phone number can use a different signature and a different fallback. In a single request, you can send card SMS messages to a maximum of 100 phone numbers.'."\n" ."\n" .'### QPS limit'."\n" .'The QPS limit per user for this operation is 1,000 calls per second. If the limit is exceeded, API calls are throttled, which may affect your business. Call this operation in a reasonable manner.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SendBatchCardSms'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:SendBatchCardSms', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'SendBatchSms' => [ 'summary' => 'This operation sends messages to different phone numbers using a single template, with different signatures and template variables for each recipient.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '102462', 'abilityTreeNodes' => ['FEATUREdysmsKC679O'], ], 'parameters' => [ [ 'name' => 'PhoneNumberJson', 'in' => 'formData', 'schema' => ['description' => 'The recipient phone numbers. Format:'."\n" ."\n" .'- For domestic SMS: Phone numbers with or without a country code such as `+`, `+86`, `0086`, or `86`. Example: `1590000****`.'."\n" ."\n" .'- For international SMS: The country code followed by the phone number. Example: `852000012****`.'."\n" ."\n" .'> For time-sensitive messages like verification codes, use the [SendSms](~~419273~~) operation to send messages individually.', 'type' => 'string', 'required' => true, 'example' => '["1590000****","1350000****"]', 'title' => ''], ], [ 'name' => 'SignNameJson', 'in' => 'formData', 'schema' => ['description' => 'The signature names. The number of signatures must match the number of phone numbers.'."\n" ."\n" .'You can call the [QuerySmsSignList](~~419282~~) operation or check the [Short Message Service console](https://dysms.console.aliyun.com/domestic/text/sign) to find approved signatures. You must use an approved signature.'."\n" ."\n" .'> - The system uses the selected signature to send SMS messages.', 'type' => 'string', 'required' => true, 'example' => '["阿里云","阿里巴巴"]', 'title' => ''], ], [ 'name' => 'TemplateCode', 'in' => 'query', 'schema' => ['description' => 'The message template code. You cannot use templates for domestic SMS and international SMS interchangeably.'."\n" ."\n" .'You can call the [QuerySmsTemplateList](~~419288~~) operation or check the [Short Message Service console](https://dysms.console.aliyun.com/domestic/text/template) to find approved template codes. You must use an approved template code.', 'type' => 'string', 'required' => true, 'example' => 'SMS_15255****', 'title' => ''], ], [ 'name' => 'TemplateParamJson', 'in' => 'formData', 'schema' => ['description' => 'The actual values for the template variables. This parameter is required if the template contains variables.'."\n" ."\n" .'> - The number of template variable sets must match the number of phone numbers and signatures. The elements in the PhoneNumberJson, SignNameJson, and TemplateParamJson arrays must correspond by index to ensure each message is sent with the correct signature and variable values.'."\n" .'>'."\n" .'> - If you need to include a line break in the JSON string, follow the standard JSON format.', 'type' => 'string', 'required' => false, 'example' => '[{"name":"TemplateParamJson"},{"name":"TemplateParamJson"}]', 'title' => ''], ], [ 'name' => 'SmsUpExtendCodeJson', 'in' => 'formData', 'schema' => ['description' => 'A JSON array of MO SMS extension codes.'."\n" ."\n" .'> You can leave this parameter empty if you have no special requirements.', 'type' => 'string', 'required' => false, 'example' => '["90999","90998"]', 'title' => ''], ], [ 'name' => 'OutId', 'in' => 'query', 'schema' => ['description' => 'An external business ID. It must be a string of fewer than 256 characters.'."\n" ."\n" .'> You can leave this parameter empty if you have no special requirements.', 'type' => 'string', 'required' => false, 'example' => 'abcdefg', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The request status code.'."\n" ."\n" .'- A value of `OK` indicates a successful request.'."\n" ."\n" .'- For a list of other error codes, see [Error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => 'The description of the request status.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'BizId' => ['description' => 'The delivery receipt ID.'."\n" ."\n" .'- You can use this ID to query the delivery status by calling the [QuerySendDetails](~~102352~~) operation.'."\n" ."\n" .'- Log on to the [Short Message Service console](https://dysms.console.aliyun.com/dysms.htm#/overview) and go to **Statistics** > **Delivery Logs** to view delivery details.', 'type' => 'string', 'example' => '9006197469364984400', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8D230E', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"BizId\\": \\"9006197469364984400\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8D230E\\"\\n}","type":"json"}]', 'title' => 'SendBatchSms', 'description' => '### Basic information'."\n" ."\n" .'- You can send messages to a maximum of 100 phone numbers in a single call.'."\n" ."\n" .'- The global [endpoint](~~419270~~) is `dysmsapi.aliyuncs.com`. For a list of region-specific endpoints, see [Endpoints](~~419270~~).'."\n" ."\n" .'### API calls'."\n" ."\n" .'- We recommend calling this operation using an SDK. For more information, see [Make your first API call](~~2841024~~).'."\n" ."\n" .'- To send messages from the console, see [Send group messages](~~108266~~).'."\n" ."\n" .'- To build your own API requests, see [V3 request body and signature mechanism](~~2593177~~).'."\n" ."\n" .'### Usage notes'."\n" ."\n" .'- For domestic SMS, we recommend setting the timeout period to 1 second or longer. If a timeout occurs, check the delivery receipt status before you retry the request. For more information about timeout and retry settings, see [timeout mechanism](~~262079~~) and [retry mechanism](~~262080~~).'."\n" ."\n" .'- This operation does not support idempotence for domestic SMS, international SMS, or Multimedia Messaging Service (MMS) messages. You must implement your own idempotence controls to prevent duplicate operations caused by multiple retries.'."\n" ."\n" .'- This is a billable operation. For domestic SMS, you are charged based on the delivery receipt status from the carrier. You are not charged for messages that are successfully submitted but fail carrier delivery. For more information, see [Billing overview](~~44340~~).'."\n" ."\n\n" .' >'."\n" ."\n" .' Batch message delivery may be delayed due to system capacity limits. For time-sensitive messages, such as verification codes or alert notifications, use the SendSms operation to send messages individually.'."\n" ."\n" .' >'."\n" ."\n" .'### QPS limit'."\n" ."\n" .'The Queries Per Second (QPS) limit for a single user is 5,000. Calls that exceed this limit are throttled. Plan your usage accordingly.', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SendBatchSms'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:SendBatchSms', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'SendCardSms' => [ 'summary' => 'Sends a card message.', 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '102463', 'abilityTreeNodes' => ['FEATUREdysmsB35KN5'], ], 'parameters' => [ [ 'name' => 'CardObjects', 'in' => 'query', 'style' => 'flat', 'schema' => [ 'description' => 'The card message objects.', 'type' => 'array', 'items' => [ 'description' => '卡片短信对象。', 'type' => 'object', 'properties' => [ 'customUrl' => ['description' => '渲染失败后跳转链接。', 'type' => 'string', 'required' => false, 'example' => 'https://alibaba.com', 'title' => ''], 'dyncParams' => ['description' => '动态参数。动参变量不需要${}', 'type' => 'string', 'required' => false, 'example' => '{"param3":"李四3","param1":"李四","param2":"李四2"}', 'title' => ''], 'mobile' => ['description' => '接收卡片短信的手机号码。', 'type' => 'string', 'required' => false, 'example' => '1390000****', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => true, 'docRequired' => true, 'example' => 'SendCardSms', 'title' => '', ], ], [ 'name' => 'SignName', 'in' => 'query', 'schema' => ['description' => 'The signature name. You can call the [QuerySmsSignList](~~419282~~) operation to query the signatures applied for under the current account or view the signature list in the [Short Message Service (SMS) console](https://dysms.console.aliyun.com/domestic/text/sign).'."\n" .'> The signature must be approved.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '阿里云', 'title' => ''], ], [ 'name' => 'CardTemplateCode', 'in' => 'query', 'schema' => ['description' => 'The code of the card message template. On the [Template Management](https://dysms.console.aliyun.com/domestic/card) page of the **Card Messages** module in the console, select the code of an approved card message template.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'CARD_SMS_70', 'title' => ''], ], [ 'name' => 'SmsTemplateCode', 'in' => 'query', 'schema' => ['description' => 'The code of the fallback text message template. This parameter is required if you set **FallbackType** to **SMS**.'."\n" ."\n" .'You can call the [QuerySmsTemplateList](~~419288~~) operation to query the templates applied for under the current account or view the template list in the [SMS console](https://dysms.console.aliyun.com/domestic/text/template).'."\n" .'> The template must be added and approved.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'SMS_48068****', 'title' => ''], ], [ 'name' => 'SmsUpExtendCode', 'in' => 'query', 'schema' => ['description' => 'The extension code of the MO message. An MO message is a message sent to the communications service provider to customize a service, perform a query, or handle other business. The message is charged at the standard rate of the carrier.'."\n" .'> If you do not have such requirements, ignore this parameter.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'FallbackType', 'in' => 'query', 'schema' => ['description' => 'The fallback type. Valid values:'."\n" .'- **SMS**: Falls back to a text message for phone numbers that do not support card messages.'."\n" .'- **DIGITALSMS**: Falls back to a digital message for phone numbers that do not support card messages.'."\n" .'- **NONE**: No fallback is required.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'SMS', 'title' => ''], ], [ 'name' => 'DigitalTemplateCode', 'in' => 'query', 'schema' => ['description' => 'The code of the fallback digital message template. This parameter is required if you set **FallbackType** to **DIGITALSMS**.'."\n" ."\n" .'You can view the digital message template list on the [Template Management](https://dysms.console.aliyun.com/domestic/digit) page of the **Digital Messages** module in the console.'."\n" ."\n" .'> The template must be added and approved.', 'type' => 'string', 'required' => false, 'example' => 'DIGITAL_SMS_31359****', 'title' => ''], ], [ 'name' => 'OutId', 'in' => 'query', 'schema' => ['description' => 'The ID reserved for the caller.', 'type' => 'string', 'required' => false, 'example' => '38d76c9b-4a9a-4c89-afae-61fd8e0e****', 'title' => ''], ], [ 'name' => 'SmsTemplateParam', 'in' => 'query', 'schema' => ['description' => 'The actual values of the variables in the fallback text message template. This parameter is required if the text message template specified by **SmsTemplateCode** contains variables.'."\n" ."\n" .'> If the JSON value contains line breaks, follow the standard JSON protocol.', 'type' => 'string', 'required' => false, 'example' => '{"jifen":"积分"}', 'title' => ''], ], [ 'name' => 'DigitalTemplateParam', 'in' => 'query', 'schema' => ['description' => 'The actual values of the variables in the fallback digital message template. This parameter is required if the digital message template specified by **DigitalTemplateCode** contains variables.'."\n" ."\n" .'> If the JSON value contains line breaks, follow the standard JSON protocol.', 'type' => 'string', 'required' => false, 'example' => '{"msg","xxxd"}', 'title' => ''], ], [ 'name' => 'TemplateCode', 'in' => 'query', 'schema' => ['description' => 'The code of the custom content template.'."\n" ."\n" .'The custom content is sent to the recipient as a text message template combined with a card parsing link. Log on to the [SMS console](https://dysms.console.aliyun.com/overview), choose **Domestic Messages** or **International/HK/MO/TW Messages**, and view the **Template Code** on the **Template Management** tab.'."\n" ."\n" .'> - The template code must be added and approved. To send international or Hong Kong, Macao, or Taiwan messages, use an international or Hong Kong, Macao, or Taiwan message template.'."\n" .'> - For example, if the selected text message template is "You have a new message" and the card parsing link is `1*.cn/2**d`, the final content is `You have a new message 1*.cn/2**d`. Test the message and control the word count before sending.', 'type' => 'string', 'required' => false, 'example' => 'SMS_2322****', 'title' => ''], ], [ 'name' => 'TemplateParam', 'in' => 'query', 'schema' => ['description' => 'The actual values of the variables in the custom content template. This parameter is required if the message template specified by **TemplateCode** contains variables.'."\n" ."\n" .'> If the JSON value contains line breaks, follow the standard JSON protocol.', 'type' => 'string', 'required' => false, 'example' => '{'."\n" .' "code": "1111"'."\n" .'}', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ 'Code' => ['description' => '请求状态码。'."\n" .'* 返回OK代表请求成功。'."\n" .'* 其他错误码,请参见[错误码列表](~~101346~~)。', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8D28D0', 'title' => ''], 'Success' => ['description' => '调用接口是否成功。取值:'."\n" ."\n" .'- **true**:调用成功。'."\n" ."\n" .'- **false**:调用失败。', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Data' => [ 'description' => '返回数据。'."\n", 'type' => 'object', 'properties' => [ 'MediaMobiles' => ['description' => '接收卡片短信的手机号。', 'type' => 'string', 'example' => '1390000****', 'title' => ''], 'BizCardId' => ['description' => '卡片短信发送ID。', 'type' => 'string', 'example' => '123', 'title' => ''], 'BizDigitalId' => ['description' => '数字短信发送ID。', 'type' => 'string', 'example' => '232', 'title' => ''], 'CardTmpState' => ['description' => '卡片短信模板审核状态。取值:'."\n" .'- **0**:审核中。'."\n" .'- **1**:审核通过。'."\n" .'- **2**:审核不通过。'."\n" .'> 审核不通过的短信可通过**FallbackType**字段设置回落流程。', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'NotMediaMobiles' => ['description' => '回落的手机号。', 'type' => 'string', 'example' => '1390000****', 'title' => ''], 'BizSmsId' => ['description' => '文本短信发送ID。', 'type' => 'string', 'example' => '524', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => 'No access, please contact administrator.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8D28D0\\",\\n \\"Success\\": true,\\n \\"Data\\": {\\n \\"MediaMobiles\\": \\"1390000****\\",\\n \\"BizCardId\\": \\"123\\",\\n \\"BizDigitalId\\": \\"232\\",\\n \\"CardTmpState\\": 0,\\n \\"NotMediaMobiles\\": \\"1390000****\\",\\n \\"BizSmsId\\": \\"524\\"\\n }\\n}","type":"json"}]', 'title' => 'Send card message', 'description' => '- 发送卡片短信为计费接口,卡片短信发送失败或渲染失败时不计费,详情请参见[多媒体短信定价](~~437951~~)。'."\n" .'- 目前卡片短信在内部邀约阶段,请联系您的阿里云商务经理申请开通或联系[阿里云售前咨询](https://help.aliyun.com/document_detail/464625.html?spm=a2c4g.11186623.0.0.213219fcSn2Ykj#section-81n-72q-ybm)。'."\n" .'- 卡片短信超时时间建议设置为≥3S;发生超时失败的情况时,建议查看回执状态后再判断是否重试。同时建议您在调用此接口时,不要开启SDK重试逻辑,否则可能会造成多次发送的情况。超时和重试的相关设置,请参见[超时机制](~~262079~~)、[重试机制](~~262080~~)。'."\n" .'- 国内短信、国际短信及多媒体短信目前均不支持幂等的能力,请您做好幂等控制,防止因多次重试而导致的重复操作问题。'."\n" .'- 发送卡片短信前需添加卡片短信模板且模板审核通过。本接口在发送短信时,会校验号码是否支持卡片短信。如果该手机号不支持发送卡片短信,可在接口中设置是否接受数字短信和文本短信的回落,提升发送的触达率。'."\n" ."\n" .'### QPS限制'."\n" .'本接口的单用户QPS限制为1000次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SendCardSms'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:SendCardSms', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'SendSms' => [ 'summary' => 'Sends an SMS message to one or more specified mobile numbers.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '102468', 'abilityTreeNodes' => ['FEATUREdysmsKC679O'], ], 'parameters' => [ [ 'name' => 'PhoneNumbers', 'in' => 'query', 'schema' => ['description' => 'The recipient\'s mobile number. The format varies based on the destination region:'."\n" ."\n" .'- For messages to the Chinese mainland: A mobile number, with or without a country code. Valid prefixes are +, +86, 0086, and 86. Example: 1390000\\*\\*\\*\\*.'."\n" ."\n" .'- For international messages or messages to Hong Kong, Macao, or Taiwan: Use the format \\[Country code]\\[Mobile number]. Example: 852000012\\*\\*\\*\\*.'."\n" ."\n" .'- To send a test message, bind a test mobile number in the [console](https://dysms.console.aliyun.com/quickstart).'."\n" ."\n" .'> To send a message to multiple numbers, separate them with commas (,). You can specify up to 1,000 mobile numbers per request. Bulk sending may have higher latency than sending single messages. For time-sensitive messages such as verification codes, we recommend sending them individually.', 'type' => 'string', 'required' => true, 'example' => '1390000****', 'title' => ''], ], [ 'name' => 'SignName', 'in' => 'query', 'schema' => ['description' => 'The signature name.'."\n" ."\n" .'Call the [QuerySmsSignList](~~419282~~) API or view your list of signatures in the [Short Message Service console](https://dysms.console.aliyun.com/domestic/text/sign). You must use a signature that has been **approved**.'."\n" ."\n" .'> - 1\\. If a verification code signature and a general-purpose signature share the same name, the general-purpose signature is used by default.'."\n" .'>'."\n" .'> - 2\\. The system uses the specified signature to send the message.', 'type' => 'string', 'required' => true, 'example' => '阿里云', 'title' => ''], ], [ 'name' => 'TemplateCode', 'in' => 'query', 'schema' => ['description' => 'The code of the template.'."\n" ."\n" .'Call the [QuerySmsTemplateList](~~419288~~) API or view your list of templates in the [Short Message Service console](https://dysms.console.aliyun.com/domestic/text/template). You must use the code of a template that has been **approved**.', 'type' => 'string', 'required' => true, 'example' => 'SMS_15305****', 'title' => ''], ], [ 'name' => 'TemplateParam', 'in' => 'query', 'schema' => ['description' => 'The values for the template variables, specified as a **JSON string**. This parameter is required if the template contains variables. The JSON string must provide a value for each variable.'."\n" ."\n" .'> - If the JSON string needs to include line breaks, format it according to standard JSON specifications.'."\n" .'>'."\n" .'> - For more information about template variable formatting, see [SMS template specifications](~~463161~~).', 'type' => 'string', 'required' => false, 'example' => '{"name":"张三","number":"1390000****"}', 'title' => ''], ], [ 'name' => 'SmsUpExtendCode', 'in' => 'query', 'schema' => ['description' => 'The upstream SMS extension code. An upstream SMS message is a message sent from a user to a service provider to subscribe to a service, make a query, or perform other tasks. Such messages are charged by the carrier at standard rates.'."\n" ."\n" .'> The system assigns a default extension code when a signature is created. Use this parameter to specify a different code. You can ignore this parameter if you do not have special requirements.', 'type' => 'string', 'required' => false, 'example' => '90999', 'title' => ''], ], [ 'name' => 'OutId', 'in' => 'query', 'schema' => ['description' => 'The external transaction ID.'."\n" ."\n" .'> You can ignore this parameter if you do not have special requirements.', 'type' => 'string', 'required' => false, 'example' => 'abcdefgh', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response body.', 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The request status code.'."\n" ."\n" .'- A value of `OK` indicates that the request was successful.'."\n" ."\n" .'- For other error codes, see [API error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'BizId' => ['description' => 'The delivery receipt ID.'."\n" ."\n" .'Use this ID to query the delivery status by calling the [QuerySendDetails](~~QuerySendDetails~~) API.', 'type' => 'string', 'example' => '9006197469364984****', 'title' => ''], 'RequestId' => ['description' => 'The Request ID.', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"BizId\\": \\"9006197469364984****\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\"\\n}","type":"json"}]', 'title' => 'SendSms', 'description' => 'Use this API to send an SMS message to a single mobile number. This API also supports sending messages with the same signature and template variables to multiple mobile numbers, up to 1,000 per request. Note that bulk sending may experience some latency. If you need to send messages with different signatures or template variables to multiple recipients, use the [SendBatchSms](~~419274~~) API, which supports up to 100 mobile numbers per request.'."\n" ."\n" .'### Usage notes'."\n" ."\n" .'- For SMS messages sent to the Chinese mainland, we recommend setting the timeout period to 1 second or longer. If a timeout occurs, check the delivery receipt status before retrying the request. For more information about timeout and retry settings, see [Timeout mechanism](~~262079~~) and [Retry mechanism](~~262080~~).'."\n" ."\n" .'- This API does not support idempotence for domestic, international, or multimedia SMS messages. You must implement your own idempotence controls to prevent sending duplicate messages during retries.'."\n" ."\n" .'- This is a billable API. For messages sent to the Chinese mainland, billing is based on the delivery receipt status from the carrier. You are not charged if the API call is successful but the carrier fails to deliver the message. For more information, see [Billing](~~44340~~).'."\n" ."\n" .'### QPS limit'."\n" ."\n" .'This API has a queries per second (QPS) limit of 5,000 for each user. The system throttles calls that exceed this limit. To avoid throttling, use this API within the specified limit.', 'requestParamsDescription' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SendSms'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:SendSms', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'SmsConversionIntl' => [ 'summary' => 'Feeds back the SMS delivery status corresponding to each message ID (MessageId) to the Alibaba Cloud International SMS platform.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '176603', 'abilityTreeNodes' => ['FEATUREdysmsWO2BNU'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'MessageId', 'in' => 'query', 'schema' => ['description' => 'Message ID.', 'type' => 'string', 'required' => true, 'example' => '1008030300****'."\n", 'title' => ''], ], [ 'name' => 'Delivered', 'in' => 'query', 'schema' => ['description' => 'Set to true if your user replied to the message you sent. Otherwise, set to false.', 'type' => 'boolean', 'required' => true, 'example' => 'true', 'title' => ''], ], [ 'name' => 'ConversionTime', 'in' => 'query', 'schema' => ['description' => 'The timestamp at which the message reached the recipient. Must be a Unix timestamp, expressed as a long integer in milliseconds.'."\n" ."\n" .'- If this field is not specified: defaults to the current timestamp.'."\n" ."\n" .'- If this field is specified: the timestamp must be greater than the send time and less than the current timestamp.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1349055900000', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters returned by the API.', 'type' => 'object', 'properties' => [ 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8D****'."\n", 'title' => ''], 'Code' => ['description' => 'The status code. A return value of OK indicates that the request was successful. For other error codes, see [Error Code List](https://help.aliyun.com/document_detail/101346.html?spm=a2c4g.101345.0.0.74326ff2J5EZyt).', 'type' => 'string', 'example' => 'OK', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8D****\\\\n\\",\\n \\"Code\\": \\"OK\\"\\n}","type":"json"}]', 'title' => 'Domestic-to-International SMS Conversion Feedback', 'description' => 'Metric definitions:'."\n" ."\n" .'- OTP send volume: the number of verification codes sent.'."\n" ."\n" .'- OTP conversion volume: the number of verification codes converted (the number of times a user successfully obtained a verification code and reported it back).'."\n" ."\n" .'Conversion rate = OTP conversion volume / OTP send volume.'."\n" ."\n" .'> The conversion rate feedback feature has a certain level of intrusiveness on the business system. To prevent jitter in conversion rate API calls from affecting business logic, please consider the following: - Call the API in asynchronous mode (for example, using a queue or event-driven approach). - Add a degradable solution to protect business logic (for example, manual degradation, or automatic degradation using a circuit breaker).', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SmsConversionIntl'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:SmsConversionIntl', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'SubmitSmsQualification' => [ 'summary' => 'Submits an SMS qualification application. As required by the Ministry of Industry and Information Technology (MIIT) and carriers for real-name SMS sending, domestic SMS services require qualification credential information of the signature owner. Apply for an SMS qualification first, and then apply for signatures and templates.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'abilityTreeCode' => '264876', 'abilityTreeNodes' => ['FEATUREdysmsJ2BZAJ'], ], 'parameters' => [ [ 'name' => 'QualificationName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The qualification name, used to manage and distinguish multiple qualifications you apply for. It does not appear in SMS content. The name must be unique among your existing qualifications. Only Chinese characters, English letters, or combinations with digits are supported. Symbols or pure digits are not supported. Maximum length: 100 characters.', 'type' => 'string', 'required' => true, 'example' => '阿里云云通信有限公司资质李华'], ], [ 'name' => 'UseBySelf', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The purpose of the qualification application. Valid values:'."\n" ."\n" .'- **true**: **Self-use**. The entity that owns the signature is the same as the entity verified for this account.'."\n" .'- **false**: **Third-party use**. The entity that owns the signature is different from the entity verified for this account.', 'type' => 'boolean', 'required' => true, 'example' => 'true'], ], [ 'name' => 'CompanyType', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The enterprise type. Valid values:'."\n" ."\n" .'- COMPANY: enterprise.'."\n" ."\n" .'- NON_PROFIT_ORGANIZATION: government agency or public institution.', 'type' => 'string', 'required' => true, 'example' => 'COMPANY'], ], [ 'name' => 'BusinessLicensePics', 'in' => 'query', 'style' => 'json', 'schema' => [ 'title' => '', 'description' => 'The business license information. This parameter is required when the qualification purpose `UseBySelf` is set to `false` (third-party use).'."\n" .'> - Based on carrier real-name registration regulatory requirements, we strongly recommend that you provide the relevant field information. Otherwise, the probability of "review rejection or carrier registration failure" increases significantly.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Type' => ['title' => '', 'description' => 'The business license type. Valid values:'."\n" ."\n" .'- socialCreditLicense: unified social credit code certificate.'."\n" .'- businessLicense: business license.'."\n" .'- signLegalLicense: public institution legal person certificate.'."\n" .'- otherLicense: other.'."\n" ."\n" .'Upload one type. The certificate must contain the enterprise name, unified social credit code, and certificate validity period.', 'type' => 'string', 'required' => false, 'example' => 'businessLicense'], 'LicensePic' => ['title' => '', 'description' => 'The business license image. Only jpg, png, gif, and jpeg formats are supported. The image must not exceed 5 MB. Specify the file path uploaded to OSS. The file name must not contain Chinese characters or special characters. For upload instructions, see [Upload files through OSS](~~2833114~~).'."\n" ."\n\n" .'>'."\n" ."\n" .'Color originals do not require a stamp. If you upload a photocopy or black-and-white photo, stamp the photocopy with the company seal and take a photo to upload.'."\n" .'>.', 'type' => 'string', 'required' => false, 'example' => '123456/111.png'], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'example' => '', ], ], [ 'name' => 'CompanyName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The enterprise name. Only the middle dot `·`, Chinese brackets `【】()`, English parentheses `()`, and `spaces` are supported as symbols. Other symbols or pure digits are not allowed. Maximum length: 150 characters.', 'type' => 'string', 'required' => true, 'example' => '阿里云云通信有限公司'], ], [ 'name' => 'OrganizationCode', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The unified social credit code. Maximum length: 150 characters.', 'type' => 'string', 'required' => true, 'example' => '910X********0012'], ], [ 'name' => 'BussinessLicenseExpDate', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The business license validity period. Format: YYYY-MM-DD~YYYY-MM-DD.'."\n" .'> If the certificate has a long-term validity period, set the end date to 2099-12-31.', 'type' => 'string', 'required' => true, 'example' => '2023-01-01~2033-01-01'], ], [ 'name' => 'LegalPersonIdCardFrontSide', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The front photo of the legal representative\'s ID card (national emblem side). Only jpg, png, gif, and jpeg formats are supported. The image must not exceed 5 MB. Specify the file path uploaded to OSS. The file name must not contain Chinese characters or special characters. For upload instructions, see [Upload files through OSS](~~2833114~~).'."\n" ."\n\n" .'> The system verifies the legal representative\'s name and ID number you provide. If verification fails, you must upload photos of the legal representative\'s ID card.', 'type' => 'string', 'required' => false, 'example' => '123456/111.png'], ], [ 'name' => 'LegalPersonIdCardBackSide', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The back photo of the legal representative\'s ID card (portrait side). Only jpg, png, gif, and jpeg formats are supported. The image must not exceed 5 MB. Specify the file path uploaded to OSS. The file name must not contain Chinese characters or special characters. For upload instructions, see [Upload files through OSS](~~2833114~~).'."\n" ."\n" .'> The system verifies the legal representative\'s name and ID number you provide. If verification fails, you must upload photos of the legal representative\'s ID card.', 'type' => 'string', 'required' => false, 'example' => '123456/111.png'], ], [ 'name' => 'LegalPersonName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The legal representative\'s name. Maximum length: 50 characters.'."\n" ."\n" .'> - If the organization certificate does not contain legal representative information but includes a person in charge or chief representative, prepare the ID card photos of the corresponding person in charge or chief representative listed on the certificate.'."\n" .'> - If the organization certificate contains neither legal representative information nor any person in charge, prepare the name and ID card photos of the primary business contact.', 'type' => 'string', 'required' => true, 'example' => '李华'], ], [ 'name' => 'LegalPersonIDCardNo', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The legal representative\'s ID card number.', 'type' => 'string', 'required' => true, 'example' => '511391********5123'], ], [ 'name' => 'LegalPersonIdCardEffTime', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The legal representative\'s ID card validity period. Format: YYYY-MM-DD~YYYY-MM-DD.'."\n" .'> If the ID card has a long-term validity period, set the end date to 2099-12-31.', 'type' => 'string', 'required' => true, 'example' => '2023-01-01~2033-01-01'], ], [ 'name' => 'LegalPersonIDCardType', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The legal representative\'s ID card type. Valid values:'."\n" ."\n" .'- identityCard: ID card.'."\n" .'- passport: passport.'."\n" .'- homeReturnPermit: Hong Kong/Macao resident travel permit to mainland.'."\n" .'- TaiwanCompatriotPermit: Taiwan resident travel permit to mainland.'."\n" .'- residencePermit: Hong Kong/Macao/Taiwan resident residence permit.'."\n" .'- other: other.', 'type' => 'string', 'required' => true, 'example' => 'identityCard'], ], [ 'name' => 'AdminIDCardPic', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The back photo of the administrator\'s ID card (portrait side). Only jpg, png, gif, and jpeg formats are supported. The image must not exceed 5 MB. Specify the file path uploaded to OSS. The file name must not contain Chinese characters or special characters. For upload instructions, see [Upload files through OSS](~~2833114~~).'."\n" ."\n" .'>'."\n" .'Color originals do not require a stamp. If you upload a photocopy or black-and-white photo, stamp the photocopy with the company seal and take a photo to upload.'."\n" ."\n" .'>.', 'type' => 'string', 'required' => true, 'example' => '123456/111.png'], ], [ 'name' => 'AdminIDCardFrontFace', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The front photo of the administrator\'s ID card (national emblem side). Only jpg, png, gif, and jpeg formats are supported. The image must not exceed 5 MB. Specify the file path uploaded to OSS. The file name must not contain Chinese characters or special characters. For upload instructions, see [Upload files through OSS](~~2833114~~).'."\n" ."\n" .'>'."\n" .'Color originals do not require a stamp. If you upload a photocopy or black-and-white photo, stamp the photocopy with the company seal and take a photo to upload.'."\n" ."\n" .'>.', 'type' => 'string', 'required' => true, 'example' => '123456/111.png'], ], [ 'name' => 'AdminName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The administrator\'s name. Maximum length: 50 characters. **Under the current [SMS signature real-name requirements](~~2873145~~), if the same administrator applies for qualifications for multiple different enterprises, carrier registration will fail. Ensure one administrator per enterprise to improve the registration success rate.**'."\n" ."\n" .'> The administrator (also called the handler) is the person who logs on to the Alibaba Cloud account and manages SMS services. This person typically manages qualifications, signatures, and templates under this Alibaba Cloud account and performs SMS sending operations. This person\'s phone number must be able to receive verification codes. The administrator does not have to be the Alibaba Cloud account administrator and can be the same person as the legal representative.', 'type' => 'string', 'required' => true, 'example' => '李华'], ], [ 'name' => 'AdminIDCardNo', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The administrator\'s ID card number.', 'type' => 'string', 'required' => true, 'example' => '511391********5123'], ], [ 'name' => 'AdminIDCardType', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The administrator\'s ID card type. Valid values:'."\n" ."\n" .'- identityCard: ID card.'."\n" .'- passport: passport.'."\n" .'- homeReturnPermit: Hong Kong/Macao resident travel permit to mainland.'."\n" .'- TaiwanCompatriotPermit: Taiwan resident travel permit to mainland.'."\n" .'- residencePermit: Hong Kong/Macao/Taiwan resident residence permit.'."\n" .'- other: other.', 'type' => 'string', 'required' => true, 'example' => 'identityCard'], ], [ 'name' => 'AdminIDCardExpDate', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The administrator\'s ID card validity period. Format: YYYY-MM-DD~YYYY-MM-DD.'."\n" .'> If the ID card has a long-term validity period, set the end date to 2099-12-31.', 'type' => 'string', 'required' => true, 'example' => '2023-01-01~2033-01-01'], ], [ 'name' => 'AdminPhoneNo', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The administrator\'s phone number. Format: +/+86/0086/86 or a phone number without any prefix, such as 1390000****.', 'type' => 'string', 'required' => true, 'example' => '137****1234'], ], [ 'name' => 'CertifyCode', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The phone verification code. Call the [RequiredPhoneCode](~~RequiredPhoneCode~~) operation with the **administrator\'s phone number**, and then enter the SMS verification code received.'."\n" ."\n" .'> You can use [ValidPhoneCode](~~ValidPhoneCode~~) to verify whether the SMS verification code is correct before passing it in.', 'type' => 'string', 'required' => true, 'example' => '1234'], ], [ 'name' => 'OtherFiles', 'in' => 'query', 'style' => 'json', 'schema' => [ 'title' => '', 'description' => 'Additional materials. If you have other supporting documents, notes, or photos, upload them here.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'LicensePic' => ['description' => 'The additional material file. Only png, jpg, jpeg, doc, docx, and pdf formats are supported. The file must not exceed 5 MB. Specify the file path uploaded to OSS. The file name must not contain Chinese characters or special characters. For upload instructions, see [Upload files through OSS](~~2833114~~).', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '123456/111.png'], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'example' => '', ], ], [ 'name' => 'WhetherShare', 'in' => 'query', 'schema' => [ 'title' => '', 'description' => 'Qualification authorization. Specifies whether to share the qualification with other cloud communication products (such as domestic voice services and domestic number privacy protection). Sharing is available only when you apply for a **self-use qualification** and the qualification information **matches the enterprise information verified for the current Alibaba Cloud account**. Otherwise, this setting has no effect. Valid values:'."\n" ."\n" .'- true: Agree. Your qualification information can be referenced during the qualification verification process of other cloud communication products, eliminating redundant verification.'."\n" .'- false: Disagree.', 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'type' => 'boolean', 'required' => true, 'example' => 'false', ], ], [ 'name' => 'Remark', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Remarks. If you have additional information to provide or notes for the qualification verification reviewer, add a description here.', 'type' => 'string', 'required' => false, 'example' => '无'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'AccessDeniedDetail' => ['description' => 'The access denial details. This field is returned only when RAM authentication fails.', 'type' => 'string', 'example' => '无', 'title' => ''], 'RequestId' => ['description' => 'The request ID generated by Alibaba Cloud for this request. You can use it to troubleshoot issues.', 'type' => 'string', 'title' => '', 'example' => '25D5AFDE-8EBC-132E-8909-1FDC071DA'."\n"], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Data' => ['description' => 'The qualification ID.', 'type' => 'string', 'title' => '', 'example' => '1000****'], 'Code' => ['description' => 'The request status code.'."\n" ."\n" .'* OK indicates a successful request.'."\n" .'* For other error codes, see the error code list in this section or [API error codes](~~101346~~).', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Success' => [ 'description' => 'Indicates whether the API call was successful. Valid values:'."\n" ."\n" .'- **true**: The call was successful.'."\n" .'- **false**: The call failed.', 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'type' => 'boolean', 'title' => '', 'example' => 'true', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'AdminBackOssFileNotUploadError', 'errorMessage' => 'Administrator ID card portrait photo not uploaded.', 'description' => ''], ['errorCode' => 'AdminDateNotValid', 'errorMessage' => 'Current time is outside the administrator ID card validity period.', 'description' => ''], ['errorCode' => 'AdminIdcardExpdateNotMatchRegexError', 'errorMessage' => 'Invalid administrator ID card expiration time format.', 'description' => ''], ['errorCode' => 'AdminIdcardFrontFaceFileError', 'errorMessage' => 'Invalid format for administrator\'s ID card national emblem photo.', 'description' => ''], ['errorCode' => 'AdminIdcardFrontFaceNullError', 'errorMessage' => 'Administrator\'s ID card national emblem photo cannot be empty.', 'description' => ''], ['errorCode' => 'AdminIdcardNoNullError', 'errorMessage' => 'Administrator\'s ID number cannot be empty.', 'description' => ''], ['errorCode' => 'AdminIdcardNotMatchRegex', 'errorMessage' => 'Invalid administrator ID number format.', 'description' => ''], ['errorCode' => 'AdminIdcardPicsFileError', 'errorMessage' => 'Invalid format for administrator\'s ID card portrait photo.', 'description' => ''], ['errorCode' => 'AdminIdcardPicsNullError', 'errorMessage' => 'Administrator\'s ID card portrait photo cannot be empty.', 'description' => ''], ['errorCode' => 'AdminIdcardTypeError', 'errorMessage' => 'Invalid administrator ID card type.', 'description' => ''], ['errorCode' => 'AdminNameNullError', 'errorMessage' => 'Administrator\'s name cannot be empty.', 'description' => ''], ['errorCode' => 'BusinessLicenseDateNotMatchRegexError', 'errorMessage' => 'Invalid business license expiration time format.', 'description' => ''], ['errorCode' => 'BusinessLicenseDateNotValid', 'errorMessage' => 'Current time is outside the business license validity period.', 'description' => ''], ['errorCode' => 'BusinessLicenseOssFileNotUploadError', 'errorMessage' => 'Business license file not uploaded.', 'description' => ''], ['errorCode' => 'BusinessLicensePicsFileError', 'errorMessage' => 'Invalid business license file format.', 'description' => ''], ['errorCode' => 'BusinessLicensePicsNullError', 'errorMessage' => 'Business license documents cannot be empty.', 'description' => ''], ['errorCode' => 'BusinessLicenseTypeError', 'errorMessage' => 'Invalid business license type.', 'description' => ''], ['errorCode' => 'CertifyCodeError', 'errorMessage' => 'SMS verification code is incorrect.', 'description' => ''], ['errorCode' => 'CompanyNameNullError', 'errorMessage' => 'Company name cannot be empty.', 'description' => ''], ['errorCode' => 'CompanyTypeError', 'errorMessage' => 'Invalid company type.', 'description' => ''], ['errorCode' => 'QualificationNameNullError', 'errorMessage' => 'Qualification name cannot be empty.', 'description' => ''], ['errorCode' => 'QualificationNameNotMatchRegex', 'errorMessage' => 'Qualification names must be in Chinese, English, or alphanumeric combinations. Symbols or pure numbers are not supported.', 'description' => ''], ['errorCode' => 'QualificationNameAlreadyExist', 'errorMessage' => 'The qualification name already exists. Please modify and resubmit.', 'description' => ''], ['errorCode' => 'OtherFileTypeError', 'errorMessage' => 'Invalid file format for other documents.', 'description' => ''], ['errorCode' => 'LegalPersonIdcardTypeError', 'errorMessage' => 'Invalid legal person ID card type.', 'description' => ''], ['errorCode' => 'LegalIdCardNoNullError', 'errorMessage' => 'Legal person\'s ID number cannot be empty.', 'description' => ''], ['errorCode' => 'LegalIdCardNotMatchRegex', 'errorMessage' => 'Invalid legal person ID number format.', 'description' => ''], ['errorCode' => 'LegalPersonNameNullError', 'errorMessage' => 'Legal person\'s name cannot be empty.', 'description' => ''], ['errorCode' => 'OrganizationCodeNullError', 'errorMessage' => 'Unified Social Credit Code cannot be empty.', 'description' => ''], ['errorCode' => 'LegalPersonIdcardEfftimeNotMatchRegexError', 'errorMessage' => 'Invalid legal person ID card expiration time format.', 'description' => ''], ['errorCode' => 'LegalDateNotValid', 'errorMessage' => 'Current time is outside the legal person ID card validity period.', 'description' => ''], ['errorCode' => 'LegalFrontOssFileNotUploadError', 'errorMessage' => 'Legal person ID card national emblem photo not uploaded.', 'description' => ''], ['errorCode' => 'LegalBackOssFileNotUploadError', 'errorMessage' => 'Legal person ID card portrait photo not uploaded.', 'description' => ''], ['errorCode' => 'AdminFrontOssFileNotUploadError', 'errorMessage' => 'Administrator ID card national emblem photo not uploaded.', 'description' => ''], ['errorCode' => 'OtherOssFileNotUploadError', 'errorMessage' => 'Other files not uploaded.', 'description' => ''], ['errorCode' => 'GrayCustAccessError', 'errorMessage' => 'This customer is not authorized to use the OpenAPI. Please contact support for whitelisting.', 'description' => ''], ['errorCode' => 'CustNotExistError', 'errorMessage' => 'Customer\'s cloud communication information is invalid.', 'description' => ''], ['errorCode' => 'NotEnterpriseCertifyCustCheckError', 'errorMessage' => 'Non-enterprise certified customers are not allowed to access.', 'description' => ''], ['errorCode' => 'PhoneNoCertifyCodeNullError', 'errorMessage' => 'Phone number and verification code cannot be empty.', 'description' => ''], ['errorCode' => 'CompanyVerificationFailedCompanyStateInvalid', 'errorMessage' => 'Four Elements Verification Failed: Company is not in normal operation.', 'description' => ''], ['errorCode' => 'CompanyVerificationFailedFourElementsError', 'errorMessage' => 'Four Elements Verification Failed: Authentication Failed.', 'description' => ''], ['errorCode' => 'CompanyVerificationFailedMismatch', 'errorMessage' => 'Four Elements Verification Failed: Mismatch between Legal Representative and Company Information.', 'description' => 'The verification of the four elements of the enterprise fails, and the verification of the legal person and the enterprise information is inconsistent.'], ['errorCode' => 'CompanyVerificationFailedNoCompany', 'errorMessage' => 'Four Elements Verification Failed: Company Not Found.', 'description' => ''], ['errorCode' => 'CompanyVerificationFailedNoLegalPerson', 'errorMessage' => 'Four Elements Verification Failed: Legal Representative Not Found.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"RequestId\\": \\"25D5AFDE-8EBC-132E-8909-1FDC071DA\\\\n\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": \\"1000****\\",\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Apply for SMS qualification', 'description' => '- Before submitting an application, read [Qualification material description](~~2384377~~) and prepare the required qualification materials.'."\n" .'- Currently, only users who have completed **verify your identity - Enterprise account** can use the API to apply for SMS qualifications. If your Alibaba Cloud account has completed verify your identity - Individual account, apply for qualifications through the Short Message Service [console](https://dysms.console.aliyun.com/domestic/text/qualification/add), or [upgrade to verify your identity - Enterprise account](~~37178~~). [View my account verification type](https://myaccount.console.aliyun.com/cert-info)'."\n" .'- Batch qualification applications are not supported. Wait at least 5 seconds between applications.', 'requestParamsDescription' => '>'."\n" ."\n" .'For specific requirements on SMS qualification materials, see [Qualification material description](~~2384377~~). Requirements may be adjusted in real time based on MIIT and carrier policies. The actual review results prevail.'."\n" ."\n" .'>.', 'changeSet' => [ ['createdAt' => '2025-08-01T04:05:20.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [], ], 'TagResources' => [ 'summary' => 'Tags can mark resources, allowing enterprises or individuals to classify templates of the same type for easier search and resource aggregation. Call this operation to bind tags to SMS templates.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '102472', 'abilityTreeNodes' => ['FEATUREdysmsGD2ZLS'], ], 'parameters' => [ [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => ['description' => 'The resource type. Default value: **TEMPLATE**.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'TEMPLATE', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID. Default value: **cn-hangzhou**. For more region IDs, see [Endpoints](~~419270~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'ProdCode', 'in' => 'query', 'schema' => ['description' => 'The product name. Default value: **dysms**.', 'type' => 'string', 'required' => false, 'default' => 'dysms', 'example' => 'dysms', 'title' => ''], ], [ 'name' => 'Tag', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tags. You can add up to 20 tags at a time.', 'type' => 'array', 'items' => [ 'description' => 'The tag.', 'type' => 'object', 'properties' => [ 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'required' => false, 'example' => 'TestKey', 'title' => ''], 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'required' => false, 'example' => 'TestValue', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => true, 'maxItems' => 21, 'title' => '', 'example' => '', ], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The SMS template codes. The number of codes cannot exceed 20.', 'type' => 'array', 'items' => ['description' => 'The SMS template code.'."\n" ."\n" .'>- Obtain the SMS template code from the response parameters of the [CreateSmsTemplate](~~CreateSmsTemplate~~) operation.'."\n" .'>- View the SMS template code on the [Domestic Messages > Template Management](https://dysms.console.aliyun.com/domestic/text/template) page.', 'type' => 'string', 'required' => false, 'example' => 'SMS_2342****', 'title' => ''], 'required' => false, 'example' => 'SMS_23423423', 'maxItems' => 51, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The request status code. Valid values:'."\n" ."\n" .'- OK: The request was successful.'."\n" .'- For other error codes, see [Error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => ['description' => 'The result of adding the tags. Valid values:'."\n" ."\n" .'- **true**: success.'."\n" .'- **false**: failure.', 'type' => 'string', 'example' => 'true', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '819BE656-D2E0-4858-8B21-B2E477085AAF'."\n", 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => 'No access, please contact administrator.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Data\\": \\"true\\",\\n \\"RequestId\\": \\"819BE656-D2E0-4858-8B21-B2E477085AAF\\\\n\\"\\n}","type":"json"}]', 'title' => 'Add template tags', 'description' => '- Each template can be bound to up to 20 tags.'."\n" .'- The tag key (Key) must be unique within the same template. If a template has two tags with the same Key but different Values, the new value overwrites the old value.'."\n" .'- This feature is only available for domestic text messages of Short Message Service on the China site.'."\n" ."\n" .'### QPS limit'."\n" .'The per-user QPS limit of this operation is 50 calls per second. If the limit is exceeded, API calls are throttled, which may affect your business. Call this operation at a reasonable frequency.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'dysms:TagResources', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'UntagResources' => [ 'summary' => 'Tags can mark resources, allowing enterprises or individuals to categorize templates of the same type for easier search and resource aggregation. If a template is no longer applicable to its currently bound tags, you can unbind the tags from the template. You can delete a single tag or delete tags in batches.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'systemTags' => [ 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '102473', 'abilityTreeNodes' => ['FEATUREdysmsGD2ZLS'], ], 'parameters' => [ [ 'name' => 'ResourceType', 'in' => 'query', 'schema' => ['description' => 'The resource type. Set the value to TEMPLATE by default.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'TEMPLATE', 'title' => ''], ], [ 'name' => 'RegionId', 'in' => 'query', 'schema' => ['description' => 'The region ID. Set the value to cn-hangzhou by default.'."\n" .'For more region IDs, see [Service endpoints](~~419270~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'All', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to delete all tags under the template. Valid values:'."\n" ."\n" .'- **true**: yes.'."\n" .'- **false**: no.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''], ], [ 'name' => 'ProdCode', 'in' => 'query', 'schema' => ['description' => 'The product name. Default value: **dysms**.', 'type' => 'string', 'required' => false, 'default' => 'dysms', 'example' => 'dysms', 'title' => ''], ], [ 'name' => 'TagKey', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The tag key. You can add no more than 20 tags at a time.', 'type' => 'array', 'items' => ['description' => 'The tag key.'."\n" .'You can view the tag key on the Tags column of the [Template Management](https://dysms.console.aliyun.com/domestic/text/template) page.', 'type' => 'string', 'required' => false, 'example' => 'sampleTagKey', 'title' => ''], 'required' => false, 'example' => 'TestKey', 'maxItems' => 21, 'title' => '', ], ], [ 'name' => 'ResourceId', 'in' => 'query', 'style' => 'repeatList', 'schema' => [ 'description' => 'The SMS template code. The number of codes cannot exceed 20.', 'type' => 'array', 'items' => ['description' => 'The SMS template code.'."\n" ."\n" .'>- You can obtain the SMS template code from the response parameters of the [CreateSmsTemplate](~~CreateSmsTemplate~~) operation.'."\n" .'>- You can view the SMS template code on the [Domestic Messages > Template Management](https://dysms.console.aliyun.com/domestic/text/template) page.', 'type' => 'string', 'required' => false, 'example' => 'SMS_2342****', 'title' => ''], 'required' => false, 'example' => 'SMS_23423423', 'maxItems' => 51, 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'The request status code. Valid values:'."\n" ."\n" .'- OK: The request was successful.'."\n" .'- For other error codes, see [Error code list](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Data' => ['description' => 'The execution result of deleting the tag. Valid values:'."\n" ."\n" .'- **true**: success.'."\n" ."\n" .'- **false**: failure.', 'type' => 'string', 'example' => 'true', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '819BE656-D2E0-4858-8B21-B2E477085AAF'."\n", 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 200 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => 'No access, please contact administrator.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Data\\": \\"true\\",\\n \\"RequestId\\": \\"819BE656-D2E0-4858-8B21-B2E477085AAF\\\\n\\"\\n}","type":"json"}]', 'title' => 'Delete Template Tags', 'description' => '### QPS limit'."\n" .'The QPS limit per user for this operation is 50 calls per second. If the limit is exceeded, API calls will be throttled, which may affect your business. Please call the operation reasonably.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UntagResources'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dysms:UntagResources', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'UpdateSmsQualification' => [ 'summary' => 'If you need to update SMS qualification information, you can submit a modification request through this API. After submission, it will re-enter the review process.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '264875', 'abilityTreeNodes' => ['FEATUREdysmsJ2BZAJ'], ], 'parameters' => [ [ 'name' => 'QualificationGroupId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The qualification ID, that is, the ID returned when you [apply for SMS qualification](~~SubmitSmsQualification~~). You can obtain the qualification IDs under the current account by calling [Query Qualification List](~~QuerySmsQualificationRecord~~).', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '10000****'], ], [ 'name' => 'OrderId', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The review order ID. You can obtain the qualifications and their corresponding review order IDs under the current account by calling [Query Qualification List](~~QuerySmsQualificationRecord~~).', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '2001*****'], ], [ 'name' => 'BusinessLicensePics', 'in' => 'query', 'style' => 'json', 'schema' => [ 'title' => '', 'description' => 'Enterprise business license information. This parameter is required when the purpose of the qualification to be modified is for use by others.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Type' => ['title' => '', 'description' => 'Business license type. Valid values:'."\n" ."\n" .'- socialCreditLicense: Social credit code certificate.'."\n" .'- businessLicense: Enterprise business license.'."\n" .'- signLegalLicense: Public institution legal person certificate.'."\n" .'- otherLicense: Other.'."\n" ."\n" .'Choose one to upload. The certificate must contain: enterprise name, unified social credit code, and certificate validity period.', 'type' => 'string', 'required' => false, 'example' => 'businessLicense'], 'LicensePic' => ['title' => '', 'description' => 'Business license image. Only jpg, png, gif, and jpeg image formats are supported, and the image must not exceed 5 MB. Please provide the path of the file uploaded to OSS. The file name to be uploaded must not contain Chinese characters or special characters. For upload operations, see [Upload Files via OSS](~~2833114~~).'."\n" ."\n" .'>'."\n" .'No stamp is required for color originals of the certificate. If you upload a photocopy or black-and-white photo, you must affix the enterprise red seal to the photocopy and take a photo to upload.'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => '123456/111.png'], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'example' => '', ], ], [ 'name' => 'CompanyName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Enterprise name. Supported symbols are only the middle dot `·`, the Chinese symbols `【】()`, the English symbols `()`, and the `space`. Other symbols or pure numbers are not allowed. The length must not exceed 150 characters.', 'type' => 'string', 'required' => false, 'example' => '阿里云云通信有限公司'], ], [ 'name' => 'BussinessLicenseExpDate', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Validity period of the business license. Format: YYYY-MM-DD~YYYY-MM-DD.'."\n" .'> When the certificate validity period is long-term, the end date can be set to 2099-12-31.', 'type' => 'string', 'required' => false, 'example' => '2023-01-01~2033-01-01'], ], [ 'name' => 'LegalPersonIdCardFrontSide', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Photo of the front of the legal representative\'s ID card (national emblem side). Only jpg, png, gif, and jpeg image formats are supported, and the image must not exceed 5 MB. Please provide the path of the file uploaded to OSS. The file name to be uploaded must not contain Chinese characters or special characters. For upload operations, see [Upload Files via OSS](~~2833114~~).'."\n" .'> The system will use the legal person name and ID number you provide for verification. If the verification fails, you need to upload a photo of the legal representative\'s ID card.', 'type' => 'string', 'required' => false, 'example' => '123456/111.png'."\n"], ], [ 'name' => 'LegalPersonIdCardBackSide', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Photo of the back of the legal representative\'s ID card (portrait side). Only jpg, png, gif, and jpeg image formats are supported, and the image must not exceed 5 MB. Please provide the path of the file uploaded to OSS. The file name to be uploaded must not contain Chinese characters or special characters. For upload operations, see [Upload Files via OSS](~~2833114~~).'."\n" .'> The system will use the legal person name and ID number you provide for verification. If the verification fails, you need to upload a photo of the legal representative\'s ID card.', 'type' => 'string', 'required' => false, 'example' => '123456/111.png'."\n"], ], [ 'name' => 'LegalPersonName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Name of the legal representative.'."\n" ."\n" .'> - If there is no legal representative information on the organization\'s certificate, but there is information about a person in charge / chief representative or similar, please prepare the ID card photo of the corresponding person in charge or chief representative listed on the certificate.'."\n" .'> - If there is no legal representative information on the organization\'s certificate, and there is no information about any person in charge, please prepare the name and ID card photo of the main business contact person.', 'type' => 'string', 'required' => false, 'example' => '李华'], ], [ 'name' => 'LegalPersonIDCardNo', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Legal person\'s ID number.', 'type' => 'string', 'required' => false, 'example' => ' '."\n" .'511391********5123'."\n"], ], [ 'name' => 'LegalPersonIdCardEffTime', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Validity period of the legal person ID card. Format: YYYY-MM-DD~YYYY-MM-DD.'."\n" .'> When the certificate validity period is long-term, the end date can be set to 2099-12-31.', 'type' => 'string', 'required' => false, 'example' => '2023-01-01~2033-01-01'], ], [ 'name' => 'LegalPersonIDCardType', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Legal person ID card type. Valid values:'."\n" ."\n" .'- identityCard: ID card.'."\n" .'- passport: Passport.'."\n" .'- homeReturnPermit: Mainland Travel Permit for Hong Kong and Macao Residents.'."\n" .'- TaiwanCompatriotPermit: Mainland Travel Permit for Taiwan Residents.'."\n" .'- residencePermit: Residence Permit for Hong Kong, Macao, and Taiwan Residents.'."\n" .'- other: Other.', 'type' => 'string', 'required' => false, 'example' => 'identityCard'], ], [ 'name' => 'AdminIDCardPic', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Photo of the back of the administrator\'s ID card (portrait side). Only jpg, png, gif, and jpeg image formats are supported, and the image must not exceed 5 MB. Please provide the path of the file uploaded to OSS. The file name to be uploaded must not contain Chinese characters or special characters. For upload operations, see [Upload Files via OSS](~~2833114~~).'."\n" ."\n" .'>'."\n" .' No stamp is required for color originals of the certificate. If you upload a photocopy or black-and-white photo, you must affix the enterprise red seal to the photocopy and take a photo to upload.'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => '123456/111.png'."\n"], ], [ 'name' => 'AdminIDCardFrontFace', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Photo of the front of the administrator\'s ID card (national emblem side). Only jpg, png, gif, and jpeg image formats are supported, and the image must not exceed 5 MB. Please provide the path of the file uploaded to OSS. The file name to be uploaded must not contain Chinese characters or special characters. For upload operations, see [Upload Files via OSS](~~2833114~~).'."\n" ."\n" .'>'."\n" .'No stamp is required for color originals of the certificate. If you upload a photocopy or black-and-white photo, you must affix the enterprise red seal to the photocopy and take a photo to upload.'."\n" .'>', 'type' => 'string', 'required' => false, 'example' => '123456/111.png'."\n"], ], [ 'name' => 'AdminName', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Administrator name.'."\n" ."\n" .'> The administrator (also known as the operator) refers to the person who logs in to the Alibaba Cloud account and manages the SMS service. Generally, this is the operations personnel who manages qualifications, signatures, and templates and sends SMS messages under this Alibaba Cloud account, and whose phone number can receive verification codes. The administrator is not necessarily the administrator of this Alibaba Cloud account. The administrator can be the same person as the enterprise\'s legal representative.', 'type' => 'string', 'required' => false, 'example' => '李华'], ], [ 'name' => 'AdminIDCardNo', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Administrator\'s ID number.', 'type' => 'string', 'required' => false, 'example' => '511391********5123'."\n"], ], [ 'name' => 'AdminIDCardExpDate', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Validity period of the administrator ID card. Format: YYYY-MM-DD~YYYY-MM-DD.'."\n" .'> When the certificate validity period is long-term, the end date can be set to 2099-12-31.', 'type' => 'string', 'required' => false, 'example' => '2023-01-01~2033-01-01'."\n" ."\n"], ], [ 'name' => 'AdminPhoneNo', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Administrator\'s mobile phone number. Format: +/+86/0086/86 prefix or a phone number without any prefix, for example, 1390000****.', 'type' => 'string', 'required' => true, 'example' => '137********'], ], [ 'name' => 'CertifyCode', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Phone verification code. Please call the [RequiredPhoneCode](~~RequiredPhoneCode~~) API and pass in the **administrator\'s phone number**, then enter the SMS verification code you receive here.'."\n" ."\n" .'> You can use [ValidPhoneCode](~~ValidPhoneCode~~) to verify whether the SMS verification code is correct before passing it in.', 'type' => 'string', 'required' => true, 'example' => '1234'], ], [ 'name' => 'AdminIDCardType', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Administrator ID card type. Valid values:'."\n" ."\n" .'- identityCard: ID card.'."\n" .'- passport: Passport.'."\n" .'- homeReturnPermit: Mainland Travel Permit for Hong Kong and Macao Residents.'."\n" .'- TaiwanCompatriotPermit: Mainland Travel Permit for Taiwan Residents.'."\n" .'- residencePermit: Residence Permit for Hong Kong, Macao, and Taiwan Residents.'."\n" .'- other: Other.', 'type' => 'string', 'required' => false, 'example' => 'identityCard'], ], [ 'name' => 'OtherFiles', 'in' => 'query', 'style' => 'json', 'schema' => [ 'title' => '', 'description' => 'Additional materials. If you have other supporting or supplementary materials, photos, etc., you can upload them here.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'LicensePic' => ['description' => 'Additional material file. Only png, jpg, jpeg, doc, docx, and pdf formats are supported, and the file must not exceed 5 MB. Please provide the path of the file uploaded to OSS. The file name to be uploaded must not contain Chinese characters or special characters. For upload operations, see [Upload Files via OSS](~~2833114~~).', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '123456/111.png'."\n"], ], 'required' => false, 'description' => '', 'title' => '', 'example' => '', ], 'required' => false, 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'AccessDeniedDetail' => ['description' => 'Access denied details. This field is returned only when RAM verification fails.', 'type' => 'string', 'example' => '无', 'title' => ''], 'RequestId' => ['description' => 'The ID of this call request. It is a unique identifier generated by Alibaba Cloud for this request and can be used to troubleshoot and locate issues.', 'type' => 'string', 'title' => '', 'example' => '25D5AFDE-8EBC-132E-8909-1FDC071DA'."\n"], 'Message' => ['description' => 'Description of the status code.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Data' => ['description' => 'Qualification ID.', 'type' => 'string', 'title' => '', 'example' => '10000****'], 'Code' => ['description' => 'Request status code.'."\n" ."\n" .'* OK indicates that the request was successful.'."\n" .'* For other error codes, see the error code list in this section or the product [Error Code List](~~101346~~).', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Success' => ['description' => 'Whether the API call was successful. Valid values:'."\n" ."\n" .'- **true**: The call was successful.'."\n" ."\n" .'- **false**: The call failed.', 'type' => 'boolean', 'title' => '', 'example' => 'true'], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'QualificationNameNullError', 'errorMessage' => 'Qualification name cannot be empty.', 'description' => ''], ['errorCode' => 'BusinessLicensePicsNullError', 'errorMessage' => 'Business license documents cannot be empty.', 'description' => ''], ['errorCode' => 'OtherFileTypeError', 'errorMessage' => 'Invalid file format for other documents.', 'description' => ''], ['errorCode' => 'QualificationNameAlreadyExist', 'errorMessage' => 'The qualification name already exists. Please modify and resubmit.', 'description' => ''], ['errorCode' => 'QualificationNameNotMatchRegex', 'errorMessage' => 'Qualification names must be in Chinese, English, or alphanumeric combinations. Symbols or pure numbers are not supported.', 'description' => ''], ['errorCode' => 'AdminIdcardTypeError', 'errorMessage' => 'Invalid administrator ID card type.', 'description' => ''], ['errorCode' => 'BusinessLicensePicsFileError', 'errorMessage' => 'Invalid business license file format.', 'description' => ''], ['errorCode' => 'BusinessLicenseTypeError', 'errorMessage' => 'Invalid business license type.', 'description' => ''], ['errorCode' => 'LegalIdCardNoNullError', 'errorMessage' => 'Legal person\'s ID number cannot be empty.', 'description' => ''], ['errorCode' => 'LegalPersonIdcardTypeError', 'errorMessage' => 'Invalid legal person ID card type.', 'description' => ''], ['errorCode' => 'CompanyNameNullError', 'errorMessage' => 'Company name cannot be empty.', 'description' => ''], ['errorCode' => 'CompanyTypeError', 'errorMessage' => 'Invalid company type.', 'description' => ''], ['errorCode' => 'LegalIdCardNotMatchRegex', 'errorMessage' => 'Invalid legal person ID number format.', 'description' => ''], ['errorCode' => 'LegalPersonNameNullError', 'errorMessage' => 'Legal person\'s name cannot be empty.', 'description' => ''], ['errorCode' => 'OrganizationCodeNullError', 'errorMessage' => 'Unified Social Credit Code cannot be empty.', 'description' => ''], ['errorCode' => 'AdminIdcardFrontFaceFileError', 'errorMessage' => 'Invalid format for administrator\'s ID card national emblem photo.', 'description' => ''], ['errorCode' => 'AdminIdcardFrontFaceNullError', 'errorMessage' => 'Administrator\'s ID card national emblem photo cannot be empty.', 'description' => ''], ['errorCode' => 'AdminIdcardPicsFileError', 'errorMessage' => 'Invalid format for administrator\'s ID card portrait photo.', 'description' => ''], ['errorCode' => 'AdminIdcardPicsNullError', 'errorMessage' => 'Administrator\'s ID card portrait photo cannot be empty.', 'description' => ''], ['errorCode' => 'AdminNameNullError', 'errorMessage' => 'Administrator\'s name cannot be empty.', 'description' => ''], ['errorCode' => 'AdminIdcardExpdateNotMatchRegexError', 'errorMessage' => 'Invalid administrator ID card expiration time format.', 'description' => ''], ['errorCode' => 'AdminIdcardNoNullError', 'errorMessage' => 'Administrator\'s ID number cannot be empty.', 'description' => ''], ['errorCode' => 'AdminIdcardNotMatchRegex', 'errorMessage' => 'Invalid administrator ID number format.', 'description' => ''], ['errorCode' => 'BusinessLicenseDateNotMatchRegexError', 'errorMessage' => 'Invalid business license expiration time format.', 'description' => ''], ['errorCode' => 'LegalPersonIdcardEfftimeNotMatchRegexError', 'errorMessage' => 'Invalid legal person ID card expiration time format.', 'description' => ''], ['errorCode' => 'AdminDateNotValid', 'errorMessage' => 'Current time is outside the administrator ID card validity period.', 'description' => ''], ['errorCode' => 'BusinessLicenseDateNotValid', 'errorMessage' => 'Current time is outside the business license validity period.', 'description' => ''], ['errorCode' => 'BusinessLicenseOssFileNotUploadError', 'errorMessage' => 'Business license file not uploaded.', 'description' => ''], ['errorCode' => 'LegalDateNotValid', 'errorMessage' => 'Current time is outside the legal person ID card validity period.', 'description' => ''], ['errorCode' => 'LegalFrontOssFileNotUploadError', 'errorMessage' => 'Legal person ID card national emblem photo not uploaded.', 'description' => ''], ['errorCode' => 'AdminBackOssFileNotUploadError', 'errorMessage' => 'Administrator ID card portrait photo not uploaded.', 'description' => ''], ['errorCode' => 'AdminFrontOssFileNotUploadError', 'errorMessage' => 'Administrator ID card national emblem photo not uploaded.', 'description' => ''], ['errorCode' => 'CustNotExistError', 'errorMessage' => 'Customer\'s cloud communication information is invalid.', 'description' => ''], ['errorCode' => 'GrayCustAccessError', 'errorMessage' => 'This customer is not authorized to use the OpenAPI. Please contact support for whitelisting.', 'description' => ''], ['errorCode' => 'LegalBackOssFileNotUploadError', 'errorMessage' => 'Legal person ID card portrait photo not uploaded.', 'description' => ''], ['errorCode' => 'OtherOssFileNotUploadError', 'errorMessage' => 'Other files not uploaded.', 'description' => ''], ['errorCode' => 'CertifyCodeError', 'errorMessage' => 'SMS verification code is incorrect.', 'description' => ''], ['errorCode' => 'NotEnterpriseCertifyCustCheckError', 'errorMessage' => 'Non-enterprise certified customers are not allowed to access.', 'description' => ''], ['errorCode' => 'PhoneNoCertifyCodeNullError', 'errorMessage' => 'Phone number and verification code cannot be empty.', 'description' => ''], ['errorCode' => 'SameQualificationGroupError', 'errorMessage' => 'A qualification with the same company and administrator information already exists.', 'description' => ''], ['errorCode' => 'WorkOrderIdExpired', 'errorMessage' => 'Qualification details have changed. Please re-query the qualification list and resubmit.', 'description' => ''], ['errorCode' => 'CompanyVerificationFailedCompanyStateInvalid', 'errorMessage' => 'Four Elements Verification Failed: Company is not in normal operation.', 'description' => ''], ['errorCode' => 'CompanyVerificationFailedFourElementsError', 'errorMessage' => 'Four Elements Verification Failed: Authentication Failed.', 'description' => ''], ['errorCode' => 'CompanyVerificationFailedMismatch', 'errorMessage' => 'Four Elements Verification Failed: Mismatch between Legal Representative and Company Information.', 'description' => 'The verification of the four elements of the enterprise fails, and the verification of the legal person and the enterprise information is inconsistent.'], ['errorCode' => 'CompanyVerificationFailedNoCompany', 'errorMessage' => 'Four Elements Verification Failed: Company Not Found.', 'description' => ''], ['errorCode' => 'CompanyVerificationFailedNoLegalPerson', 'errorMessage' => 'Four Elements Verification Failed: Legal Representative Not Found.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"RequestId\\": \\"25D5AFDE-8EBC-132E-8909-1FDC071DA\\\\n\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": \\"10000****\\",\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Modify SMS Qualification', 'description' => '- Qualifications under review do not support modification. Please wait for the review process to finish, or [withdraw the application](https://dysms.console.aliyun.com/domestic/text/qualification) in the SMS Service console before making modifications.'."\n" .'- The modified SMS qualification **must be re-reviewed** (including qualifications that have already passed review). Please upload materials that meet the specifications according to the [Qualification Material Description](~~2384377~~).'."\n" .'- **Modification is not supported** for the qualification name, application purpose, or unified social credit code.'."\n" .'- Batch modification of SMS qualifications is not supported. It is recommended to leave at least 5 seconds between modifications.', 'requestParamsDescription' => '>'."\n" ."\n" .'For the specific requirements of SMS qualification materials, see the [Qualification Material Description](~~2384377~~). The requirements may be adjusted in real time in accordance with the requirements of the Ministry of Industry and Information Technology and the carriers. The actual review result shall prevail.'."\n" ."\n" .'>', 'changeSet' => [ ['createdAt' => '2025-08-01T04:05:19.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [], ], 'UpdateSmsSign' => [ 'summary' => 'You can modify rejected or approved signatures. A modified signature is automatically submitted for review, and its status changes to pending review.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '219280', 'abilityTreeNodes' => ['FEATUREdysmsJ2BZAJ'], ], 'parameters' => [ [ 'name' => 'SignName', 'in' => 'query', 'schema' => ['description' => 'The name of the rejected SMS signature. You can find rejected SMS signatures on the [Domestic Messages > Signature Management](https://dysms.console.aliyun.com/domestic/text/sign) page in the console, or by calling the [QuerySmsSignList](~~QuerySmsSignList~~) operation.', 'type' => 'string', 'required' => true, 'example' => '阿里云验证码', 'title' => ''], ], [ 'name' => 'Remark', 'in' => 'query', 'schema' => ['description' => 'A description of the SMS signature\'s use case. This information is used during the review and must be 200 characters or less.'."\n" ."\n" .'> - Describe the use case for your live service. Include relevant links, such as a website link or an app store link.'."\n" .'>'."\n" .'> - Provide a complete example of an SMS message that reflects your use case.'."\n" .'>'."\n" .'> - Provide the values for any variables. Describe the use case in detail and explain why the variables are necessary.'."\n" .'>'."\n" .'> - If the signature involves a government agency or public institution, provide its official landline number.'."\n" ."\n" .'Providing complete and accurate information accelerates the review process. If you do not provide the required information, your signature application may be rejected.', 'type' => 'string', 'required' => false, 'maxLength' => 500, 'example' => '登录场景申请验证码', 'title' => ''], ], [ 'name' => 'SignType', 'in' => 'query', 'schema' => ['description' => 'The signature type. Valid values:'."\n" ."\n" .'- **0**: verification code.'."\n" ."\n" .'- **1**: general (default).'."\n" ."\n" .'We recommend that you use the default value, **general**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'MoreData', 'in' => 'query', 'style' => 'json', 'schema' => [ 'description' => 'Additional supporting materials. You can upload supporting business documents or business screenshots to help with the review. For details on what to upload, see [Signature application materials](~~108076#section-xup-k46-yi4~~).', 'type' => 'array', 'items' => ['description' => 'The OSS path of the uploaded file. The **file name cannot contain Chinese characters or special characters**. For information about how to upload a file, see [Upload files via OSS](https://help.aliyun.com/zh/sms/upload-files-through-oss).', 'type' => 'string', 'required' => false, 'example' => '10098689758*****/1234qwe.png'."\n", 'title' => ''], 'required' => false, 'title' => '', 'example' => '', ], ], [ 'name' => 'QualificationId', 'in' => 'query', 'schema' => ['description' => 'The ID of the approved qualification.'."\n" ."\n" .'> - You must [apply for a qualification](https://help.aliyun.com/zh/sms/user-guide/new-qualification?spm=a2c4g.11186623.0.0.718d187bbkpMRK) before applying for an SMS signature.'."\n" .'>'."\n" .'> - You can find the qualification ID on the [qualification management](https://dysms.console.aliyun.com/domestic/text/qualification) page.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '8563**', 'title' => ''], ], [ 'name' => 'ApplySceneContent', 'in' => 'query', 'schema' => ['description' => 'The app store link. This parameter is required if the signature source (`SignSource`) is an app (the value is 2). The link must start with `http://` or `https://`, and the app must be published in the app store.', 'type' => 'string', 'required' => false, 'example' => 'http://www.aliyun.com/'."\n", 'title' => ''], ], [ 'name' => 'SignSource', 'in' => 'query', 'schema' => [ 'description' => 'The signature source. Valid values:'."\n" ."\n" .'- **0**: The full or abbreviated name of an enterprise or public institution. **(Recommended)**'."\n" ."\n" .'- **5**: The full or abbreviated trademark name.'."\n" ."\n" .'- **2**: The full or abbreviated name of an app. **(Not recommended)**'."\n" ."\n" .'For more information, see [signature source](~~108076#section-fow-bfu-wo9~~).', 'enumValueTitles' => [], 'type' => 'integer', 'format' => 'int32', 'required' => true, 'enum' => ['0', '1', '2', '3', '4', '5'], 'example' => '2', 'title' => '', ], ], [ 'name' => 'ThirdParty', 'in' => 'query', 'schema' => ['description' => 'The signature purpose. Valid values:'."\n" ."\n" .'- false: for own use (default). The signature is for a business, website, or product owned by your account\'s verified entity.'."\n" ."\n" .'- true: for third-party use. The signature is for a business, website, or product not owned by your account\'s verified entity.'."\n" .' >Ensure the selected qualification ID matches the signature purpose (for own use or for third-party use).>', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'AuthorizationLetterId', 'in' => 'query', 'schema' => ['description' => 'The authorization letter ID. This parameter is required if the signature is for third-party use (`ThirdParty` is set to `true`). The Unified Social Credit Code on the authorization letter must match the code in the selected qualification\'s information.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000********1234', 'title' => ''], ], [ 'name' => 'TrademarkId', 'in' => 'query', 'schema' => ['description' => 'The trademark entity ID.'."\n" ."\n" .'> - This parameter is required if `SignSource` is set to 5.'."\n" .'>'."\n" .'> - You can obtain the trademark entity ID by calling the [Create Trademark Entity](~~CreateSmsTrademark~~) operation.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000009081***', 'title' => ''], ], [ 'name' => 'AppIcpRecordId', 'in' => 'query', 'schema' => ['description' => 'The ID of the app\'s ICP filing entity.'."\n" ."\n" .'> - This parameter is required if `SignSource` is set to 2.'."\n" .'>'."\n" .'> - You can obtain the filing entity ID by calling the [Create ICP Filing Entity](~~CreateSmsAppIcpRecord~~) operation.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100001***1234', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The unique identifier for the request, generated by Alibaba Cloud. Use this ID to troubleshoot issues.', 'type' => 'string', 'example' => 'A90E4451-FED7-49D2-87C8-00700A8C4D1D', 'title' => ''], 'Code' => ['description' => 'The status code of the request. Valid values:'."\n" ."\n" .'- OK: The request was successful.'."\n" ."\n" .'- For other error codes, see [Error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'SignName' => ['description' => 'The updated signature name.', 'type' => 'string', 'example' => '登录验证', 'title' => ''], 'OrderId' => ['description' => 'The order ID.'."\n" ."\n" .'Reviewers use this ID to look up the submission. Provide this order ID to request an expedited review.', 'type' => 'string', 'example' => '2004417****', 'title' => ''], ], 'description' => 'The response body.', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => ''], ['errorCode' => 'ParameterMismatch.ThirdParty', 'errorMessage' => 'The type of signature, whether for personal use or for a third party, should be consistent with the qualifications.', 'description' => 'Whether the signature is used by a third party should be consistent with the qualification.'], ['errorCode' => 'SignName.Exists', 'errorMessage' => 'Sorry, this signature already exists and cannot be applied for again.', 'description' => 'Sorry, this signature already exists and cannot be reapplied.'], ['errorCode' => 'InvalidQualification', 'errorMessage' => 'The qualification should be approved.', 'description' => 'Invalid qualification, qualification should be approved.'], ['errorCode' => 'InvalidApplySceneContent', 'errorMessage' => 'For certain signature sources, the '."\n" .'applySceneContent should be an HTTP or HTTPS link.', 'description' => 'invalid application scenario, under some signature sources,'."\n" .'The application scenario should be an HTTP or HTTPS link.'], ['errorCode' => 'InvalidSignName', 'errorMessage' => 'The signature cannot contain spaces, special '."\n" .'symbols, or all numbers.', 'description' => 'The signature cannot contain special characters such as simplified Chinese, English, or spaces other than digits, and cannot be all digits.'], ['errorCode' => 'MissApplySceneContent', 'errorMessage' => 'In some signature sources, the applySceneContent is required.', 'description' => 'Under some signature sources, the application scenario is required.'], ['errorCode' => 'MissingSignName', 'errorMessage' => 'The signature name cannot be empty.', 'description' => 'Signature name cannot be empty'], ['errorCode' => 'SmsAuthorizationLetterNotMatch', 'errorMessage' => 'Please bind the available authorization letter whose the social credit code is same to the the social credit code of qualification.', 'description' => 'Please bind the available authorization letter whose the social credit code is same to the the social credit code of qualification'], ['errorCode' => 'SmsAuthorizationLetterNotExist', 'errorMessage' => 'Authorization does not belong to the customer.', 'description' => ''], ['errorCode' => 'SmsSignNotAuthorized', 'errorMessage' => 'the signature is not in the sign scope of the authorization letter.', 'description' => 'The signature is not within the scope of the authorization.'], ['errorCode' => 'TrademarkNotExist', 'errorMessage' => 'The trademark does not exist.', 'description' => ''], ['errorCode' => 'AppIcpRecordNotExist', 'errorMessage' => 'The APP-ICP record does not exist.', 'description' => ''], ], 404 => [ ['errorCode' => 'QualificationNotFound', 'errorMessage' => 'Qualification does not exist.', 'description' => 'Qualification does not exist.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A90E4451-FED7-49D2-87C8-00700A8C4D1D\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"SignName\\": \\"登录验证\\",\\n \\"OrderId\\": \\"2004417****\\"\\n}","type":"json"}]', 'title' => 'Update SMS Signature (New Interface)', 'description' => '- For details about the updates to the signature and template APIs, see [Announcement on Updating Signature & Template APIs for Short Message Service](~~2806975~~).'."\n" ."\n" .'- You can modify signatures that are either **rejected** or **approved**. For guidance on handling review failures, see [Handling signature review failures](~~65990~~). Call this API to modify and resubmit the signature for review.'."\n" ."\n" .'- You cannot use this API to edit the name of a **rejected** signature. To edit the name, go to the [Short Message Service console](https://dysms.console.aliyun.com/domestic/text/sign).'."\n" ."\n" .'- Signatures you request using this API are synchronized with the Short Message Service console. For information on managing signatures in the console, see [Signatures](~~108073~~).', 'changeSet' => [ ['createdAt' => '2025-12-16T07:45:19.000Z', 'description' => 'Error codes changed, Request parameters changed'], ['createdAt' => '2025-12-11T12:44:33.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-12-11T12:44:31.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-12-11T10:08:24.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-12-11T10:08:22.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-14T02:14:09.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-14T02:14:00.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-14T02:07:43.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-03T13:14:38.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-03T13:14:37.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-03T13:14:01.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-11-03T13:14:00.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSmsSign'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'dysms:UpdateSmsSign', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'UpdateSmsTemplate' => [ 'summary' => 'This API modifies a template that failed review and automatically resubmits it.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '219284', 'abilityTreeNodes' => ['FEATUREdysms2H0K7P'], ], 'parameters' => [ [ 'name' => 'TemplateName', 'in' => 'query', 'schema' => ['description' => 'The name of the SMS template, up to 30 characters long. You can find the names of rejected templates on the [Messages in Chinese Mainland > Template Management](https://dysms.console.aliyun.com/domestic/text/template) tab in the console or by calling the [QuerySmsTemplateList](~~QuerySmsTemplateList~~) operation.', 'type' => 'string', 'required' => true, 'example' => '验证码模板', 'maxLength' => 30, 'title' => ''], ], [ 'name' => 'TemplateCode', 'in' => 'query', 'schema' => ['description' => 'The code of the rejected SMS template. You can find the template code on the [Messages in Chinese Mainland > Template Management](https://dysms.console.aliyun.com/domestic/text/template) tab in the console or by calling the [QuerySmsTemplateList](~~QuerySmsTemplateList~~) operation.', 'type' => 'string', 'required' => true, 'example' => 'SMS_152550****', 'title' => ''], ], [ 'name' => 'TemplateContent', 'in' => 'query', 'schema' => ['description' => 'The new template content, up to 500 characters long.'."\n" ."\n" .'The template content and its variables must comply with [SMS template specifications](~~463161~~) to be approved. To increase the approval rate and efficiency, refer to the common examples on the [Apply for Template](https://dysms.console.aliyun.com/domestic/text/template/add) page. For more information about variable specifications, see [TemplateContent parameter variable specifications](~~2806243~~).', 'type' => 'string', 'required' => true, 'example' => '您正在申请手机注册,验证码为:${code},5分钟内有效!', 'maxLength' => 500, 'title' => ''], ], [ 'name' => 'Remark', 'in' => 'query', 'schema' => ['description' => 'Describe your business scenario, including a URL if applicable. You must also provide a complete SMS message example with populated variables. Providing this information as required is critical for template approval.', 'type' => 'string', 'required' => false, 'example' => '登录场景使用验证码', 'maxLength' => 500, 'title' => ''], ], [ 'name' => 'TemplateType', 'in' => 'query', 'schema' => [ 'description' => 'The SMS type. Valid values:'."\n" ."\n" .'- **0**: verification code.'."\n" ."\n" .'- **1**: SMS notification.'."\n" ."\n" .'- **2**: promotional SMS.'."\n" ."\n" .'- **3**: international/regional message.'."\n" ."\n" .'> Only enterprise-verified users can apply for promotional SMS and international/regional messages. For more information about the differences between personal and enterprise accounts, see [Usage notes](https://help.aliyun.com/zh/sms/user-guide/usage-notes?spm=a2c4g.11186623.0.0.67447f576NJnE8).', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '0', 'enum' => ['0', '1', '2', '3'], 'title' => '', ], ], [ 'name' => 'RelatedSignName', 'in' => 'query', 'schema' => ['description' => 'The SMS signature associated with the template.', 'type' => 'string', 'required' => false, 'example' => '阿里云', 'title' => ''], ], [ 'name' => 'TemplateRule', 'in' => 'query', 'schema' => ['description' => 'The rules for the variables in the template. For details on how to define these rules, see the [example document](~~2806243~~).', 'type' => 'string', 'required' => false, 'example' => '{"code":"characterWithNumber"}', 'title' => ''], ], [ 'name' => 'MoreData', 'in' => 'query', 'style' => 'json', 'schema' => [ 'description' => 'Additional materials, such as supporting documents or business screenshots, to help reviewers understand your business. If `TemplateType` is set to `2` (promotional SMS), you must upload proof of user authorization. For more information, see [Upload specifications for user authorization materials](~~312341~~).', 'type' => 'array', 'items' => ['description' => 'The OSS key of the uploaded file. For instructions on how to upload files, see [Upload files to OSS](~~2833114~~).', 'type' => 'string', 'required' => false, 'example' => '10098689758****/1234qwe.png', 'title' => ''], 'required' => false, 'title' => '', 'example' => '', ], ], [ 'name' => 'ApplySceneContent', 'in' => 'query', 'schema' => ['description' => 'The business scenario.'."\n" ."\n" .'- If the associated SMS signature\'s business scenario is "Live App", the `ApplySceneContent` parameter must be an app URL starting with `http://` or `https://`.'."\n" ."\n" .'- The `ApplySceneContent` parameter is required if the associated SMS signature\'s business scenario is "Registered Trademark" or "Name of Enterprise or Public Institution".', 'type' => 'string', 'required' => false, 'example' => 'http://www.aliyun.com/'."\n", 'title' => ''], ], [ 'name' => 'IntlType', 'in' => 'query', 'schema' => ['description' => 'The type of the international/regional template. This parameter is required when the **TemplateType** parameter is set to **3**. Valid values:'."\n" ."\n" .'- **0**: SMS notification.'."\n" ."\n" .'- **1**: promotional SMS.'."\n" ."\n" .'- **2**: verification code.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], ], [ 'name' => 'TrafficDriving', 'in' => 'query', 'schema' => ['description' => '>'."\n" ."\n" .'To manage SMS content security, messages that contain traffic-driving information such as phone numbers and URLs may be blocked by carriers, which can cause delivery failures. We recommend that you avoid including such information in your SMS templates to prevent delivery failures.'."\n" ."\n" .'>'."\n" ."\n" .'A JSON string that contains a list of traffic-driving information.'."\n" .'>The value must be in the JSON format. Convert the value to a string before you pass it in.>'."\n" ."\n" .'### 1. Fields'."\n" ."\n" .'{'."\n" .'"trafficDrivingType":"Traffic-driving type",'."\n" .'"trafficDrivingContent":"Traffic-driving content",'."\n" .'"variableName":"variable name",'."\n" .'"companyName":"Name of the enterprise or public institution",'."\n" .'"organizationCode":"Unified Social Credit Code",'."\n" .'"icpNo":"ICP filing/permit number",'."\n" .'"icpPicOssKey":"OSS key of the ICP filing screenshot",'."\n" .'"companyDifferentFromSignQuaReason":"The reason why the name of the enterprise or public institution is different from that in the SMS signature qualification"'."\n" .'}'."\n" ."\n" .'### 2. Notes'."\n" ."\n" .'- If the content is not a variable, do not pass the `variableName` field.'."\n" ."\n" .'- If the name of the enterprise or public institution is different from that in the SMS signature qualification, provide the `companyDifferentFromSignQuaReason` field.'."\n" ."\n" .'- If `trafficDrivingType` is set to `DOMAIN`, you must provide all the fields.'."\n" ."\n" .'- For `trafficDrivingType` values other than `DOMAIN`, the `trafficDrivingType`, `trafficDrivingContent`, `companyName`, and `organizationCode` fields are required. The `variableName` and `companyDifferentFromSignQuaReason` fields are optional.'."\n" ."\n" .'### 3. TrafficDrivingType enumeration'."\n" ."\n" .'>'."\n" ."\n" .'Due to regulatory requirements, mobile numbers are not supported.'."\n" ."\n" .'>'."\n" ."\n" .'- `DOMAIN`: A domain name.'."\n" ."\n" .'- `FIXED_PHONE`: A fixed-line phone number.'."\n" ."\n" .'- `400_PHONE`: A phone number that starts with 400.'."\n" ."\n" .'- `800_PHONE`: A phone number that starts with 800.'."\n" ."\n" .'- `95_PHONE`: A phone number that starts with 95.'."\n" ."\n" .'- `96_PHONE`: A phone number that starts with 96.'."\n" ."\n" .'- `1_PHONE`: A 3-digit to 8-digit phone number that starts with 1.'."\n" ."\n" .'- `OTHER_PHONE`: Another type of phone number.', 'type' => 'string', 'required' => false, 'example' => '[{"trafficDrivingType":"DOMAIN","trafficDrivingContent":"aliyun.com","companyName":"阿里云计算有限公司","organizationCode":"91330****73959654P","icpNo":"浙B2-20****01-4","icpPicOssKey":"db7784d8-cb0c-498f-****-295f1ad6d665_mf29l7nf.png","companyDifferentFromSignQuaReason":"这是一段说明文字"},{"trafficDrivingType":"1_PHONE","trafficDrivingContent":"1**86","variableName":"my1Phone","companyName":"阿里云计算有限公司","organizationCode":"91330****73959654P","companyDifferentFromSignQuaReason":"这是一段说明文字"}]', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The unique identifier of the request, generated by Alibaba Cloud. Use this request ID to troubleshoot issues.', 'type' => 'string', 'example' => '819BE656-D2E0-4858-8B21-B2E477085AA0', 'title' => ''], 'Code' => ['description' => 'The status code of the request. Valid values:'."\n" ."\n" .'- `OK`: The request succeeds.'."\n" ."\n" .'- For other error codes, see the **Error codes** section of this topic or the product [API error codes](~~101346~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'TemplateName' => ['description' => 'The name of the SMS template.', 'type' => 'string', 'example' => '验证码', 'title' => ''], 'TemplateCode' => ['description' => 'The template code.'."\n" ."\n" .'After you submit a modified template for review, you can use the template code to call the [GetSmsTemplate](~~GetSmsTemplate~~) operation and query the review details. You can also [configure delivery receipts](https://help.aliyun.com/zh/sms/developer-reference/configure-delivery-receipts-1) to receive the review status in a [TemplateSmsReport](~~120999~~) message.', 'type' => 'string', 'example' => 'SMS_152550****', 'title' => ''], 'OrderId' => ['description' => 'The order ID.'."\n" ."\n" .'Reviewers use this ID to query the review status. Provide this order ID if you request an expedited review.', 'type' => 'string', 'example' => '20041271****', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'ForbiddenAction', 'errorMessage' => 'Access to the account is denied. Please contact the administrator.', 'description' => ''], ['errorCode' => 'AssocSignUnapproved', 'errorMessage' => 'Associated signature must be approved.', 'description' => 'The associated signature needs to use the approved signature.'], ['errorCode' => 'InvalidTemplateRule', 'errorMessage' => 'The template variable format is non-standard. Please refer to the variable format specifications in the help documentation.', 'description' => 'The template variable does not meet the specifications. Please check the SMS template specification document and pass in the template variable that meets the requirements.'], ['errorCode' => 'InvalidTemplateRule.Format', 'errorMessage' => 'The parameter TemplateRule format must be JSON.', 'description' => 'Template variable rules must be filled with JSON-formatted data.'], ['errorCode' => 'InvalidMoreData', 'errorMessage' => 'Specified parameter MoreData is not valid.', 'description' => 'The uploaded more information is invalid.'], ['errorCode' => 'TemplateVarLimitExceeded', 'errorMessage' => 'The verification code template only supports one variable.', 'description' => 'The verification code template only supports one variable.'], ['errorCode' => 'InvalidTemplateContent.Format', 'errorMessage' => 'Invalid template content format.', 'description' => 'The template content is not in the correct format.'], ['errorCode' => 'ServiceNotOpened', 'errorMessage' => 'This product service is not opened.', 'description' => 'Product service not activated'], ], 404 => [ ['errorCode' => 'MissingTemplateName', 'errorMessage' => 'The template name cannot be empty.', 'description' => 'Template name cannot be empty.'], ['errorCode' => 'SmsSignatureNotFound', 'errorMessage' => 'The associated SMS signature does not exist.', 'description' => 'The associated SMS signature does not exist.'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"819BE656-D2E0-4858-8B21-B2E477085AA0\\",\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"OK\\",\\n \\"TemplateName\\": \\"验证码\\",\\n \\"TemplateCode\\": \\"SMS_152550****\\",\\n \\"OrderId\\": \\"20041271****\\"\\n}","type":"json"}]', 'title' => 'Update SMS Template (New Interface)', 'description' => '- For details about the changes to the signature and template APIs, see [Announcement on Updating Signature & Template APIs for Short Message Service](~~2806975~~).'."\n" ."\n" .'- You can only modify templates that have failed review. For troubleshooting, see [Suggestions for handling failed SMS template reviews](~~65990~~). After modifying a template with this API, you must resubmit it for review.'."\n" ."\n" .'- Template changes made using this API are synchronized with the Short Message Service console. To learn more about managing templates in the console, see [SMS templates](~~108085~~).'."\n" ."\n" .'### QPS limit'."\n" ."\n" .'The QPS limit for this API is 1,000 queries per second per user. If you exceed this limit, your API calls will be throttled. This can affect your business, so please use the API responsibly.', 'changeSet' => [ ['createdAt' => '2025-08-12T14:41:32.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-08-12T14:41:26.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-08-12T14:37:16.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-08-12T14:37:06.000Z', 'description' => 'OpenAPI offline'], ['createdAt' => '2025-08-12T14:37:03.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSmsTemplate'], ], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'dysms:UpdateSmsTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ValidPhoneCode' => [ 'summary' => 'When applying for SMS qualification, the administrator\'s phone number must be verified. This operation verifies the phone number and the received verification code.', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '264877', 'abilityTreeNodes' => ['FEATUREdysmsJ2BZAJ'], ], 'parameters' => [ [ 'name' => 'PhoneNo', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The phone number.', 'type' => 'string', 'required' => true, 'example' => '137****1234'], ], [ 'name' => 'CertifyCode', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The verification code.', 'type' => 'string', 'required' => true, 'example' => '1234'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'AccessDeniedDetail' => ['description' => 'The details about the access denial. This field is returned only if the RAM check fails.', 'type' => 'string', 'example' => '无', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request. The ID is a unique identifier generated by Alibaba Cloud for the request and can be used to troubleshoot and locate issues.', 'type' => 'string', 'title' => '', 'example' => '90E63D28-E31D-1EB2-8939-A9486641****'."\n"], 'Message' => ['description' => 'The description of the status code.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Data' => [ 'description' => 'Indicates whether the verification was successful. Valid values:'."\n" ."\n" .'- **true**: The verification was successful.'."\n" .'- **false**: The verification failed.', 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'type' => 'boolean', 'title' => '', 'example' => 'true', ], 'Code' => ['description' => 'The status code of the request.'."\n" ."\n" .'- A value of OK indicates that the request was successful.'."\n" .'- For other error codes, see the error code list in this topic or the [Error codes](~~101346~~) of the product.', 'type' => 'string', 'title' => '', 'example' => 'OK'], 'Success' => [ 'description' => 'Indicates whether the operation was successful. Valid values:'."\n" ."\n" .'- true: The call was successful.'."\n" .'- false: The call failed.', 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'type' => 'boolean', 'title' => '', 'example' => 'true', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessDeniedDetail\\": \\"无\\",\\n \\"RequestId\\": \\"90E63D28-E31D-1EB2-8939-A9486641****\\\\n\\",\\n \\"Message\\": \\"OK\\",\\n \\"Data\\": true,\\n \\"Code\\": \\"OK\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Verify the phone verification code', 'description' => '- Call the [RequiredPhoneCode](~~RequiredPhoneCode~~) operation first. Alibaba Cloud sends an SMS verification code to the phone number that you provided.'."\n" .'- This operation does not affect the SMS qualification application process and is used only to verify the SMS verification code. When you submit the actual application, pass the verification code into the `CertifyCode` parameter of the [SubmitSmsQualification](~~SubmitSmsQualification~~) operation.', 'changeSet' => [ ['createdAt' => '2025-08-01T04:05:19.000Z', 'description' => 'OpenAPI offline'], ], 'flowControl' => [ 'flowControlList' => [], 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], 'ramActions' => [], ], ], 'endpoints' => [ ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dysmsapi.aliyuncs.com', 'endpoint' => 'dysmsapi.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dysmsapi.aliyuncs.com', 'endpoint' => 'dysmsapi.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dysmsapi.aliyuncs.com', 'endpoint' => 'dysmsapi.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dysmsapi.aliyuncs.com', 'endpoint' => 'dysmsapi.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dysmsapi.aliyuncs.com', 'endpoint' => 'dysmsapi.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dysmsapi.aliyuncs.com', 'endpoint' => 'dysmsapi.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dysmsapi.aliyuncs.com', 'endpoint' => 'dysmsapi.aliyuncs.com', 'vpc' => 'dysmsapi-xman.vpc-proxy.aliyuncs.com'], ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dysmsapi.ap-southeast-1.aliyuncs.com', 'endpoint' => 'dysmsapi.ap-southeast-1.aliyuncs.com', 'vpc' => 'dysmsapi-xman.vpc-proxy.aliyuncs.com'], ['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dysmsapi.ap-southeast-5.aliyuncs.com', 'endpoint' => 'dysmsapi.ap-southeast-5.aliyuncs.com', 'vpc' => 'dysmsapi-xman-vpc.ap-southeast-5.aliyuncs.com'], ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'dysmsapi.eu-central-1.aliyuncs.com', 'endpoint' => 'dysmsapi.eu-central-1.aliyuncs.com', 'vpc' => 'dysmsapi-xman-vpc.eu-central-1.aliyuncs.com'], ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dysmsapi.aliyuncs.com', 'endpoint' => 'dysmsapi.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dysmsapi.aliyuncs.com', 'endpoint' => 'dysmsapi.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-north-2-gov-1', 'regionName' => 'Beijing Government Cloud', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dysmsapi.aliyuncs.com', 'endpoint' => 'dysmsapi.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dysmsapi.aliyuncs.com', 'endpoint' => 'dysmsapi.aliyuncs.com', 'vpc' => ''], ['regionId' => 'cn-beijing-finance-1', 'regionName' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'dysmsapi.aliyuncs.com', 'endpoint' => 'dysmsapi.aliyuncs.com', 'vpc' => ''], ], 'errorCodes' => [ ['code' => 'Account.Abnormal', 'message' => 'The status of Alibaba Cloud account is invalid.', 'http_code' => 400, 'description' => 'The account status is invalid.'], ['code' => 'AdminBackOssFileNotUploadError', 'message' => 'Administrator ID card portrait photo not uploaded.', 'http_code' => 400, 'description' => ''], ['code' => 'AdminDateNotValid', 'message' => 'Current time is outside the administrator ID card validity period.', 'http_code' => 400, 'description' => ''], ['code' => 'AdminFrontOssFileNotUploadError', 'message' => 'Administrator ID card national emblem photo not uploaded.', 'http_code' => 400, 'description' => ''], ['code' => 'AdminIdcardExpdateNotMatchRegexError', 'message' => 'Invalid administrator ID card expiration time format.', 'http_code' => 400, 'description' => ''], ['code' => 'AdminIdcardFrontFaceFileError', 'message' => 'Invalid format for administrator\'s ID card national emblem photo.', 'http_code' => 400, 'description' => ''], ['code' => 'AdminIdcardFrontFaceNullError', 'message' => 'Administrator\'s ID card national emblem photo cannot be empty.', 'http_code' => 400, 'description' => ''], ['code' => 'AdminIdcardNoNullError', 'message' => 'Administrator\'s ID number cannot be empty.', 'http_code' => 400, 'description' => ''], ['code' => 'AdminIdcardNotMatchRegex', 'message' => 'Invalid administrator ID number format.', 'http_code' => 400, 'description' => ''], ['code' => 'AdminIdcardPicsFileError', 'message' => 'Invalid format for administrator\'s ID card portrait photo.', 'http_code' => 400, 'description' => ''], ['code' => 'AdminIdcardPicsNullError', 'message' => 'Administrator\'s ID card portrait photo cannot be empty.', 'http_code' => 400, 'description' => ''], ['code' => 'AdminIdcardTypeError', 'message' => 'Invalid administrator ID card type.', 'http_code' => 400, 'description' => ''], ['code' => 'AdminNameNullError', 'message' => 'Administrator\'s name cannot be empty.', 'http_code' => 400, 'description' => ''], ['code' => 'Amount.NotEnough', 'message' => 'The account balance is insufficient.', 'http_code' => 400, 'description' => 'Your account balance is insufficient.'], ['code' => 'AssocSignUnapproved', 'message' => 'Associated signature must be approved.', 'http_code' => 400, 'description' => 'The associated signature needs to use the approved signature.'], ['code' => 'AuthorizationLetterDateNotMatchRegex', 'message' => 'The format of the authorization letter\'s effective and expiry date is incorrect.', 'http_code' => 400, 'description' => ''], ['code' => 'AuthorizationLetterDateNotValid', 'message' => 'The current time is not within the validity period of the authorization letter.', 'http_code' => 400, 'description' => ''], ['code' => 'AuthorizationLetterNameNotMatchRegex', 'message' => 'The authorization letter name cannot be empty and must consist of Chinese, English characters or a combination with numbers, symbols or purely numeric input are not supported.', 'http_code' => 400, 'description' => ''], ['code' => 'AuthorizationLetterNameOverLimit', 'message' => 'The authorization letter name exceeds the 100-character length limit.', 'http_code' => 400, 'description' => ''], ['code' => 'AuthorizationLetterNameRepeat', 'message' => 'The authorization letter name is duplicated.', 'http_code' => 400, 'description' => ''], ['code' => 'AuthorizationNotMatchRegex', 'message' => 'The authorizer name cannot be empty and currently does not support any symbols except middle dots, spaces, Chinese brackets, and English parentheses or purely numeric input.', 'http_code' => 400, 'description' => ''], ['code' => 'AuthorizationOssFileNotUploadError', 'message' => 'The authorization letter file has not been uploaded.', 'http_code' => 400, 'description' => ''], ['code' => 'AuthorizationOverLimit', 'message' => 'The authorizer exceeds the 1000-character length limit.', 'http_code' => 400, 'description' => ''], ['code' => 'BindSignDeleteFailed', 'message' => 'The qualification is bound to a signature and cannot be deleted temporarily.', 'http_code' => 400, 'description' => ''], ['code' => 'BusinessLicenseDateNotMatchRegexError', 'message' => 'Invalid business license expiration time format.', 'http_code' => 400, 'description' => ''], ['code' => 'BusinessLicenseDateNotValid', 'message' => 'Current time is outside the business license validity period.', 'http_code' => 400, 'description' => ''], ['code' => 'BusinessLicenseOssFileNotUploadError', 'message' => 'Business license file not uploaded.', 'http_code' => 400, 'description' => ''], ['code' => 'BusinessLicensePicsFileError', 'message' => 'Invalid business license file format.', 'http_code' => 400, 'description' => ''], ['code' => 'BusinessLicensePicsNullError', 'message' => 'Business license documents cannot be empty.', 'http_code' => 400, 'description' => ''], ['code' => 'BusinessLicenseTypeError', 'message' => 'Invalid business license type.', 'http_code' => 400, 'description' => ''], ['code' => 'card template.NotFound', 'message' => 'The resource of "card template" is not found..', 'http_code' => 400, 'description' => 'Card template not found'], ['code' => 'CertifyCodeError', 'message' => 'SMS verification code is incorrect.', 'http_code' => 400, 'description' => ''], ['code' => 'CompanyNameNullError', 'message' => 'Company name cannot be empty.', 'http_code' => 400, 'description' => ''], ['code' => 'CompanyTypeError', 'message' => 'Invalid company type.', 'http_code' => 400, 'description' => ''], ['code' => 'CompanyVerificationFailedCompanyStateInvalid', 'message' => 'Four Elements Verification Failed: Company is not in normal operation.', 'http_code' => 400, 'description' => ''], ['code' => 'CompanyVerificationFailedFourElementsError', 'message' => 'Four Elements Verification Failed: Authentication Failed.', 'http_code' => 400, 'description' => ''], ['code' => 'CompanyVerificationFailedMismatch', 'message' => 'Four Elements Verification Failed: Mismatch between Legal Representative and Company Information.', 'http_code' => 400, 'description' => 'The verification of the four elements of the enterprise fails, and the verification of the legal person and the enterprise information is inconsistent.'], ['code' => 'CompanyVerificationFailedNoCompany', 'message' => 'Four Elements Verification Failed: Company Not Found.', 'http_code' => 400, 'description' => ''], ['code' => 'CompanyVerificationFailedNoLegalPerson', 'message' => 'Four Elements Verification Failed: Legal Representative Not Found.', 'http_code' => 400, 'description' => ''], ['code' => 'CustNotExistError', 'message' => 'Customer\'s cloud communication information is invalid.', 'http_code' => 400, 'description' => ''], ['code' => 'DayLimitControl', 'message' => 'The daily volume limit is exceeded.', 'http_code' => 400, 'description' => 'The number of the sent messages has exceeded the daily limit.'], ['code' => 'ERROR_PARTNER_ID', 'message' => '查询影子pid结果为空或者异常', 'http_code' => 200, 'description' => 'the shadow pid query result is empty or abnormal.'], ['code' => 'ExtCodeInactive', 'message' => 'No major customer extension code has been activated.', 'http_code' => 400, 'description' => 'Large customer extension code not turned on'], ['code' => 'ExtCodeIsActive', 'message' => 'The custom extension code is in use and cannot be modified.', 'http_code' => 400, 'description' => 'The custom extension code is in use and cannot be modified.'], ['code' => 'ExtCodeNotFound', 'message' => 'Custom extension code does not exist.', 'http_code' => 400, 'description' => 'Custom extension code does not exist'], ['code' => 'ExtCodeNotReady', 'message' => 'The custom extension code control has not been fully implemented. Please try again later.', 'http_code' => 400, 'description' => 'Custom extension code control is not effective, please try again later'], ['code' => 'FILTER', 'message' => '关键字拦截', 'http_code' => 400, 'description' => 'We recommend that you modify the message content.'], ['code' => 'Forbidden.Operation', 'message' => 'You are not authorized to perform the operation.', 'http_code' => 400, 'description' => 'You are not authorized to perform this operation.'], ['code' => 'ForbiddenAction', 'message' => 'Access to the account is denied. Please contact the administrator.', 'http_code' => 200, 'description' => 'No access, please contact administrator.'], ['code' => 'GrayCustAccessError', 'message' => 'This customer is not authorized to use the OpenAPI. Please contact support for whitelisting.', 'http_code' => 400, 'description' => ''], ['code' => 'IntlSmsService.Unvalabe', 'message' => 'The international SMS service has not been activated. You cannot create an international SMS template.', 'http_code' => 400, 'description' => 'The international SMS service has not been activated. You cannot create an international SMS template.'], ['code' => 'InvalidAction.NotFound', 'message' => 'The specified API is not found.', 'http_code' => 400, 'description' => 'The specified API action is not found'], ['code' => 'InvalidApplySceneContent', 'message' => 'For certain signature sources, the '."\n" .'applySceneContent should be an HTTP or HTTPS link.', 'http_code' => 400, 'description' => 'invalid application scenario, under some signature sources,'."\n" .'The application scenario should be an HTTP or HTTPS link.'], ['code' => 'InvalidApplySceneContent', 'message' => 'For certain signature sources, the '."\n" .'applySceneContent should be an HTTP or HTTPS link.', 'http_code' => 400, 'description' => 'invalid application scenario. under some signature sources, the application scenario should be an http or https link.'], ['code' => 'InvalidMoreData', 'message' => 'Specified parameter MoreData is not valid.', 'http_code' => 400, 'description' => 'The uploaded more information is invalid.'], ['code' => 'InvalidParam.PageSize', 'message' => 'PageSize must be less than or equal to 50.', 'http_code' => 400, 'description' => 'pageSize must be less than or equal to 50'], ['code' => 'InvalidParam.PhoneNumber', 'message' => 'Incorrect phone number format.', 'http_code' => 400, 'description' => 'Incorrect phone number format'], ['code' => 'InvalidParam.SendDate', 'message' => 'Only the last 30 days can be queried.', 'http_code' => 400, 'description' => 'Only the data of the last 30 days can be queried'], ['code' => 'InvalidParameter', 'message' => 'Parameter invalid.', 'http_code' => 400, 'description' => 'Parameter error, please check the parameter'], ['code' => 'InvalidParameter', 'message' => 'At most, only one parameter can be passed among bizCardId, bizSmsId, and bizDigitId.', 'http_code' => 400, 'description' => 'At most, only one parameter can be passed among bizCardId, bizSmsId, and bizDigitId.'], ['code' => 'InvalidParameter.Channel', 'message' => 'The specified Channel is invalid.', 'http_code' => 400, 'description' => 'The value of the Channel parameter is invalid.'], ['code' => 'InvalidParameter.endDate', 'message' => 'The specified parameter endDate is not valid.', 'http_code' => 400, 'description' => 'The input parameter endDate does not meet the parameter specification.'], ['code' => 'InvalidParameter.ExternalId', 'message' => 'The specified ExternalId is invalid.', 'http_code' => 400, 'description' => 'The value of the ExternalId parameter is invalid.'], ['code' => 'InvalidParameter.From', 'message' => 'The specified From is invalid.', 'http_code' => 400, 'description' => 'The value of the From parameter is invalid.'], ['code' => 'InvalidParameter.pageSize', 'message' => 'PageSize must be less than or equal to 50.', 'http_code' => 400, 'description' => 'pageSize must be less than or equal to 50'], ['code' => 'InvalidParameter.phoneNumber', 'message' => 'Incorrect phone number format.', 'http_code' => 400, 'description' => ''], ['code' => 'InvalidParameter.sendDate', 'message' => 'Only the last 30 days can be queried.', 'http_code' => 400, 'description' => 'Only the data of the last 30 days can be queried'], ['code' => 'InvalidParameter.SenderId', 'message' => 'The specified SenderId is invalid.', 'http_code' => 400, 'description' => 'The value of the SenderId parameter is invalid.'], ['code' => 'InvalidParameter.SMS_CARD_MESSAGE NO ACCESS', 'message' => 'The user has not activated card SMS within the SMS service.', 'http_code' => 400, 'description' => 'The user has not activated the card SMS in the SMS service.'], ['code' => 'InvalidParameter.To', 'message' => 'The specified To is invalid.', 'http_code' => 400, 'description' => 'The value of the To parameter is invalid.'], ['code' => 'InvalidParameter.To', 'message' => 'The specified parameter To is not valid.', 'http_code' => 400, 'description' => 'The to field of the passed-in parameter is invalid.'], ['code' => 'InvalidParameter.Type', 'message' => 'The specified Type is invalid.', 'http_code' => 400, 'description' => 'The value of the Type parameter is invalid.'], ['code' => 'InvalidQualification', 'message' => 'The qualification should be approved.', 'http_code' => 400, 'description' => 'Invalid qualification, qualification should be approved.'], ['code' => 'InvalidSignName', 'message' => 'The signature cannot contain spaces, special '."\n" .'symbols, or all numbers.', 'http_code' => 400, 'description' => 'The signature cannot contain special characters such as simplified Chinese, English, or spaces other than digits, and cannot be all digits.'], ['code' => 'InvalidTemplateContent.Format', 'message' => 'Invalid template content format.', 'http_code' => 400, 'description' => 'The template content is not in the correct format.'], ['code' => 'InvalidTemplateRule', 'message' => 'The template variable format is non-standard. Please refer to the variable format specifications in the help documentation.', 'http_code' => 400, 'description' => 'The template variable does not meet the specifications. Please check the SMS template specification document and pass in the template variable that meets the requirements.'], ['code' => 'InvalidTemplateRule.Format', 'message' => 'The template variable does not conform to the specification, please check the https://help.aliyun.com/zh/sms/user-guide/message-template-specifications/.', 'http_code' => 400, 'description' => 'The template variable does not conform to the specification, please check the https://help.aliyun.com/zh/sms/user-guide/message-template-specifications/'], ['code' => 'InvalidTemplateRule.Format', 'message' => 'The parameter TemplateRule format must be JSON.', 'http_code' => 400, 'description' => 'Template variable rules must be filled with JSON-formatted data.'], ['code' => 'InvalidTimeStamp.Expired', 'message' => 'The specified timestamp has expired.', 'http_code' => 400, 'description' => 'The specified timestamp is expired'], ['code' => 'InvalidVersion', 'message' => 'Invalid API version.', 'http_code' => 400, 'description' => 'The specified API version is invalid'], ['code' => 'INVALID_PARAMETERS', 'message' => 'The format of MessageId is wrong.', 'http_code' => 200, 'description' => 'The parameter is incorrect. Check whether the parameter is correct.'], ['code' => 'isp.GATEWAY_ERROR', 'message' => 'Unexpected gateway error.', 'http_code' => 400, 'description' => 'Unexpected gateway error'], ['code' => 'isp.RAM_PERMISSION_DENY', 'message' => 'RAM权限DENY', 'http_code' => 400, 'description' => 'We recommend that you contact SMS technical support to fix the issue.'], ['code' => 'isp.RAM_PERMISSION_DENY', 'message' => 'The RAM user is not authorized.', 'http_code' => 400, 'description' => 'The RAM user is not authorized.'], ['code' => 'isp.SYSTEM_ERROR', 'message' => '系统错误', 'http_code' => 500, 'description' => 'We recommend that you contact SMS technical support to fix the issue.'], ['code' => 'isp.SYSTEM_ERROR', 'message' => 'A system error occurred.', 'http_code' => 500, 'description' => 'Unexpected system error occurred'], ['code' => 'isv.ACCOUNT_ABNORMAL', 'message' => '账户异常', 'http_code' => 400, 'description' => 'We recommend that you contact SMS technical support to confirm your account.'], ['code' => 'isv.ACCOUNT_ABNORMAL', 'message' => 'The account is in an abnormal state.', 'http_code' => 400, 'description' => 'The specified account status is abnormal'], ['code' => 'isv.ACCOUNT_NOT_EXISTS', 'message' => 'Account not found', 'http_code' => 404, 'description' => 'We recommend that you open an account.'], ['code' => 'isv.ACCOUNT_NOT_EXISTS', 'message' => 'The specified account does not exist.', 'http_code' => 400, 'description' => 'The specified account does not exist.'], ['code' => 'isv.AMOUNT_NOT_ENOUGH', 'message' => '账户余额不足', 'http_code' => 400, 'description' => 'We recommend that you add funds to the account.'], ['code' => 'isv.AMOUNT_NOT_ENOUGH', 'message' => 'The resource plan is unavailable or your account does not have a sufficient balance.', 'http_code' => 400, 'description' => 'The resource plan is unavailable or your account does not have a sufficient balance.'], ['code' => 'isv.BLACK_KEY_CONTROL_LIMIT', 'message' => '黑名单管控', 'http_code' => 400, 'description' => 'We recommend that you contact SMS technical support to remove your account from the blacklist.'], ['code' => 'isv.BLACK_KEY_CONTROL_LIMIT', 'message' => 'The specified template variable includes one or more blocked keywords.', 'http_code' => 400, 'description' => 'The specified template variable includes one or more blocked keywords.'], ['code' => 'isv.BUSINESS_LIMIT_CONTROL', 'message' => '业务限流', 'http_code' => 403, 'description' => 'We recommend that you contact SMS technical support to fix the issue.'], ['code' => 'isv.BUSINESS_LIMIT_CONTROL', 'message' => 'Cloud communications throttling has been triggered.', 'http_code' => 400, 'description' => 'The business limit is reached'], ['code' => 'isv.CUSTOMER_REFUSED', 'message' => 'The user refuses to receive marketing messages.', 'http_code' => 400, 'description' => 'Customer refused to receive specified MKT sms'], ['code' => 'isv.DAY_LIMIT_CONTROL', 'message' => 'The daily threshold of the messages that the user can send has been reached.', 'http_code' => 400, 'description' => 'The daily threshold of the messages that the user can send has been reached.'], ['code' => 'isv.DENY_IP_RANGE', 'message' => 'SMS does not support the region with the source IP address.', 'http_code' => 400, 'description' => 'Not supported source IP range for SMS'], ['code' => 'isv.DOMESTIC_NUMBER_NOT_SUPPORTED', 'message' => 'Templates for regions outside the Chinese mainland cannot be used for messages sent to numbers in the Chinese mainland.', 'http_code' => 400, 'description' => 'International template is not supported for China-mainland number'], ['code' => 'isv.ERROR_EMPTY_FILE', 'message' => 'The file uploaded is empty.', 'http_code' => 400, 'description' => 'The file uploaded is empty'], ['code' => 'isv.ERROR_SIGN_NOT_DELETE', 'message' => 'Signatures pending approval cannot be deleted.', 'http_code' => 400, 'description' => 'Not allow to delete sign name in approval process'], ['code' => 'isv.ERROR_SIGN_NOT_MODIFY', 'message' => 'Effective signatures cannot be modified.', 'http_code' => 400, 'description' => 'Not allow to modify effective sign name'], ['code' => 'isv.ERROR_TEMPLATE_NOT_DELETE', 'message' => 'Templates pending approval cannot be deleted.', 'http_code' => 400, 'description' => 'Not allow to delete template in approval process'], ['code' => 'isv.ERROR_TEMPLATE_NOT_MODIFY', 'message' => 'Approved templates cannot be modified.', 'http_code' => 400, 'description' => 'Not allow to modify template effective process'], ['code' => 'isv.EXTEND_CODE_ERROR', 'message' => 'SmsUpExtendCode should be unique for each signature.', 'http_code' => 400, 'description' => 'SmsUpExtendCode should be unique for each sign name'], ['code' => 'ISV.Forbidden', 'message' => 'SubUser not authorized to operate on the specified resource.', 'http_code' => 200, 'description' => ''], ['code' => 'isv.INVALID_JSON_PARAM', 'message' => '参数格式错误,请修改为字符串值', 'http_code' => 400, 'description' => 'The specified parameter is invalid. Change the parameter value to a character string.'], ['code' => 'isv.INVALID_JSON_PARAM', 'message' => 'The JSON string failed to be parsed.', 'http_code' => 400, 'description' => 'The JSON string failed to be parsed.'], ['code' => 'isv.INVALID_PARAMETERS', 'message' => '参数异常', 'http_code' => 400, 'description' => 'We recommend that you specify valid parameters.'], ['code' => 'isv.INVALID_PARAMETERS', 'message' => 'The input parameters are invalid.', 'http_code' => 400, 'description' => 'The input parameters are invalid.'], ['code' => 'isv.MOBILE_COUNT_OVER_LIMIT', 'message' => '手机号码数量超过限制', 'http_code' => 400, 'description' => 'We recommend that you reduce mobile phone numbers.'], ['code' => 'isv.MOBILE_COUNT_OVER_LIMIT', 'message' => 'The number of mobile phone numbers exceeds 1,000.', 'http_code' => 400, 'description' => 'The number of mobile phone numbers exceeds 1,000.'], ['code' => 'isv.MOBILE_NUMBER_ILLEGAL', 'message' => '手机号码格式错误', 'http_code' => 400, 'description' => 'We recommend that you specify valid mobile phone numbers.'], ['code' => 'isv.MOBILE_NUMBER_ILLEGAL', 'message' => 'The format of the specified mobile phone number is invalid.', 'http_code' => 400, 'description' => 'The format of the specified mobile phone number is invalid.'], ['code' => 'isv.NOT_SUPPORTED_COUNTRY', 'message' => '暂不支持该国家的国际短信发送', 'http_code' => 400, 'description' => 'The international SMS sending of this country is not supported.'], ['code' => 'isv.NO_AVAILABLE_SHORT_URL', 'message' => 'No available short URLs in the account.', 'http_code' => 400, 'description' => 'No available short URL found'], ['code' => 'isv.OUT_OF_SERVICE', 'message' => '业务停机', 'http_code' => 400, 'description' => 'We recommend that you contact SMS technical support to fix the issue.'], ['code' => 'isv.OUT_OF_SERVICE', 'message' => 'The account has been out of service due to insufficient balance.', 'http_code' => 400, 'description' => 'Account is out of service due to insufficient balance'], ['code' => 'isv.PARAM_LENGTH_LIMIT', 'message' => '参数超出长度限制', 'http_code' => 400, 'description' => 'We recommend that you modify the parameter length.'], ['code' => 'isv.PARAM_LENGTH_LIMIT', 'message' => 'The length of the specified variable exceeds the limit.', 'http_code' => 400, 'description' => 'The length of the specified variable exceeds the limit.'], ['code' => 'isv.PARAM_NOT_SUPPORT_URL', 'message' => '变量不支持传入URL', 'http_code' => 400, 'description' => 'URLs are not allowed in variables.'], ['code' => 'isv.PARAM_NOT_SUPPORT_URL', 'message' => 'URLs cannot be specified for the parameter.', 'http_code' => 400, 'description' => 'Not support URL in parameter'], ['code' => 'isv.PHONENUMBERS_OVER_LIMIT', 'message' => 'The number of mobile phone numbers exceeds 50,000.', 'http_code' => 400, 'description' => 'The number of mobile phone numbers exceeds 50,000.'], ['code' => 'isv.PRODUCT_UNSUBSCRIBE', 'message' => '产品未开通', 'http_code' => 400, 'description' => 'We recommend that you purchase the service.'], ['code' => 'isv.PRODUCT_UNSUBSCRIBE', 'message' => 'SMS has not been activated.', 'http_code' => 400, 'description' => 'SMS service not activated'], ['code' => 'isv.PRODUCT_UN_SUBSCRIPT', 'message' => '未开通云通信产品的阿里云客户', 'http_code' => 401, 'description' => 'We recommend that you activate Cloud Communications.'], ['code' => 'isv.PRODUCT_UN_SUBSCRIPT', 'message' => 'SMS has not been activated.', 'http_code' => 400, 'description' => 'SMS service not activated'], ['code' => 'ISV.PRODUCT_UN_SUBSCRIPT', 'message' => 'SMS service not activated.', 'http_code' => 200, 'description' => 'Alibaba Cloud customers who have not activated cloud communication products'], ['code' => 'isv.SECURITY_FROZEN_ACCOUNT', 'message' => 'The specified account has been frozen.', 'http_code' => 400, 'description' => 'The specified account is frozen'], ['code' => 'isv.SHORTURL_DOMAIN_EMPTY', 'message' => '创建失败,请先提交该链接的一级域名报备', 'http_code' => 200, 'description' => 'Create failed. Submit your original domain name for approval first.'], ['code' => 'isv.SHORTURL_DOMAIN_EMPTY', 'message' => 'Unregistered original URL domain.', 'http_code' => 400, 'description' => 'Unregistered original URL domain'], ['code' => 'isv.SHORTURL_NAME_ILLEGAL', 'message' => '短链服务名称不能超过13个字符长度', 'http_code' => 200, 'description' => 'The activity name of the short URL cannot exceed 13 characters in length.'], ['code' => 'isv.SHORTURL_NAME_ILLEGAL', 'message' => 'A short URL name can contain a maximum of 13 characters.', 'http_code' => 400, 'description' => 'Short URL name over max length'], ['code' => 'isv.SHORTURL_NOT_FOUND', 'message' => '没有可删除的短链', 'http_code' => 200, 'description' => 'No short URL can be deleted.'], ['code' => 'isv.SHORTURL_OVER_LIMIT', 'message' => 'The maximum number of short URLs that can be applied in a day has been exceeded.', 'http_code' => 400, 'description' => 'The max count of short URL registered daily is reached'], ['code' => 'isv.SHORTURL_STILL_AVAILABLE', 'message' => '原始链接生成的短链仍在有效期内', 'http_code' => 200, 'description' => 'The short URL is still valid.'], ['code' => 'isv.SHORTURL_STILL_AVAILABLE', 'message' => 'The short URL is still within the effective period.', 'http_code' => 400, 'description' => 'The short URL is still available'], ['code' => 'isv.SHORTURL_TIME_ILLEGAL', 'message' => '短链有效期期限超过限制', 'http_code' => 200, 'description' => 'The validity period of the short URL is valid.'], ['code' => 'isv.SHORTURL_TIME_ILLEGAL', 'message' => 'EffectiveDays is over the limit.', 'http_code' => 400, 'description' => 'Over the max EffectiveDays'], ['code' => 'isv.SHORTURL_URL_NAME_REPEAT', 'message' => '短链服务名称重复', 'http_code' => 200, 'description' => 'The activity name of the short URL already exists.'], ['code' => 'isv.SIGN_COUNT_OVER_LIMIT', 'message' => 'The maximum number of signatures that can be applied in a day has been exceeded.', 'http_code' => 400, 'description' => 'The max count of sign name registered daily is reached'], ['code' => 'isv.SIGN_FILE_LIMIT', 'message' => 'The specified file is over the size limit.', 'http_code' => 400, 'description' => 'The specified file is over max size'], ['code' => 'isv.SIGN_NAME_ILLEGAL', 'message' => 'The specified signature does not exist or is blocked.', 'http_code' => 400, 'description' => 'The specified signature does not exist or is blocked.'], ['code' => 'isv.SIGN_OVER_LIMIT', 'message' => 'The maximum number of signatures has been exceeded.', 'http_code' => 400, 'description' => 'The specified signature over max length'], ['code' => 'isv.SMS_CONTENT_ILLEGAL', 'message' => 'The message content is invalid.', 'http_code' => 400, 'description' => 'The message content is invalid.'], ['code' => 'isv.SMS_OVER_LIMIT', 'message' => 'A maximum of 100 templates or signatures can be applied.', 'http_code' => 400, 'description' => 'The max count of sign name or template registered daily is reached'], ['code' => 'isv.SMS_OVER_LIMIT', 'message' => '单日最多申请模板或签名100条', 'http_code' => 200, 'description' => 'Apply for up to 100 templates or signatures in a single day.'], ['code' => 'isv.SMS_SIGNATURE_ILLEGAL', 'message' => '该账号下找不到对应签名', 'http_code' => 400, 'description' => 'The specified signature is not found in the account.'], ['code' => 'isv.SMS_SIGNATURE_ILLEGAL', 'message' => 'The specified signature does not exist or is blocked.', 'http_code' => 400, 'description' => 'The specified signature does not exist or is blocked.'], ['code' => 'isv.SMS_SIGNATURE_SCENE_ILLEGAL', 'message' => 'The signature and template type does not match.', 'http_code' => 400, 'description' => 'Sign Name type and template type mismatch'], ['code' => 'isv.SMS_SIGN_EMOJI_ILLEGAL', 'message' => 'Emojis are not supported.', 'http_code' => 400, 'description' => 'Emoji is not supported'], ['code' => 'isv.SMS_SIGN_ILLEGAL', 'message' => 'The specified signature does not exist or is blocked.', 'http_code' => 400, 'description' => 'The specified signature does not exist or is blocked.'], ['code' => 'isv.SMS_TEMPLATE_ILLEGAL', 'message' => '该账号下找不到对应模板', 'http_code' => 400, 'description' => 'The specified template is not found in the account.'], ['code' => 'isv.SMS_TEMPLATE_ILLEGAL', 'message' => 'The specified message template does not exist or is blocked.', 'http_code' => 400, 'description' => 'The specified message template does not exist or is blocked.'], ['code' => 'isv.SMS_TEST_NUMBER_LIMIT', 'message' => 'Test templates can only be sent to authorized phone numbers.', 'http_code' => 400, 'description' => 'Test template can not send to authorized phone'], ['code' => 'isv.SMS_TEST_SIGN_TEMPLATE_LIMIT', 'message' => 'Test signatures must be used together with test templates.', 'http_code' => 400, 'description' => 'Test sign name must use together with test template'], ['code' => 'isv.SMS_TEST_TEMPLATE_PARAMS_ILLEGAL', 'message' => 'Parameters in test templates support only numeric values that consist of 4 to 6 digits.', 'http_code' => 400, 'description' => 'Only 4~6 numeric supported for test template'], ['code' => 'isv.SOURCEURL_OVER_LIMIT', 'message' => 'The maximum number of characters in a source URL name has been exceeded.', 'http_code' => 400, 'description' => 'Source URL name over max length'], ['code' => 'isv.TEMPLATE_COUNT_OVER_LIMIT', 'message' => 'The maximum number of templates that can be applied in a day has been reached.', 'http_code' => 400, 'description' => 'The max count of template registered daily is reached'], ['code' => 'isv.TEMPLATE_MISSING_PARAMETERS', 'message' => 'The variable in the template is empty.', 'http_code' => 400, 'description' => 'The variable in the template is empty.'], ['code' => 'isv.TEMPLATE_OVER_LIMIT', 'message' => 'The maximum number of characters in a template has been exceeded.', 'http_code' => 400, 'description' => 'The specified template content over max length'], ['code' => 'isv.TEMPLATE_PARAMS_ILLEGAL', 'message' => '模版变量里包含非法字符,如emoji表情等', 'http_code' => 400, 'description' => 'Template parameters include invalid characters such as emojis.'], ['code' => 'isv.TEMPLATE_PARAMS_ILLEGAL', 'message' => 'The specified parameter value is of an invalid type.', 'http_code' => 400, 'description' => 'The input parameters are invalid is miss matched with template'], ['code' => 'lc.INVOKE_HSF_ERROR', 'message' => '[lc.INVOKE_HSF_ERROR].', 'http_code' => 500, 'description' => 'Call interface exception'], ['code' => 'LegalBackOssFileNotUploadError', 'message' => 'Legal person ID card portrait photo not uploaded.', 'http_code' => 400, 'description' => ''], ['code' => 'LegalDateNotValid', 'message' => 'Current time is outside the legal person ID card validity period.', 'http_code' => 400, 'description' => ''], ['code' => 'LegalFrontOssFileNotUploadError', 'message' => 'Legal person ID card national emblem photo not uploaded.', 'http_code' => 400, 'description' => ''], ['code' => 'LegalIdCardNoNullError', 'message' => 'Legal person\'s ID number cannot be empty.', 'http_code' => 400, 'description' => ''], ['code' => 'LegalIdCardNotMatchRegex', 'message' => 'Invalid legal person ID number format.', 'http_code' => 400, 'description' => ''], ['code' => 'LegalPersonIdcardEfftimeNotMatchRegexError', 'message' => 'Invalid legal person ID card expiration time format.', 'http_code' => 400, 'description' => ''], ['code' => 'LegalPersonIdcardTypeError', 'message' => 'Invalid legal person ID card type.', 'http_code' => 400, 'description' => ''], ['code' => 'LegalPersonNameNullError', 'message' => 'Legal person\'s name cannot be empty.', 'http_code' => 400, 'description' => ''], ['code' => 'MissApplySceneContent', 'message' => 'In some signature sources, the applySceneContent is required.', 'http_code' => 400, 'description' => 'Under some signature sources, the application scenario is required.'], ['code' => 'MissingParameter', 'message' => 'The ResourceId and Tag lists cannot be empty at the same time.', 'http_code' => 400, 'description' => 'Resource list (ResourceId) and tag list (Tag) cannot be empty at the same time'], ['code' => 'MissingParameter.id', 'message' => 'Parameter "id" which is mandatory for the request is not provided.', 'http_code' => 400, 'description' => 'The request is missing the required parameter id field'], ['code' => 'MissingParameter.Message', 'message' => 'You must specify Message.', 'http_code' => 400, 'description' => 'The Message parameter is missing.'], ['code' => 'MissingParameter.To', 'message' => 'You must specify To.', 'http_code' => 400, 'description' => 'The To parameter is missing.'], ['code' => 'MissingSignName', 'message' => 'The signature name cannot be empty.', 'http_code' => 400, 'description' => 'Signature name cannot be empty'], ['code' => 'MissingTemplateName', 'message' => 'The template name cannot be empty.', 'http_code' => 404, 'description' => 'Template name cannot be empty.'], ['code' => 'MonthLimitControl', 'message' => 'The monthly volume limit is exceeded.', 'http_code' => 400, 'description' => 'The number of the sent messages has exceeded the monthly limit.'], ['code' => 'NotEnterpriseCertifyCustCheckError', 'message' => 'Non-enterprise certified customers are not allowed to access.', 'http_code' => 400, 'description' => ''], ['code' => 'OneExtCodeMultipleSign', 'message' => 'One code with multiple signature error, please verify.', 'http_code' => 400, 'description' => 'One extension code multiple sign error, please check'], ['code' => 'OrderDefinition.NotExist', 'message' => 'The work order scenario definition does not exist.', 'http_code' => 400, 'description' => 'Job scene definition does not exist'], ['code' => 'OrganizationCodeNullError', 'message' => 'Unified Social Credit Code cannot be empty.', 'http_code' => 400, 'description' => ''], ['code' => 'OrganizationCodeOverLimit', 'message' => 'The organization code is limited to 150 characters.', 'http_code' => 400, 'description' => 'Social credit code is not allowed to exceed 150 characters'], ['code' => 'OssBiztypeNotSupportError', 'message' => 'Retrieving OSS configuration does not support this biz type.', 'http_code' => 400, 'description' => ''], ['code' => 'OtherFileTypeError', 'message' => 'Invalid file format for other documents.', 'http_code' => 400, 'description' => ''], ['code' => 'OtherOssFileNotUploadError', 'message' => 'Other files not uploaded.', 'http_code' => 400, 'description' => ''], ['code' => 'OutOfService', 'message' => 'The account is suspended.', 'http_code' => 400, 'description' => ''], ['code' => 'ParameterMismatch.ThirdParty', 'message' => 'The type of signature, whether for personal use or for a third party, should be consistent with the qualifications.', 'http_code' => 400, 'description' => 'Whether the signature is used by a third party should be consistent with the qualification.'], ['code' => 'PARAMS_ILLEGAL', 'message' => 'Invalid parameter value.', 'http_code' => 400, 'description' => 'The parameter input is invalid'], ['code' => 'PhoneNoCertifyCodeNullError', 'message' => 'Phone number and verification code cannot be empty.', 'http_code' => 400, 'description' => ''], ['code' => 'PhoneNumber.Illegal', 'message' => 'The specified phone number is invalid.', 'http_code' => 400, 'description' => 'The mobile phone number is invalid.'], ['code' => 'ProxyAuthorizationNotMatchRegex', 'message' => 'The authorized party name currently does not support any symbols except middle dots, spaces, Chinese brackets, and English parentheses or purely numeric input.', 'http_code' => 400, 'description' => ''], ['code' => 'ProxyAuthorizationOverLimit', 'message' => 'The authorized party exceeds the 1000-character length limit.', 'http_code' => 400, 'description' => ''], ['code' => 'QualificationNameAlreadyExist', 'message' => 'The qualification name already exists. Please modify and resubmit.', 'http_code' => 400, 'description' => ''], ['code' => 'QualificationNameNotMatchRegex', 'message' => 'Qualification names must be in Chinese, English, or alphanumeric combinations. Symbols or pure numbers are not supported.', 'http_code' => 400, 'description' => ''], ['code' => 'QualificationNameNullError', 'message' => 'Qualification name cannot be empty.', 'http_code' => 400, 'description' => ''], ['code' => 'QualificationNotComplete', 'message' => 'The qualification elements are incomplete.', 'http_code' => 400, 'description' => 'The qualification elements are incomplete, and the missing elements are []'], ['code' => 'QualificationNotExist', 'message' => 'Can\'t query qualification information.', 'http_code' => 400, 'description' => 'Can\'t query qualification information'], ['code' => 'QualificationNotExist', 'message' => 'Qualification does not exist.', 'http_code' => 400, 'description' => ''], ['code' => 'QualificationNotFound', 'message' => 'Qualification does not exist.', 'http_code' => 404, 'description' => 'Qualification does not exist.'], ['code' => 'SameQualificationGroupError', 'message' => 'A qualification with the same company and administrator information already exists.', 'http_code' => 400, 'description' => ''], ['code' => 'ServiceNotOpened', 'message' => 'This product service is not opened.', 'http_code' => 400, 'description' => 'Product service not activated'], ['code' => 'SignatureDoesNotMatch', 'message' => 'The signature generated by the client does not match the server.', 'http_code' => 400, 'description' => 'Signature does not matches'], ['code' => 'SignatureNonceUsed', 'message' => 'The specified signature has been used.', 'http_code' => 400, 'description' => 'The specified signature is been used'], ['code' => 'SignatureNotFound', 'message' => 'The signature does not exist.', 'http_code' => 404, 'description' => 'The corresponding signature cannot be found under the account.'], ['code' => 'SIGNATURE_BLACKLIST', 'message' => 'The sign name is intercepted based on the specified risk control strategies.', 'http_code' => 400, 'description' => 'The sign name is intercepted based on the specified risk control strategies.'], ['code' => 'SignName.Exists', 'message' => 'Sorry, this signature already exists and cannot be applied for again.', 'http_code' => 400, 'description' => 'Sorry, this signature already exists and cannot be reapplied.'], ['code' => 'SignNotMatchRegex', 'message' => 'The signature length is limited to 2-12 characters and does not support some special characters.', 'http_code' => 400, 'description' => ''], ['code' => 'SignNumOverLimit', 'message' => 'The signature exceeds the limit of 100 entries.', 'http_code' => 400, 'description' => ''], ['code' => 'SmsAuthorizationLetterNotExist', 'message' => 'Authorization does not belong to the customer.', 'http_code' => 400, 'description' => ''], ['code' => 'SmsAuthorizationLetterNotMatch', 'message' => 'Please bind the available authorization letter whose the social credit code is same to the the social credit code of qualification.', 'http_code' => 400, 'description' => 'Please bind the available authorization letter whose the social credit code is same to the the social credit code of qualification'], ['code' => 'SmsPassedAuthorizationLetterNotMatch', 'message' => 'Please bind audited authorization letter whose the social credit code is same to the the social credit code of qualification.', 'http_code' => 400, 'description' => 'Please bind and unify the qualification authorization letter with the same and available social credit code.'."\n"], ['code' => 'SmsQualificationNotPassed', 'message' => 'The qualification has not been approved and cannot be bound to the signature.', 'http_code' => 400, 'description' => 'The qualification has not been approved and cannot be bound to the signature.'], ['code' => 'SmsQualificationRegisterFailed', 'message' => 'The registration of the current qualification fails. Please modify the qualification and re-bind the qualification before completing the signature registration process again.', 'http_code' => 400, 'description' => 'The registration of the current qualification fails. Please modify the qualification and re-bind the qualification before completing the signature registration process again.'], ['code' => 'SmsSignatureNotExist', 'message' => 'Signature does not exist.', 'http_code' => 400, 'description' => 'Signature does not exist'], ['code' => 'SmsSignatureNotFound', 'message' => 'The associated SMS signature does not exist.', 'http_code' => 404, 'description' => 'The associated SMS signature does not exist.'], ['code' => 'SmsSignNotAuthorized', 'message' => 'The signature is not within the scope of the authorization.', 'http_code' => 400, 'description' => 'The signature is not within the scope of the authorization.'], ['code' => 'SmsSignNotAuthorized', 'message' => 'the signature is not in the sign scope of the authorization letter.', 'http_code' => 400, 'description' => 'The signature is not within the scope of the authorization.'], ['code' => 'SMS_STATUS_ILLEGAL', 'message' => 'When replacing the qualification and power of attorney of the signature, the signature status must be approved.', 'http_code' => 400, 'description' => 'When replacing the qualification and power of attorney of the signature, the signature status must be approved.'], ['code' => 'TemplateNotFound', 'message' => 'The template does not exist.', 'http_code' => 404, 'description' => ''], ['code' => 'TemplateParameterCountIllegal', 'message' => 'The verification code template only supports 1 verification code as a variable', 'http_code' => 400, 'description' => 'Verification code templates support only one variable, which must be a verification code.'], ['code' => 'TemplateVarLimitExceeded', 'message' => 'The verification code template only supports one variable.', 'http_code' => 400, 'description' => 'The verification code template only supports one variable.'], ['code' => 'template_code.NotFound', 'message' => 'The resource of "template_code" is not found..', 'http_code' => 400, 'description' => 'Could not find template code'], ['code' => 'template_parameter_count_illegal', 'message' => 'Only one parameter is supported in an OTP template.', 'http_code' => 400, 'description' => 'Only one parameter supported for OTP template'], ['code' => 'ThreeAbnormal', 'message' => 'Three party anomaly.', 'http_code' => 400, 'description' => 'tripartite anomaly'], ['code' => 'Unknown.CountryCode', 'message' => 'The specified country code is invalid.', 'http_code' => 400, 'description' => 'The country code is unknown.'], ['code' => 'Unsupport.CountryCode', 'message' => 'The specified country code is not supported.', 'http_code' => 400, 'description' => 'The country code is not supported.'], ['code' => 'VALVE:D_MC', 'message' => '重复过滤', 'http_code' => 400, 'description' => 'We recommend that you reduce the number of messages sent per day.'], ['code' => 'VALVE:H_MC', 'message' => '重复过滤', 'http_code' => 400, 'description' => 'We recommend that you reduce the number of messages sent per hour.'], ['code' => 'VALVE:M_MC', 'message' => '重复过滤', 'http_code' => 400, 'description' => 'We recommend that you reduce the number of messages sent per minute.'], ['code' => 'WorkOrderIdExpired', 'message' => 'Qualification details have changed. Please re-query the qualification list and resubmit.', 'http_code' => 400, 'description' => ''], ['code' => 'TrademarkPicsFileError', 'message' => 'The format of the trademark screenshot file is incorrect.', 'http_code' => 400, 'description' => ''], ['code' => 'AppIcpRecordOssFileNotUploadError', 'message' => 'The APP-ICP record screenshot file is not uploaded.', 'http_code' => 400, 'description' => ''], ['code' => 'TrademarkApplicantNameNotMatchRegex', 'message' => 'The trademark applicant cannot be empty.', 'http_code' => 400, 'description' => ''], ['code' => 'AppPrincipalUnitNameOverLimit', 'message' => 'The principal unit name of the APP exceeds the length limit.', 'http_code' => 400, 'description' => ''], ['code' => 'AppIcpRecordDateNotMatchRegex', 'message' => 'The format of the APP-ICP record approval date is incorrect.', 'http_code' => 400, 'description' => ''], ['code' => 'TrademarkLetterDateNotMatchRegex', 'message' => 'The format of the trademark\'s validity period is incorrect.', 'http_code' => 400, 'description' => ''], ['code' => 'AppIcpLicenseNumberOverLimit', 'message' => 'The ICP record/license number exceeds the length limit.', 'http_code' => 400, 'description' => ''], ['code' => 'TrademarkApplicantNameOverLimit', 'message' => 'The trademark applicant exceeds the length limit.', 'http_code' => 400, 'description' => ''], ['code' => 'AppApprovalDateNotValid', 'message' => 'The validity period of the APP-ICP record is not within the valid range.', 'http_code' => 400, 'description' => ''], ['code' => 'AppIcpRecordPicsFileError', 'message' => 'The format of the APP-ICP record screenshot file is incorrect.', 'http_code' => 400, 'description' => ''], ['code' => 'TrademarkRegistrationNumberNotMatchRegex', 'message' => 'The trademark registration number cannot be empty.', 'http_code' => 400, 'description' => ''], ['code' => 'AppDomainNotMatchRegex', 'message' => 'The APP app store link cannot be empty and must start with http:// or https://.', 'http_code' => 400, 'description' => ''], ['code' => 'TrademarkDateNotValid', 'message' => 'The trademark\'s validity period is not within the valid range.', 'http_code' => 400, 'description' => ''], ['code' => 'TrademarkNameNotMatchRegex', 'message' => 'The trademark name cannot be empty.', 'http_code' => 400, 'description' => ''], ['code' => 'AppPrincipalUnitNameNotMatchRegex', 'message' => 'The principal unit name of the APP cannot be empty.', 'http_code' => 400, 'description' => ''], ['code' => 'AppIcpLicenseNumberNotMatchRegex', 'message' => 'The ICP record/license number cannot be empty.', 'http_code' => 400, 'description' => ''], ['code' => 'TrademarkOssFileNotUploadError', 'message' => 'The trademark screenshot file is not uploaded.', 'http_code' => 400, 'description' => ''], ['code' => 'TrademarkRegistrationNumberOverLimit', 'message' => 'The trademark registration number exceeds the length limit.', 'http_code' => 400, 'description' => ''], ['code' => 'TrademarkNameOverLimit', 'message' => 'The trademark name exceeds the length limit.', 'http_code' => 400, 'description' => ''], ['code' => 'AppDomainOverLimit', 'message' => 'The APP app store link exceeds the length limit.', 'http_code' => 400, 'description' => ''], ['code' => 'AppIcpRecordNotExist', 'message' => 'The APP-ICP record does not exist.', 'http_code' => 400, 'description' => ''], ['code' => 'TrademarkNotExist', 'message' => 'The trademark does not exist.', 'http_code' => 400, 'description' => ''], ], 'changeSet' => [ [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'QuerySendStatistics'], ['description' => 'OpenAPI offline', 'api' => 'QuerySendDetails'], ], 'createdAt' => '2026-07-02T08:24:57.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'QuerySendStatistics'], ['description' => 'OpenAPI offline', 'api' => 'QuerySendDetails'], ], 'createdAt' => '2026-07-02T08:24:57.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'QuerySendDetails'], ['description' => 'OpenAPI offline', 'api' => 'QuerySendStatistics'], ], 'createdAt' => '2026-07-01T06:01:22.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'QuerySmsAppIcpRecord'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsAppIcpRecord'], ], 'createdAt' => '2026-06-30T09:32:48.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'QuerySmsAppIcpRecord'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsAppIcpRecord'], ], 'createdAt' => '2026-06-30T09:32:45.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'QuerySmsAppIcpRecord'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsAppIcpRecord'], ], 'createdAt' => '2026-06-30T08:39:47.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'QuerySmsAppIcpRecord'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsAppIcpRecord'], ], 'createdAt' => '2026-06-30T08:39:42.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'QuerySmsAppIcpRecord'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsAppIcpRecord'], ], 'createdAt' => '2026-06-30T08:39:42.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'QuerySmsTemplateList'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsTemplate'], ], 'createdAt' => '2026-06-15T07:45:24.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'QuerySmsTemplateList'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsTemplate'], ], 'createdAt' => '2026-06-15T07:45:22.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'QuerySmsTemplateList'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsTemplate'], ], 'createdAt' => '2026-06-15T07:45:22.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsTemplateList'], ], 'createdAt' => '2026-06-08T07:44:54.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsTemplateList'], ], 'createdAt' => '2026-06-08T07:44:54.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsTemplateList'], ], 'createdAt' => '2026-06-08T07:44:54.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsTemplateList'], ], 'createdAt' => '2026-06-08T07:44:50.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ], 'createdAt' => '2026-06-04T07:56:01.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsTemplateList'], ], 'createdAt' => '2026-06-04T07:55:58.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsTemplateList'], ], 'createdAt' => '2026-06-04T07:55:45.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsTemplateList'], ], 'createdAt' => '2026-06-04T07:55:45.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ], 'createdAt' => '2026-06-03T12:32:29.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ], 'createdAt' => '2026-06-03T12:32:23.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ], 'createdAt' => '2026-06-03T08:56:43.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ], 'createdAt' => '2026-06-03T08:56:31.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'GetSmsTemplate'], ], 'createdAt' => '2026-04-07T06:43:39.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'GetSmsTemplate'], ], 'createdAt' => '2026-04-07T06:43:33.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'GetSmsTemplate'], ], 'createdAt' => '2026-04-07T06:43:31.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'GetSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsTemplate'], ], 'createdAt' => '2026-03-30T02:44:05.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'GetSmsTemplate'], ], 'createdAt' => '2026-03-30T02:44:02.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'QuerySmsSignList'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsSignList'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsSign'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateSmsSign'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'UpdateSmsSign'], ], 'createdAt' => '2025-12-11T12:44:31.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'QuerySmsSignList'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsSignList'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsSign'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateSmsSign'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'UpdateSmsSign'], ], 'createdAt' => '2025-12-11T12:44:31.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'QuerySmsSignList'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsSignList'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsSign'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateSmsSign'], ['description' => 'Error codes changed, Request parameters changed', 'api' => 'UpdateSmsSign'], ], 'createdAt' => '2025-12-11T12:44:31.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsSignList'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsSignList'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsSign'], ], 'createdAt' => '2025-12-11T10:08:22.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'QuerySmsTemplateList'], ], 'createdAt' => '2025-11-27T03:33:20.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'QuerySmsTemplateList'], ], 'createdAt' => '2025-11-27T03:33:12.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'CreateCardSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'CreateCardSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'CreateCardSmsTemplate'], ], 'createdAt' => '2025-11-24T02:44:52.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'CreateCardSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'CreateCardSmsTemplate'], ], 'createdAt' => '2025-11-24T02:44:41.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsSignList'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsSignList'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsSign'], ], 'createdAt' => '2025-11-03T13:14:37.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsSignList'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsSignList'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsSign'], ], 'createdAt' => '2025-11-03T13:14:37.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'GetSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsSignList'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsSignList'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'GetSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsSign'], ], 'createdAt' => '2025-11-03T13:13:58.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'AddSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'ModifySmsSign'], ['description' => 'OpenAPI offline', 'api' => 'ModifySmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'AddSmsTemplate'], ], 'createdAt' => '2025-08-15T04:21:05.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'ModifySmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'ModifySmsSign'], ['description' => 'OpenAPI offline', 'api' => 'AddSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'AddSmsTemplate'], ], 'createdAt' => '2025-08-15T04:21:01.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'AddSmsSign'], ], 'createdAt' => '2025-08-15T04:03:26.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'AddSmsSign'], ], 'createdAt' => '2025-08-15T04:02:05.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsTemplate'], ], 'createdAt' => '2025-08-12T14:41:31.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'QuerySmsTemplateList'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ], 'createdAt' => '2025-08-12T14:41:26.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'QuerySmsTemplateList'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ], 'createdAt' => '2025-08-12T14:41:26.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsTemplate'], ], 'createdAt' => '2025-08-12T14:37:16.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ], 'createdAt' => '2025-08-12T14:37:06.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ], 'createdAt' => '2025-08-12T14:37:06.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsTemplate'], ], 'createdAt' => '2025-08-12T14:37:03.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ], 'createdAt' => '2025-08-12T08:38:21.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'CreateSmsTemplate'], ], 'createdAt' => '2025-08-12T07:59:59.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'ChangeSignatureQualification'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsAuthorizationLetter'], ['description' => 'OpenAPI offline', 'api' => 'QuerySingleSmsQualification'], ['description' => 'OpenAPI offline', 'api' => 'DeleteSmsQualification'], ['description' => 'OpenAPI offline', 'api' => 'RequiredPhoneCode'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsQualificationRecord'], ['description' => 'OpenAPI offline', 'api' => 'ValidPhoneCode'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsQualification'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsAuthorizationLetter'], ['description' => 'OpenAPI offline', 'api' => 'GetQualificationOssInfo'], ], 'createdAt' => '2025-08-01T04:05:19.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'ChangeSignatureQualification'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsAuthorizationLetter'], ['description' => 'OpenAPI offline', 'api' => 'QuerySingleSmsQualification'], ['description' => 'OpenAPI offline', 'api' => 'DeleteSmsQualification'], ['description' => 'OpenAPI offline', 'api' => 'RequiredPhoneCode'], ['description' => 'OpenAPI offline', 'api' => 'QuerySmsQualificationRecord'], ['description' => 'OpenAPI offline', 'api' => 'ValidPhoneCode'], ['description' => 'OpenAPI offline', 'api' => 'UpdateSmsQualification'], ['description' => 'OpenAPI offline', 'api' => 'CreateSmsAuthorizationLetter'], ['description' => 'OpenAPI offline', 'api' => 'GetQualificationOssInfo'], ], 'createdAt' => '2025-08-01T04:05:19.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'ModifySmsSign'], ['description' => 'OpenAPI offline', 'api' => 'AddSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'AddSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'ModifySmsTemplate'], ], 'createdAt' => '2025-07-09T12:20:25.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'ModifySmsSign'], ['description' => 'OpenAPI offline', 'api' => 'AddSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'AddSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'ModifySmsTemplate'], ], 'createdAt' => '2025-07-09T12:20:24.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'AddSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'ModifySmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'AddSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'ModifySmsSign'], ], 'createdAt' => '2025-07-09T12:20:18.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'AddSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'ModifySmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'AddSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'ModifySmsSign'], ], 'createdAt' => '2025-07-09T12:20:18.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'AddSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'ModifySmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'AddSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'ModifySmsSign'], ], 'createdAt' => '2025-07-09T12:20:18.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'AddSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'ModifySmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'AddSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'ModifySmsSign'], ], 'createdAt' => '2025-07-09T12:20:18.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'ModifySmsSign'], ['description' => 'OpenAPI offline', 'api' => 'AddSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'AddSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'ModifySmsTemplate'], ], 'createdAt' => '2025-07-09T12:20:05.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'ModifySmsSign'], ['description' => 'OpenAPI offline', 'api' => 'AddSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'AddSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'ModifySmsTemplate'], ], 'createdAt' => '2025-07-09T12:20:05.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'ModifySmsSign'], ['description' => 'OpenAPI offline', 'api' => 'AddSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'AddSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'ModifySmsTemplate'], ], 'createdAt' => '2025-07-09T12:20:05.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'ModifySmsSign'], ['description' => 'OpenAPI offline', 'api' => 'AddSmsSign'], ['description' => 'OpenAPI offline', 'api' => 'AddSmsTemplate'], ['description' => 'OpenAPI offline', 'api' => 'ModifySmsTemplate'], ], 'createdAt' => '2025-07-09T12:20:05.000Z', 'description' => '', ], [ 'apis' => [ ['description' => 'OpenAPI offline', 'api' => 'GetSmsSign'], ], 'createdAt' => '2025-06-18T07:40:37.000Z', 'description' => '', ], ], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSmsTemplate'], ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddSmsSign'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagResources'], ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UntagResources'], ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateCardSmsTemplate'], ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddSmsTemplate'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSmsSign'], ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SendBatchCardSms'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddShortUrl'], ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySendDetails'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySendStatistics'], ['threshold' => '150', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSmsSign'], ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SendSms'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySmsTemplateList'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ConversionDataIntl'], ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSmsTemplate'], ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSmsSign'], ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetOSSInfoForUploadFile'], ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteShortUrl'], ['threshold' => '8000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetCardSmsLink'], ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifySmsSign'], ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryShortUrl'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetCardSmsDetails'], ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSmsSign'], ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryCardSmsTemplate'], ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SmsConversionIntl'], ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySmsSign'], ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetMediaResourceId'], ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySmsTemplate'], ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifySmsTemplate'], ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSmsTemplate'], ['threshold' => '1000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SendCardSms'], ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryCardSmsTemplateReport'], ['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateSmsTemplate'], ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QuerySmsSignList'], ['threshold' => '2000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryMobilesCardSupport'], ['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'TagResources'], ['threshold' => '5000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SendBatchSms'], ['threshold' => '2000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CheckMobilesCardSupport'], ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetOSSInfoForCardTemplate'], ], 'product' => ['code' => 'dysms', 'title' => 'Dysmsapi'], ], 'ram' => [ 'productCode' => 'SMS', 'productName' => 'Short Message Service', 'ramCodes' => ['dysms', 'cloudcomm', 'dybase', 'sms'], 'ramLevel' => 'SERVICE', 'ramConditions' => [ [ 'name' => 'dysms:TLSVersion', 'schema' => [ 'type' => 'String', 'description' => 'TLS version', 'enums' => ['TLSv1.0', 'TLSv1.1', 'TLSv1.2', 'TLSv1.3'], ], ], ], 'ramActions' => [ [ 'apiName' => 'UntagResources', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dysms:UntagResources', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySmsTemplate', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QuerySmsTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'TagResources', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'dysms:TagResources', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryMobilesCardSupport', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QueryMobilesCardSupport', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateSmsTemplate', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'dysms:CreateSmsTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteSmsTemplate', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dysms:DeleteSmsTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetCardSmsLink', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:GetCardSmsLink', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateSmsTrademark', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'dysms:CreateSmsTrademark', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateCardSmsTemplate', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'dysms:CreateCardSmsTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySendStatistics', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QuerySendStatistics', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CheckMobilesCardSupport', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:CheckMobilesCardSupport', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteShortUrl', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dysms:DeleteShortUrl', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryShortUrl', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QueryShortUrl', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SendCardSms', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:SendCardSms', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetSmsOcrOssInfo', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:GetSmsOcrOssInfo', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetCardSmsDetails', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'dysms:GetCardSmsDetails', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'AddSmsSign', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'dysms:AddSmsSign', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ModifySmsSign', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'dysms:ModifySmsSign', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateSmsSign', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'dysms:CreateSmsSign', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateSmsTemplate', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'dysms:UpdateSmsTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetOSSInfoForCardTemplate', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:GetOSSInfoForCardTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SendBatchSms', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:SendBatchSms', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetMediaResourceId', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:GetMediaResourceId', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetSmsTemplate', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'dysms:GetSmsTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateSmsAppIcpRecord', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'dysms:CreateSmsAppIcpRecord', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SendSms', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:SendSms', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateDigitalSmsTemplate', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'dysms:CreateDigitalSmsTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SmsConversionIntl', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:SmsConversionIntl', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'AddSmsTemplate', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'dysms:AddSmsTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySendDetails', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QuerySendDetails', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ConversionDataIntl', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:ConversionDataIntl', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySmsAppIcpRecord', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QuerySmsAppIcpRecord', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryCardSmsTemplateReport', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QueryCardSmsTemplateReport', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListTagResources', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'dysms:ListTagResources', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryCardSmsTemplate', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QueryCardSmsTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySmsSignList', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QuerySmsSignList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'AddShortUrl', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'dysms:AddShortUrl', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteSmsSign', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dysms:DeleteSmsSign', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SendBatchCardSms', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:SendBatchCardSms', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySmsSign', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QuerySmsSign', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySmsTemplateList', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QuerySmsTemplateList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QuerySmsTrademark', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dysms:QuerySmsTrademark', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetSmsSign', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'dysms:GetSmsSign', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateSmsSign', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'dysms:UpdateSmsSign', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ModifySmsTemplate', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'dysms:ModifySmsTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'resourceTypes' => [], ], ];