diff options
Diffstat (limited to 'data/en_us/dysmsapi/2018-05-01/api-docs.php')
| -rw-r--r-- | data/en_us/dysmsapi/2018-05-01/api-docs.php | 1664 |
1 files changed, 776 insertions, 888 deletions
diff --git a/data/en_us/dysmsapi/2018-05-01/api-docs.php b/data/en_us/dysmsapi/2018-05-01/api-docs.php index 44a33c1..415f791 100644 --- a/data/en_us/dysmsapi/2018-05-01/api-docs.php +++ b/data/en_us/dysmsapi/2018-05-01/api-docs.php @@ -1,37 +1,21 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'Dysmsapi', - 'version' => '2018-05-01', - ], + 'info' => ['style' => 'RPC', 'product' => 'Dysmsapi', 'version' => '2018-05-01'], 'directories' => [ [ - 'id' => 349009, - 'title' => null, + 'children' => ['BatchSendMessageToGlobe', 'SendMessageWithTemplate', 'SendMessageToGlobe'], 'type' => 'directory', - 'children' => [ - 'BatchSendMessageToGlobe', - 'SendMessageWithTemplate', - 'SendMessageToGlobe', - ], + 'title' => 'Send', ], [ - 'id' => 349013, - 'title' => null, + 'children' => ['QueryMessage'], 'type' => 'directory', - 'children' => [ - 'QueryMessage', - ], + 'title' => 'Query', ], [ - 'id' => 349015, - 'title' => null, + 'children' => ['ConversionData', 'SmsConversion'], 'type' => 'directory', - 'children' => [ - 'ConversionData', - 'SmsConversion', - ], + 'title' => 'SMS conversion rate', ], ], 'components' => [ @@ -40,14 +24,8 @@ 'apis' => [ 'BatchSendMessageToGlobe' => [ 'summary' => 'Sends a message to multiple recipients in countries or regions outside the Chinese mainland.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -60,103 +38,57 @@ 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '13267', - 'abilityTreeNodes' => [ - 'FEATUREdysms1SWWZV', - ], + 'abilityTreeNodes' => ['FEATUREdysms1SWWZV'], ], 'parameters' => [ [ 'name' => 'To', 'in' => 'query', - 'schema' => [ - 'title' => '接收方号码。号码格式为:国际区号+号码。'."\n" - ."\n" - .'电话代码详情,请参见电话代码。', - 'description' => 'The mobile phone number of the recipient. You must add the dialing code to the beginning of each mobile phone number.'."\n" - ."\n" - .'For more information, see [Dialing codes](~~158400~~).', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[\\"931520581****\\",\\"931530581****\\",\\"931540581****\\",\\"931550581****\\"]', - ], + 'schema' => ['description' => 'The mobile phone number of the recipient. You must add the dialing code to the beginning of each mobile phone number.'."\n" + ."\n" + .'For more information, see [Dialing codes](~~158400~~).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[\\"931520581****\\",\\"931530581****\\",\\"931540581****\\",\\"931550581****\\"]', 'title' => ''], ], [ 'name' => 'From', 'in' => 'query', - 'schema' => [ - 'title' => '发送方号码。支持SenderID的发送,只允许数字+字母,含有字母标识最长11位,纯数字标识支持15位。', - 'description' => 'The mobile phone number of the sender. You can specify the sender ID when you call the API operation. The sender ID can contain only digits and letters. If the sender ID contains letters, it can be a maximum of 11 characters in length. If the sender ID contains only digits, it can be a maximum of 15 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Alicloud321', - ], + 'schema' => ['description' => 'The mobile phone number of the sender. You can specify the sender ID when you call the API operation. The sender ID can contain only digits and letters. If the sender ID contains letters, it can be a maximum of 11 characters in length. If the sender ID contains only digits, it can be a maximum of 15 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'Alicloud321', 'title' => ''], ], [ 'name' => 'Message', 'in' => 'query', - 'schema' => [ - 'title' => '短信内容。', - 'description' => 'The content of the message.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '[\\"message to 931520581****\\",\\"message to 931530581****\\",\\"message to 931540581****\\",\\"message to 931550581****\\"]', - ], + 'schema' => ['description' => 'The content of the message.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '[\\"message to 931520581****\\",\\"message to 931530581****\\",\\"message to 931540581****\\",\\"message to 931550581****\\"]', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'query', 'schema' => [ - 'title' => '短信类型。取值:'."\n" - ."\n" - .'NOTIFY:通知短信。'."\n" - .'MKT:推广短信。', 'description' => 'The type of the message. Valid values:'."\n" ."\n" - .'* **NOTIFY**: notification'."\n" - .'* **MKT**: promotional message'."\n", + .'- **NOTIFY**: notification'."\n" + ."\n" + .'- **MKT**: promotional message', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'NOTIFY', 'enum' => [], + 'title' => '', ], ], [ 'name' => 'TaskId', 'in' => 'query', - 'schema' => [ - 'title' => '任务ID。长度不超过255个字符。可以在回执的TaskId获取。', - 'description' => 'The ID of the messaging campaign. It must be 1 to 255 characters in length. The ID is the value of the TaskId field in the delivery receipt of the message.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '123789****', - ], + 'schema' => ['description' => 'The ID of the messaging campaign. It must be 1 to 255 characters in length. The ID is the value of the TaskId field in the delivery receipt of the message.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => '123789****'], ], [ 'name' => 'ValidityPeriod', 'in' => 'query', - 'schema' => [ - 'title' => '短信有效时长', - 'description' => 'The validity period of the message. Unit: seconds.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '600', - ], + 'schema' => ['description' => 'The validity period of the message. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '600', 'title' => ''], ], [ 'name' => 'ChannelId', 'in' => 'query', - 'schema' => [ - 'title' => '短信通道id', - 'description' => 'The ID of the delivery channel.', - 'type' => 'string', - 'required' => false, - 'example' => 'sms-djnfjn344', - ], + 'schema' => ['description' => 'The ID of the delivery channel.', 'type' => 'string', 'example' => 'sms-djnfjn344', 'title' => '', 'required' => false], ], ], 'responses' => [ @@ -165,55 +97,20 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'ResponseCode' => [ - 'title' => '状态码。返回OK代表请求成功,其他错误码,请参见错误码列表。', - 'description' => 'The HTTP status code. If OK is returned, the request is successful. For more information, see [Error codes](~~180674~~).', - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'title' => '请求ID。', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8D28D3', - ], - 'FailedList' => [ - 'title' => '发送失败的号码列表。', - 'description' => 'The list of the mobile phone numbers that failed to receive the messages.'."\n", - 'type' => 'string', - 'example' => '["931520581****","931530581****"]', - ], - 'ResponseDescription' => [ - 'title' => '状态码描述。', - 'description' => 'The description of the status code.'."\n", - 'type' => 'string', - 'example' => 'The SMS Send Request was accepted', - ], - 'From' => [ - 'title' => '发送方标识,返回传入的SenderID。', - 'description' => 'The sender ID that was returned. The API operation returns the sender ID that you have specified in the request parameters.'."\n", - 'type' => 'string', - 'example' => 'Alicloud321', - ], - 'MessageIdList' => [ - 'title' => '发送成功的消息ID。', - 'description' => 'The ID of the sent message.'."\n", - 'type' => 'string', - 'example' => '["123****","124****"]', - ], - 'SuccessCount' => [ - 'title' => '成功发送条数。', - 'description' => 'The number of sent messages.'."\n", - 'type' => 'string', - 'example' => '2', - ], + 'ResponseCode' => ['description' => 'The HTTP status code. If OK is returned, the request is successful. For more information, see [Error codes](~~180674~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8D28D3', 'title' => ''], + 'FailedList' => ['description' => 'The list of the mobile phone numbers that failed to receive the messages.', 'type' => 'string', 'example' => '["931520581****","931530581****"]', 'title' => ''], + 'ResponseDescription' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'The SMS Send Request was accepted', 'title' => ''], + 'From' => ['description' => 'The sender ID that was returned. The API operation returns the sender ID that you have specified in the request parameters.', 'type' => 'string', 'example' => 'Alicloud321', 'title' => ''], + 'MessageIdList' => ['description' => 'The ID of the sent message.', 'type' => 'string', 'example' => '["123****","124****"]', 'title' => ''], + 'SuccessCount' => ['description' => 'The number of sent messages.', 'type' => 'string', 'example' => '2', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'eventInfo' => [ 'enable' => false, 'eventNames' => [], @@ -222,22 +119,39 @@ 'title' => 'BatchSendMessageToGlobe', 'description' => '## Usage notes'."\n" ."\n" - .'* You cannot call the BatchSendMessageToGlobe operation to send messages to the Chinese mainland.'."\n" - .'* You can call the BatchSendMessageToGlobe operation to send notifications and promotional messages to a small number of mobile phone numbers at a time. To send messages to a large number of mobile phone numbers at a time, use the mass messaging feature of the SMS console.'."\n" - .'* To ensure that messages can be sent on time, call the [SendMessageToGlobe](~~406238~~) operation.'."\n" - .'* In each request, you can send messages to up to 1,000 mobile phone numbers.', + .'- You cannot call the BatchSendMessageToGlobe operation to send messages to the Chinese mainland.'."\n" + ."\n" + .'- You can call the BatchSendMessageToGlobe operation to send notifications and promotional messages to a small number of mobile phone numbers at a time. To send messages to a large number of mobile phone numbers at a time, use the mass messaging feature of the SMS console.'."\n" + ."\n" + .'- To ensure that messages can be sent on time, call the [SendMessageToGlobe](~~406238~~) operation.'."\n" + ."\n" + .'- In each request, you can send messages to up to 1,000 mobile phone numbers.', 'extraInfo' => "\n", - ], - 'SendMessageWithTemplate' => [ - 'summary' => 'Sends a message to the Chinese mainland by using a message template.', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dysms:BatchSendMessageToGlobe', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchSendMessageToGlobe'], + ], + 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], + ], + 'ConversionData' => [ + 'summary' => 'Reports the status of an OTP message to Alibaba Cloud SMS.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -246,187 +160,175 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'update', 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '13271', - 'abilityTreeNodes' => [ - 'FEATUREdysmsDXU0GD', - ], + 'chargeType' => 'free', + 'abilityTreeCode' => '31341', + 'abilityTreeNodes' => ['FEATUREdysmsL8BKKM'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'To', - 'in' => 'query', - 'schema' => [ - 'title' => '接收短信号码。号码格式为:国际区号+号码。', - 'description' => 'The mobile phone number to which the message is sent. You must add the country code to the beginning of the mobile phone number. Example: 861503871\\*\\*\\*\\*.'."\n" - ."\n" - .'For more information, see [Dialing codes](https://www.alibabacloud.com/help/en/sms/product-overview/dialing-codes?spm=a2c63.p38356.0.0.367279cbwQFoeM).', - 'type' => 'string', - 'required' => true, - 'example' => '861503871****', - ], + 'name' => 'ReportTime', + 'in' => 'formData', + 'schema' => ['description' => 'Timestamp of the conversion rate observation should be a Unix timestamp, a millisecond-level long integer.'."\n" + ."\n" + .'> If this field is not specified: the current timestamp is the default.', 'type' => 'integer', 'format' => 'int64', 'example' => '1349055900000', 'title' => '', 'required' => false], ], [ - 'name' => 'From', - 'in' => 'query', - 'schema' => [ - 'title' => '发送方标识,请传入短信签名名称。您可以登录短信服务控制台,选择发往中国大陆 > 短信签名,在短信签名列表查看签名名称。', - 'description' => 'The signature. To query the signature, log on to the [Short Message Service (SMS) console](https://sms-intl.console.aliyun.com/overview) and navigate to the **Signatures** tab of the **Go China** page.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'Alicloud321', - ], + 'name' => 'ConversionRate', + 'in' => 'formData', + 'schema' => ['description' => 'Conversion rate monitoring return value.'."\n" + ."\n" + .'> The value of this parameter is of type double, and the value is between \\[0,1].', 'type' => 'string', 'required' => true, 'example' => '0.53', 'title' => ''], ], - [ - 'name' => 'TemplateCode', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '短信模板编码。您可以登录短信服务控制台,选择发往中国大陆 > 短信内容,在短信内容列表查看短信模板编码。', - 'description' => 'The code of the message template. To query the code, log on to the [SMS console](https://sms-intl.console.aliyun.com/overview) and navigate to the **Templates** tab of the **Go China** page.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'SMS_****', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ResponseCode' => ['description' => 'Status code. Returning OK means the request was successful. For other error codes, please refer to the [Error codes](~~180674~~) list.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'ResponseDescription' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8D****', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ResponseCode\\": \\"OK\\",\\n \\"ResponseDescription\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8D****\\"\\n}","type":"json"}]', + 'title' => 'ConversionData', + 'description' => 'Metrics:'."\n" + ."\n" + .'- Requested OTP messages'."\n" + ."\n" + .'- Verified OTP messages'."\n" + ."\n" + .'An OTP conversion rate is calculated based on the following formula: OTP conversion rate = Number of verified OTP messages/Number of requested OTP messages.', + 'changeSet' => [], + 'ramActions' => [ [ - 'name' => 'TemplateParam', - 'in' => 'query', - 'schema' => [ - 'title' => '短信模板变量对应的实际值。如果模板中存在变量,该参数为必填项。', - 'description' => 'The value of the variable in the message template. If a variable exists in the template, the parameter is required.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"code":"1234","product":"ytx"}', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dysms:ConversionData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - [ - 'name' => 'SmsUpExtendCode', - 'in' => 'query', - 'schema' => [ - 'title' => '上行短信扩展码。', - 'description' => 'The extension code of the MO message.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '90999', - ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ConversionData'], ], + 'product' => ['code' => 'dysms', 'title' => '短信服务'], + ], + ], + 'QueryMessage' => [ + 'summary' => 'Queries the delivery report of a message.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ValidityPeriod', - 'in' => 'query', - 'schema' => [ - 'title' => '短信有效时长', - 'description' => 'The validity period of the message.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '13268', + 'abilityTreeNodes' => ['FEATUREdysmsRZSVOZ'], + ], + 'parameters' => [ [ - 'name' => 'ChannelId', + 'name' => 'MessageId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the channel.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '5739', - ], + 'schema' => ['description' => 'The ID of the message.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => '1008030xxx3003'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'ResponseCode' => [ - 'title' => '短信提交状态码。', - 'description' => 'The status code of the delivery request.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'Status' => ['description' => 'The delivery status of the message.'."\n" + ."\n" + .'- 1: The message was sent.'."\n" + ."\n" + .'- 2: The message failed to be sent.'."\n" + ."\n" + .'- 3: The message is being sent.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'ErrorDescription' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ResponseCode' => ['description' => 'The status code of the delivery request.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'ReceiveDate' => ['description' => 'The time when the delivery receipt was received from the carrier.', 'type' => 'string', 'example' => 'Mon, 24 Dec 2018 16:58:22 +0800', 'title' => ''], 'NumberDetail' => [ - 'title' => '号码明细。', - 'description' => 'The details about the mobile phone number of the recipient.'."\n", + 'title' => '', + 'description' => 'The details about the mobile phone number.', 'type' => 'object', 'properties' => [ - 'Carrier' => [ - 'title' => '号码所属的运营商网络。', - 'description' => 'The carrier that owns the mobile phone number.'."\n", - 'type' => 'string', - 'example' => 'China Mobile', - ], - 'Region' => [ - 'title' => '号码所属地区。', - 'description' => 'The region to which the mobile phone number belongs.'."\n", - 'type' => 'string', - 'example' => 'Nanjing, Jiangsu', - ], - 'Country' => [ - 'title' => '号码所属国家。', - 'description' => 'The country to which the mobile phone number belongs.'."\n", - 'type' => 'string', - 'example' => 'China', - ], + 'Carrier' => ['description' => 'The carrier that owns the mobile phone number.', 'type' => 'string', 'example' => 'CMI', 'title' => ''], + 'Region' => ['description' => 'The region to which the mobile phone number belongs.', 'type' => 'string', 'example' => 'HongKong', 'title' => ''], + 'Country' => ['description' => 'The country to which the mobile phone number belongs.', 'type' => 'string', 'example' => 'China', 'title' => ''], ], + 'example' => '', ], - 'ResponseDescription' => [ - 'title' => '短信提交状态的详细描述。', - 'description' => 'The description of the delivery request status.'."\n", - 'type' => 'string', - 'example' => 'The SMS Send Request was accepted', - ], - 'Segments' => [ - 'title' => '短信计费条数。', - 'description' => 'The number of messages that incurred fees.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'To' => [ - 'title' => '接收短信号码。号码格式为:国际区号+号码。', - 'description' => 'The mobile phone number to which the message was sent. The dialing code was added to the beginning of the mobile phone number. Example: 861503871\\*\\*\\*\\*.'."\n", - 'type' => 'string', - 'example' => '861503871****', - ], - 'MessageId' => [ - 'title' => '短信消息ID。由阿里云国际短信平台生成。', - 'description' => 'The ID of the message.'."\n", - 'type' => 'string', - 'example' => '1**************3', - ], - 'RequestId' => [ - 'title' => '请求ID。', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8D23D6', - ], + 'Message' => ['description' => 'The content of the message.', 'type' => 'string', 'example' => 'Hello!', 'title' => ''], + 'ResponseDescription' => ['description' => 'The description of the delivery request status.', 'type' => 'string', 'example' => 'The SMS Send Request was accepted', 'title' => ''], + 'ErrorCode' => ['description' => 'The status code of the message.', 'type' => 'string', 'example' => 'DELIVERED', 'title' => ''], + 'SendDate' => ['description' => 'The time when the message was sent to the carrier.', 'type' => 'string', 'example' => 'Mon, 24 Dec 2018 16:58:22 +0800', 'title' => ''], + 'To' => ['description' => 'The mobile phone number to which the message was sent.', 'type' => 'string', 'example' => '6581xxx810', 'title' => ''], + 'MessageId' => ['description' => 'The ID of the message.', 'type' => 'string', 'example' => '1008030xxx3003', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8D28D0', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ResponseCode\\": \\"OK\\",\\n \\"NumberDetail\\": {\\n \\"Carrier\\": \\"China Mobile\\",\\n \\"Region\\": \\"Nanjing, Jiangsu\\",\\n \\"Country\\": \\"China\\"\\n },\\n \\"ResponseDescription\\": \\"The SMS Send Request was accepted\\",\\n \\"Segments\\": \\"1\\",\\n \\"To\\": \\"861503871****\\",\\n \\"MessageId\\": \\"1**************3\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8D23D6\\"\\n}","errorExample":""},{"type":"xml","example":"<SendMessageWithTemplateResponse>\\n <ResponseCode>OK</ResponseCode>\\n <NumberDetail>\\n <Carrier>China Mobile</Carrier>\\n <Region>Nanjing, Jiangsu</Region>\\n <Country>China</Country>\\n </NumberDetail>\\n <ResponseDescription>The SMS Send Request was accepted</ResponseDescription>\\n <Segments>1</Segments>\\n <To>861503871****</To>\\n <MessageId>1**************3</MessageId>\\n <RequestId>F655A8D5-B967-440B-8683-DAD6FF8D23D6</RequestId>\\n</SendMessageWithTemplateResponse>","errorExample":""}]', - 'title' => 'SendMessageWithTemplate', - 'description' => '### Usage notes'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"1\\",\\n \\"ErrorDescription\\": \\"success\\",\\n \\"ResponseCode\\": \\"OK\\",\\n \\"ReceiveDate\\": \\"Mon, 24 Dec 2018 16:58:22 +0800\\",\\n \\"NumberDetail\\": {\\n \\"Carrier\\": \\"CMI\\",\\n \\"Region\\": \\"HongKong\\",\\n \\"Country\\": \\"China\\"\\n },\\n \\"Message\\": \\"Hello!\\",\\n \\"ResponseDescription\\": \\"The SMS Send Request was accepted\\",\\n \\"ErrorCode\\": \\"DELIVERED\\",\\n \\"SendDate\\": \\"Mon, 24 Dec 2018 16:58:22 +0800\\",\\n \\"To\\": \\"6581xxx810\\",\\n \\"MessageId\\": \\"1008030xxx3003\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8D28D0\\"\\n}","type":"json"}]', + 'title' => 'QueryMessage', + 'description' => '### QPS limit'."\n" ."\n" - .'You can call the SendMessageWithTemplate operation to send messages only to the Chinese mainland.'."\n", + .'This operation supports up to 300 calls per second per account. Exceeding this limit triggers throttling, which may impact your business. Monitor your call rate to stay within limits.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'SendMessageToGlobe' => [ - 'summary' => 'Sends a message to regions outside the Chinese mainland.', - 'methods' => [ - 'post', - 'get', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dysms:QueryMessage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryMessage'], + ], + 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], + ], + 'SendMessageToGlobe' => [ + 'summary' => 'Sends messages to regions outside the Chinese mainland, including Hong Kong (China), Macao (China), Taiwan (China).', + 'methods' => ['post', 'get'], + 'schemes' => ['HTTP', 'HTTPS'], 'security' => [ [ 'AK' => [], @@ -439,198 +341,128 @@ 'riskType' => 'none', 'chargeType' => 'paid', 'abilityTreeCode' => '13270', - 'abilityTreeNodes' => [ - 'FEATUREdysms1SWWZV', - ], + 'abilityTreeNodes' => ['FEATUREdysms1SWWZV'], ], 'parameters' => [ [ 'name' => 'To', 'in' => 'query', - 'schema' => [ - 'title' => '接收方号码。号码格式为:国际区号+号码。', - 'description' => 'The mobile phone number to which the message is sent. You must add the dialing code to the beginning of the mobile phone number. Example: 8521245567\\*\\*\\*\\*.'."\n" - ."\n" - .'For more information, see [Dialing codes](https://www.alibabacloud.com/help/en/sms/product-overview/dialing-codes?spm=a2c63.p38356.0.0.48b940a1PFYRMz).'."\n" - ."\n" - .'> You cannot call the SendMessageToGlobe operation to send messages to the Chinese mainland.', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '8521245567****', - ], + 'schema' => ['description' => 'The phone numbers to which the message is sent. Format: `Dialing code + Phone number`. For example, 8521245567\\*\\*\\*\\*.'."\n" + ."\n" + .'For dialing odes, see [Dialing codes](https://www.alibabacloud.com/help/en/short-message-service/latest/dialing-codes).'."\n" + ."\n" + .'> You cannot call this operation to send messages to the Chinese mainland.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '8521245567****', 'title' => ''], ], [ 'name' => 'From', 'in' => 'query', - 'schema' => [ - 'title' => '发送方号码。支持SenderId的发送,只允许数字+字母,含有字母标识最长11位,纯数字标识支持15位。', - 'description' => 'The mobile phone number of the sender. You can also specify a sender ID. The sender ID can contain both letters and digits. If it does, the ID must be between 1 to 11 characters in length. If the sender ID contains only digits, it must be 1 to 15 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Alicloud321', - ], + 'schema' => ['description' => 'The phone number of the sender. You can also specify a sender ID, which can contain letters and digits. An alphanumeric ID can be up to 11 characters, while a numeric-only ID can have up to 15 digits.', 'type' => 'string', 'required' => false, 'example' => 'Alicloud321', 'title' => ''], ], [ 'name' => 'Message', 'in' => 'query', - 'schema' => [ - 'title' => '短信的内容。', - 'description' => 'The content of the message.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'Hello', - ], + 'schema' => ['description' => 'The message content.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Hello', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'query', - 'schema' => [ - 'title' => '短信类型。取值:'."\n" - .'OTP:验证码短信。'."\n" - .'NOTIFY:通知短信。'."\n" - .'MKT:推广短信。', - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The message type. Valid values:'."\n" + ."\n" + .'- OTP: verification code message.'."\n" + ."\n" + .'- NOTIFY: notification.'."\n" + ."\n" + .'- MKT: marketing message.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'NOTIFY'], ], [ 'name' => 'TaskId', 'in' => 'query', - 'schema' => [ - 'title' => '任务ID。长度不超过255个字符。可以从回执的TaskId字段获取。', - 'description' => 'The ID of the messaging campaign. It must be 1 to 255 characters in length. The ID is the value of the TaskId field in the delivery receipt of the message.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => '123****789', - ], + 'schema' => ['description' => 'The ID of the task. The ID can be up to 255 characters in length. You can obtain the task ID from the TaskId field in the message receipt.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'title' => '', 'example' => '123****789'], ], [ 'name' => 'ValidityPeriod', 'in' => 'query', - 'schema' => [ - 'title' => '短信有效时长', - 'description' => 'The validity period of the message. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '600', - ], + 'schema' => ['description' => 'The validity period of the message, in seconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'title' => '', 'example' => '600'], ], [ 'name' => 'ChannelId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the channel.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '3790', - ], + 'schema' => ['description' => 'The ID of the channel.', 'type' => 'string', 'required' => false, 'example' => '3790', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'ResponseCode' => [ - 'title' => '短信提交状态码。', - 'description' => 'The status code of the delivery request.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], + 'ResponseCode' => ['description' => 'The status code of the delivery request.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'NumberDetail' => [ - 'title' => '号码明细。', - 'description' => 'The details about the mobile phone number of the recipient.'."\n", + 'title' => '', + 'description' => 'The phone number details.', 'type' => 'object', 'properties' => [ - 'Carrier' => [ - 'title' => '号码所属的运营商网络。', - 'description' => 'The carrier that owns the mobile phone number.'."\n", - 'type' => 'string', - 'example' => 'CMI', - ], - 'Region' => [ - 'title' => '号码所属地区。', - 'description' => 'The region to which the mobile phone number belongs.'."\n", - 'type' => 'string', - 'example' => 'HongKong', - ], - 'Country' => [ - 'title' => '号码所属国家。', - 'description' => 'The country to which the mobile phone number belongs.'."\n", - 'type' => 'string', - 'example' => 'China', - ], + 'Carrier' => ['description' => 'The carrier.', 'type' => 'string', 'example' => 'CMI', 'title' => ''], + 'Region' => ['description' => 'The region to which the phone number belongs.', 'type' => 'string', 'example' => 'HongKong', 'title' => ''], + 'Country' => ['description' => 'The country where the number is registered.', 'type' => 'string', 'example' => 'China', 'title' => ''], ], + 'example' => '', ], - 'RequestId' => [ - 'title' => '请求ID。', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', - ], - 'Segments' => [ - 'title' => '短信计费条数。', - 'description' => 'The number of messages that incurred fees.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'ResponseDescription' => [ - 'title' => '短信提交状态码描述。', - 'description' => 'The description of the delivery request status.'."\n", - 'type' => 'string', - 'example' => 'The SMS Send Request was accepted', - ], - 'From' => [ - 'title' => '发送方号码,返回传入的SenderId。', - 'description' => 'The sender ID returned.'."\n", - 'type' => 'string', - 'example' => 'Alicloud321', - ], - 'To' => [ - 'title' => '接收方号码。', - 'description' => 'The mobile phone number to which the message was sent.'."\n", - 'type' => 'string', - 'example' => '1380000****', - ], - 'MessageId' => [ - 'title' => '短信消息ID。由阿里云国际短信平台生成', - 'description' => 'The ID of the message.'."\n", - 'type' => 'string', - 'example' => '1008030300****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'required' => false, 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8DE990', 'title' => ''], + 'Segments' => ['description' => 'The number of billed messages.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'ResponseDescription' => ['description' => 'The description of the delivery request status.', 'type' => 'string', 'example' => 'The SMS Send Request was accepted', 'title' => ''], + 'From' => ['description' => 'The sender ID that you specified.', 'type' => 'string', 'example' => 'Alicloud321', 'title' => ''], + 'To' => ['description' => 'The phone number to which the message is sent.', 'type' => 'string', 'example' => '1380000****', 'title' => ''], + 'MessageId' => ['description' => 'The message ID.', 'type' => 'string', 'example' => '1008030300****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ResponseCode\\": \\"OK\\",\\n \\"NumberDetail\\": {\\n \\"Carrier\\": \\"CMI\\",\\n \\"Region\\": \\"HongKong\\",\\n \\"Country\\": \\"China\\"\\n },\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\",\\n \\"Segments\\": \\"1\\",\\n \\"ResponseDescription\\": \\"The SMS Send Request was accepted\\",\\n \\"From\\": \\"Alicloud321\\",\\n \\"To\\": \\"1380000****\\",\\n \\"MessageId\\": \\"1008030300****\\"\\n}","errorExample":""},{"type":"xml","example":"<SendMessageToGlobeResponse>\\n <ResponseCode>OK</ResponseCode>\\n <NumberDetail>\\n <Carrier>CMI</Carrier>\\n <Region>HongKong</Region>\\n <Country>Hongkong, China</Country>\\n </NumberDetail>\\n <RequestId>F655A8D5-B967-440B-8683-DAD6FF8DE990</RequestId>\\n <Segments>1</Segments>\\n <ResponseDescription>The SMS Send Request was accepted</ResponseDescription>\\n <From>Alicloud</From>\\n <To>\\"123\\"</To>\\n <MessageId>1008030300****</MessageId>\\n</SendMessageToGlobeResponse>","errorExample":""}]', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ResponseCode\\": \\"OK\\",\\n \\"NumberDetail\\": {\\n \\"Carrier\\": \\"CMI\\",\\n \\"Region\\": \\"HongKong\\",\\n \\"Country\\": \\"China\\"\\n },\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8DE990\\",\\n \\"Segments\\": \\"1\\",\\n \\"ResponseDescription\\": \\"The SMS Send Request was accepted\\",\\n \\"From\\": \\"Alicloud321\\",\\n \\"To\\": \\"1380000****\\",\\n \\"MessageId\\": \\"1008030300****\\"\\n}","type":"json"}]', 'title' => 'SendMessageToGlobe', - 'description' => '### [](#)'."\n" + 'description' => '- Sends messages to regions outside the Chinese mainland, including Hong Kong (China), Macao (China), and Taiwan (China). You can also send messages through the [SMS console](https://sms.console.alibabacloud.com/batch).'."\n" ."\n" - .'The SendMessageToGlobe API operation does not support message delivery to the Chinese mainland.'."\n" + .'- This operation does not support sending messages to the Chinese mainland.'."\n" ."\n" - .'### [](#qps-)QPS limit'."\n" + .'- You cannot use resource plans if your account has an overdue payment. Before you call this operation, check your [account balance](https://home.console.alibabacloud.com/home/dashboard/ProductAndService) and the [remaining quota](https://sms-intl.console.aliyun.com/expense) in your resource plans.'."\n" ."\n" - .'You can call this operation up to 2,000 times per second per account. Requests that exceed this limit are dropped and you will experience service interruptions. We recommend that you take note of this limit when you call this operation.'."\n", - ], - 'QueryMessage' => [ - 'summary' => 'Queries the delivery report of a message.', - 'methods' => [ - 'post', - 'get', + .'- On the international site (alibabacloud.com), SMS is billed based on the submission status of messages. You are charged even if a carrier receipt indicates that the message failed to be delivered. For more information about resource plans and the pay-as-you-go billing method, see [Billing](~~173038~~).'."\n" + ."\n" + .'### QPS limits'."\n" + ."\n" + .'This operation supports up to 2,000 calls per second per account. Exceeding this limit causes requests to be dropped, resulting in service interruptions.', + 'changeSet' => [ + ['createdAt' => '2025-08-05T07:21:13.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-08-01T06:22:21.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-08-01T03:34:45.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SendMessageToGlobe'], + ], + 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dysms:SendMessageToGlobe', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'SendMessageWithTemplate' => [ + 'summary' => 'Sends a message to the Chinese mainland by using a message template.', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -639,255 +471,114 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '13268', - 'abilityTreeNodes' => [ - 'FEATUREdysmsRZSVOZ', - ], + 'chargeType' => 'paid', + 'abilityTreeCode' => '13271', + 'abilityTreeNodes' => ['FEATUREdysmsDXU0GD'], ], 'parameters' => [ [ - 'name' => 'MessageId', + 'name' => 'To', 'in' => 'query', - 'schema' => [ - 'title' => '短信消息ID。', - 'description' => 'The ID of the message.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '1008030xxx3003', - ], + 'schema' => ['description' => 'The mobile phone number to which the message is sent. You must add the country code to the beginning of the mobile phone number. Example: 861503871\\*\\*\\*\\*.'."\n" + ."\n" + .'For more information, see [Dialing codes](https://www.alibabacloud.com/help/en/sms/product-overview/dialing-codes?spm=a2c63.p38356.0.0.367279cbwQFoeM).', 'type' => 'string', 'required' => true, 'example' => '861503871****', 'title' => ''], + ], + [ + 'name' => 'From', + 'in' => 'query', + 'schema' => ['description' => 'The signature. To query the signature, log on to the [Short Message Service (SMS) console](https://sms-intl.console.aliyun.com/overview) and navigate to the **Signatures** tab of the **Go China** page.', 'type' => 'string', 'required' => true, 'example' => 'Alicloud321', 'title' => ''], + ], + [ + 'name' => 'TemplateCode', + 'in' => 'query', + 'schema' => ['description' => 'The code of the message template. To query the code, log on to the [SMS console](https://sms-intl.console.aliyun.com/overview) and navigate to the **Templates** tab of the **Go China** page.', 'type' => 'string', 'required' => true, 'example' => 'SMS_****', 'title' => ''], + ], + [ + 'name' => 'TemplateParam', + 'in' => 'query', + 'schema' => ['description' => 'The value of the variable in the message template. If a variable exists in the template, the parameter is required.', 'type' => 'string', 'required' => false, 'example' => '{"code":"1234","product":"ytx"}', 'title' => ''], + ], + [ + 'name' => 'SmsUpExtendCode', + 'in' => 'query', + 'schema' => ['description' => 'The extension code of the MO message.', 'type' => 'string', 'required' => false, 'example' => '90999', 'title' => ''], + ], + [ + 'name' => 'ValidityPeriod', + 'in' => 'query', + 'schema' => ['description' => 'The validity period of the message.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => '', 'required' => false], + ], + [ + 'name' => 'ChannelId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the channel.', 'type' => 'string', 'required' => false, 'example' => '5739', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Status' => [ - 'title' => '短信的发送状态。'."\n" - ."\n" - .'1:成功(Delivered)'."\n" - .'2:失败(Delivery Failed)'."\n" - .'3:发送中(Delivering)', - 'description' => 'The delivery status of the message.'."\n" - ."\n" - .'* 1: The message was sent.'."\n" - .'* 2: The message failed to be sent.'."\n" - .'* 3: The message is being sent.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'ErrorDescription' => [ - 'title' => '短信发送状态码的描述。', - 'description' => 'The description of the status code.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'ResponseCode' => [ - 'title' => '短信提交状态码。', - 'description' => 'The status code of the delivery request.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'ReceiveDate' => [ - 'title' => '发送短信收到运营商回执的时间。', - 'description' => 'The time when the delivery receipt was received from the carrier.'."\n", - 'type' => 'string', - 'example' => 'Mon, 24 Dec 2018 16:58:22 +0800', - ], + 'ResponseCode' => ['description' => 'The status code of the delivery request.', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'NumberDetail' => [ - 'title' => '号码明细。', - 'description' => 'The details about the mobile phone number.'."\n", + 'title' => '', + 'description' => 'The details about the mobile phone number of the recipient.', 'type' => 'object', 'properties' => [ - 'Carrier' => [ - 'title' => '号码所属的运营商网络。', - 'description' => 'The carrier that owns the mobile phone number.'."\n", - 'type' => 'string', - 'example' => 'CMI', - ], - 'Region' => [ - 'title' => '号码所属地区。', - 'description' => 'The region to which the mobile phone number belongs.'."\n", - 'type' => 'string', - 'example' => 'HongKong', - ], - 'Country' => [ - 'title' => '号码所属国家。', - 'description' => 'The country to which the mobile phone number belongs.'."\n", - 'type' => 'string', - 'example' => 'China', - ], + 'Carrier' => ['description' => 'The carrier that owns the mobile phone number.', 'type' => 'string', 'example' => 'China Mobile', 'title' => ''], + 'Region' => ['description' => 'The region to which the mobile phone number belongs.', 'type' => 'string', 'example' => 'Nanjing, Jiangsu', 'title' => ''], + 'Country' => ['description' => 'The country to which the mobile phone number belongs.', 'type' => 'string', 'example' => 'China', 'title' => ''], ], + 'example' => '', ], - 'Message' => [ - 'title' => '短信内容。', - 'description' => 'The content of the message.'."\n", - 'type' => 'string', - 'example' => 'Hello!', - ], - 'ResponseDescription' => [ - 'title' => '短信提交状态的详细描述。', - 'description' => 'The description of the delivery request status.'."\n", - 'type' => 'string', - 'example' => 'The SMS Send Request was accepted', - ], - 'ErrorCode' => [ - 'title' => '短信发送状态码。', - 'description' => 'The status code of the message.'."\n", - 'type' => 'string', - 'example' => 'DELIVERED', - ], - 'SendDate' => [ - 'title' => '短信转发给运营商的时间。', - 'description' => 'The time when the message was sent to the carrier.'."\n", - 'type' => 'string', - 'example' => 'Mon, 24 Dec 2018 16:58:22 +0800', - ], - 'To' => [ - 'title' => '接收方号码。', - 'description' => 'The mobile phone number to which the message was sent.'."\n", - 'type' => 'string', - 'example' => '6581xxx810', - ], - 'MessageId' => [ - 'title' => '短信消息ID。', - 'description' => 'The ID of the message.'."\n", - 'type' => 'string', - 'example' => '1008030xxx3003', - ], - 'RequestId' => [ - 'title' => '请求ID。', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8D28D0', - ], + 'ResponseDescription' => ['description' => 'The description of the delivery request status.', 'type' => 'string', 'example' => 'The SMS Send Request was accepted', 'title' => ''], + 'Segments' => ['description' => 'The number of messages that incurred fees.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'To' => ['description' => 'The mobile phone number to which the message was sent. The dialing code was added to the beginning of the mobile phone number. Example: 861503871\\*\\*\\*\\*.', 'type' => 'string', 'example' => '861503871****', 'title' => ''], + 'MessageId' => ['description' => 'The ID of the message.', 'type' => 'string', 'example' => '1**************3', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8D23D6', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"1\\",\\n \\"ErrorDescription\\": \\"success\\",\\n \\"ResponseCode\\": \\"OK\\",\\n \\"ReceiveDate\\": \\"Mon, 24 Dec 2018 16:58:22 +0800\\",\\n \\"NumberDetail\\": {\\n \\"Carrier\\": \\"CMI\\",\\n \\"Region\\": \\"HongKong\\",\\n \\"Country\\": \\"China\\"\\n },\\n \\"Message\\": \\"Hello!\\",\\n \\"ResponseDescription\\": \\"The SMS Send Request was accepted\\",\\n \\"ErrorCode\\": \\"DELIVERED\\",\\n \\"SendDate\\": \\"Mon, 24 Dec 2018 16:58:22 +0800\\",\\n \\"To\\": \\"6581xxx810\\",\\n \\"MessageId\\": \\"1008030xxx3003\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8D28D0\\"\\n}","errorExample":""},{"type":"xml","example":"<QueryMessageResponse>\\n <Status>1</Status>\\n <ErrorDescription>success</ErrorDescription>\\n <ResponseCode>OK</ResponseCode>\\n <ReceiveDate>Mon, 24 Dec 2018 16:58:22 +0800</ReceiveDate>\\n <NumberDetail>\\n <Carrier>CMI</Carrier>\\n <Region>HongKong</Region>\\n <Country>Hongkong, China</Country>\\n </NumberDetail>\\n <Message>Hello!</Message>\\n <ResponseDescription>The SMS Send Request was accepted</ResponseDescription>\\n <ErrorCode>DELIVERED</ErrorCode>\\n <SendDate>Mon, 24 Dec 2018 16:58:22 +0800</SendDate>\\n <To>6581xxx810</To>\\n <MessageId>1008030xxx3003</MessageId>\\n <RequestId>F655A8D5-B967-440B-8683-DAD6FF8D28D0</RequestId>\\n</QueryMessageResponse>","errorExample":""}]', - 'title' => 'QueryMessage', - 'description' => '### QPS limit'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ResponseCode\\": \\"OK\\",\\n \\"NumberDetail\\": {\\n \\"Carrier\\": \\"China Mobile\\",\\n \\"Region\\": \\"Nanjing, Jiangsu\\",\\n \\"Country\\": \\"China\\"\\n },\\n \\"ResponseDescription\\": \\"The SMS Send Request was accepted\\",\\n \\"Segments\\": \\"1\\",\\n \\"To\\": \\"861503871****\\",\\n \\"MessageId\\": \\"1**************3\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8D23D6\\"\\n}","type":"json"}]', + 'title' => 'SendMessageWithTemplate', + 'description' => '### Usage notes'."\n" ."\n" - .'You can call this operation up to 300 times per second. If the number of the calls per second exceeds a limit, throttling is triggered. As a result, your business may be affected. We recommend that you take note of the limits when you call this operation.'."\n", + .'You can call the SendMessageWithTemplate operation to send messages only to the Chinese mainland.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'ConversionData' => [ - 'summary' => 'Reports the status of an OTP message to Alibaba Cloud SMS.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '31341', - 'abilityTreeNodes' => [ - 'FEATUREdysmsL8BKKM', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'ReportTime', - 'in' => 'formData', - 'schema' => [ - 'title' => '转化率观测的时间点。必须是Unix时间戳,毫秒级别长整型。如果不指定该字段,默认当前的时间戳。', - 'description' => 'Timestamp of the conversion rate observation should be a Unix timestamp, a millisecond-level long integer.'."\n" - ."\n" - .'> If this field is not specified: the current timestamp is the default.', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1349055900000', - ], - ], + 'changeSet' => [], + 'ramActions' => [ [ - 'name' => 'ConversionRate', - 'in' => 'formData', - 'schema' => [ - 'title' => '转化率监控回报值。该参数取值为double类型 ,区间是[0,1]。', - 'description' => 'Conversion rate monitoring return value.'."\n" - ."\n" - .'> The value of this parameter is of type double, and the value is between \\[0,1].'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0.53', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ResponseCode' => [ - 'title' => '状态码。返回OK代表请求成功,其他错误码,请参见错误码列表。', - 'description' => 'Status code. Returning OK means the request was successful. For other error codes, please refer to the [Error codes](~~180674~~) list.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'ResponseDescription' => [ - 'title' => '状态码描述。', - 'description' => 'The description of the status code.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'title' => '请求ID。', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8D****', - ], + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dysms:SendMessageWithTemplate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SendMessageWithTemplate'], + ], + 'product' => ['code' => 'dysms', 'title' => '短信服务'], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ResponseCode\\": \\"OK\\",\\n \\"ResponseDescription\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8D****\\"\\n}","errorExample":""},{"type":"xml","example":"<ConversionDataResponse>\\n <ResponseCode>OK</ResponseCode>\\n <ResponseDescription>OK</ResponseDescription>\\n <RequestId>F655A8D5-B967-440B-8683-DAD6FF8D****</RequestId>\\n</ConversionDataResponse>","errorExample":""}]', - 'title' => 'ConversionData', - 'description' => 'Metrics:'."\n" - ."\n" - .'* Requested OTP messages'."\n" - .'* Verified OTP messages'."\n" - ."\n" - .'An OTP conversion rate is calculated based on the following formula: OTP conversion rate = Number of verified OTP messages/Number of requested OTP messages.'."\n", ], 'SmsConversion' => [ 'summary' => 'Delivers one-time password (OTP) message statuses to Alibaba Cloud, which calculates and monitors OTP conversion rates.', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -900,63 +591,34 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '13273', - 'abilityTreeNodes' => [ - 'FEATUREdysmsL8BKKM', - ], + 'abilityTreeNodes' => ['FEATUREdysmsL8BKKM'], ], 'parameters' => [ [ 'name' => 'MessageId', 'in' => 'query', - 'schema' => [ - 'title' => '短信消息ID。', - 'description' => 'The ID of the OTP message.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1008030300****', - ], + 'schema' => ['description' => 'The ID of the OTP message.', 'type' => 'string', 'required' => false, 'example' => '1008030300****', 'title' => ''], ], [ 'name' => 'Delivered', 'in' => 'query', - 'schema' => [ - 'title' => '如果您的用户确认接收到了您发送的消息,例如,回填了短信验证码,则设置为 true。否则,设置为 false。', - 'description' => 'Specifies whether customers replied to the OTP message. Valid values: true and false.'."\n", - 'type' => 'boolean', - 'required' => true, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether customers replied to the OTP message. Valid values: true and false.', 'type' => 'boolean', 'required' => true, 'title' => '', 'example' => 'true'], ], [ 'name' => 'ConversionTime', 'in' => 'query', - 'schema' => [ - 'title' => '触达发送目标的时间戳。必须是Unix时间戳,毫秒级别长整型。'."\n" - ."\n" - .'如果不指定该字段:默认当前的时间戳。'."\n" - .'如果指定该字段:该时间戳必须大于发送时间并且小于当前时间戳。', - 'description' => 'The time when the OTP message was delivered. The value is a UNIX timestamp. Unit: milliseconds.'."\n" - ."\n" - .'* If you leave the parameter empty, the current timestamp is specified by default.'."\n" - .'* If you specify the parameter, the timestamp must be greater than the message sending time and less than the current timestamp.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1349055900000', - ], + 'schema' => ['description' => 'The time when the OTP message was delivered. The value is a UNIX timestamp. Unit: milliseconds.'."\n" + ."\n" + .'- If you leave the parameter empty, the current timestamp is specified by default.'."\n" + ."\n" + .'- If you specify the parameter, the timestamp must be greater than the message sending time and less than the current timestamp.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1349055900000', 'title' => ''], ], [ 'name' => 'To', 'in' => 'query', - 'schema' => [ - 'title' => '短信手机号', - 'description' => 'The mobile phone number of the recipient. You must add the dialing code to the beginning of the mobile phone number.'."\n" - ."\n" - .'For more information, see [Dialing codes](~~158400~~).', - 'type' => 'string', - 'required' => false, - 'example' => '8521245567****', - ], + 'schema' => ['description' => 'The mobile phone number of the recipient. You must add the dialing code to the beginning of the mobile phone number.'."\n" + ."\n" + .'For more information, see [Dialing codes](~~158400~~).', 'type' => 'string', 'title' => '', 'required' => false, 'example' => '8521245567****'], ], ], 'responses' => [ @@ -965,229 +627,455 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'ResponseCode' => [ - 'title' => '状态码。返回OK代表请求成功,其他错误码,请参见错误码列表。', - 'description' => 'The status code. If OK is returned, the request is successful. For more information, see [Error codes](~~180674~~).'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'ResponseDescription' => [ - 'title' => '状态码描述。', - 'description' => 'The description of the status code.'."\n", - 'type' => 'string', - 'example' => 'OK', - ], - 'RequestId' => [ - 'title' => '请求ID。', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8D****', - ], + 'ResponseCode' => ['description' => 'The status code. If OK is returned, the request is successful. For more information, see [Error codes](~~180674~~).', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'ResponseDescription' => ['description' => 'The description of the status code.', 'type' => 'string', 'example' => 'OK', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'F655A8D5-B967-440B-8683-DAD6FF8D****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"ResponseCode\\": \\"OK\\",\\n \\"ResponseDescription\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8D****\\"\\n}","errorExample":""},{"type":"xml","example":"<SmsConversionResponse>\\n <ResponseCode>OK</ResponseCode>\\n <ResponseDescription>OK</ResponseDescription>\\n <RequestId>F655A8D5-B967-440B-8683-DAD6FF8D****</RequestId>\\n</SmsConversionResponse>","errorExample":""}]', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ResponseCode\\": \\"OK\\",\\n \\"ResponseDescription\\": \\"OK\\",\\n \\"RequestId\\": \\"F655A8D5-B967-440B-8683-DAD6FF8D****\\"\\n}","type":"json"}]', 'title' => 'SmsConversion', 'description' => 'Metrics:'."\n" ."\n" - .'* Requested OTP messages'."\n" - .'* Verified OTP messages'."\n" + .'- Requested OTP messages'."\n" + ."\n" + .'- Verified OTP messages'."\n" ."\n" .'An OTP conversion rate is calculated based on the following formula: OTP conversion rate = Number of verified OTP messages/Number of requested OTP messages.'."\n" ."\n" .'> If you call the SmsConversion operation to query OTP conversion rates, your business may be affected. We recommend that you perform the following operations:'."\n" - .'>* Call the SmsConversion operation in an asynchronous manner by configuring queues or events.'."\n" - .'>* Manually degrade your services or use a circuit breaker to automatically degrade services.', + .'>'."\n" + .'> - Call the SmsConversion operation in an asynchronous manner by configuring queues or events.'."\n" + .'>'."\n" + .'> - Manually degrade your services or use a circuit breaker to automatically degrade services.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dysms:SmsConversion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SmsConversion'], + ], + 'product' => ['code' => 'dysms', 'title' => '短信服务'], + ], ], ], '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' => [ [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'dysmsapi.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'dysmsapi.ap-southeast-5.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-2-pop', - 'endpoint' => 'dysmsapi.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-1', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-finance-pop', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-gov-1', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing-nu16-b01', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-edge-1', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-fujian', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-haidian-cm12-c01', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-bj-b01', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-finance', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-prod-1', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-1', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-2', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-internal-test-3', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou-test-306', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong-finance-pop', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-huhehaote-nebula-1', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-north-2-gov-1', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-qingdao-nebula', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-et15-b01', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-et2-b01', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-finance-1', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-inner', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai-internal-test-1', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-finance-1', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-inner', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-st4-d01', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen-su18-b01', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wuhan', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-yushanfang', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangbei', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangbei-na61-b01', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou-na62-a01', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhengzhou-nebula-1', - 'endpoint' => 'dysmsapi.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'dysmsapi.eu-central-1.aliyuncs.com', - ], - [ - 'regionId' => 'eu-west-1-oxs', - 'endpoint' => 'dysmsapi.ap-southeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'rus-west-1-pop', - 'endpoint' => 'dysmsapi.ap-southeast-1.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'SendMessageToGlobe'], + ['description' => 'Request parameters changed', 'api' => 'SendMessageToGlobe'], + ], + 'createdAt' => '2025-08-01T06:22:21.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'dysmsapi.aliyuncs.com', + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'SendMessageToGlobe'], + ], + 'createdAt' => '2025-08-01T03:34:45.000Z', + 'description' => '', ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'dysmsapi.aliyuncs.com', + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 1, 'regionId' => '*', 'api' => 'QueryMessage'], + ['threshold' => '1', 'countWindow' => 1, 'regionId' => '*', 'api' => 'BatchSendMessageToGlobe'], + ['threshold' => '500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SmsConversion'], + ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ConversionData'], + ['threshold' => '2000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SendMessageToGlobe'], + ['threshold' => '1500', 'countWindow' => 1, 'regionId' => '*', 'api' => 'SendMessageWithTemplate'], ], - [ - 'regionId' => 'cn-huhehaote', - 'endpoint' => 'dysmsapi.aliyuncs.com', + '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'], + ], + ], ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'dysmsapi.aliyuncs.com', + 'ramActions' => [ + [ + 'apiName' => 'QueryMessage', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'dysms:QueryMessage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SmsConversion', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dysms:SmsConversion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SendMessageWithTemplate', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dysms:SendMessageWithTemplate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ConversionData', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'dysms:ConversionData', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'SendMessageToGlobe', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dysms:SendMessageToGlobe', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'BatchSendMessageToGlobe', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'dysms:BatchSendMessageToGlobe', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SMS', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'resourceTypes' => [], ], ]; |
