'1.0', 'info' => ['style' => 'RPC', 'product' => 'Dm', 'version' => '2015-11-23'], 'directories' => [ [ 'children' => ['DescAccountSummary'], 'type' => 'directory', 'title' => 'Account', ], [ 'children' => ['AddIpfilter', 'DeleteIpfilterByEdmId'], 'type' => 'directory', 'title' => 'Whitelist', ], [ 'children' => ['UpdateIpProtection', 'GetIpfilterList'], 'type' => 'directory', 'title' => 'IP protection', ], [ 'children' => ['QueryTaskByParam'], 'type' => 'directory', 'title' => 'Task', ], [ 'children' => [ [ 'children' => ['SenderStatisticsByTagNameAndBatchID', 'SenderStatisticsDetailByParam'], 'type' => 'directory', 'title' => 'Statistics', ], 'GetTrackList', 'GetTrackListByMailFromAndTagName', 'SingleSendMail', 'BatchSendMail', 'SendTestByTemplate', ], 'type' => 'directory', 'title' => 'Email', ], [ 'children' => ['CreateDomain', 'DeleteDomain', 'ModifyPWByDomain', 'QueryDomainByParam', 'CheckDomain', 'DescDomain'], 'type' => 'directory', 'title' => 'Domain', ], [ 'children' => ['CreateMailAddress', 'DeleteMailAddress', 'ModifyMailAddress', 'QueryInvalidAddress', 'QueryMailAddressByParam', 'ApproveReplyMailAddress', 'CheckReplyToMailAddress', 'DeleteInvalidAddress'], 'type' => 'directory', 'title' => 'Address', ], [ 'children' => ['CreateReceiver', 'DeleteReceiver', 'DeleteReceiverDetail', 'QueryReceiverByParam', 'QueryReceiverDetail', 'SaveReceiverDetail'], 'type' => 'directory', 'title' => 'Recipient', ], [ 'children' => ['CreateTag', 'DeleteTag', 'ModifyTag', 'QueryTagByParam'], 'type' => 'directory', 'title' => 'Tag', ], [ 'children' => ['DedicatedIpPoolCreate', 'DedicatedIpPoolDelete', 'DedicatedIpPoolUpdate', 'DedicatedIpPoolList', 'DedicatedIpNonePoolList', 'DedicatedIpAutoRenewal', 'DedicatedIpChangeWarmupType', 'DedicatedIpList'], 'type' => 'directory', 'title' => 'Dedicated IP', ], [ 'children' => ['ListUserSuppression', 'CreateUserSuppression', 'RemoveUserSuppression', 'UnblockSending', 'ListBlockSending'], 'type' => 'directory', 'title' => 'Invalid address', ], [ 'children' => ['ConfigSetCreate', 'ConfigSetDelete', 'ConfigSetUpdate', 'ConfigSetDetail', 'ConfigSetList', 'ConfigSetRelationFromAddress', 'ConfigSetCancelRelationFromAddress'], 'type' => 'directory', 'title' => 'Configuration set', ], [ 'children' => ['CreateTemplate', 'DescTemplate', 'QueryTemplateByParam'], 'type' => 'directory', 'title' => 'Template', ], [ 'children' => ['GetValidationQuota', 'ValidateEmail', 'SendValidateFile', 'GetValidateFileStatus', 'GetValidateFile', 'DeleteValidateFile'], 'type' => 'directory', 'title' => 'Address verification', ], [ 'children' => ['ListValidateFile'], 'type' => 'directory', 'title' => 'Other', ], [ 'children' => ['DeleteTemplate', 'GetIpProtection', 'GetUser', 'ModifyTemplate', 'UpdateUser'], 'title' => 'Others', 'type' => 'directory', ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ 'AddIpfilter' => [ 'summary' => 'Add IP Protection Information', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'IpAddress', 'in' => 'query', 'schema' => ['description' => 'IP Address/IP Range/IP Segment', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Single IP: xxx.xxx.xxx.xxx'."\n" .'IP range: xxx.xxx.xxx.xxx-xxx.xxx.xxx.xxx'."\n" .'CIDR: xxx.xxx.xxx.xxx/xxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '0E9282E8-DC08-5445-8FB0-B9F0CA28B249', 'title' => ''], 'IpFilterId' => ['description' => 'ID corresponding to the IP', 'type' => 'string', 'example' => '10795', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0E9282E8-DC08-5445-8FB0-B9F0CA28B249\\",\\n \\"IpFilterId\\": \\"10795\\"\\n}","errorExample":""},{"type":"xml","example":"\\n F814E960-5AEE-5CB1-881B-6F1A3250B55A\\n 10795\\n","errorExample":""}]', 'title' => 'Add IP Whitelist', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:AddIpfilter', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', ], 'ApproveReplyMailAddress' => [ 'summary' => 'Verify Reply Address', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [], 'parameters' => [ [ 'name' => 'Ticket', 'in' => 'query', 'schema' => ['description' => 'Email address Ticket credential, part of the string in the verification email\'s URL.', 'type' => 'string', 'required' => true, 'example' => 'a724068dac9a45d19574375adeca0d7d', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '10A1AD70-E48E-476D-98D9-39BD92193837', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Verify Reply Address', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'dm:ApproveReplyMailAddress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"10A1AD70-E48E-476D-98D9-39BD92193837\\"\\n}","type":"json"}]', ], 'BatchSendMail' => [ 'summary' => 'Sends emails in batches.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid', 'autoTest' => false], 'parameters' => [ [ 'name' => 'TemplateName', 'in' => 'query', 'schema' => ['description' => 'The name of a pre-created and approved template.', 'type' => 'string', 'required' => false, 'example' => 'test1', 'title' => ''], ], [ 'name' => 'AccountName', 'in' => 'query', 'schema' => ['description' => 'The sender address configured in the management console.', 'type' => 'string', 'required' => true, 'example' => 'test@example.com', 'title' => ''], ], [ 'name' => 'ReceiversName', 'in' => 'query', 'schema' => ['description' => 'The name of a pre-created recipient list that has recipients uploaded.'."\n" ."\n" .'Note:'."\n" ."\n" .'The number of recipients in the list must not exceed the remaining daily quota. Otherwise, the email sending fails.'."\n" ."\n" .'Do not delete the recipient list until at least 10 minutes after the task is triggered. Otherwise, the email sending may fail.', 'type' => 'string', 'required' => false, 'example' => 'test2', 'title' => ''], ], [ 'name' => 'AddressType', 'in' => 'query', 'schema' => ['description' => 'Valid values:'."\n" .'- 0: random account'."\n" .'- 1: sender address.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'maximum' => '1', 'minimum' => '0', 'example' => '1', 'title' => ''], ], [ 'name' => 'TagName', 'in' => 'query', 'schema' => ['description' => 'The tag name of the email.', 'type' => 'string', 'required' => false, 'example' => 'test3', 'title' => ''], ], [ 'name' => 'ReplyAddress', 'in' => 'query', 'schema' => ['description' => 'The reply-to address.', 'type' => 'string', 'required' => false, 'example' => 'test2***@example.net', 'title' => ''], ], [ 'name' => 'ReplyAddressAlias', 'in' => 'query', 'schema' => ['description' => 'The alias of the reply-to address.', 'type' => 'string', 'required' => false, 'example' => '小红', 'title' => ''], ], [ 'name' => 'ClickTrace', 'in' => 'query', 'schema' => ['description' => 'Valid values:'."\n" .'- 1: Enables data tracking.'."\n" .'- 0 (default): Disables data tracking.', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], ], [ 'name' => 'UnSubscribeLinkType', 'in' => 'query', 'schema' => ['description' => 'The type of the generated unsubscribe link. For more information, see [Unsubscribe link generation and filtering mechanism](~~2689048~~).'."\n" .'Valid values:'."\n" .'- disabled: No unsubscribe link is generated.'."\n" .'- default: The default policy is used. An unsubscribe link is generated when emails are sent from a batch-type sender address to specific domains that contain keywords such as "gmail", "yahoo", "google", "aol.com", "hotmail", "outlook", or "ymail.com".'."\n" ."\n" .'The display language is automatically determined based on the recipient\'s browser settings.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], ], [ 'name' => 'UnSubscribeFilterLevel', 'in' => 'query', 'schema' => ['description' => 'The filtering level. For more information, see [Unsubscribe link generation and filtering mechanism](~~2689048~~).'."\n" .'Valid values:'."\n" .'- disabled: No filtering is applied.'."\n" .'- default: The default policy is used. Batch addresses are filtered at the sender address level.'."\n" .'- mailfrom: Filtering at the sender address level.'."\n" .'- mailfrom_domain: Filtering at the sender domain level.'."\n" .'- edm_id: Filtering at the account level.', 'type' => 'string', 'required' => false, 'example' => 'mailfrom_domain', 'title' => ''], ], [ 'name' => 'Headers', 'in' => 'query', 'schema' => ['description' => 'The email header settings.'."\n" ."\n" .'Both standard and non-standard fields must comply with the syntax requirements for headers defined in the standard. A maximum of 10 headers can be passed through the headers field when sending emails via API. Headers that exceed this limit are ignored. SMTP has no such limit.'."\n" ."\n" .'1. Standard fields'."\n" ."\n" .'Message-ID, List-Unsubscribe, List-Unsubscribe-Post'."\n" ."\n" .'Standard fields overwrite the original values in the email header.'."\n" ."\n" .'2. Non-standard fields'."\n" ."\n" .'Case-insensitive.'."\n" ."\n" .'a. Fields prefixed with X-User- (not pushed to EventBridge or Message Service (MNS). This restriction applies only to API. SMTP allows any custom fields.)'."\n" ."\n" .'b. Fields prefixed with X-User-Notify- (pushed to EventBridge and Message Service (MNS). Both API and SMTP are supported.)'."\n" ."\n" .'When pushed to EventBridge or MNS, these fields are included under the header field.', 'type' => 'string', 'required' => false, 'example' => '{'."\n" .' "Message-ID": "",'."\n" .' "X-User-UID1": "UID-1-000001",'."\n" .' "X-User-UID2": "UID-2-000001",'."\n" .' "X-User-Notify-UID1": "UID-3-000001",'."\n" .' "X-User-Notify-UID2": "UID-4-000001"'."\n" .' '."\n" .'}', 'title' => ''], ], [ 'name' => 'IpPoolId', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'The ID of the dedicated IP address pool. Users who have purchased dedicated IP addresses can use this parameter to specify the outbound IP address for this email sending task.', 'type' => 'string', 'required' => false, 'example' => 'e4xxxxxe-4xx0-4xx3-8xxa-74cxxxxx1cef', 'title' => ''], ], [ 'name' => 'DomainAuth', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Specifies whether to enable domain-level authentication.'."\n" ."\n" .'Valid values:'."\n" .'- true'."\n" .'- false'."\n" ."\n" .'Use this parameter only for domain-level authentication. Ignore it for sender address-level authentication.'."\n" ."\n" .'1. Create the address domain-auth-created-by-system@example.com in the console. Keep the prefix before @ unchanged and replace the suffix with your own domain name.'."\n" ."\n" .'2.'."\n" ."\n" .'**API scenario**'."\n" ."\n" .'Set AccountName to the domain name. The recipient sees domain-auth-created-by-system@example.com as the sender.'."\n" ."\n" .'**SMTP scenario**'."\n" ."\n" .'a. Call the ModifyPWByDomain operation to set the domain password.'."\n" ."\n" .'b. Authenticate with the domain name and the configured password. Pass a custom address such as user@example.com as the actual sender (mailfrom). The recipient sees user@example.com as the sender.', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'TemplateContent', 'in' => 'formData', 'style' => 'json', 'schema' => [ 'title' => '', 'description' => 'The custom email content. You can directly specify the content without creating a template in advance. Specify this parameter or TemplateName. If both TemplateContent and TemplateName are specified, TemplateName takes precedence.', 'type' => 'object', 'properties' => [ 'Subject' => ['title' => '', 'description' => 'The subject of the email.', 'type' => 'string', 'example' => '黑色星期五,专属折扣来袭', 'required' => false], 'HtmlBody' => ['title' => '', 'description' => 'The HTML body of the email.'."\n" ."\n" .'Note: HtmlBody and TextBody are used for different types of email content. You must specify one of them.'."\n" ."\n" .'The new SDK uses Body for parameter passing with a size limit of approximately 8 MB (Java 1.4.0 and later, Python3 1.4.0 and later, PHP 1.4.0 and later).', 'type' => 'string', 'example' => '

全场九折,仅限今日

', 'required' => false], 'TextBody' => ['title' => '', 'description' => 'The plain text body of the email.'."\n" ."\n" .'Note: HtmlBody and TextBody are used for different types of email content. You must specify one of them.'."\n" ."\n" .'The new SDK uses Body for parameter passing with a size limit of approximately 8 MB (Java 1.4.0 and later, Python3 1.4.0 and later, PHP 1.4.0 and later).', 'type' => 'string', 'example' => '全场九折,仅限今日', 'required' => false], 'Alias' => ['title' => '', 'description' => 'The display name of the sender.', 'type' => 'string', 'example' => 'Jackie', 'required' => false], ], 'required' => false, 'example' => '', ], ], [ 'name' => 'Receivers', 'in' => 'formData', 'style' => 'json', 'schema' => [ 'title' => '', 'description' => 'The recipient list. The number of recipients cannot exceed 100. Specify this parameter or ReceiversName. If both Receivers and ReceiversName are specified, ReceiversName takes precedence.'."\n" ."\n" .'Example: [{"To":["Jackie@example.com"],"TemplateData":{"UserName":"Jackie"}},{"To":["Tom@example.com"],"TemplateData":{"UserName":"Tom"}}].', 'type' => 'array', 'items' => [ 'title' => '', 'description' => 'The details of a custom recipient.', 'type' => 'object', 'properties' => [ 'To' => [ 'title' => '', 'description' => 'The recipient list. This parameter is of the array type.', 'type' => 'array', 'items' => ['title' => '', 'description' => 'The email address.', 'type' => 'string', 'required' => false, 'example' => 'Jackie@example.com'], 'required' => false, 'example' => '', ], 'TemplateData' => [ 'title' => '', 'description' => 'The email template parameters. This parameter is of the JSON map type.', 'type' => 'object', 'required' => false, 'additionalProperties' => ['title' => '', 'description' => 'key-value 字符串', 'type' => 'string', 'example' => '{"UserName": "Jackie"}'], 'example' => '', ], ], 'required' => false, 'example' => '', ], 'required' => false, 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'EnvId' => ['description' => 'The event ID.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '12D086F6-8F31-4658-84C1-006DED011A85', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EnvId\\": \\"xxx\\",\\n \\"RequestId\\": \\"12D086F6-8F31-4658-84C1-006DED011A85\\"\\n}","type":"json"}]', 'title' => 'Send emails in batches', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:BatchSendMail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'CheckDomain' => [ 'summary' => 'Check Domain Status', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [], 'parameters' => [ [ 'name' => 'DomainId', 'in' => 'query', 'schema' => ['description' => 'Domain ID.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '153345', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'DomainStatus' => ['description' => 'Domain status. Indicates whether the verification was successful, with values as follows:'."\n" ."\n" .'- **0**: Available, verified successfully'."\n" ."\n" .'- **1**: Unavailable, verification failed', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => 'F0B82E83-A1D9-4FE6-97D2-F4B231F80B02', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Verify Domain', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'dm:CheckDomain', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DomainStatus\\": 1,\\n \\"RequestId\\": \\"F0B82E83-A1D9-4FE6-97D2-F4B231F80B02\\"\\n}","type":"json"}]', ], 'CheckReplyToMailAddress' => [ 'summary' => 'Validate Reply-To Address', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [], 'parameters' => [ [ 'name' => 'Lang', 'in' => 'query', 'schema' => ['description' => 'Language.'."\n" ."\n" .'en is English, and any other value or an empty value defaults to Chinese.', 'type' => 'string', 'required' => false, 'example' => '无', 'title' => ''], ], [ 'name' => 'Region', 'in' => 'query', 'schema' => ['description' => 'Region', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ 'name' => 'MailAddressId', 'in' => 'query', 'schema' => ['description' => 'Sender Address ID', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '126545', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '10A1AD70-E48E-476D-98D9-39BD92193837', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Verify Reply-To Address for Sending Emails', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'dm:CheckReplyToMailAddress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"10A1AD70-E48E-476D-98D9-39BD92193837\\"\\n}","type":"json"}]', ], 'ConfigSetCancelRelationFromAddress' => [ 'summary' => 'Disassociates a sender address from a configuration set.', 'path' => '', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'Id', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => 'The ID of the configuration set. This parameter is required.', 'required' => false, 'title' => '', 'example' => 'xxx'], ], [ 'name' => 'FromAddress', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => 'The sender address. This parameter is required.', 'required' => false, 'title' => '', 'example' => 'xxx@xxx.com'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['type' => 'string', 'title' => '', 'description' => 'The ID of the request.', 'example' => 'xxx'], 'Result' => ['type' => 'boolean', 'description' => 'The result of the request.', 'title' => '', 'example' => 'true'], ], 'title' => '', 'description' => 'Response', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ConfigSetCancelRelationFromAddress', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'dm:ConfigSetCancelRelationFromAddress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxx\\",\\n \\"Result\\": true\\n}","type":"json"}]', ], 'ConfigSetCreate' => [ 'summary' => 'Creates a configuration set. You can create up to 100 configuration sets.', 'path' => '', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the configuration set. The name must be unique and can contain up to 50 characters. This parameter is required.', 'type' => 'string', 'required' => false, 'example' => 'XXX', 'title' => ''], ], [ 'name' => 'IpPoolId', 'in' => 'query', 'schema' => ['description' => 'The ID of an IP pool to associate with the configuration set. This parameter is optional.', 'type' => 'string', 'required' => false, 'example' => 'XXX', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'A description of the configuration set (up to 50 characters).', 'type' => 'string', 'required' => false, 'example' => 'XXX', 'title' => ''], ], [ 'name' => 'IsPublicChannelBackoff', 'in' => 'query', 'schema' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The unique ID for the request. Provide this request ID when contacting support.', 'type' => 'string', 'title' => '', 'example' => 'XXX'], 'Id' => ['description' => 'The new configuration set ID.', 'type' => 'string', 'example' => 'XXX', 'title' => ''], ], 'title' => '', 'description' => 'The response body.', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ConfigSetCreate', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:ConfigSetCreate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"XXX\\",\\n \\"Id\\": \\"XXX\\"\\n}","type":"json"}]', ], 'ConfigSetDelete' => [ 'path' => '', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'Ids', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => 'The IDs of the configuration sets. Separate multiple IDs with commas. This parameter is required.', 'required' => false, 'title' => '', 'example' => 'xxx'], ], [ 'name' => 'IsForce', 'in' => 'query', 'schema' => ['type' => 'boolean', 'description' => 'Specifies whether to force delete the associations with sender addresses.', 'required' => false, 'title' => '', 'example' => 'true'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['type' => 'string', 'title' => '', 'description' => 'The request ID.', 'example' => 'xxx'], ], 'title' => '', 'description' => 'The response.', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ConfigSetDelete', 'summary' => 'Deletes configuration sets.', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dm:ConfigSetDelete', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxx\\"\\n}","type":"json"}]', ], 'ConfigSetDetail' => [ 'path' => '', 'methods' => ['get', 'post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'Id', 'in' => 'query', 'schema' => ['description' => 'The ID of the configuration set.', 'type' => 'string', 'required' => false, 'example' => 'xxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'xxx'], 'Detail' => [ 'type' => 'object', 'properties' => [ 'Id' => ['description' => 'The ID of the configuration set.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'Name' => ['description' => 'The name of the configuration set.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'Description' => ['description' => 'A description of the configuration set.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'IpPool' => [ 'type' => 'object', 'properties' => [ 'IpPoolId' => ['description' => 'The ID of the associated IP pool.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'IpPoolName' => ['description' => 'The name of the associated IP pool.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], ], 'description' => 'The associated IP pool.', 'title' => '', 'example' => '', ], 'IsPublicChannelBackoff' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => 'The details of the configuration set.', 'title' => '', 'example' => '', ], ], 'title' => '', 'description' => 'The response.', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ConfigSetDetail', 'summary' => 'Retrieves the details of a specified configuration set.', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:ConfigSetDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxx\\",\\n \\"Detail\\": {\\n \\"Id\\": \\"xxx\\",\\n \\"Name\\": \\"xxx\\",\\n \\"Description\\": \\"xxx\\",\\n \\"IpPool\\": {\\n \\"IpPoolId\\": \\"xxx\\",\\n \\"IpPoolName\\": \\"xxx\\"\\n },\\n \\"IsPublicChannelBackoff\\": false\\n }\\n}","type":"json"}]', ], 'ConfigSetList' => [ 'path' => '', 'methods' => ['get', 'post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'PageIndex', 'in' => 'query', 'schema' => ['description' => 'The page number, starting from 1. Required.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Required.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'Keyword', 'in' => 'query', 'schema' => ['description' => 'The keyword for filtering ConfigSets by name.', 'type' => 'string', 'required' => false, 'example' => 'xxx', 'title' => ''], ], [ 'name' => 'All', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to retrieve all ConfigSets. Optional.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'TotalCounts' => ['description' => 'The total number of matching entries.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '5'], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'xxx'], 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], 'HasMore' => [ 'description' => 'Indicates whether more results are available.', 'enumValueTitles' => ['true' => 'More results are available.', 'false' => 'All results have been returned.'], 'type' => 'boolean', 'example' => 'false', 'title' => '', ], 'PageSize' => ['description' => 'The page size.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'ConfigSets' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Id' => ['description' => 'The ConfigSet ID.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'Name' => ['description' => 'The ConfigSet name.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'IpPool' => [ 'type' => 'object', 'properties' => [ 'IpPoolId' => ['description' => 'The associated IP pool ID.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'IpPoolName' => ['description' => 'The associated IP pool name.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], ], 'description' => 'The IP pool associated with the ConfigSet.', 'title' => '', 'example' => '', ], 'FromAddresses' => [ 'type' => 'array', 'items' => ['description' => 'The from address.', 'type' => 'string', 'example' => 'xxx@xxx.com', 'title' => ''], 'description' => 'The list of from addresses associated with the ConfigSet.', 'title' => '', 'example' => '', ], 'Description' => ['description' => 'The description.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'IsPublicChannelBackoff' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => 'The details of a ConfigSet.', 'title' => '', 'example' => '', ], 'description' => 'The list of ConfigSets.', 'title' => '', 'example' => '', ], ], 'title' => '', 'description' => 'The response.', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ConfigSetList', 'summary' => 'Lists ConfigSets.', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:ConfigSetList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCounts\\": 5,\\n \\"RequestId\\": \\"xxx\\",\\n \\"CurrentPage\\": 1,\\n \\"HasMore\\": false,\\n \\"PageSize\\": 10,\\n \\"ConfigSets\\": [\\n {\\n \\"Id\\": \\"xxx\\",\\n \\"Name\\": \\"xxx\\",\\n \\"IpPool\\": {\\n \\"IpPoolId\\": \\"xxx\\",\\n \\"IpPoolName\\": \\"xxx\\"\\n },\\n \\"FromAddresses\\": [\\n \\"xxx@xxx.com\\"\\n ],\\n \\"Description\\": \\"xxx\\",\\n \\"IsPublicChannelBackoff\\": false\\n }\\n ]\\n}","type":"json"}]', ], 'ConfigSetRelationFromAddress' => [ 'summary' => 'Associates a configuration set with a sender address.', 'path' => '', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'Id', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => 'The ID of the configuration set. This parameter is required.', 'required' => false, 'title' => '', 'example' => 'xxx'], ], [ 'name' => 'FromAddress', 'in' => 'query', 'schema' => ['type' => 'string', 'description' => 'The sender address. This parameter is required.', 'required' => false, 'title' => '', 'example' => 'xxx@xxx.com'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['type' => 'string', 'title' => '', 'description' => 'The request ID.', 'example' => 'xxx'], 'Result' => ['type' => 'boolean', 'description' => 'The result of the operation.', 'title' => '', 'example' => 'true'], ], 'title' => '', 'description' => 'Response', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ConfigSetRelationFromAddress', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:ConfigSetRelationFromAddress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxx\\",\\n \\"Result\\": true\\n}","type":"json"}]', ], 'ConfigSetUpdate' => [ 'summary' => 'Updates a configuration set.', 'path' => '', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'Id', 'in' => 'query', 'schema' => ['description' => 'Configuration set ID. Required.', 'type' => 'string', 'required' => false, 'example' => 'XXX', 'title' => ''], ], [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'Configuration set name. Required. Up to 50 characters. The name must be unique.', 'type' => 'string', 'required' => false, 'example' => 'XXX', 'title' => ''], ], [ 'name' => 'IpPoolId', 'in' => 'query', 'schema' => ['description' => 'Associated IP pool ID. Optional.', 'type' => 'string', 'required' => false, 'example' => 'XXX', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'query', 'schema' => ['description' => 'A description for the configuration set, up to 50 characters long.', 'type' => 'string', 'required' => false, 'example' => 'XXX', 'title' => ''], ], [ 'name' => 'IsPublicChannelBackoff', 'in' => 'query', 'schema' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'title' => '', 'example' => 'xxx'], 'Id' => ['description' => 'Configuration set ID.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], ], 'title' => '', 'description' => 'The response object.', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ConfigSetUpdate', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'dm:ConfigSetUpdate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxx\\",\\n \\"Id\\": \\"xxx\\"\\n}","type":"json"}]', ], 'CreateDomain' => [ 'summary' => 'Create Domain', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', 'schema' => ['description' => 'Domain name, length 1-50, can include numbers, uppercase letters, lowercase letters, ., and -.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'sub.example.com', 'title' => ''], ], [ 'name' => 'dkimSelector', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'The selector field in the DKIM protocol, used to identify a specific public key. It is recommended to leave it blank, as the system will automatically generate it based on cluster information. If the user specifies it manually, for example, if the sending domain is "sub.example.com" and dkimSelector is set to "default", then the host record will be "default.\\_domainkey.sub"'."\n" .'Constraints:'."\n" ."\n" .'1. The length must not exceed 60 characters.'."\n" ."\n" .'2. It must consist of visible characters only.'."\n" ."\n" .'3. It cannot start with a hyphen (-).'."\n" ."\n" .'4. It cannot end with a hyphen (-).'."\n" ."\n" .'5. It cannot contain any of the following characters: \\_ :;/!\\*\\~.@#$%^&()+=\\[{]}|?<>,\'"', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'DomainId' => ['description' => 'Domain ID', 'type' => 'string', 'example' => '158910', 'title' => ''], 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => 'B49AD828-25D1-488C-90B7-8853C1944486', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Create Domain', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:CreateDomain', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DomainId\\": \\"158910\\",\\n \\"RequestId\\": \\"B49AD828-25D1-488C-90B7-8853C1944486\\"\\n}","type":"json"}]', ], 'CreateMailAddress' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'AccountName', 'in' => 'query', 'schema' => ['description' => 'Sender\'s email address', 'type' => 'string', 'example' => 'Account+@+domain', 'required' => true, 'docRequired' => true, 'title' => ''], ], [ 'name' => 'ReplyAddress', 'in' => 'query', 'schema' => ['description' => 'Reply-to address', 'type' => 'string', 'required' => false, 'example' => 'test1***@example.net', 'title' => ''], ], [ 'name' => 'Sendtype', 'in' => 'query', 'schema' => ['description' => 'Type of sending. Values:'."\n" ."\n" .'- batch: Bulk emails'."\n" ."\n" .'- trigger: Triggered emails', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'batch', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'MailAddressId' => ['description' => 'Mail address ID', 'type' => 'string', 'example' => '15123', 'title' => ''], 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '95A7D497-F8DD-4834-B81E-C1783236E55F', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidMailAddressName.Duplicate', 'errorMessage' => 'The specified email address already exists. Please change to another one.', 'description' => 'The specified email address already exists. Please change to another one.'], ], 404 => [ ['errorCode' => 'InvalidUser.NotFound', 'errorMessage' => 'The specified user does not exist. Please contact your master account to activate the Direct Mail service.', 'description' => 'The specified user does not exist. Please contact your master account to activate the Direct Mail service.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"MailAddressId\\": \\"15123\\",\\n \\"RequestId\\": \\"95A7D497-F8DD-4834-B81E-C1783236E55F\\"\\n}","type":"json"}]', 'title' => 'Create Mail Address', 'summary' => 'Create a mail address.', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:CreateMailAddress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'manual', ], 'CreateReceiver' => [ 'summary' => 'Create Receiver List', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'ReceiversName', 'in' => 'query', 'schema' => ['description' => 'List name, must be unique, with a length of 1-30 characters.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''], ], [ 'name' => 'ReceiversAlias', 'in' => 'query', 'schema' => ['description' => 'List alias, an email address less than 30 characters long.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'a***@example.net', 'title' => ''], ], [ 'name' => 'Desc', 'in' => 'query', 'schema' => ['description' => 'List description.', 'type' => 'string', 'example' => 'Description', 'required' => false, 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'ReceiverId' => ['description' => 'Receiver list ID', 'type' => 'string', 'example' => '7312e09b8fffc5c7b2e2fbf5b6dc2073', 'title' => ''], 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '10A1AD70-E48E-476D-98D9-39BD92193837', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ReceiverId\\": \\"7312e09b8fffc5c7b2e2fbf5b6dc2073\\",\\n \\"RequestId\\": \\"10A1AD70-E48E-476D-98D9-39BD92193837\\"\\n}","type":"json"}]', 'title' => 'Create Receiver List', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:CreateReceiver', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'manual', ], 'CreateTag' => [ 'summary' => 'Creates a tag.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'TagName', 'in' => 'query', 'schema' => ['description' => 'The tag name. The name must be 1 to 128 characters long and can contain letters, digits, and underscores (\\_).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test', 'title' => ''], ], [ 'name' => 'TagDescription', 'in' => 'query', 'schema' => ['description' => 'The description of the tag.', 'type' => 'string', 'required' => false, 'example' => 'test description', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'TagId' => ['description' => 'The tag ID.', 'type' => 'string', 'example' => '91141', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '10A1AD70-E48E-476D-98D9-39BD92193837', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Create Tag', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:CreateTag', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TagId\\": \\"91141\\",\\n \\"RequestId\\": \\"10A1AD70-E48E-476D-98D9-39BD92193837\\"\\n}","type":"json"}]', ], 'CreateTemplate' => [ 'summary' => 'Creates a new mail template in DirectMail.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'TemplateType', 'in' => 'query', 'schema' => ['description' => 'The template type.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '2', 'minimum' => '0', 'default' => '0', 'example' => '0', 'title' => ''], ], [ 'name' => 'TemplateName', 'in' => 'query', 'schema' => ['description' => 'The template name.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'template name', 'title' => ''], ], [ 'name' => 'TemplateSubject', 'in' => 'query', 'schema' => ['description' => 'The email subject.', 'type' => 'string', 'required' => false, 'example' => 'subject test', 'title' => ''], ], [ 'name' => 'TemplateNickName', 'in' => 'query', 'schema' => ['description' => 'The sender name.', 'type' => 'string', 'required' => false, 'example' => 'Tom', 'title' => ''], ], [ 'name' => 'TemplateText', 'in' => 'query', 'schema' => ['description' => 'The email HTML body.', 'type' => 'string', 'required' => false, 'example' => '

test

', 'title' => ''], ], [ 'name' => 'SmsType', 'in' => 'query', 'schema' => ['description' => 'Deprecated. This parameter is retained for backward compatibility.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => 'Abandoned, historical reasons for compatibility', 'title' => ''], ], [ 'name' => 'SmsContent', 'in' => 'query', 'schema' => ['description' => 'Deprecated. This parameter is retained for backward compatibility.', 'type' => 'string', 'required' => false, 'example' => 'Abandoned, historical reasons for compatibility', 'title' => ''], ], [ 'name' => 'Remark', 'in' => 'query', 'schema' => ['description' => 'Deprecated. This parameter is retained for backward compatibility.', 'type' => 'string', 'required' => false, 'example' => 'Abandoned, historical reasons for compatibility', 'title' => ''], ], [ 'name' => 'FromType', 'in' => 'query', 'schema' => ['description' => 'Deprecated. This parameter is retained for backward compatibility.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '2', 'minimum' => '1', 'default' => '1', 'example' => 'Abandoned, historical reasons for compatibility', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'TemplateId' => ['description' => 'The template ID.', 'type' => 'integer', 'format' => 'int32', 'example' => '415366', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'D1C7F6E1-6A4D-50B5-B864-640E9FCA8D0A', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'CreateTemplate', 'description' => '## Description'."\n" ."\n" .'- Set the **templateType** parameter to `0` to create a mail template.'."\n" ."\n" .'- For a mail template, specify `templateSubject` (email subject), `templateNickName` (sender name), and `templateText` (email HTML body).'."\n" ."\n" .'- The template name (`templateName`) must be unique within an account.'."\n" ."\n" .'- Newly created templates have a default status of `pending approval`.', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TemplateId\\": 415366,\\n \\"RequestId\\": \\"D1C7F6E1-6A4D-50B5-B864-640E9FCA8D0A\\"\\n}","type":"json"}]', ], 'CreateUserSuppression' => [ 'summary' => 'Create User\'s Invalid Address', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'create'], 'parameters' => [ [ 'name' => 'Address', 'in' => 'query', 'schema' => ['description' => 'Email address or domain name', 'type' => 'string', 'example' => 'Test@example.net orexample.net', 'required' => false, 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '1A846D66-5EC7-551B-9687-5BF1963DCFC1', 'title' => ''], 'SuppressionId' => ['description' => 'Invalid address number', 'type' => 'string', 'example' => '59511', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1A846D66-5EC7-551B-9687-5BF1963DCFC1\\",\\n \\"SuppressionId\\": \\"59511\\"\\n}","type":"json"}]', 'title' => 'Create Invalid Address or Domain', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:CreateUserSuppression', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'manual', ], 'DedicatedIpAutoRenewal' => [ 'summary' => 'Sets auto-renewal for a dedicated IP address.', 'path' => '', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'BuyResourceIds', 'in' => 'query', 'schema' => ['description' => 'The IDs of the purchased instances. Separate multiple IDs with commas.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'xxx,xxx'], ], [ 'name' => 'AutoRenewal', 'in' => 'query', 'schema' => [ 'description' => 'Specifies whether to enable auto-renewal.', 'type' => 'string', 'required' => true, 'enumValueTitles' => ['true' => 'Yes', 'false' => 'No'], 'title' => '', 'example' => 'false', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The response.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'xxx'], ], 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxx\\"\\n}","type":"json"}]', 'title' => 'Set IP Auto Renewal', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'dm:DedicatedIpAutoRenewal', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DedicatedIpChangeWarmupType' => [ 'summary' => 'Updates the prefetch method for a dedicated IP address.', 'path' => '', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'Id', 'in' => 'query', 'schema' => ['description' => 'The ID of the dedicated IP address.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'xxx'], ], [ 'name' => 'WarmupType', 'in' => 'query', 'schema' => [ 'description' => 'The prefetch method.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'enumValueTitles' => ['sysCusStream' => 'System prefetch', 'cusSelfManager' => 'Manual prefetch'], 'title' => '', 'example' => 'sysCusStream', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The response.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'xxx'], ], 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Update Purchased IP Warmup Method', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'dm:DedicatedIpChangeWarmupType', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxx\\"\\n}","type":"json"}]', ], 'DedicatedIpList' => [ 'summary' => 'Lists purchased IPs.', 'path' => '', 'methods' => ['get', 'post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'PageIndex', 'in' => 'query', 'schema' => ['description' => 'The page index, starting from 1.', 'type' => 'integer', 'format' => 'int32', 'docRequired' => true, 'default' => '1', 'required' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The page size.', 'type' => 'integer', 'format' => 'int32', 'docRequired' => true, 'default' => '10', 'required' => true, 'example' => '10', 'title' => ''], ], [ 'name' => 'Keyword', 'in' => 'query', 'schema' => ['description' => 'The search keyword for IP addresses.', 'type' => 'string', 'required' => false, 'example' => 'xxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The response object.', 'type' => 'object', 'properties' => [ 'TotalCounts' => ['title' => 'TotalCount本次请求条件下的数据总量,此参数为可选参数,默认可不返回', 'description' => 'The total number of purchased IPs.', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'xxx'], 'HasMore' => ['description' => 'Indicates whether another page of results is available.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The page size.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Ips' => [ 'description' => 'The list of IPs.', 'type' => 'array', 'items' => [ 'description' => 'Details about a purchased IP.', 'type' => 'object', 'properties' => [ 'Id' => ['description' => 'The ID of the IP address, which is the same as the ID of the purchased instance.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'Ip' => ['description' => 'The IP address.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'InstanceId' => ['description' => 'The ID of the purchased instance.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'StartTime' => ['description' => 'The time when the IP was purchased.', 'type' => 'string', 'example' => '2025-05-12T09:19:20Z', 'title' => ''], 'ExpiredTime' => ['description' => 'The expiration time.', 'type' => 'string', 'example' => '2025-06-12T09:19:20Z', 'title' => ''], 'Status' => [ 'description' => 'The status of the IP.', 'enumValueTitles' => ['sold' => 'Purchased', 'expired' => 'Expired'], 'type' => 'string', 'example' => 'sold', 'title' => '', ], 'WarmupStatus' => [ 'description' => 'The warm-up status.', 'enumValueTitles' => ['init' => 'Pending', 'processing' => 'Processing', 'finish' => 'Completed'], 'type' => 'string', 'example' => 'finish', 'title' => '', ], 'WarmupType' => [ 'description' => 'The warm-up method.', 'enumValueTitles' => ['sysCusStream' => 'System warm-up', 'cusSelfManager' => 'Manual warm-up'], 'type' => 'string', 'example' => 'cusSelfManager', 'title' => '', ], 'IpPoolName' => [ 'description' => 'The name of the IP pool to which the IP belongs.', 'enumValueTitles' => [], 'type' => 'string', 'example' => 'xxx', 'title' => '', ], 'IpExt' => [ 'description' => 'Extended properties.', 'type' => 'object', 'properties' => [ 'HasSendMail' => [ 'description' => 'Indicates whether an email has been sent.', 'enumValueTitles' => ['true' => 'Yes', 'false' => 'No'], 'type' => 'boolean', 'example' => 'true', 'title' => '', ], 'AutoRenewal' => [ 'description' => 'Indicates whether auto-renewal is enabled.', 'enumValueTitles' => ['true' => 'Yes', 'false' => 'No'], 'type' => 'boolean', 'example' => 'false', 'title' => '', ], 'LastWarmUpTypeChangedTime' => ['description' => 'The last time the warm-up status changed.', 'type' => 'string', 'example' => '2025-08-07T07:23:49.329Z', 'title' => ''], ], 'title' => '', 'example' => '', ], 'ZoneId' => ['description' => 'The ID of the zone where the IP address is located.'."\n" ."\n" .'- ap-southeast-1a'."\n" ."\n" .'- ap-southeast-1b'."\n" ."\n" .'- cn-hangzhou-k'."\n" ."\n" .'- cn-shanghai-l'."\n" ."\n" .'- eu-central-1a'."\n" ."\n" .'- eu-central-1b'."\n" ."\n" .'- us-east-1a'."\n" ."\n" .'- us-east-1b', 'type' => 'string', 'example' => 'ap-southeast-1a', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCounts\\": 5,\\n \\"RequestId\\": \\"xxx\\",\\n \\"HasMore\\": false,\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 10,\\n \\"Ips\\": [\\n {\\n \\"Id\\": \\"xxx\\",\\n \\"Ip\\": \\"xxx\\",\\n \\"InstanceId\\": \\"xxx\\",\\n \\"StartTime\\": \\"2025-05-12T09:19:20Z\\",\\n \\"ExpiredTime\\": \\"2025-06-12T09:19:20Z\\",\\n \\"Status\\": \\"sold\\",\\n \\"WarmupStatus\\": \\"finish\\",\\n \\"WarmupType\\": \\"cusSelfManager\\",\\n \\"IpPoolName\\": \\"xxx\\",\\n \\"IpExt\\": {\\n \\"HasSendMail\\": true,\\n \\"AutoRenewal\\": false,\\n \\"LastWarmUpTypeChangedTime\\": \\"2025-08-07T07:23:49.329Z\\"\\n },\\n \\"ZoneId\\": \\"ap-southeast-1a\\"\\n }\\n ]\\n}","type":"json"}]', 'title' => 'List Purchased IP Addresses', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:DedicatedIpList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'DedicatedIpNonePoolList' => [ 'summary' => 'Lists the IP addresses that are not assigned to any IP pool. This operation is used for IP pool configuration.', 'path' => '', 'methods' => ['get', 'post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'Response', 'type' => 'object', 'properties' => [ 'Ips' => [ 'description' => 'The IP addresses that are not added to an IP pool.', 'type' => 'array', 'items' => [ 'description' => 'The relationship between the purchased instance and the IP address.', 'type' => 'object', 'properties' => [ 'Id' => ['description' => 'The ID of the purchased instance.', 'type' => 'string', 'title' => '', 'example' => 'xxx'], 'Ip' => ['description' => 'The IP address.', 'type' => 'string', 'title' => '', 'example' => 'xxx'], 'ZoneId' => ['type' => 'string', 'description' => 'The zone ID.', 'title' => '', 'example' => 'xxx'], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'xxx'], ], 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'List IPs Not Added to IP Pool', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:DedicatedIpNonePoolList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Ips\\": [\\n {\\n \\"Id\\": \\"xxx\\",\\n \\"Ip\\": \\"xxx\\",\\n \\"ZoneId\\": \\"xxx\\"\\n }\\n ],\\n \\"RequestId\\": \\"xxx\\"\\n}","type":"json"}]', ], 'DedicatedIpPoolCreate' => [ 'summary' => 'Creates a dedicated IP pool.', 'path' => '', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'Name', 'in' => 'query', 'schema' => ['description' => 'The name of the IP pool. The name must be 1 to 50 characters in length. It can contain letters, digits, underscores (\\_), and hyphens (-). The name cannot be changed after the IP pool is created.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'maxLength' => 50, 'minLength' => 1, 'title' => '', 'example' => 'xxx'], ], [ 'name' => 'BuyResourceIds', 'in' => 'query', 'schema' => ['description' => 'The IDs of the purchased IP instances. Separate multiple IDs with commas (,). You can obtain the instance IDs from the response of the DedicatedIpNonePoolList operation.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'xxx,xxx'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The response.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'xxx'], 'Id' => ['description' => 'The ID of the IP pool.', 'type' => 'string', 'title' => '', 'example' => 'xxx'], ], 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Create IP Pool', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:DedicatedIpPoolCreate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxx\\",\\n \\"Id\\": \\"xxx\\"\\n}","type":"json"}]', ], 'DedicatedIpPoolDelete' => [ 'path' => '', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'Id', 'in' => 'query', 'schema' => ['description' => 'The IP pool ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'xxx'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The response.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'xxx'], ], 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Delete IP Pool', 'summary' => 'Deletes a dedicated IP pool.', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:DedicatedIpPoolDelete', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxx\\"\\n}","type":"json"}]', ], 'DedicatedIpPoolList' => [ 'path' => '', 'methods' => ['get', 'post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', 'tenantRelevance' => 'publicInformation'], 'parameters' => [ [ 'name' => 'PageIndex', 'in' => 'query', 'schema' => ['description' => 'The page number to return, starting from 1.', 'type' => 'integer', 'format' => 'int32', 'docRequired' => true, 'default' => '1', 'required' => true, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'docRequired' => true, 'default' => '10', 'required' => true, 'example' => '10', 'title' => ''], ], [ 'name' => 'Keyword', 'in' => 'query', 'schema' => ['description' => 'The keyword to search for IP pools by name.', 'type' => 'string', 'required' => false, 'example' => 'xxx', 'title' => ''], ], [ 'name' => 'All', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to return all entries.', 'type' => 'boolean', 'default' => 'false', 'title' => '', 'required' => false, 'example' => 'false'], ], [ 'name' => 'PoolId', 'in' => 'query', 'schema' => ['type' => 'string', 'example' => '44fb3ec8-1f87-42e4-866d-e23dad9e7c9a', 'description' => '', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The response data.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The ID of the request.', 'type' => 'string', 'example' => 'xxx'], 'HasMore' => [ 'description' => 'Indicates whether more results are available.', 'enumValueTitles' => ['ture' => 'More results are available.', 'false' => 'All results have been returned.'], 'type' => 'boolean', 'example' => 'false', 'title' => '', ], 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'string', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries on the current page.', 'type' => 'string', 'example' => '10', 'title' => ''], 'TotalCounts' => ['description' => 'The total number of entries that match the query.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'IpPools' => [ 'description' => 'A list of IP pools.', 'type' => 'array', 'items' => [ 'description' => 'Details about an IP pool.', 'type' => 'object', 'properties' => [ 'Id' => ['description' => 'The ID of the IP pool.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'CreateTime' => ['description' => 'The time when the IP pool was created.', 'type' => 'string', 'example' => '2025-05-23T07:41:43Z', 'title' => ''], 'Name' => ['description' => 'The name of the IP pool.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'IpCount' => ['description' => 'The number of source IP addresses in the IP pool.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'Ips' => [ 'description' => 'A list of IP addresses.', 'type' => 'array', 'items' => [ 'description' => 'Details about an IP address.', 'type' => 'object', 'properties' => [ 'Id' => ['description' => 'The ID of the IP address instance.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'Ip' => ['description' => 'The IP address.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'ZoneId' => ['description' => 'The ID of the Availability Zone.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'List IP Pools', 'summary' => 'Lists IP pools.', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:DedicatedIpPoolList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxx\\",\\n \\"HasMore\\": false,\\n \\"CurrentPage\\": \\"1\\",\\n \\"PageSize\\": \\"10\\",\\n \\"TotalCounts\\": 5,\\n \\"IpPools\\": [\\n {\\n \\"Id\\": \\"xxx\\",\\n \\"CreateTime\\": \\"2025-05-23T07:41:43Z\\",\\n \\"Name\\": \\"xxx\\",\\n \\"IpCount\\": 1,\\n \\"Ips\\": [\\n {\\n \\"Id\\": \\"xxx\\",\\n \\"Ip\\": \\"xxx\\",\\n \\"ZoneId\\": \\"xxx\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', ], 'DedicatedIpPoolUpdate' => [ 'summary' => 'Updates an IP pool.', 'path' => '', 'methods' => ['post', 'get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'Id', 'in' => 'query', 'schema' => ['description' => 'The ID of the IP pool.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'xxx'], ], [ 'name' => 'BuyResourceIds', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'The IDs of the purchased IP instances. Separate multiple IDs with commas. Obtain these IDs from the response of the DedicatedIpNonePoolList operation.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'xxx,xxx'], ], [ 'name' => 'UpdateResource', 'in' => 'query', 'schema' => [ 'description' => 'Specifies whether to change the associated IP addresses. Set this parameter to true.', 'type' => 'boolean', 'required' => false, 'enumValueTitles' => ['true' => 'Yes', 'false' => 'No'], 'title' => '', 'example' => 'true', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'Response', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'xxx'], 'Id' => ['description' => 'The ID of the IP pool.', 'type' => 'string', 'title' => '', 'example' => 'xxx'], ], 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Update IP Pool', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'dm:DedicatedIpPoolUpdate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxx\\",\\n \\"Id\\": \\"xxx\\"\\n}","type":"json"}]', ], 'DeleteDomain' => [ 'summary' => 'Delete Domain', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'DomainId', 'in' => 'query', 'schema' => ['description' => 'Domain ID.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '326***', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => 'E3DFF97B-00CF-5333-8125-3D6819471984', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Delete Domain', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dm:DeleteDomain', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E3DFF97B-00CF-5333-8125-3D6819471984\\"\\n}","type":"json"}]', ], 'DeleteInvalidAddress' => [ 'summary' => 'Remove invalid addresses from the invalid address database', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [], 'parameters' => [ [ 'name' => 'ToAddress', 'in' => 'query', 'schema' => ['description' => 'Target address', 'type' => 'string', 'required' => false, 'example' => 'test1***@example.net'."\n", 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '2D086F6-xxxx-xxxx-xxxx-006DED011A85', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Delete Invalid Address', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => '', 'ramAction' => [ 'action' => 'dm:DeleteInvalidAddress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D086F6-xxxx-xxxx-xxxx-006DED011A85\\"\\n}","type":"json"}]', ], 'DeleteIpfilterByEdmId' => [ 'summary' => 'Delete IP Protection Information', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'FromType', 'in' => 'query', 'schema' => ['description' => 'Deprecated, kept for historical compatibility.', 'type' => 'integer', 'example' => 'Deprecated. Kept for backward compatibility.', 'format' => 'int32', 'required' => false, 'maximum' => '2', 'minimum' => '1', 'default' => '1', 'title' => ''], ], [ 'name' => 'Id', 'in' => 'query', 'schema' => ['description' => 'Record ID', 'type' => 'string', 'required' => false, 'example' => '10120', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => 'E3DFF97B-00CF-5333-8125-3D6819471984', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E3DFF97B-00CF-5333-8125-3D6819471984\\"\\n}","type":"json"}]', 'title' => 'Delete IP Whitelist', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dm:DeleteIpfilterByEdmId', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'manual', ], 'DeleteMailAddress' => [ 'summary' => 'Delete Mail Address', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'MailAddressId', 'in' => 'query', 'schema' => ['description' => 'Mail Address ID', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '23457', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '10A1AD70-E48E-476D-98D9-39BD92193837', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Delete Mail Address', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dm:DeleteMailAddress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"10A1AD70-E48E-476D-98D9-39BD92193837\\"\\n}","type":"json"}]', ], 'DeleteReceiver' => [ 'summary' => 'Delete Receiver List', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'ReceiverId', 'in' => 'query', 'schema' => ['description' => 'Receiver list ID', 'type' => 'string', 'required' => true, 'example' => '144adfa772cfe47631de7e86d7da13ae', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '10A1AD70-E48E-476D-98D9-39BD92193837', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Delete Receiver List', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dm:DeleteReceiver', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"10A1AD70-E48E-476D-98D9-39BD92193837\\"\\n}","type":"json"}]', ], 'DeleteReceiverDetail' => [ 'summary' => 'Delete a Single Recipient', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'ReceiverId', 'in' => 'query', 'schema' => ['description' => 'Recipient list ID', 'type' => 'string', 'required' => true, 'example' => '53228b7d80c36257927ecd029ccd3c9a', 'title' => ''], ], [ 'name' => 'Email', 'in' => 'query', 'schema' => ['description' => 'The single recipient to be deleted from the recipient list', 'type' => 'string', 'example' => 'Account+@+domain', 'required' => false, 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '10A1AD70-E48E-476D-98D9-39BD92193837', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"10A1AD70-E48E-476D-98D9-39BD92193837\\"\\n}","type":"json"}]', 'title' => 'Delete a Single Recipient', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dm:DeleteReceiverDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'manual', ], 'DeleteTag' => [ 'summary' => 'Delete Tag', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete'], 'parameters' => [ [ 'name' => 'TagId', 'in' => 'query', 'schema' => ['description' => 'The ID of the tag', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '123', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '10A1AD70-E48E-476D-98D9-39BD92193837', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Delete Tag', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dm:DeleteTag', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"10A1AD70-E48E-476D-98D9-39BD92193837\\"\\n}","type":"json"}]', ], 'DeleteTemplate' => [ 'summary' => 'Queries template information.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [], 'parameters' => [ [ 'name' => 'TemplateId', 'in' => 'query', 'schema' => ['description' => 'The template ID.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '409481', 'title' => ''], ], [ 'name' => 'FromType', 'in' => 'query', 'schema' => [ 'description' => 'The channel through which the user accesses the service. Default value: 1.', 'enumValueTitles' => [1 => 'Alibaba Cloud console or OpenAPI direct access.', 'partner or carrier channel access.'], 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '2', 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The unique request identity, automatically generated by the gateway for troubleshooting and Tracing Analysis.', 'type' => 'string', 'example' => 'BC57D49C-8005-5317-B2F3-D383276D0041', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Delete template', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BC57D49C-8005-5317-B2F3-D383276D0041\\"\\n}","type":"json"}]', ], 'DeleteValidateFile' => [ 'path' => '', 'methods' => ['post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'FileId', 'in' => 'query', 'schema' => ['description' => 'The ID of the file that is returned after the task is submitted.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'xxxx-xxxx-xxxx-xxxx'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'yyyy-yyyy-yyyy-yyyy'], ], 'title' => '', 'description' => 'Schema of Response', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'DeleteValidateFile', 'summary' => 'Deletes the verification file after the verification process is complete.', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dm:DeleteValidateFile', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"yyyy-yyyy-yyyy-yyyy\\"\\n}","type":"json"}]', ], 'DescAccountSummary' => [ 'summary' => 'Retrieves account information.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'EnableTimes' => ['description' => 'The effective period.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'SmsSign' => ['description' => 'This parameter is deprecated. It is retained for compatibility.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'MonthQuota' => ['description' => 'The monthly quota.', 'type' => 'integer', 'format' => 'int32', 'example' => '60000', 'title' => ''], 'Receivers' => ['description' => 'The number of recipients.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'DayuStatus' => ['description' => 'The status of Dayu. This parameter is deprecated and retained for compatibility.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'DailyQuota' => ['description' => 'The daily quota.', 'type' => 'integer', 'format' => 'int32', 'example' => '2000', 'title' => ''], 'SmsRecord' => ['description' => 'This parameter is deprecated. It is retained for compatibility.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'Tags' => ['description' => 'The number of tags.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'Templates' => ['description' => 'The number of templates.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'MailAddresses' => ['description' => 'The number of sender addresses.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '82B295BB-7E69-491F-9896-ECEAFF09E1A4', 'title' => ''], 'QuotaLevel' => ['description' => 'The reputation level.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'MaxQuotaLevel' => ['description' => 'The maximum reputation level.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Domains' => ['description' => 'The number of domain names.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'UserStatus' => ['description' => 'The status of the user. Valid values: 0: Normal. 1: Freeze. 2: Overdue payment. 4: Outbound messages are restricted. 8: The user is logically deleted.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'SmsTemplates' => ['description' => 'This parameter is deprecated. It is retained for compatibility.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'RemainFreeQuota' => ['description' => 'The remaining free quota.', 'type' => 'integer', 'format' => 'int32', 'example' => '1910', 'title' => ''], 'DailyRemainFreeQuota' => ['description' => 'The remaining daily free quota.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'IpChannelType' => [ 'description' => 'The type of the outbound IP channel.'."\n" ."\n" .'1. backup: A backup IP channel that is not actively maintained. Customers using this channel are advised to purchase a dedicated IP for better stability.'."\n" ."\n" .'2. normal: A normal IP channel that is continuously maintained by the email delivery team to ensure stable and reliable service.', 'type' => 'string', 'enum' => ['backup', 'normal'], 'example' => 'normal', 'title' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 403 => [ ['errorCode' => 'User.Blacklisted', 'errorMessage' => 'The specified user is in the blacklist.', 'description' => ''], ['errorCode' => 'User.RegisterTooMuch', 'errorMessage' => 'The specified user has registered more than one DirectMail account.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'title' => 'Get Account Information', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:DescAccountSummary', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EnableTimes\\": 0,\\n \\"SmsSign\\": 0,\\n \\"MonthQuota\\": 60000,\\n \\"Receivers\\": 0,\\n \\"DayuStatus\\": 0,\\n \\"DailyQuota\\": 2000,\\n \\"SmsRecord\\": 0,\\n \\"Tags\\": 0,\\n \\"Templates\\": 1,\\n \\"MailAddresses\\": 0,\\n \\"RequestId\\": \\"82B295BB-7E69-491F-9896-ECEAFF09E1A4\\",\\n \\"QuotaLevel\\": 2,\\n \\"MaxQuotaLevel\\": 10,\\n \\"Domains\\": 1,\\n \\"UserStatus\\": 0,\\n \\"SmsTemplates\\": 0,\\n \\"RemainFreeQuota\\": 1910,\\n \\"DailyRemainFreeQuota\\": 100,\\n \\"IpChannelType\\": \\"normal\\"\\n}","type":"json"}]', ], 'DescDomain' => [ 'summary' => 'Configure the domain name.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'DomainId', 'in' => 'query', 'schema' => ['description' => 'The domain ID. Call `QueryDomainByParam` to obtain it.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '13464', 'title' => ''], ], [ 'name' => 'RequireRealTimeDnsRecords', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to perform real-time DNS resolution.', 'type' => 'boolean', 'default' => 'true', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'SpfRecord' => ['description' => 'The SPF record value from the Direct Mail console.', 'type' => 'string', 'example' => 'include:spf1.dm.aliyun.com', 'title' => ''], 'CnameConfirmStatus' => ['description' => 'Indicates if the CNAME host record has been modified. A value of `1` indicates a change, including reverting to the original value. A value of `0` indicates no change.', 'type' => 'string', 'example' => '0', 'title' => ''], 'DefaultDomain' => ['description' => 'Indicates if this is the default domain name.'."\n" ."\n" .'This parameter is deprecated and always returns `0` (No).', 'type' => 'string', 'example' => '0', 'title' => ''], 'CreateTime' => ['description' => 'The time the domain name was created.', 'type' => 'string', 'example' => '2025-03-19T12:49Z', 'title' => ''], 'CnameRecord' => ['description' => 'The CNAME host record.', 'type' => 'string', 'example' => 'dmtrace', 'title' => ''], 'CnameAuthStatus' => ['description' => 'The CNAME verification status. Valid values: `0` (Success), `1` (Failure).', 'type' => 'string', 'example' => '1', 'title' => ''], 'IcpStatus' => ['description' => 'The ICP filing status. **1** indicates the filing is complete. **0** indicates no filing is found.', 'type' => 'string', 'example' => '1', 'title' => ''], 'DnsTxt' => ['description' => 'The ownership record value resolved from public DNS.', 'type' => 'string', 'example' => '0c40d5f125af4e42892a', 'title' => ''], 'DomainName' => ['description' => 'The domain name.', 'type' => 'string', 'example' => 'test.example.net', 'title' => ''], 'DomainId' => ['description' => 'The domain ID.', 'type' => 'string', 'example' => '158910', 'title' => ''], 'DnsSpf' => ['description' => 'The SPF record value resolved from public DNS.', 'type' => 'string', 'example' => 'v=xxxx', 'title' => ''], 'SpfAuthStatus' => ['description' => 'The SPF verification status. Valid values: `0` (Success), `1` (Failure).', 'type' => 'string', 'example' => '1', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '51B74264-46B4-43C8-A9A0-6B8E8BC04F34', 'title' => ''], 'MxRecord' => ['description' => 'The MX record value from the Direct Mail console.', 'type' => 'string', 'example' => 'mx01.dm.aliyun.com', 'title' => ''], 'MxAuthStatus' => ['description' => 'The MX verification status. Valid values: `0` (Success), `1` (Failure).', 'type' => 'string', 'example' => '1', 'title' => ''], 'DnsMx' => ['description' => 'The MX record value resolved from public DNS.', 'type' => 'string', 'example' => 'mx01.dm.aliyun.com', 'title' => ''], 'DomainStatus' => ['description' => 'The verification status of the domain name. Valid values:'."\n" ."\n" .'- **0**: Available. The domain name is verified.'."\n" ."\n" .'- **1**: Unavailable. The domain name failed verification.', 'type' => 'string', 'example' => '1', 'title' => ''], 'TlDomainName' => ['description' => 'The root domain.', 'type' => 'string', 'example' => 'example.com', 'title' => ''], 'TracefRecord' => ['description' => 'The CNAME record value from the Direct Mail console.', 'type' => 'string', 'example' => 'tracedm.aliyuncs.com', 'title' => ''], 'DomainType' => ['description' => 'The required value for the domain ownership verification record, from the Direct Mail console.', 'type' => 'string', 'example' => '0c40d5f125af4e42892a', 'title' => ''], 'SpfRecordV2' => ['description' => 'The complete SPF record. This parameter replaces `SpfRecord`. You can directly use the value of `SpfRecordV2` without constructing it from the value of `SpfRecord`.', 'type' => 'string', 'example' => 'v=spf1 include:spf1.dm.aliyun.com -all', 'title' => ''], 'DkimRR' => ['description' => 'The DKIM host record.', 'type' => 'string', 'example' => 'aliyun-cn-hangzhou._domainkey.hangzhou26', 'title' => ''], 'DkimPublicKey' => ['description' => 'The public key for the DKIM record.', 'type' => 'string', 'example' => 'v=DKIM1; k=rsa; p=MIGfMA0GCSqGSI...', 'title' => ''], 'DkimAuthStatus' => ['description' => 'The DKIM verification status. Valid values: `0` (Verified), `1` (Not verified).', 'type' => 'string', 'example' => '0', 'title' => ''], 'HostRecord' => ['description' => 'The host record for domain ownership verification.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'DmarcRecord' => ['description' => 'The DMARC record value.', 'type' => 'string', 'example' => 'v=DMARC1;p=none;rua=mailto:dmarc_report@service.aliyun.com', 'title' => ''], 'DnsDmarc' => ['description' => 'The DMARC record value resolved from public DNS.', 'type' => 'string', 'example' => 'v=DMARC1;p=none;rua=mailto:dmarc_report@service.aliyun.com', 'title' => ''], 'DmarcAuthStatus' => ['description' => 'The DMARC verification status. Valid values: `0` (Verified), `1` (Not verified).', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'DmarcHostRecord' => ['description' => 'The DMARC host record.', 'type' => 'string', 'example' => '_dmarc.xxx', 'title' => ''], 'DkimRsaLength' => ['description' => 'The length of the DKIM RSA key, such as `1024` or `2048`.', 'type' => 'integer', 'format' => 'int32', 'example' => '1024', 'title' => ''], 'DomainVersion' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'title' => '', 'example' => ''], ], 'description' => 'The response parameters.', 'title' => '', 'example' => '', ], ], ], 'title' => 'Configure Domain', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:DescDomain', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SpfRecord\\": \\"include:spf1.dm.aliyun.com\\",\\n \\"CnameConfirmStatus\\": \\"0\\",\\n \\"DefaultDomain\\": \\"0\\",\\n \\"CreateTime\\": \\"2025-03-19T12:49Z\\",\\n \\"CnameRecord\\": \\"dmtrace\\",\\n \\"CnameAuthStatus\\": \\"1\\",\\n \\"IcpStatus\\": \\"1\\",\\n \\"DnsTxt\\": \\"0c40d5f125af4e42892a\\",\\n \\"DomainName\\": \\"test.example.net\\",\\n \\"DomainId\\": \\"158910\\",\\n \\"DnsSpf\\": \\"v=xxxx\\",\\n \\"SpfAuthStatus\\": \\"1\\",\\n \\"RequestId\\": \\"51B74264-46B4-43C8-A9A0-6B8E8BC04F34\\",\\n \\"MxRecord\\": \\"mx01.dm.aliyun.com\\",\\n \\"MxAuthStatus\\": \\"1\\",\\n \\"DnsMx\\": \\"mx01.dm.aliyun.com\\",\\n \\"DomainStatus\\": \\"1\\",\\n \\"TlDomainName\\": \\"example.com\\",\\n \\"TracefRecord\\": \\"tracedm.aliyuncs.com\\",\\n \\"DomainType\\": \\"0c40d5f125af4e42892a\\",\\n \\"SpfRecordV2\\": \\"v=spf1 include:spf1.dm.aliyun.com -all\\",\\n \\"DkimRR\\": \\"aliyun-cn-hangzhou._domainkey.hangzhou26\\",\\n \\"DkimPublicKey\\": \\"v=DKIM1; k=rsa; p=MIGfMA0GCSqGSI...\\",\\n \\"DkimAuthStatus\\": \\"0\\",\\n \\"HostRecord\\": \\"xxx\\",\\n \\"DmarcRecord\\": \\"v=DMARC1;p=none;rua=mailto:dmarc_report@service.aliyun.com\\",\\n \\"DnsDmarc\\": \\"v=DMARC1;p=none;rua=mailto:dmarc_report@service.aliyun.com\\",\\n \\"DmarcAuthStatus\\": 1,\\n \\"DmarcHostRecord\\": \\"_dmarc.xxx\\",\\n \\"DkimRsaLength\\": 1024,\\n \\"DomainVersion\\": 0\\n}","type":"json"}]', ], 'DescTemplate' => [ 'summary' => 'Queries template information.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'TemplateId', 'in' => 'query', 'schema' => ['description' => 'The template ID.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '3xxxx2', 'title' => ''], ], [ 'name' => 'FromType', 'in' => 'query', 'schema' => ['description' => 'Deprecated. Retained for backward compatibility.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '2', 'minimum' => '1', 'default' => '1', 'example' => 'Abandoned, historical reasons for compatibility', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'SmsContent' => ['description' => 'Deprecated. Retained for backward compatibility.', 'type' => 'string', 'example' => 'Abandoned, historical reasons for compatibility', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '95xxx5F', 'title' => ''], 'Remark' => ['description' => 'Deprecated. Retained for backward compatibility.', 'type' => 'string', 'example' => 'Abandoned, historical reasons for compatibility', 'title' => ''], 'SmsType' => ['description' => 'Deprecated. Retained for backward compatibility.', 'type' => 'string', 'example' => 'Abandoned, historical reasons for compatibility', 'title' => ''], 'CreateTime' => ['description' => 'The time when the template was created.', 'type' => 'string', 'example' => '2025-11-14T13:28Z', 'title' => ''], 'TemplateSubject' => ['description' => 'The template subject, which is used to compose the email subject.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'TemplateStatus' => ['description' => 'The template status. Valid values:'."\n" .'- 0: draft.'."\n" .'- 1: pending review.'."\n" .'- 2: approved.'."\n" .'- 3: rejected.', 'type' => 'string', 'example' => '2', 'title' => ''], 'TemplateNickName' => ['description' => 'Deprecated. Retained for backward compatibility.', 'type' => 'string', 'example' => 'Abandoned, historical reasons for compatibility', 'title' => ''], 'TemplateType' => ['description' => 'Deprecated. Retained for backward compatibility.', 'type' => 'string', 'example' => 'Abandoned, historical reasons for compatibility', 'title' => ''], 'TemplateName' => ['description' => 'The template name.', 'type' => 'string', 'example' => 'test1', 'title' => ''], 'TemplateText' => ['description' => 'The template content.', 'type' => 'string', 'example' => '

1

', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'View template information', 'description' => 'Queries template information.', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:DescTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SmsContent\\": \\"Abandoned, historical reasons for compatibility\\",\\n \\"RequestId\\": \\"95xxx5F\\",\\n \\"Remark\\": \\"Abandoned, historical reasons for compatibility\\",\\n \\"SmsType\\": \\"Abandoned, historical reasons for compatibility\\",\\n \\"CreateTime\\": \\"2025-11-14T13:28Z\\",\\n \\"TemplateSubject\\": \\"test\\",\\n \\"TemplateStatus\\": \\"2\\",\\n \\"TemplateNickName\\": \\"Abandoned, historical reasons for compatibility\\",\\n \\"TemplateType\\": \\"Abandoned, historical reasons for compatibility\\",\\n \\"TemplateName\\": \\"test1\\",\\n \\"TemplateText\\": \\"

1

\\"\\n}","type":"json"}]', ], 'GetIpProtection' => [ 'summary' => 'Get IP Protection Information', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'Detailed Record', 'type' => 'object', 'properties' => [ 'IpProtection' => ['description' => 'IP protection switch, On: 1 Off: 0', 'type' => 'string', 'example' => '0', 'title' => ''], 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => 'B30E5A62-2E64-577D-A70E-8C6781D6C975', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"IpProtection\\": \\"0\\",\\n \\"RequestId\\": \\"B30E5A62-2E64-577D-A70E-8C6781D6C975\\"\\n}","type":"json"}]', 'title' => 'Check if IP Protection is Enabled', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:GetIpProtection', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetIpfilterList' => [ 'summary' => 'Retrieve IP Protection Information', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'Number of items per page', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '84DD77C7-A091-5139-9530-2D1F7CCE59E0', 'title' => ''], 'PageNumber' => ['description' => 'Current page number', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'Total count', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'ipfilters' => [ 'description' => 'Data records', 'type' => 'array', 'items' => [ 'description' => 'Detailed record', 'type' => 'object', 'properties' => [ 'IpAddress' => ['description' => 'IP address/IP range/IP segment', 'type' => 'string', 'example' => 'Single IP: xxx.xxx.xxx.xxx'."\n" .'IP range: xxx.xxx.xxx.xxx-xxx.xxx.xxx.xxx'."\n" .'CIDR: xxx.xxx.xxx.xxx/xxx', 'title' => ''], 'Id' => ['description' => 'Record ID', 'type' => 'string', 'example' => '10083', 'title' => ''], 'CreateTime' => ['description' => 'timestamp', 'type' => 'string', 'example' => '1653547140', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"84DD77C7-A091-5139-9530-2D1F7CCE59E0\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"data\\": {\\n \\"ipfilters\\": [\\n {\\n \\"IpAddress\\": \\"Single IP: xxx.xxx.xxx.xxx\\\\nIP range: xxx.xxx.xxx.xxx-xxx.xxx.xxx.xxx\\\\nCIDR: xxx.xxx.xxx.xxx/xxx\\",\\n \\"Id\\": \\"10083\\",\\n \\"CreateTime\\": \\"1653547140\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Get IP Filter List', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:GetIpfilterList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'manual', ], 'GetTrackList' => [ 'summary' => 'Email Tracking retrieves data on sent emails.', 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The start date of the query. The date must be within the last 30 days. The format is `yyyy-MM-dd`.', 'type' => 'string', 'required' => true, 'example' => '2019-09-29', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end date of the query. The duration between the StartTime and EndTime cannot exceed 7 days. The format is `yyyy-MM-dd`.', 'type' => 'string', 'required' => true, 'example' => '2019-09-29', 'title' => ''], ], [ 'name' => 'Total', 'in' => 'query', 'schema' => ['description' => '(This field is deprecated)', 'type' => 'string', 'example' => '(This field is deprecated.)', 'required' => false, 'title' => ''], ], [ 'name' => 'Offset', 'in' => 'query', 'schema' => ['description' => 'Set this to 0 for the first query. For subsequent queries, set it to 1 to perform a paged query in chronological order. (This field is deprecated)', 'type' => 'string', 'example' => '(This field is deprecated.)', 'required' => false, 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries to return on each page.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'OffsetCreateTime', 'in' => 'query', 'schema' => ['description' => 'Used for pagination. Do not set this parameter for the first query. For subsequent queries, set this parameter to the `OffsetCreateTime` value returned in the previous response. (This field is deprecated)', 'type' => 'string', 'example' => '(This field is deprecated.)', 'required' => false, 'title' => ''], ], [ 'name' => 'OffsetCreateTimeDesc', 'in' => 'query', 'schema' => ['description' => '(This field is deprecated)', 'type' => 'string', 'example' => '(This field is deprecated.)', 'required' => false, 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The page number to return.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'AccountName', 'in' => 'query', 'schema' => ['description' => 'The sender address.'."\n" ."\n" .'> If you omit this parameter, the query returns data for all sender addresses. This parameter is required if you specify the `TagName` parameter.', 'type' => 'string', 'required' => false, 'example' => 'test@example.com', 'title' => ''], ], [ 'name' => 'TagName', 'in' => 'query', 'schema' => ['description' => 'The tag name.', 'type' => 'string', 'required' => false, 'example' => 'tagname', 'title' => ''], ], [ 'name' => 'DedicatedIpPoolId', 'in' => 'query', 'schema' => ['description' => 'The ID of the dedicated IP pool to query.'."\n" ."\n" .'If this parameter is omitted, data for all IP pools is returned.', 'type' => 'string', 'required' => false, 'example' => 'xxx', 'title' => ''], ], [ 'name' => 'DedicatedIp', 'in' => 'query', 'schema' => ['description' => 'The dedicated IP address to query.'."\n" ."\n" .'If this parameter is omitted, data for all dedicated IPs is returned.', 'type' => 'string', 'required' => false, 'example' => 'xxx.xxx.xxx.xxx', 'title' => ''], ], [ 'name' => 'Esp', 'in' => 'query', 'schema' => ['description' => 'The Email Service Provider (ESP) to query. Valid values are:'."\n" ."\n" .'- gmail.com'."\n" ."\n" .'- yahoo.com'."\n" ."\n" .'- outlook.com'."\n" ."\n" .'- icloud.com'."\n" ."\n" .'- Others: Any ESP not listed above.'."\n" ."\n" .'If you omit this parameter, the query returns data for all ESPs.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'gmail.com'], ], [ 'name' => 'ConfigSetId', 'in' => 'query', 'schema' => ['description' => 'The ID of the configuration set.', 'type' => 'string', 'required' => false, 'example' => 'xxx', 'title' => ''], ], [ 'name' => 'Domain', 'in' => 'query', 'schema' => ['type' => 'string', 'example' => 'dmdomain.com', 'description' => '', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'OffsetCreateTimeDesc' => ['description' => '(This field is deprecated.)', 'type' => 'string', 'example' => '(This field is deprecated.)', 'title' => ''], 'OffsetCreateTime' => ['description' => 'Used for pagination. Do not set this parameter for the first request. For subsequent requests, set this parameter to the OffsetCreateTime value from the previous response. (This field is deprecated.)', 'type' => 'string', 'example' => '(This field is deprecated.)', 'title' => ''], 'RequestId' => ['description' => 'The unique identifier for the request.', 'type' => 'string', 'example' => '10A1AD70-E48E-476D-98D9-39BD92193837', 'title' => ''], 'PageNo' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Total' => ['description' => 'The total number of matching records.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'TotalPages' => ['description' => 'The total number of pages.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'data' => [ 'itemNode' => true, 'type' => 'object', 'properties' => [ 'stat' => [ 'description' => 'A list of tracking data records.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'RcptClickRate' => ['description' => 'The click-through rate.', 'type' => 'string', 'example' => '0', 'title' => ''], 'RcptUniqueOpenCount' => ['description' => 'The number of unique opens.', 'type' => 'string', 'example' => '0', 'title' => ''], 'RcptClickCount' => ['description' => 'The number of clicks.', 'type' => 'string', 'example' => '0', 'title' => ''], 'RcptUniqueClickCount' => ['description' => 'The number of unique clicks.', 'type' => 'string', 'example' => '0', 'title' => ''], 'CreateTime' => ['description' => 'The time the record was created.', 'type' => 'string', 'example' => '2019-09-29T13:28Z', 'title' => ''], 'RcptUniqueOpenRate' => ['description' => 'The unique open rate.', 'type' => 'string', 'example' => '0', 'title' => ''], 'RcptUniqueClickRate' => ['description' => 'The unique click-through rate.', 'type' => 'string', 'example' => '0', 'title' => ''], 'TotalNumber' => ['description' => 'The total number of emails sent.', 'type' => 'string', 'example' => '0', 'title' => ''], 'RcptOpenRate' => ['description' => 'The open rate.', 'type' => 'string', 'example' => '0', 'title' => ''], 'RcptOpenCount' => ['description' => 'The number of opens.', 'type' => 'string', 'example' => '0', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"OffsetCreateTimeDesc\\": \\"(This field is deprecated.)\\",\\n \\"OffsetCreateTime\\": \\"(This field is deprecated.)\\",\\n \\"RequestId\\": \\"10A1AD70-E48E-476D-98D9-39BD92193837\\",\\n \\"PageNo\\": 1,\\n \\"PageSize\\": 10,\\n \\"Total\\": 100,\\n \\"TotalPages\\": 2,\\n \\"data\\": {\\n \\"stat\\": [\\n {\\n \\"RcptClickRate\\": \\"0\\",\\n \\"RcptUniqueOpenCount\\": \\"0\\",\\n \\"RcptClickCount\\": \\"0\\",\\n \\"RcptUniqueClickCount\\": \\"0\\",\\n \\"CreateTime\\": \\"2019-09-29T13:28Z\\",\\n \\"RcptUniqueOpenRate\\": \\"0\\",\\n \\"RcptUniqueClickRate\\": \\"0\\",\\n \\"TotalNumber\\": \\"0\\",\\n \\"RcptOpenRate\\": \\"0\\",\\n \\"RcptOpenCount\\": \\"0\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Retrieve sent email tracking data', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'dm:GetTrackList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'manual', ], 'GetTrackListByMailFromAndTagName' => [ 'summary' => 'Retrieves email tracking data that meets specified conditions.', 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'Total', 'in' => 'query', 'schema' => ['description' => '(This field is deprecated)', 'type' => 'string', 'example' => '(This field is deprecated.)', 'required' => false, 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The start time. The time cannot be earlier than 30 days ago. The format is yyyy-MM-dd.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2019-09-29', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end time. The time span between the start time and end time cannot exceed 15 days. The format is yyyy-MM-dd.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '2019-09-29', 'title' => ''], ], [ 'name' => 'Offset', 'in' => 'query', 'schema' => ['description' => 'The value is 0 for the first query and 1 for subsequent queries. A value of 1 indicates a paged query in chronological order. (This field is deprecated)', 'type' => 'string', 'example' => '(This field is deprecated.)', 'required' => false, 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'OffsetCreateTime', 'in' => 'query', 'schema' => ['description' => 'Used for paging. Do not set this parameter for the first query. For subsequent queries, set this parameter to the OffsetCreateTime value from the previous response. (This field is deprecated)', 'type' => 'string', 'example' => '(This field is deprecated.)', 'required' => false, 'title' => ''], ], [ 'name' => 'OffsetCreateTimeDesc', 'in' => 'query', 'schema' => ['description' => '(This field is deprecated)', 'type' => 'string', 'example' => '(This field is deprecated.)', 'required' => false, 'title' => ''], ], [ 'name' => 'PageNumber', 'in' => 'query', 'schema' => ['description' => 'The current page number.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'AccountName', 'in' => 'query', 'schema' => ['description' => 'The sender address.'."\n" ."\n" .'> If you leave this parameter empty, data for all addresses is returned. This parameter is required if you specify TagName.', 'type' => 'string', 'required' => false, 'example' => 'e-service@amegroups.cn', 'title' => ''], ], [ 'name' => 'TagName', 'in' => 'query', 'schema' => ['description' => 'The email tag. If you leave this parameter empty, data for all tags is returned.', 'type' => 'string', 'required' => false, 'example' => 'Subscription', 'title' => ''], ], [ 'name' => 'DedicatedIpPoolId', 'in' => 'query', 'schema' => ['description' => 'The ID of the dedicated IP pool. This parameter is available only for users of dedicated IPs.'."\n" ."\n" .'If you do not specify this parameter, data for all IP pools is returned.', 'type' => 'string', 'required' => false, 'example' => 'xxx', 'title' => ''], ], [ 'name' => 'DedicatedIp', 'in' => 'query', 'schema' => ['description' => 'The dedicated IP address. This parameter is available only for users of dedicated IPs.'."\n" ."\n" .'If you do not specify this parameter, data for all IPs is returned.', 'type' => 'string', 'required' => false, 'example' => 'xxx.xxx.xxx.xxx', 'title' => ''], ], [ 'name' => 'Esp', 'in' => 'query', 'schema' => ['description' => 'The Email Service Provider (ESP). This parameter is available only for users of dedicated IPs. Valid values:'."\n" ."\n" .'- gmail.com'."\n" ."\n" .'- yahoo.com'."\n" ."\n" .'- outlook.com'."\n" ."\n" .'- icloud.com'."\n" ."\n" .'- others (data for ESPs other than the ones listed above)'."\n" ."\n" .'If you do not specify this parameter, data for all ESPs is returned.', 'type' => 'string', 'required' => false, 'example' => 'gmail.com', 'title' => ''], ], [ 'name' => 'ConfigSetId', 'in' => 'query', 'schema' => ['description' => 'The configuration set ID.', 'type' => 'string', 'required' => false, 'example' => 'xxx', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '10A1AD70-E48E-476D-98D9-39BD92193837', 'title' => ''], 'OffsetCreateTime' => ['description' => 'Used for paging. Do not set this parameter for the first query. For subsequent queries, set this parameter to the OffsetCreateTime value from the previous response. (This field is deprecated)', 'type' => 'string', 'example' => '(This field is deprecated.)', 'title' => ''], 'PageNo' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'Total' => ['description' => '(This field is deprecated)', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], 'OffsetCreateTimeDesc' => ['description' => '(This field is deprecated)', 'type' => 'string', 'example' => '(This field is deprecated.)', 'title' => ''], 'TrackList' => [ 'itemNode' => true, 'type' => 'object', 'properties' => [ 'Stat' => [ 'description' => 'The tracking data records.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'RcptClickRate' => ['description' => 'The click-through rate.', 'type' => 'string', 'example' => '0', 'title' => ''], 'RcptUniqueOpenCount' => ['description' => 'The number of unique opens.', 'type' => 'string', 'example' => '0', 'title' => ''], 'RcptClickCount' => ['description' => 'The number of clicks.', 'type' => 'string', 'example' => '0', 'title' => ''], 'RcptUniqueClickCount' => ['description' => 'The number of unique clicks.', 'type' => 'string', 'example' => '0', 'title' => ''], 'CreateTime' => ['description' => 'The time when the record was created.', 'type' => 'string', 'example' => '2025-01-11T10:11Z', 'title' => ''], 'RcptUniqueOpenRate' => ['description' => 'The unique open rate.', 'type' => 'string', 'example' => '0', 'title' => ''], 'RcptUniqueClickRate' => ['description' => 'The unique click-through rate.', 'type' => 'string', 'example' => '0', 'title' => ''], 'TotalNumber' => ['description' => 'The total number.', 'type' => 'string', 'example' => '0', 'title' => ''], 'RcptOpenRate' => ['description' => 'The open rate.', 'type' => 'string', 'example' => '0', 'title' => ''], 'RcptOpenCount' => ['description' => 'The number of opens.', 'type' => 'string', 'example' => '0', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], 'TotalPages' => ['description' => 'The total number of pages.', 'type' => 'string', 'example' => '2', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"10A1AD70-E48E-476D-98D9-39BD92193837\\",\\n \\"OffsetCreateTime\\": \\"(This field is deprecated.)\\",\\n \\"PageNo\\": 1,\\n \\"PageSize\\": 20,\\n \\"Total\\": 4,\\n \\"OffsetCreateTimeDesc\\": \\"(This field is deprecated.)\\",\\n \\"TrackList\\": {\\n \\"Stat\\": [\\n {\\n \\"RcptClickRate\\": \\"0\\",\\n \\"RcptUniqueOpenCount\\": \\"0\\",\\n \\"RcptClickCount\\": \\"0\\",\\n \\"RcptUniqueClickCount\\": \\"0\\",\\n \\"CreateTime\\": \\"2025-01-11T10:11Z\\",\\n \\"RcptUniqueOpenRate\\": \\"0\\",\\n \\"RcptUniqueClickRate\\": \\"0\\",\\n \\"TotalNumber\\": \\"0\\",\\n \\"RcptOpenRate\\": \\"0\\",\\n \\"RcptOpenCount\\": \\"0\\"\\n }\\n ]\\n },\\n \\"TotalPages\\": \\"2\\"\\n}","type":"json"}]', 'title' => 'Retrieve email tracking sending data by sender address and label', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'dm:GetTrackListByMailFromAndTagName', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'manual', ], 'GetUser' => [ 'summary' => 'Get Account Details', 'methods' => ['get'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'none'], 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '10A1AD70-E48E-476D-98D9-39BD92193837', 'title' => ''], 'Data' => [ 'description' => 'Returned Content', 'type' => 'object', 'properties' => [ 'EnableEventbridge' => ['description' => 'Whether EventBridge is enabled', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'title' => '', 'example' => '', ], ], 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"10A1AD70-E48E-476D-98D9-39BD92193837\\",\\n \\"Data\\": {\\n \\"EnableEventbridge\\": true\\n }\\n}","type":"json"}]', 'title' => 'Get User Information', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:GetUser', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'GetValidateFile' => [ 'summary' => 'Retrieves the results file of a batch validation task.', 'path' => '', 'methods' => ['get', 'post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'FileId', 'in' => 'query', 'schema' => ['description' => 'The file ID returned after the task is submitted.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'xxxx-xxxx-xxxx-xxxx'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'yyyy-yyyy-yyyy-yyyy'], 'FileUrl' => ['description' => 'The download URL of the result file.', 'type' => 'string', 'title' => '', 'example' => 'https://xxxxxx/yyy'], ], 'title' => '', 'description' => 'Schema of Response', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'GetValidateFile', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:GetValidateFile', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"yyyy-yyyy-yyyy-yyyy\\",\\n \\"FileUrl\\": \\"https://xxxxxx/yyy\\"\\n}","type":"json"}]', ], 'GetValidateFileStatus' => [ 'summary' => 'Retrieves the status of a file validation task.', 'path' => '', 'methods' => ['get', 'post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'FileId', 'in' => 'query', 'schema' => ['description' => 'The file ID returned after you submit the file for validation.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'xxxx-xxxx-xxxx-xxxx'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'yyyy-yyyy-yyyy-yyyy'], 'FileName' => ['description' => 'The file name.', 'type' => 'string', 'title' => '', 'example' => 'file.txt'], 'UploadTime' => ['description' => 'The upload time.', 'type' => 'string', 'title' => '', 'example' => '2000-01-01T00:00:00Z'], 'Status' => [ 'description' => 'The task status.', 'enumValueTitles' => ['deleted' => 'The task was deleted.', 'processing' => 'The task is processing.', 'completed' => 'The task is complete.'], 'type' => 'string', 'title' => '', 'example' => 'completed', ], 'Percentage' => ['description' => 'The task completion percentage.', 'type' => 'string', 'title' => '', 'example' => '100%'], 'CompleteTime' => ['description' => 'The task completion time.', 'type' => 'string', 'title' => '', 'example' => '2000-01-01T00:00:00Z'], 'TotalNum' => ['description' => 'The total number of addresses in the file.', 'type' => 'string', 'title' => '', 'example' => '10'], 'ProcessedNum' => ['description' => 'The number of processed addresses.', 'type' => 'string', 'title' => '', 'example' => '10'], 'ValidNum' => ['description' => 'The number of valid addresses.', 'type' => 'string', 'title' => '', 'example' => '4'], 'InvalidNum' => ['description' => 'The number of invalid addresses.', 'type' => 'string', 'title' => '', 'example' => '2'], 'CatchAllNum' => ['description' => 'The number of catch-all addresses.', 'type' => 'string', 'title' => '', 'example' => '2'], 'DoNotMailNum' => ['description' => 'The number of do-not-mail addresses.', 'type' => 'string', 'title' => '', 'example' => '1'], 'UnknownNum' => ['description' => 'The number of unknown addresses.', 'type' => 'string', 'title' => '', 'example' => '1'], 'FileId' => ['description' => 'The file ID.', 'type' => 'string', 'title' => '', 'example' => 'xxxx-xxxx-xxxx-xxxx'], ], 'title' => '', 'description' => 'The response object.', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'GetValidateFileStatus', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:GetValidateFileStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"yyyy-yyyy-yyyy-yyyy\\",\\n \\"FileName\\": \\"file.txt\\",\\n \\"UploadTime\\": \\"2000-01-01T00:00:00Z\\",\\n \\"Status\\": \\"completed\\",\\n \\"Percentage\\": \\"100%\\",\\n \\"CompleteTime\\": \\"2000-01-01T00:00:00Z\\",\\n \\"TotalNum\\": \\"10\\",\\n \\"ProcessedNum\\": \\"10\\",\\n \\"ValidNum\\": \\"4\\",\\n \\"InvalidNum\\": \\"2\\",\\n \\"CatchAllNum\\": \\"2\\",\\n \\"DoNotMailNum\\": \\"1\\",\\n \\"UnknownNum\\": \\"1\\",\\n \\"FileId\\": \\"xxxx-xxxx-xxxx-xxxx\\"\\n}","type":"json"}]', ], 'GetValidationQuota' => [ 'path' => '', 'methods' => ['get', 'post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'xxxx-xxxx-xxxx-xxxx'], 'UsedQuota' => ['description' => 'The used quota.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], 'TotalQuota' => ['description' => 'The total available quota.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '10'], ], 'title' => '', 'description' => 'Schema of Response', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'GetValidationQuota', 'summary' => 'Retrieves the email validation quota.', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:GetValidationQuota', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxxx-xxxx-xxxx-xxxx\\",\\n \\"UsedQuota\\": 1,\\n \\"TotalQuota\\": 10\\n}","type":"json"}]', ], 'ListBlockSending' => [ 'path' => '', 'methods' => ['get', 'post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'NextToken', 'in' => 'query', 'schema' => ['description' => 'The token used to start the query. If you do not specify this parameter, the query starts from the beginning of the results.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'xxxxxyyyyyy'], ], [ 'name' => 'MaxResults', 'in' => 'query', 'schema' => ['description' => 'The maximum number of entries to return.
'."\n" .'Valid values: 1 to 500.
', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'required' => false, 'example' => '50'], ], [ 'name' => 'BlockType', 'in' => 'query', 'schema' => [ 'description' => 'The type of block.'."\n" ."\n" .'- UNSUB: Unsubscribe'."\n" ."\n" .'- REPORT: Spam report', 'type' => 'string', 'required' => true, 'enum' => ['UNSUB', 'REPORT'], 'title' => '', 'example' => 'UNSUB', ], ], [ 'name' => 'SenderEmail', 'in' => 'query', 'schema' => ['description' => 'The sender email address.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'xxxx@sender.com'], ], [ 'name' => 'BlockEmail', 'in' => 'query', 'schema' => ['description' => 'The recipient email address.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'xxxx@rcpt.com'], ], [ 'name' => 'BeginTime', 'in' => 'query', 'schema' => ['description' => 'The start of the time range to query blocked emails.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'required' => false, 'example' => '1763973206'], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end of the time range to query blocked emails.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'required' => false, 'example' => '1764146006'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'The schema of the response.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'], 'NextToken' => ['description' => 'The token to retrieve the next page of results. An empty string indicates that no more data is available.', 'type' => 'string', 'title' => '', 'example' => 'xxxxyyyy'], 'Data' => [ 'title' => '', 'description' => 'A list of data about unsubscribes or spam reports.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'SenderEmail' => ['description' => 'The sender email address.', 'type' => 'string', 'title' => '', 'example' => 'xxxx@sender.com'], 'SendTime' => ['description' => 'The time the email was sent.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1723249364'], 'BlockEmail' => ['description' => 'The recipient email address.', 'type' => 'string', 'title' => '', 'example' => 'xxxx@rcpt.com'], 'BlockTime' => ['description' => 'The time the block was initiated.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1723259364'], 'Reason' => ['description' => 'The reason for the block. The value is a bitset. The meaning of each bit is as follows:'."\n" ."\n" .'- 0: The reason is not specified.'."\n" ."\n" .'- 1: The recipient is not interested in the content.'."\n" ."\n" .'- 2: The content is repetitive.'."\n" ."\n" .'- 3: The content is sent too frequently.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => '1'], ], 'description' => '', 'title' => '', 'example' => '', ], 'example' => '', ], 'MaxResults' => ['description' => 'The maximum number of entries returned.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], ], 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListBlockSending', 'summary' => 'Queries the email sending blacklist.', 'description' => 'Queries data about unsubscribes or spam reports.', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'dm:ListBlockSending', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\\",\\n \\"NextToken\\": \\"xxxxyyyy\\",\\n \\"Data\\": [\\n {\\n \\"SenderEmail\\": \\"xxxx@sender.com\\",\\n \\"SendTime\\": 1723249364,\\n \\"BlockEmail\\": \\"xxxx@rcpt.com\\",\\n \\"BlockTime\\": 1723259364,\\n \\"Reason\\": 1\\n }\\n ],\\n \\"MaxResults\\": 50\\n}","type":"json"}]', ], 'ListUserSuppression' => [ 'summary' => 'List User Invalid Addresses.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list'], 'parameters' => [ [ 'name' => 'StartCreateTime', 'in' => 'query', 'schema' => ['description' => 'Start creation time, timestamp, accurate to the second.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1715668852', 'title' => ''], ], [ 'name' => 'EndCreateTime', 'in' => 'query', 'schema' => ['description' => 'End creation time, timestamp, accurate to the second. The span between start and end times cannot exceed 7 days.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1715669077', 'title' => ''], ], [ 'name' => 'StartBounceTime', 'in' => 'query', 'schema' => ['description' => 'Start time of the last bounce hit, timestamp, accurate to the second.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1715668852', 'title' => ''], ], [ 'name' => 'EndBounceTime', 'in' => 'query', 'schema' => ['description' => 'End time of the last bounce hit, timestamp, accurate to the second. The span between start and end times cannot exceed 7 days.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1715669077', 'title' => ''], ], [ 'name' => 'Address', 'in' => 'query', 'schema' => ['description' => 'Email address or domain name', 'type' => 'string', 'required' => false, 'example' => 'test@example.net', 'title' => ''], ], [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['description' => 'Current page number', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'Page size', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'Page size', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '1A846D66-5EC7-551B-9687-5BF1963DCFC1', 'title' => ''], 'PageNumber' => ['description' => 'Page number', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'Total count', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'UserSuppressions' => [ 'description' => 'Returned results.', 'type' => 'array', 'items' => [ 'description' => 'detailed information', 'type' => 'object', 'properties' => [ 'SuppressionId' => ['description' => 'Invalid address ID', 'type' => 'integer', 'format' => 'int32', 'example' => '59511', 'title' => ''], 'Address' => ['description' => 'Email address or domain name', 'type' => 'string', 'example' => 'test@example.net', 'title' => ''], 'LastBounceTime' => ['description' => 'Last bounce hit time, timestamp, accurate to the second.', 'type' => 'integer', 'format' => 'int32', 'example' => '1715667451', 'title' => ''], 'CreateTime' => ['description' => 'Creation time, timestamp, accurate to the second.', 'type' => 'integer', 'format' => 'int32', 'example' => '1715667435', 'title' => ''], 'Type' => ['description' => 'Source of entry, invalid address type'."\n" ."\n" .'- system'."\n" ."\n" .'- user', 'type' => 'string', 'example' => 'user', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'List Personal and System Invalid Addresses', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'dm:ListUserSuppression', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"1A846D66-5EC7-551B-9687-5BF1963DCFC1\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"Data\\": {\\n \\"UserSuppressions\\": [\\n {\\n \\"SuppressionId\\": 59511,\\n \\"Address\\": \\"test@example.net\\",\\n \\"LastBounceTime\\": 1715667451,\\n \\"CreateTime\\": 1715667435,\\n \\"Type\\": \\"user\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'ListValidateFile' => [ 'summary' => 'Retrieves a list of uploaded validation files.', 'path' => '', 'methods' => ['get', 'post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The start time. The time is in UTC and follows the RFC 3339 format.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '2025-12-19T08:30:00Z'], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end time. The time is in UTC and follows the RFC 3339 format.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '2025-12-19T20:30:00Z'], ], [ 'name' => 'FileKeyword', 'in' => 'query', 'schema' => ['description' => 'A keyword in the file name.', 'type' => 'string', 'required' => false, 'example' => 'keyword', 'title' => ''], ], [ 'name' => 'Page', 'in' => 'query', 'schema' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'xxx'], 'HasNext' => ['description' => 'Indicates whether a next page of data exists.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Page' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'TotalSize' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], 'TotalPages' => ['description' => 'The total number of pages.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'Files' => [ 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'FileName' => ['description' => 'The file name.', 'type' => 'string', 'example' => 'test.csv', 'title' => ''], 'UploadTime' => ['description' => 'The time when the file was submitted.', 'type' => 'string', 'example' => '2000-01-01T00:00:00Z', 'title' => ''], 'Status' => ['description' => 'The status of the task.', 'type' => 'string', 'example' => 'completed', 'title' => ''], 'Percentage' => ['description' => 'The task execution progress.', 'type' => 'string', 'example' => '100%', 'title' => ''], 'CompleteTime' => ['description' => 'The time when the task was completed.', 'type' => 'string', 'example' => '2000-01-01T00:00:00Z', 'title' => ''], 'TotalNum' => ['description' => 'The number of addresses to validate in the task.', 'type' => 'string', 'example' => '10', 'title' => ''], 'ProcessedNum' => ['description' => 'The number of addresses that have been validated.', 'type' => 'string', 'example' => '10', 'title' => ''], 'ValidNum' => ['description' => 'The number of addresses with the validation result \'Valid\'.', 'type' => 'string', 'example' => '5', 'title' => ''], 'InvalidNum' => ['description' => 'The number of addresses with the validation result \'Invalid\'.', 'type' => 'string', 'example' => '4', 'title' => ''], 'CatchAllNum' => ['description' => 'The number of addresses with the validation result \'CatchAll\'.', 'type' => 'string', 'example' => '1', 'title' => ''], 'DoNotMailNum' => ['description' => 'The number of addresses with the validation result \'DoNotMail\'.', 'type' => 'string', 'example' => '0', 'title' => ''], 'UnknownNum' => ['description' => 'The number of addresses with the validation result \'Unknown\'.', 'type' => 'string', 'example' => '0', 'title' => ''], 'IsDownloadable' => ['description' => 'Indicates whether the result can be downloaded.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'FileId' => ['description' => 'The file ID.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'description' => 'The list of files.', 'title' => '', 'example' => '', ], ], 'title' => '', 'description' => 'The response object.', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ListValidateFile', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxx\\",\\n \\"HasNext\\": true,\\n \\"Page\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalSize\\": 100,\\n \\"TotalPages\\": 10,\\n \\"Files\\": [\\n {\\n \\"FileName\\": \\"test.csv\\",\\n \\"UploadTime\\": \\"2000-01-01T00:00:00Z\\",\\n \\"Status\\": \\"completed\\",\\n \\"Percentage\\": \\"100%\\",\\n \\"CompleteTime\\": \\"2000-01-01T00:00:00Z\\",\\n \\"TotalNum\\": \\"10\\",\\n \\"ProcessedNum\\": \\"10\\",\\n \\"ValidNum\\": \\"5\\",\\n \\"InvalidNum\\": \\"4\\",\\n \\"CatchAllNum\\": \\"1\\",\\n \\"DoNotMailNum\\": \\"0\\",\\n \\"UnknownNum\\": \\"0\\",\\n \\"IsDownloadable\\": true,\\n \\"FileId\\": \\"xxx\\"\\n }\\n ]\\n}","type":"json"}]', ], 'ModifyMailAddress' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'MailAddressId', 'in' => 'query', 'schema' => ['description' => 'Sending address ID', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '1344565', 'title' => ''], ], [ 'name' => 'ReplyAddress', 'in' => 'query', 'schema' => ['description' => 'Reply address', 'type' => 'string', 'required' => false, 'example' => 'a***@example.net', 'title' => ''], ], [ 'name' => 'Password', 'in' => 'query', 'schema' => ['description' => '- Length should be 10 to 20 characters, and must include numbers, uppercase letters, and lowercase letters.'."\n" ."\n" .'- Must contain at least 2 digits, 2 uppercase letters, and 2 lowercase letters, and neither the digits nor the letters can consist of a single character repeated.'."\n" ."\n" .'- Cannot be the same as the last set password.', 'type' => 'string', 'required' => false, 'example' => 'DM1mail1234', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '10A1AD70-E48E-476D-98D9-39BD92193837', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Set SMTP Password and Reply Address for Sending Address', 'summary' => 'Modify the sending address', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'dm:ModifyMailAddress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"10A1AD70-E48E-476D-98D9-39BD92193837\\"\\n}","type":"json"}]', ], 'ModifyPWByDomain' => [ 'summary' => 'Modify the domain-level password', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'DomainName', 'in' => 'query', 'schema' => ['description' => 'Domain name, length 1-50, can include numbers, uppercase letters, lowercase letters, ., and -.', 'type' => 'string', 'required' => true, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'Password', 'in' => 'query', 'schema' => ['description' => '- Length should be between 10 to 20 characters, and must contain numbers, uppercase letters, and lowercase letters.'."\n" ."\n" .'- At least 2 digits, 2 uppercase letters, and 2 lowercase letters are required, and neither digits nor letters can consist of a single character repeated.'."\n" ."\n" .'- Cannot be the same as the last set password.', 'type' => 'string', 'required' => true, 'example' => 'DM1mail1234', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'Code' => ['description' => 'Status code', 'type' => 'string', 'example' => 'OK', 'title' => ''], 'Message' => ['description' => 'Description of the status code', 'type' => 'string', 'example' => 'Request succeeded.', 'title' => ''], 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '02B2A890-CBD8-4806-9BCA-C93190CE7EF6', 'title' => ''], 'Success' => ['description' => 'Whether it was successful', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": \\"OK\\",\\n \\"Message\\": \\"Request succeeded.\\",\\n \\"RequestId\\": \\"02B2A890-CBD8-4806-9BCA-C93190CE7EF6\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'Set the SMTP password for a domain', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'dm:ModifyPWByDomain', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'manual', ], 'ModifyTag' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'TagId', 'in' => 'query', 'schema' => ['description' => 'Tag ID', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '100674', 'title' => ''], ], [ 'name' => 'TagName', 'in' => 'query', 'schema' => ['description' => 'Tag Name', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''], ], [ 'name' => 'TagDescription', 'in' => 'query', 'schema' => ['description' => 'Tag Description', 'type' => 'string', 'required' => false, 'example' => 'test description', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '00BD30D8-2E86-523A-BFC7-63B7FF931A06', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Modify Tag', 'summary' => 'Modify Tag', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'dm:ModifyTag', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"00BD30D8-2E86-523A-BFC7-63B7FF931A06\\"\\n}","type":"json"}]', ], 'ModifyTemplate' => [ 'summary' => 'Modifies an email template.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [], 'parameters' => [ [ 'name' => 'TemplateId', 'in' => 'query', 'schema' => ['description' => 'The template ID.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'example' => '409481', 'title' => ''], ], [ 'name' => 'TemplateName', 'in' => 'query', 'schema' => ['description' => 'The template name. Maximum length: 30 characters.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'verification code', 'title' => ''], ], [ 'name' => 'TemplateSubject', 'in' => 'query', 'schema' => ['description' => 'The subject of the email template. This parameter is required only when the templatetype is email. Maximum length: 256 characters.', 'type' => 'string', 'required' => false, 'example' => 'REAL\'EN OPEN TONNAGE', 'title' => ''], ], [ 'name' => 'TemplateNickName', 'in' => 'query', 'schema' => ['description' => 'The nickname of the template or the alias of the sender. This parameter is required only when the templatetype is email. Maximum length: 30 characters.', 'type' => 'string', 'required' => false, 'example' => 'Lisa Gao', 'title' => ''], ], [ 'name' => 'TemplateText', 'in' => 'query', 'schema' => ['description' => 'The body content of the email. This parameter is required only when the templatetype is email. Maximum size: 1 MB.', 'type' => 'string', 'required' => false, 'example' => '

hello {name}

', 'title' => ''], ], [ 'name' => 'SmsType', 'in' => 'query', 'schema' => [ 'description' => 'The business type of the SMS template. This parameter is required only when the templatetype is SMS.', 'enumValueTitles' => ['Verification code.', 2 => 'Notification or promotion.'], 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => '', ], ], [ 'name' => 'SmsContent', 'in' => 'query', 'schema' => ['description' => 'The body content of the SMS template. This parameter is required only when the templatetype is SMS. Length: 2 to 400 characters.', 'type' => 'string', 'required' => false, 'example' => '

hello {name}

', 'title' => ''], ], [ 'name' => 'Remark', 'in' => 'query', 'schema' => ['description' => 'The remarks or application description for the SMS template. This parameter is required only when the templatetype is SMS. Maximum length: 100 characters.', 'type' => 'string', 'required' => false, 'example' => 'for verification', 'title' => ''], ], [ 'name' => 'FromType', 'in' => 'query', 'schema' => [ 'description' => 'The source channel through which the user connects. Default value: 1.', 'enumValueTitles' => [1 => 'Direct access through Alibaba Cloud.', 'Access through a partner channel.'], 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '2', 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The unique request identifier.', 'type' => 'string', 'example' => 'C5AB05E9-D3CA-582E-9538-8C6C554040F6', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Modify email template', 'changeSet' => [], 'ramActions' => [], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C5AB05E9-D3CA-582E-9538-8C6C554040F6\\"\\n}","type":"json"}]', ], 'QueryDomainByParam' => [ 'summary' => 'Query domain information', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['description' => 'Current page number. Default: 1', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'Number of items per page, default: 10', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '1000', 'minimum' => '1', 'default' => '50', 'example' => '10', 'title' => ''], ], [ 'name' => 'KeyWord', 'in' => 'query', 'schema' => ['description' => 'Domain name, length 1-50, can include numbers, uppercase and lowercase letters, ., -.', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => '- 0 indicates normal'."\n" ."\n" .'- 1 indicates abnormal', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '2', 'minimum' => '0', 'example' => '0', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'Page size', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '8C90CCD3-627C-4F87-AD8C-2F03146071EB', 'title' => ''], 'PageNumber' => ['description' => 'Current page number', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'Total count', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'domain' => [ 'description' => 'List of domains', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'DomainRecord' => ['description' => 'Domain record', 'type' => 'string', 'example' => '6bd86901b9fe4618a046', 'title' => ''], 'SpfAuthStatus' => ['description' => 'SPF authentication status, success: 0, failure: 1.', 'type' => 'string', 'example' => '0', 'title' => ''], 'MxAuthStatus' => ['description' => 'MX authentication status, success: 0, failure: 1.', 'type' => 'string', 'example' => '0', 'title' => ''], 'CreateTime' => ['description' => 'Creation time', 'type' => 'string', 'example' => '2019-09-29T13:28Z', 'title' => ''], 'CnameAuthStatus' => ['description' => 'Track verification', 'type' => 'string', 'example' => '0', 'title' => ''], 'ConfirmStatus' => ['description' => 'CName verification status, success: 0; failure: 1', 'type' => 'string', 'example' => '0', 'title' => ''], 'IcpStatus' => ['description' => 'ICP filing status.'."\n" ."\n" .'- 1 indicates filed'."\n" ."\n" .'- 0 indicates not filed', 'type' => 'string', 'example' => '1', 'title' => ''], 'UtcCreateTime' => ['description' => 'Creation time in UTC format.', 'type' => 'integer', 'format' => 'int64', 'example' => '1569734892', 'title' => ''], 'DomainStatus' => ['description' => 'Domain status.'."\n" ."\n" .'- 0: Available, verified'."\n" ."\n" .'- 1: Unavailable, verification failed', 'type' => 'string', 'example' => '0', 'title' => ''], 'DomainName' => ['description' => 'Domain name', 'type' => 'string', 'example' => 'example.com', 'title' => ''], 'DomainId' => ['description' => 'Domain ID', 'type' => 'string', 'example' => '158923', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Query Domain List Information', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:QueryDomainByParam', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 50,\\n \\"RequestId\\": \\"8C90CCD3-627C-4F87-AD8C-2F03146071EB\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"data\\": {\\n \\"domain\\": [\\n {\\n \\"DomainRecord\\": \\"6bd86901b9fe4618a046\\",\\n \\"SpfAuthStatus\\": \\"0\\",\\n \\"MxAuthStatus\\": \\"0\\",\\n \\"CreateTime\\": \\"2019-09-29T13:28Z\\",\\n \\"CnameAuthStatus\\": \\"0\\",\\n \\"ConfirmStatus\\": \\"0\\",\\n \\"IcpStatus\\": \\"1\\",\\n \\"UtcCreateTime\\": 1569734892,\\n \\"DomainStatus\\": \\"0\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"DomainId\\": \\"158923\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'QueryInvalidAddress' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'Start time, which cannot be earlier than 30 days ago, in the format yyyy-MM-dd.', 'type' => 'string', 'required' => false, 'example' => '2019-09-29', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'End time, with a span from the start time that cannot exceed 30 days, in the format yyyy-MM-dd.', 'type' => 'string', 'required' => false, 'example' => '2019-09-29', 'title' => ''], ], [ 'name' => 'KeyWord', 'in' => 'query', 'schema' => ['description' => 'Keyword. If not provided, it represents all invalid addresses.', 'type' => 'string', 'required' => false, 'example' => 'info', 'title' => ''], ], [ 'name' => 'Length', 'in' => 'query', 'schema' => ['description' => 'Number of items per request.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'example' => '100', 'title' => ''], ], [ 'name' => 'NextStart', 'in' => 'query', 'schema' => ['description' => 'Request starting position.', 'type' => 'string', 'required' => false, 'example' => '***', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'NextStart' => ['description' => 'Next request starting position.', 'type' => 'string', 'example' => '2', 'title' => ''], 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '95A7D497-F8DD-4834-B81E-C1783236E55F', 'title' => ''], 'TotalCount' => ['description' => 'Total count.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], 'data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'mailDetail' => [ 'description' => 'Records.', 'type' => 'array', 'items' => [ 'description' => 'Detailed records.', 'type' => 'object', 'properties' => [ 'LastUpdateTime' => ['description' => 'Update time.', 'type' => 'string', 'example' => '2021-04-28T17:11Z', 'title' => ''], 'ToAddress' => ['description' => 'Recipient address.', 'type' => 'string', 'example' => 'toaddress@example.com', 'title' => ''], 'UtcLastUpdateTime' => ['description' => 'Update time (in timestamp format).', 'type' => 'integer', 'format' => 'int64', 'example' => '1619601108', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Get Invalid Address Information', 'summary' => 'NextStart changed to string', 'description' => 'Retrieve deduplicated invalid address information. If an email is sent to the same invalid address multiple times, only the first occurrence will be recorded. The query should be based on the time when the address was first classified as invalid.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:QueryInvalidAddress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextStart\\": \\"2\\",\\n \\"RequestId\\": \\"95A7D497-F8DD-4834-B81E-C1783236E55F\\",\\n \\"TotalCount\\": 3,\\n \\"data\\": {\\n \\"mailDetail\\": [\\n {\\n \\"LastUpdateTime\\": \\"2021-04-28T17:11Z\\",\\n \\"ToAddress\\": \\"toaddress@example.com\\",\\n \\"UtcLastUpdateTime\\": 1619601108\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'QueryMailAddressByParam' => [ 'summary' => 'Queries a list of sender addresses.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['description' => 'The current page number. The default value is 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. The default value is 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '500', 'minimum' => '1', 'default' => '500', 'example' => '10', 'title' => ''], ], [ 'name' => 'KeyWord', 'in' => 'query', 'schema' => ['description' => 'The email address. The length is 1 to 60 characters. It supports digits, letters, periods (.), hyphens (-), and at signs (@).', 'type' => 'string', 'example' => 'Account+@+domain', 'required' => false, 'title' => ''], ], [ 'name' => 'Sendtype', 'in' => 'query', 'schema' => ['description' => 'The type of the sender address. Valid values:'."\n" ."\n" .'- batch: batch emails'."\n" ."\n" .'- trigger: triggered emails', 'type' => 'string', 'required' => false, 'example' => 'batch', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '95A7D497-F8DD-4834-B81E-C1783236E55F', 'title' => ''], 'PageNumber' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'data' => [ 'itemNode' => true, 'type' => 'object', 'properties' => [ 'mailAddress' => [ 'description' => 'The list of sender addresses.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'MailAddressId' => ['description' => 'The ID of the sender address.', 'type' => 'string', 'example' => '12122', 'title' => ''], 'MonthCount' => ['description' => 'The monthly quota limit.', 'type' => 'string', 'example' => '300000', 'title' => ''], 'AccountStatus' => ['description' => 'The status of the account. 1: The account is frozen. 0: The account is normal.', 'type' => 'string', 'example' => '0', 'title' => ''], 'CreateTime' => ['description' => 'The time when the sender address was created.', 'type' => 'string', 'example' => '2019-09-29T13:28Z', 'title' => ''], 'ReplyStatus' => ['description' => 'The status of the reply-to address.', 'type' => 'string', 'example' => '0', 'title' => ''], 'Sendtype' => ['description' => 'The type of the sender address. Valid values:'."\n" ."\n" .'- batch: batch emails'."\n" ."\n" .'- trigger: triggered emails', 'type' => 'string', 'example' => 'batch', 'title' => ''], 'MonthReqCount' => ['description' => 'The monthly quota.', 'type' => 'string', 'example' => '20000', 'title' => ''], 'ReplyAddress' => ['description' => 'The reply-to address.', 'type' => 'string', 'example' => 'test@example.com', 'title' => ''], 'DailyReqCount' => ['description' => 'The daily quota.', 'type' => 'string', 'example' => '100', 'title' => ''], 'DailyCount' => ['description' => 'The daily quota limit.', 'type' => 'string', 'example' => '10000', 'title' => ''], 'DomainStatus' => ['description' => 'The status of the domain name. 0: The domain name is normal. 1: The domain name is abnormal.', 'type' => 'string', 'example' => '0', 'title' => ''], 'AccountName' => ['description' => 'The sender address.', 'type' => 'string', 'example' => 'Account+@+domain', 'title' => ''], 'ConfigSetId' => ['description' => 'The ID of the associated configuration set.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'ConfigSetName' => ['description' => 'The name of the associated configuration set.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"95A7D497-F8DD-4834-B81E-C1783236E55F\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 2,\\n \\"data\\": {\\n \\"mailAddress\\": [\\n {\\n \\"MailAddressId\\": \\"12122\\",\\n \\"MonthCount\\": \\"300000\\",\\n \\"AccountStatus\\": \\"0\\",\\n \\"CreateTime\\": \\"2019-09-29T13:28Z\\",\\n \\"ReplyStatus\\": \\"0\\",\\n \\"Sendtype\\": \\"batch\\",\\n \\"MonthReqCount\\": \\"20000\\",\\n \\"ReplyAddress\\": \\"test@example.com\\",\\n \\"DailyReqCount\\": \\"100\\",\\n \\"DailyCount\\": \\"10000\\",\\n \\"DomainStatus\\": \\"0\\",\\n \\"AccountName\\": \\"Account+@+domain\\",\\n \\"ConfigSetId\\": \\"xxx\\",\\n \\"ConfigSetName\\": \\"xxx\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Query sender address list ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:QueryMailAddressByParam', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'manual', ], 'QueryReceiverByParam' => [ 'summary' => 'Retrieves recipient lists.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['description' => 'This deprecated field is kept for backward compatibility. You can omit this parameter.'."\n" ."\n" .'The page number.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The page size. Default value: 100.'."\n" ."\n" .'Omitting this parameter returns all results. However, because the PageNo parameter is deprecated, the effect of PageSize on pagination is limited.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'default' => '40', 'example' => '10', 'title' => ''], ], [ 'name' => 'KeyWord', 'in' => 'query', 'schema' => ['description' => 'The keyword to search for recipient lists. If omitted, all recipient lists are returned.', 'type' => 'string', 'required' => false, 'example' => 'mesh-notification', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'This deprecated field is kept for backward compatibility. You can omit this parameter.'."\n" ."\n" .'The list status. Valid values:'."\n" ."\n" .'- 0: uploading'."\n" ."\n" .'- 1: upload complete', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '2', 'minimum' => '0', 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'NextStart' => ['description' => 'A token indicating that more results are available. To get the next page of results, include this token in the NextStart parameter of your next request.', 'type' => 'string', 'example' => '6aec200853#102#1638894326#test@example.com', 'title' => ''], 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '10A1AD70-E48E-476D-98D9-39BD92193837', 'title' => ''], 'TotalCount' => ['description' => 'The total count.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], 'data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'receiver' => [ 'description' => 'Details about the recipient lists.', 'type' => 'array', 'items' => [ 'description' => 'The details of a recipient list.', 'type' => 'object', 'properties' => [ 'ReceiversAlias' => ['description' => 'The recipient list alias.', 'type' => 'string', 'example' => '10***@example.com', 'title' => ''], 'ReceiversName' => ['description' => 'The recipient list name.', 'type' => 'string', 'example' => 'TKP000442-333', 'title' => ''], 'CreateTime' => ['description' => 'The creation time.', 'type' => 'string', 'example' => '2019-09-29T13:28Z', 'title' => ''], 'ReceiverId' => ['description' => 'The recipient list ID.', 'type' => 'string', 'example' => '0c910a7143044b1e116719eb678907b3', 'title' => ''], 'UtcCreateTime' => ['description' => 'The creation time in UTC.', 'type' => 'integer', 'format' => 'int64', 'example' => '1569734892', 'title' => ''], 'ReceiversStatus' => ['description' => 'This deprecated field is kept for backward compatibility.'."\n" ."\n" .'The list status. Valid values:'."\n" ."\n" .'- 0: uploading'."\n" ."\n" .'- 1: upload complete', 'type' => 'string', 'example' => '0', 'title' => ''], 'Count' => ['description' => 'The recipient address count.', 'type' => 'string', 'example' => '3', 'title' => ''], 'Desc' => ['description' => 'The description.', 'type' => 'string', 'example' => 'Notification', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextStart\\": \\"6aec200853#102#1638894326#test@example.com\\",\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"10A1AD70-E48E-476D-98D9-39BD92193837\\",\\n \\"TotalCount\\": 15,\\n \\"data\\": {\\n \\"receiver\\": [\\n {\\n \\"ReceiversAlias\\": \\"10***@example.com\\",\\n \\"ReceiversName\\": \\"TKP000442-333\\",\\n \\"CreateTime\\": \\"2019-09-29T13:28Z\\",\\n \\"ReceiverId\\": \\"0c910a7143044b1e116719eb678907b3\\",\\n \\"UtcCreateTime\\": 1569734892,\\n \\"ReceiversStatus\\": \\"0\\",\\n \\"Count\\": \\"3\\",\\n \\"Desc\\": \\"Notification\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Query Recipient List', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:QueryReceiverByParam', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', ], 'QueryReceiverDetail' => [ 'summary' => 'Retrieve detailed information about a recipient list', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'ReceiverId', 'in' => 'query', 'schema' => ['description' => 'Recipient list ID (returned when creating a recipient list using the CreateReceiver API).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1235', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'Number of items per page, default: 10', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'default' => '40', 'example' => '10', 'title' => ''], ], [ 'name' => 'KeyWord', 'in' => 'query', 'schema' => ['description' => 'Recipient address, length 0-50', 'type' => 'string', 'required' => false, 'example' => 'b***@example.net', 'title' => ''], ], [ 'name' => 'NextStart', 'in' => 'query', 'schema' => ['description' => 'Starting position for the next item, default: 0', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'DataSchema' => ['description' => 'Field name for the Data of recipients', 'type' => 'string', 'example' => 'UserName,NickName,Gender,Birthday,Mobile', 'title' => ''], 'NextStart' => ['description' => 'Used for pagination. If there are more results, set this returned value to the NextStart in the next request.', 'type' => 'string', 'example' => '90f0243616#40test@example.com', 'title' => ''], 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '10A1AD70-E48E-476D-98D9-39BD92193837', 'title' => ''], 'TotalCount' => ['description' => 'Total count (deprecated field, kept for historical compatibility)', 'type' => 'integer', 'format' => 'int32', 'example' => '361', 'title' => ''], 'data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'detail' => [ 'description' => 'Detailed information', 'type' => 'array', 'items' => [ 'description' => 'Detailed information', 'type' => 'object', 'properties' => [ 'Data' => ['description' => 'Content', 'type' => 'string', 'example' => '{\'Domains\': [\'a.example.net\', \'b.example.net\', \'c.example.net\', \'d.example.net\']}', 'title' => ''], 'UtcCreateTime' => ['description' => 'Creation time in UTC format', 'type' => 'integer', 'format' => 'int64', 'example' => '1569734892', 'title' => ''], 'Email' => ['description' => 'Recipient address', 'type' => 'string', 'example' => 'a***@example.net', 'title' => ''], 'CreateTime' => ['description' => 'Creation Time', 'type' => 'string', 'example' => '2019-09-29T13:28Z', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Query Details of a Specific Recipient List', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:QueryReceiverDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"DataSchema\\": \\"UserName,NickName,Gender,Birthday,Mobile\\",\\n \\"NextStart\\": \\"90f0243616#40test@example.com\\",\\n \\"RequestId\\": \\"10A1AD70-E48E-476D-98D9-39BD92193837\\",\\n \\"TotalCount\\": 361,\\n \\"data\\": {\\n \\"detail\\": [\\n {\\n \\"Data\\": \\"{\'Domains\': [\'a.example.net\', \'b.example.net\', \'c.example.net\', \'d.example.net\']}\\",\\n \\"UtcCreateTime\\": 1569734892,\\n \\"Email\\": \\"a***@example.net\\",\\n \\"CreateTime\\": \\"2019-09-29T13:28Z\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'QueryTagByParam' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get'], 'parameters' => [ [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['description' => 'Page number', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'Page size', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '500', 'minimum' => '1', 'default' => '500', 'example' => '10', 'title' => ''], ], [ 'name' => 'KeyWord', 'in' => 'query', 'schema' => ['description' => 'Tag name, length 1-50, defaults to all tags if not specified.', 'type' => 'string', 'required' => false, 'example' => '1aTag', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'Page size', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => '10A1AD70-E48E-476D-98D9-39BD92193837', 'title' => ''], 'PageNumber' => ['description' => 'Current page number', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], 'TotalCount' => ['description' => 'Total count', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], 'data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'tag' => [ 'description' => 'Data records', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'TagName' => ['description' => 'Tag name', 'type' => 'string', 'example' => 'hellopal', 'title' => ''], 'TagId' => ['description' => 'Tag ID', 'type' => 'string', 'example' => '52366', 'title' => ''], 'TagDescription' => ['description' => 'Tag description', 'type' => 'string', 'example' => 'test description', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Retrieve Tags', 'summary' => 'Call QueryTagByParam to retrieve tags.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:QueryTagByParam', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"10A1AD70-E48E-476D-98D9-39BD92193837\\",\\n \\"PageNumber\\": 5,\\n \\"TotalCount\\": 2,\\n \\"data\\": {\\n \\"tag\\": [\\n {\\n \\"TagName\\": \\"hellopal\\",\\n \\"TagId\\": \\"52366\\",\\n \\"TagDescription\\": \\"test description\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'QueryTaskByParam' => [ 'summary' => 'Queries tasks based on specified parameters.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['description' => 'The page number. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''], ], [ 'name' => 'KeyWord', 'in' => 'query', 'schema' => ['description' => 'The keyword for the query. If you leave this blank, all tasks are returned.', 'type' => 'string', 'required' => false, 'example' => 'mesh-notification-788717', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'The task status. If you leave this blank, tasks in all states are returned.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '2', 'minimum' => '0', 'example' => '0', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '10A1AD70-E48E-476D-98D9-39BD92193837', 'title' => ''], 'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => ''], 'data' => [ 'itemNode' => true, 'type' => 'object', 'properties' => [ 'task' => [ 'description' => 'The returned data.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'ReceiversName' => ['description' => 'The recipient name.', 'type' => 'string', 'example' => 'TKP000442-333', 'title' => ''], 'TagName' => ['description' => 'The tag.', 'type' => 'string', 'example' => '202201', 'title' => ''], 'TaskStatus' => ['description' => 'The task status. A value of 1 indicates that the email is sent.', 'type' => 'string', 'example' => '1', 'title' => ''], 'CreateTime' => ['description' => 'The time when the task was created.', 'type' => 'string', 'example' => '2022-04-18T10:36Z', 'title' => ''], 'RequestCount' => ['description' => 'The number of requests.', 'type' => 'string', 'example' => '1', 'title' => ''], 'AddressType' => ['description' => 'The address type. 1: sender address. 0: random address.', 'type' => 'string', 'example' => '0', 'title' => ''], 'UtcCreateTime' => ['description' => 'The time when the task was created, in UTC format.', 'type' => 'integer', 'format' => 'int64', 'example' => '1569734892', 'title' => ''], 'TemplateName' => ['description' => 'The template name.', 'type' => 'string', 'example' => 'Short Simple', 'title' => ''], 'TaskId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => '1054296', 'title' => ''], 'IpPoolId' => ['description' => 'The ID of the dedicated IP address pool.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'IpPoolName' => ['description' => 'The name of the dedicated IP address pool.', 'type' => 'string', 'example' => 'Test dedicated IP address pool 1', 'title' => ''], 'ConfigSetId' => ['description' => 'The configuration set ID.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'ConfigSetName' => ['description' => 'The configuration set name.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidKeyword.Malformed', 'errorMessage' => 'The specified keyword is wrongly formed.', 'description' => ''], ['errorCode' => 'InvalidStatus.Malformed', 'errorMessage' => 'The specified status is wrongly formed.', 'description' => ''], ], 500 => [ ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"10A1AD70-E48E-476D-98D9-39BD92193837\\",\\n \\"PageNumber\\": 3,\\n \\"TotalCount\\": 15,\\n \\"data\\": {\\n \\"task\\": [\\n {\\n \\"ReceiversName\\": \\"TKP000442-333\\",\\n \\"TagName\\": \\"202201\\",\\n \\"TaskStatus\\": \\"1\\",\\n \\"CreateTime\\": \\"2022-04-18T10:36Z\\",\\n \\"RequestCount\\": \\"1\\",\\n \\"AddressType\\": \\"0\\",\\n \\"UtcCreateTime\\": 1569734892,\\n \\"TemplateName\\": \\"Short Simple\\",\\n \\"TaskId\\": \\"1054296\\",\\n \\"IpPoolId\\": \\"xxx\\",\\n \\"IpPoolName\\": \\"Test dedicated IP address pool 1\\",\\n \\"ConfigSetId\\": \\"xxx\\",\\n \\"ConfigSetName\\": \\"xxx\\"\\n }\\n ]\\n }\\n}","type":"json"}]', 'title' => 'Query Job', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:QueryTaskByParam', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'manual', ], 'QueryTemplateByParam' => [ 'summary' => 'Queries template list information by paging.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'PageNo', 'in' => 'query', 'schema' => ['description' => 'The current page number. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', 'schema' => ['description' => 'The number of entries per page. Default value: 20.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'default' => '40', 'example' => '20', 'title' => ''], ], [ 'name' => 'KeyWord', 'in' => 'query', 'schema' => ['description' => 'The keyword of the template name. By default, a paging query is performed on all templates.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'Deprecated. Retained for backward compatibility.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '4', 'minimum' => '0', 'example' => 'Abandoned, historical reasons for compatibility', 'title' => ''], ], [ 'name' => 'FromType', 'in' => 'query', 'schema' => ['description' => 'Deprecated. Retained for backward compatibility.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '2', 'minimum' => '1', 'default' => '1', 'example' => 'Abandoned, historical reasons for compatibility', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response.', 'type' => 'object', 'properties' => [ 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '10Axxxxxxxxxxxx37', 'title' => ''], 'PageNumber' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'TotalCount' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '21', 'title' => ''], 'data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'template' => [ 'description' => 'The array of template information.', 'type' => 'array', 'items' => [ 'description' => 'The template information.', 'type' => 'object', 'properties' => [ 'TemplateComment' => ['description' => 'The review comments for the template.', 'type' => 'string', 'example' => 'pass', 'title' => ''], 'UtcCreatetime' => ['description' => 'The creation time in UTC format.', 'type' => 'integer', 'format' => 'int64', 'example' => '1661830382', 'title' => ''], 'Smsrejectinfo' => ['description' => 'Deprecated. Retained for backward compatibility.', 'type' => 'integer', 'format' => 'int32', 'example' => 'Abandoned, historical reasons for compatibility', 'title' => ''], 'SmsTemplateCode' => ['description' => 'Deprecated. Retained for backward compatibility.', 'type' => 'integer', 'format' => 'int32', 'example' => 'Abandoned, historical reasons for compatibility', 'title' => ''], 'CreateTime' => ['description' => 'The creation time.', 'type' => 'string', 'example' => '2019-09-29T13:28Z', 'title' => ''], 'TemplateStatus' => ['description' => 'The template status. Valid values:'."\n" .'- 0: draft.'."\n" .'- 1: pending review.'."\n" .'- 2: approved.'."\n" .'- 3: rejected.', 'type' => 'string', 'example' => '2', 'title' => ''], 'TemplateType' => ['description' => 'Deprecated. Retained for backward compatibility.', 'type' => 'integer', 'format' => 'int32', 'example' => 'Abandoned, historical reasons for compatibility', 'title' => ''], 'TemplateName' => ['description' => 'The template name.', 'type' => 'string', 'example' => 'test', 'title' => ''], 'SmsStatus' => ['description' => 'Deprecated. Retained for backward compatibility.', 'type' => 'integer', 'format' => 'int32', 'example' => 'Abandoned, historical reasons for compatibility', 'title' => ''], 'TemplateId' => ['description' => 'The template ID.', 'type' => 'string', 'example' => '3xxxx8', 'title' => ''], ], 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'title' => '', 'example' => '', ], ], ], 'title' => 'Paging query of template list information', 'description' => 'Queries template list information by paging.', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:QueryTemplateByParam', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"PageSize\\": 20,\\n \\"RequestId\\": \\"10Axxxxxxxxxxxx37\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 21,\\n \\"data\\": {\\n \\"template\\": [\\n {\\n \\"TemplateComment\\": \\"pass\\",\\n \\"UtcCreatetime\\": 1661830382,\\n \\"Smsrejectinfo\\": 0,\\n \\"SmsTemplateCode\\": 0,\\n \\"CreateTime\\": \\"2019-09-29T13:28Z\\",\\n \\"TemplateStatus\\": \\"2\\",\\n \\"TemplateType\\": 0,\\n \\"TemplateName\\": \\"test\\",\\n \\"SmsStatus\\": 0,\\n \\"TemplateId\\": \\"3xxxx8\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'RemoveUserSuppression' => [ 'summary' => 'Deletes system-identified and manually added addresses from the user-level suppression list.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'SuppressionIds', 'in' => 'query', 'schema' => ['description' => 'The ID of the suppressed address. To specify multiple IDs, separate them with commas (,). Call the ListUserSuppression operation to obtain the suppression ID.'."\n" ."\n" .'You can enter multiple values, separated by a comma ",".'."\n" ."\n" .'You can call ListUserSuppression to obtain the SuppressionId.', 'type' => 'string', 'required' => false, 'example' => '59511', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '1A846D66-5EC7-551B-9687-5BF1963DCFC1', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'Remove Invalid Addresses for Individuals and Systems', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dm:RemoveUserSuppression', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1A846D66-5EC7-551B-9687-5BF1963DCFC1\\"\\n}","type":"json"}]', ], 'SaveReceiverDetail' => [ 'summary' => 'Create a single recipient.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'ReceiverId', 'in' => 'query', 'schema' => ['description' => 'The ID of the recipient list.', 'type' => 'string', 'required' => true, 'example' => '34642', 'title' => ''], ], [ 'name' => 'Detail', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'The recipient details. You can upload up to 500 recipients in a single request. The value is a string in a JSON array format. Each object in the array represents a recipient. For example: \\`\\[{ },{ },{ }...]\\`. The format for each recipient object is \\`\\[{"b":"birthday","e":"xxx\\@example.net","g":"gender","m":"mobile","n":"nickname","u":"name"}]\\`. If you add a duplicate recipient address, the system returns \\`"ErrorCount": 1\\`.'."\n" ."\n" .'The format is \\`\\[{ },{ },{ }...]\\`. The format of the content within each \\`{}\\` is as follows:'."\n" ."\n" .'\\[{"b":"birthday","e":"xxx\\@example.net","g":"gender","m":"mobile","n":"nickname","u":"name"}]. Pass the value as a string, not a list.'."\n" ."\n" .'Inserting a duplicate recipient address returns "ErrorCount": 1.', 'type' => 'string', 'required' => false, 'example' => '[{"b":"birthday","e":"xxx@alibaba-inc.com","g":"gender","m":"mobile","n":"nickname","u":"name"}]', 'title' => ''], ], [ 'name' => 'CustomDetail', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'The recipient\'s email address and template parameters, in an array format.', 'type' => 'string', 'example' => '[{ "Email": "example@alimail.com","CustomData": {"name":"Tom","age":"30"}}]', 'title' => '', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'ErrorCount' => ['description' => 'The number of errors.', 'type' => 'integer', 'format' => 'int32', 'example' => '638', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '10A1AD70-E48E-476D-98D9-39BD92193837', 'title' => ''], 'SuccessCount' => ['description' => 'The number of successful records.', 'type' => 'integer', 'format' => 'int32', 'example' => '274', 'title' => ''], 'Data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'Detail' => [ 'description' => 'A list of recipient email addresses that failed to be uploaded.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Email' => ['description' => 'The recipient\'s email address.', 'type' => 'string', 'example' => 'test@example.com', 'title' => ''], 'ErrMessage' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'XXX', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Create a Single Recipient', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:SaveReceiverDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ErrorCount\\": 638,\\n \\"RequestId\\": \\"10A1AD70-E48E-476D-98D9-39BD92193837\\",\\n \\"SuccessCount\\": 274,\\n \\"Data\\": {\\n \\"Detail\\": [\\n {\\n \\"Email\\": \\"test@example.com\\",\\n \\"ErrMessage\\": \\"XXX\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'SendTestByTemplate' => [ 'summary' => 'Sends a test email using a template.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'TemplateId', 'in' => 'query', 'schema' => ['description' => 'The template ID.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '123', 'title' => ''], ], [ 'name' => 'AccountName', 'in' => 'query', 'schema' => ['description' => 'The sender address. Maximum length: 60 characters.', 'type' => 'string', 'example' => 'Account+@+domain', 'required' => true, 'title' => ''], ], [ 'name' => 'UserName', 'in' => 'query', 'schema' => ['description' => 'The user name. Maximum length: 30 characters.', 'type' => 'string', 'example' => 'John', 'required' => false, 'title' => ''], ], [ 'name' => 'NickName', 'in' => 'query', 'schema' => ['description' => 'The nickname. Maximum length: 30 characters.', 'type' => 'string', 'example' => 'Nickname', 'required' => false, 'title' => ''], ], [ 'name' => 'Birthday', 'in' => 'query', 'schema' => ['description' => 'The birthday. Maximum length: 30 characters.', 'type' => 'string', 'required' => false, 'example' => '2000/01/01', 'title' => ''], ], [ 'name' => 'Gender', 'in' => 'query', 'schema' => ['description' => 'The gender. Maximum length: 30 characters.', 'type' => 'string', 'example' => 'Mr.', 'required' => false, 'title' => ''], ], [ 'name' => 'Mobile', 'in' => 'query', 'schema' => ['description' => 'The mobile number. Maximum length: 30 characters.', 'type' => 'string', 'required' => false, 'example' => '1380000****', 'title' => ''], ], [ 'name' => 'Email', 'in' => 'query', 'schema' => ['description' => 'The recipient email address. Maximum length: 60 characters.', 'type' => 'string', 'example' => 'Account+@+domain', 'required' => true, 'title' => ''], ], [ 'name' => 'TemplateParams', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'The custom parameters, formatted as a JSON string.', 'type' => 'string', 'example' => '{"age":"20","nickName":"tom"}', 'title' => '', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response data.', 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The unique ID for the request.', 'type' => 'string', 'example' => '10A1AD70-E48E-476D-98D9-39BD92193837', 'title' => ''], ], 'title' => '', 'example' => '', ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"10A1AD70-E48E-476D-98D9-39BD92193837\\"\\n}","type":"json"}]', 'title' => 'Send Test Email', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:SendTestByTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', ], 'SendValidateFile' => [ 'path' => '', 'methods' => ['post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'paid', 'tenantRelevance' => 'tenant'], 'parameters' => [ [ 'name' => 'FileUrl', 'in' => 'query', 'schema' => ['description' => 'The URL of the file that contains the list of email addresses.', 'type' => 'string', 'required' => true, 'isFileTransferUrl' => true, 'title' => '', 'example' => 'http://xxxx.oss-xxx.com/file.txt'], ], [ 'name' => 'FileName', 'in' => 'query', 'schema' => ['description' => 'The name of the file that contains the list of email addresses.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'file.txt'], ], [ 'name' => 'AddressColumn', 'in' => 'query', 'schema' => ['description' => 'The column that contains the email addresses in the file. The index starts from 1.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'title' => '', 'example' => '1'], ], [ 'name' => 'HasHeaderRow', 'in' => 'query', 'schema' => ['description' => 'Specifies whether the first row is a table header.', 'type' => 'boolean', 'required' => true, 'title' => '', 'example' => 'false'], ], [ 'name' => 'RemoveDuplicate', 'in' => 'query', 'schema' => ['description' => 'Specifies whether to remove duplicate email addresses in the output file.', 'type' => 'boolean', 'required' => true, 'title' => '', 'example' => 'true'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'title' => '', 'example' => 'xxxx-xxxx-xxxx-xxxx'], 'FileId' => ['description' => 'The ID of the file. Use this ID to query the results.', 'type' => 'string', 'title' => '', 'example' => 'yyyy-yyyy-yyyy-yyyy'], ], 'title' => '', 'description' => 'Schema of Response', 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'SendValidateFile', 'summary' => 'You can upload the list of addresses to be verified.', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:SendValidateFile', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxxx-xxxx-xxxx-xxxx\\",\\n \\"FileId\\": \\"yyyy-yyyy-yyyy-yyyy\\"\\n}","type":"json"}]', ], 'SenderStatisticsByTagNameAndBatchID' => [ 'methods' => ['get', 'post'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'AccountName', 'in' => 'query', 'schema' => ['description' => 'The sender address. If you do not specify this parameter, statistics for all sender addresses are returned.', 'type' => 'string', 'required' => false, 'example' => 'xxx', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The start time for the query. The date cannot be more than 30 days in the past. The format must be `YYYY-MM-DD`.', 'type' => 'string', 'required' => true, 'example' => '2019-09-29', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end time for the query. The time range between `StartTime` and `EndTime` cannot exceed 7 days. The format must be `YYYY-MM-DD`.', 'type' => 'string', 'required' => true, 'example' => '2019-09-29', 'title' => ''], ], [ 'name' => 'TagName', 'in' => 'query', 'schema' => ['description' => 'The email tag. If you do not specify this parameter, statistics for all tags are returned.', 'type' => 'string', 'required' => false, 'example' => 'xxx', 'title' => ''], ], [ 'name' => 'DedicatedIpPoolId', 'in' => 'query', 'schema' => ['description' => 'If you use Dedicated IPs, specify the ID of the dedicated IP pool to query.'."\n" ."\n" .'If you do not specify this parameter, statistics for all resources are returned.', 'type' => 'string', 'required' => false, 'example' => 'xxx', 'title' => ''], ], [ 'name' => 'DedicatedIp', 'in' => 'query', 'schema' => ['description' => 'If you use Dedicated IPs, use this parameter to filter statistics by a specific Dedicated IP.'."\n" ."\n" .'If you do not specify this parameter, statistics for all dedicated IPs that match the other criteria are returned.', 'type' => 'string', 'required' => false, 'example' => 'xxx.xxx.xxx.xxx'."\n", 'title' => ''], ], [ 'name' => 'Esp', 'in' => 'query', 'schema' => ['description' => 'If you use Dedicated IPs, use this parameter to filter statistics by a specific Email Service Provider (ESP). Valid values are:'."\n" ."\n" .'- `gmail.com`'."\n" ."\n" .'- `yahoo.com`'."\n" ."\n" .'- `outlook.com`'."\n" ."\n" .'- `icloud.com`'."\n" ."\n" .'- `others` (matches data for all other ESPs)'."\n" ."\n" .'If you do not specify this parameter, statistics for all ESPs are returned.', 'type' => 'string', 'required' => false, 'example' => 'gmail.com', 'title' => ''], ], [ 'name' => 'Domain', 'in' => 'query', 'schema' => ['type' => 'string', 'example' => 'dmdomain.com', 'description' => '', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'TotalCount' => ['description' => 'The total count of data records.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '10A1AD70-E48E-476D-98D9-39BD92193837', 'title' => ''], 'data' => [ 'itemNode' => true, 'type' => 'object', 'properties' => [ 'stat' => [ 'description' => 'An array of data records.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'unavailablePercent' => ['description' => 'The unavailable percentage.', 'type' => 'string', 'example' => '0%', 'title' => ''], 'CreateTime' => ['description' => 'The creation time of the data record.', 'type' => 'string', 'example' => '2025-03-02', 'title' => ''], 'succeededPercent' => ['description' => 'The success rate.', 'type' => 'string', 'example' => '100.00%', 'title' => ''], 'faildCount' => ['description' => 'The failed count.', 'type' => 'string', 'example' => '0', 'title' => ''], 'unavailableCount' => ['description' => 'The unavailable count.', 'type' => 'string', 'example' => '0', 'title' => ''], 'successCount' => ['description' => 'The success count.', 'type' => 'string', 'example' => '4', 'title' => ''], 'requestCount' => ['description' => 'The request count.', 'type' => 'string', 'example' => '4', 'title' => ''], ], 'description' => 'A single data record.', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => 'Contains the statistical data.', 'title' => '', 'example' => '', ], ], 'description' => 'The response object.', 'title' => '', 'example' => '', ], ], ], 'title' => 'Retrieve the send data under specified conditions.', 'summary' => 'Retrieves sending statistics that match specified criteria.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'dm:SenderStatisticsByTagNameAndBatchID', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"10A1AD70-E48E-476D-98D9-39BD92193837\\",\\n \\"data\\": {\\n \\"stat\\": [\\n {\\n \\"unavailablePercent\\": \\"0%\\",\\n \\"CreateTime\\": \\"2025-03-02\\",\\n \\"succeededPercent\\": \\"100.00%\\",\\n \\"faildCount\\": \\"0\\",\\n \\"unavailableCount\\": \\"0\\",\\n \\"successCount\\": \\"4\\",\\n \\"requestCount\\": \\"4\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'SenderStatisticsDetailByParam' => [ 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => ['operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'AccountName', 'in' => 'query', 'schema' => ['description' => 'The sender address. If you leave this parameter empty, emails from all sender addresses are queried.'."\n" ."\n" .'> You can leave **AccountName**, **TagName**, and **ToAddress** empty. You can specify a value for only one of these parameters at a time.', 'type' => 'string', 'required' => false, 'example' => 's***@example.net', 'title' => ''], ], [ 'name' => 'ToAddress', 'in' => 'query', 'schema' => ['description' => 'The recipient address. If you leave this parameter empty, emails sent to all recipient addresses are queried.', 'type' => 'string', 'required' => false, 'example' => 'b***@example.net', 'title' => ''], ], [ 'name' => 'Status', 'in' => 'query', 'schema' => ['description' => 'The delivery status. If you leave this parameter empty, emails in all delivery statuses are queried. Valid values:'."\n" ."\n" .'- 0: delivered successfully'."\n" ."\n" .'- 2: invalid address'."\n" ."\n" .'- 3: spam'."\n" ."\n" .'- 4: failed', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '4', 'minimum' => '0', 'example' => '0', 'title' => ''], ], [ 'name' => 'StartTime', 'in' => 'query', 'schema' => ['description' => 'The start time. The time range between the start time and the end time cannot exceed 30 days. The format is yyyy-MM-dd HH:mm.', 'type' => 'string', 'required' => false, 'example' => '2021-04-28 00:00', 'title' => ''], ], [ 'name' => 'EndTime', 'in' => 'query', 'schema' => ['description' => 'The end time. The time range between the start time and the end time cannot exceed 30 days. The format is yyyy-MM-dd HH:mm.', 'type' => 'string', 'required' => false, 'example' => '2021-04-29 00:00', 'title' => ''], ], [ 'name' => 'TagName', 'in' => 'query', 'schema' => ['description' => 'The email tag. If you leave this parameter empty, emails with all tags are queried.'."\n" .'When you send an email using SMTP, specify the \\`TagName\\` and its value for the \\`X-AliDM-Trace\\` field. For more information, see the examples for email tracking.', 'type' => 'string', 'required' => false, 'example' => 'EmailQuestionnaireHelioscam', 'title' => ''], ], [ 'name' => 'Length', 'in' => 'query', 'schema' => ['description' => 'The number of results to return. The value can range from 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'example' => '5', 'title' => ''], ], [ 'name' => 'NextStart', 'in' => 'query', 'schema' => ['description' => 'The offset for this request, used for paging. If more results are available, set the \\`NextStart\\` parameter in your next request to this return value.', 'type' => 'string', 'required' => false, 'example' => '90f0243616#203#a***@example.net-1658817837#a***@example.net.247475288187', 'title' => ''], ], [ 'name' => 'IpPoolId', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'The ID of the independent IP address pool.', 'type' => 'string', 'required' => false, 'example' => 'e42a4d8e-66e0-4ea3-88aa-74c66c661cef', 'title' => ''], ], [ 'name' => 'ConfigSetId', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => ['description' => 'The ID of the configuration set.', 'type' => 'string', 'required' => false, 'example' => '95437e39-5433-4c6c-8b66-0c4eac2f4d97', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'NextStart' => ['description' => 'Used for paging. If more results are available, set the \\`NextStart\\` parameter in your next request to this return value.', 'type' => 'string', 'example' => '90f0243616#203#a***@example.net-1658817689#a***@example.net.247141122178', 'title' => ''], 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B5AB8EBB-EE64-4BB2-B085-B92CC5DEDC41', 'title' => ''], 'data' => [ 'type' => 'object', 'itemNode' => true, 'properties' => [ 'mailDetail' => [ 'description' => 'The detailed records.', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ 'Status' => ['description' => 'The delivery status. 0: delivered successfully, 2: invalid address, 3: spam, 4: failed for other reasons.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], 'LastUpdateTime' => ['description' => 'The time when the status was last updated.', 'type' => 'string', 'example' => '2021-04-28T17:11Z', 'title' => ''], 'Message' => ['description' => 'The detailed information about the delivery.', 'type' => 'string', 'example' => '250 Send Mail OK', 'title' => ''], 'ToAddress' => ['description' => 'The recipient address.', 'type' => 'string', 'example' => 'b***@example.net', 'title' => ''], 'UtcLastUpdateTime' => ['description' => 'The time when the status was last updated, in UTC format.', 'type' => 'string', 'example' => '1619601108', 'title' => ''], 'AccountName' => ['description' => 'The sender address.', 'type' => 'string', 'example' => 's***@example.net', 'title' => ''], 'Subject' => ['description' => 'The email subject.', 'type' => 'string', 'example' => 'test subject', 'title' => ''], 'ErrorClassification' => ['description' => 'The detailed classification of the error:'."\n" ."\n" .'- SendOk: The email was delivered successfully.'."\n" ."\n" .'- SmtpNxBox: The recipient\'s email server determined that the address is invalid. The address is added to the invalid address list of your account.'."\n" ."\n" .'- SysOutRcptOnAccountLevelBounceList: The recipient address is in the invalid address list for your account. If you confirm that the address is valid, remove it from the list. You can also disable the invalid address list for your account.'."\n" ."\n" .'For more information about error descriptions, see [Explanations of common failed\\_type values](~~52048~~).', 'type' => 'string', 'example' => 'SendOk', 'title' => ''], 'IpPoolId' => ['description' => 'The ID of the independent IP address pool.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'IpPoolName' => ['description' => 'The name of the independent IP address pool.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'ConfigSetId' => ['description' => 'The ID of the configuration set.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], 'ConfigSetName' => ['description' => 'The name of the configuration set.', 'type' => 'string', 'example' => 'xxx', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Get Sending Details', 'summary' => 'Queries sending details.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'dm:SenderStatisticsDetailByParam', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextStart\\": \\"90f0243616#203#a***@example.net-1658817689#a***@example.net.247141122178\\",\\n \\"RequestId\\": \\"B5AB8EBB-EE64-4BB2-B085-B92CC5DEDC41\\",\\n \\"data\\": {\\n \\"mailDetail\\": [\\n {\\n \\"Status\\": 0,\\n \\"LastUpdateTime\\": \\"2021-04-28T17:11Z\\",\\n \\"Message\\": \\"250 Send Mail OK\\",\\n \\"ToAddress\\": \\"b***@example.net\\",\\n \\"UtcLastUpdateTime\\": \\"1619601108\\",\\n \\"AccountName\\": \\"s***@example.net\\",\\n \\"Subject\\": \\"test subject\\",\\n \\"ErrorClassification\\": \\"SendOk\\",\\n \\"IpPoolId\\": \\"xxx\\",\\n \\"IpPoolName\\": \\"xxx\\",\\n \\"ConfigSetId\\": \\"xxx\\",\\n \\"ConfigSetName\\": \\"xxx\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'SingleSendMail' => [ 'summary' => 'Send a single email.', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid'], 'parameters' => [ [ 'name' => 'AccountName', 'in' => 'formData', 'schema' => ['description' => 'The sender address configured in the Direct Mail console.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test***@example.net', 'title' => ''], ], [ 'name' => 'AddressType', 'in' => 'formData', 'schema' => ['description' => 'The address type. Valid values:'."\n" ."\n" .'`0`: A random account.'."\n" ."\n" .'`1`: A sender address.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'docRequired' => true, 'maximum' => '1', 'minimum' => '0', 'example' => '1', 'title' => ''], ], [ 'name' => 'TagName', 'in' => 'formData', 'schema' => ['description' => 'A tag for categorizing email batches, which you can create in the Direct Mail console. Tags allow you to query the sending status of each batch and are required if you enable email tracking. The tag must be 1 to 128 characters long and can contain letters, digits, underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ 'name' => 'ReplyToAddress', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to use the default reply-to address configured in the console. This address must be verified. Valid values: true, false.', 'type' => 'boolean', 'required' => true, 'docRequired' => true, 'example' => 'true', 'title' => ''], ], [ 'name' => 'ToAddress', 'in' => 'formData', 'schema' => ['description' => 'The destination email address(es). To specify multiple addresses, separate them with commas (up to 100).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'test1***@example.net', 'title' => ''], ], [ 'name' => 'Subject', 'in' => 'formData', 'schema' => ['description' => 'The subject of the email, with a maximum length of 256 characters.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'Subject', 'title' => ''], ], [ 'name' => 'HtmlBody', 'in' => 'formData', 'schema' => ['description' => 'The HTML body of the email.'."\n" ."\n" .'Note: You must specify either `HtmlBody` or `TextBody`.'."\n" ."\n" .'- The size of the body is limited to approximately 80 KB when passed as a URL parameter.'."\n" ."\n" .'- For recent SDKs (Java 1.4.0+, Python 3 1.4.0+, and PHP 1.4.0+), the request body is limited to approximately 8 MB.', 'type' => 'string', 'required' => false, 'example' => 'body', 'title' => ''], ], [ 'name' => 'TextBody', 'in' => 'formData', 'schema' => ['description' => 'The text body of the email.'."\n" ."\n" .'Note: You must specify either `HtmlBody` or `TextBody`.'."\n" ."\n" .'- The size of the body is limited to approximately 80 KB when passed as a URL parameter.'."\n" ."\n" .'- For recent SDKs (Java 1.4.0+, Python 3 1.4.0+, and PHP 1.4.0+), the request body is limited to approximately 8 MB.', 'type' => 'string', 'required' => false, 'example' => 'body', 'title' => ''], ], [ 'name' => 'FromAlias', 'in' => 'formData', 'schema' => ['description' => 'The sender name. It must be 15 characters or shorter.'."\n" ."\n" .'For example, if you set the sender name to "Xiaohong" and the sender address is `test***@example.net`, the recipient sees the sender as "Xiaohong" \\.', 'type' => 'string', 'example' => 'Jane', 'required' => false, 'title' => ''], ], [ 'name' => 'ReplyAddress', 'in' => 'formData', 'schema' => ['description' => 'The reply-to address.', 'type' => 'string', 'required' => false, 'example' => 'test2***@example.net', 'title' => ''], ], [ 'name' => 'ReplyAddressAlias', 'in' => 'formData', 'schema' => ['description' => 'The name displayed for the reply-to address.', 'type' => 'string', 'example' => 'Jane', 'required' => false, 'title' => ''], ], [ 'name' => 'ClickTrace', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to enable click tracking. Valid values: `"1"` enables click tracking, and `"0"` disables it (default).', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], ], [ 'name' => 'UnSubscribeLinkType', 'in' => 'formData', 'schema' => ['description' => '`disabled`: Does not generate an unsubscribe link.'."\n" ."\n" .'`default`: Uses the default policy. For batch sender addresses, an unsubscribe link is generated when sending to specific domains containing keywords such as "gmail", "yahoo",'."\n" ."\n" .'"google", "aol.com", "hotmail",'."\n" ."\n" .'"outlook", and "ymail.com". For more information, see [Unsubscribe link generation and filtering mechanism](~~2689048~~).'."\n" ."\n" .'The display language is automatically determined based on the recipient\'s browser settings.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], ], [ 'name' => 'UnSubscribeFilterLevel', 'in' => 'formData', 'schema' => ['description' => 'The filtering level. For more information, see [Unsubscribe link generation and filtering mechanism](~~2689048~~).'."\n" ."\n" .'`disabled`: No filtering.'."\n" ."\n" .'`default`: Uses the default policy. For batch addresses, filtering is applied at the sender address level.'."\n" ."\n" .'`mailfrom`: Filters at the sender address level.'."\n" ."\n" .'`mailfrom_domain`: Filters at the sender domain level.'."\n" ."\n" .'`edm_id`: Filters at the account level.', 'type' => 'string', 'required' => false, 'example' => 'mailfrom_domain', 'title' => ''], ], [ 'name' => 'Headers', 'in' => 'formData', 'schema' => ['description' => 'Custom email header settings.'."\n" ."\n" .'Both standard and non-standard fields must comply with standard header syntax. You can specify up to 10 headers for an API call. Excess headers are ignored. This limit does not apply to SMTP.'."\n" ."\n" .'1\\. Standard fields'."\n" ."\n" .'`Message-ID`, `List-Unsubscribe`, `List-Unsubscribe-Post`'."\n" ."\n" .'Standard fields overwrite existing values in the email header.'."\n" ."\n" .'2\\. Non-standard fields'."\n" ."\n" .'Case-insensitive.'."\n" ."\n" .'a. Fields starting with `X-User-`: These are not pushed to EventBridge or Message Service (MNS). This prefix is required only for API calls, not for SMTP.'."\n" ."\n" .'b. Fields starting with `X-User-Notify-`: These are pushed to EventBridge and MNS. This is supported for both API and SMTP calls.'."\n" ."\n" .'When pushed to EventBridge or MNS, the header object will contain these fields.', 'type' => 'string', 'isFileTransferUrl' => false, 'required' => false, 'example' => '{'."\n" .' "Message-ID": "",'."\n" .' "X-User-UID1": "UID-1-000001",'."\n" .' "X-User-UID2": "UID-2-000001",'."\n" .' "X-User-Notify-UID1": "UID-3-000001",'."\n" .' "X-User-Notify-UID2": "UID-4-000001"'."\n" .' '."\n" .'}', 'title' => ''], ], [ 'name' => 'IpPoolId', 'in' => 'formData', 'schema' => ['description' => 'The ID of the dedicated IP pool. If you have purchased dedicated IPs, you can use this parameter to select which dedicated IP pool to use for sending the email. For more information, see [Dedicated IP](~~2932088~~).', 'type' => 'string', 'required' => false, 'example' => 'e4xxxxxe-4xx0-4xx3-8xxa-74cxxxxx1cef', 'title' => ''], ], [ 'name' => 'Attachments', 'in' => 'formData', 'style' => 'repeatList', 'schema' => [ 'description' => 'This feature is available only through the latest SDKs. It is not supported for OpenAPI calls or signature-based authentication. For more information, see [How do I send an email with an attachment by using an SDK?](~~2937843~~).', 'type' => 'array', 'items' => [ 'description' => 'An object representing a single attachment.', 'type' => 'object', 'properties' => [ 'AttachmentName' => ['description' => 'The filename of the attachment.', 'type' => 'string', 'isFileTransferUrl' => false, 'required' => false, 'example' => 'test.txt', 'title' => ''], 'AttachmentUrl' => ['description' => 'The local file path of the attachment that the SDK will use.', 'type' => 'string', 'isFileTransferUrl' => true, 'required' => false, 'example' => 'C:\\Users\\Downloads\\test.txt', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], 'required' => false, 'maxItems' => 100, 'title' => '', 'example' => '', ], ], [ 'name' => 'Template', 'in' => 'formData', 'style' => 'json', 'schema' => [ 'type' => 'object', 'properties' => [ 'TemplateId' => ['description' => 'The template ID.', 'type' => 'string', 'required' => false, 'example' => 'xxx', 'title' => ''], 'TemplateData' => [ 'type' => 'object', 'additionalProperties' => ['description' => 'The parameters and values of the template variables.', 'type' => 'string', 'title' => '', 'example' => '{ "name": "Tom", "age": "22" }'], 'title' => '', 'description' => 'The variables and their values for the template.', 'required' => false, 'example' => '', ], ], 'title' => '', 'description' => 'The template information for sending a templated email.', 'required' => false, 'example' => '', ], ], [ 'name' => 'BccAddress', 'in' => 'formData', 'schema' => ['description' => '- A comma-separated list of BCC recipients.'."\n" ."\n" .'- The system sends a copy of the email to each BCC recipient. The BCC information is hidden from all recipients, including those specified in `ToAddress` and `BccAddress`.'."\n" ."\n" .'- To protect privacy, email tracking features (such as open and click tracking) are disabled for emails sent to BCC recipients. However, billing and sending status are still tracked.'."\n" ."\n" .'- A maximum of two BCC recipients are allowed per request.'."\n" ."\n" .'Note: The `SingleSendMail` API operation does not support a CC field. To send carbon copies, use SMTP.', 'type' => 'string', 'example' => '1@example.com,2@example.com', 'title' => '', 'required' => false], ], [ 'name' => 'DomainAuth', 'in' => 'formData', 'schema' => ['description' => 'Specifies whether to enable domain-level authentication.'."\n" ."\n" .'- `true`'."\n" ."\n" .'- `false`'."\n" ."\n" .'This parameter is used only for domain-level authentication. Ignore it for sender address-level authentication.'."\n" ."\n" .'1\\. Create the address `domain-auth-created-by-system@example.com` in the console. The prefix must be fixed, and the suffix must be your domain.'."\n" ."\n" .'2\\.'."\n" ."\n" .'**API scenario**'."\n" ."\n" .'Set `AccountName` to your domain. Recipients will see the sender as `domain-auth-created-by-system@example.com`.'."\n" ."\n" .'**SMTP scenario**'."\n" ."\n" .'a. Call the `ModifyPWByDomain` API operation to set a password for the domain.'."\n" ."\n" .'b. Authenticate with the domain and the configured password. Pass a custom address, such as `user@example.com`, as the actual sender in the `MAIL FROM` command. Recipients will see `user@example.com` as the sender.', 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'EnvId' => ['description' => 'Event ID.', 'type' => 'string', 'example' => '600000xxxxxxxxxx642', 'title' => ''], 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '2D086F6-xxxx-xxxx-xxxx-006DED011A85', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'InvalidReceiverName.Malformed', 'errorMessage' => 'The format of the receiver name is invalid. It must contain the @ sign. The domain must only contain numbers, letters, underscores, minus signs, and periods. The account name must only contain numbers, letters, underscores, minus signs, and periods.', 'description' => 'The format of the receiver name is invalid. It must contain the @ sign. The domain must only contain numbers, letters, underscores, minus signs, and periods. The account name must only contain numbers, letters, underscores, minus signs, and periods.'], ], 404 => [ ['errorCode' => 'InvalidMailAddress.NotFound', 'errorMessage' => 'The specified mail address is not found.', 'description' => 'The specified mail address is not found.'], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"EnvId\\": \\"600000xxxxxxxxxx642\\",\\n \\"RequestId\\": \\"2D086F6-xxxx-xxxx-xxxx-006DED011A85\\"\\n}","type":"json"}]', 'title' => 'Send a Single Email', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:SingleSendMail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'translator' => 'machine', ], 'UnblockSending' => [ 'summary' => 'Removes sending restrictions caused by unsubscribes or complaints.', 'path' => '', 'methods' => ['post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free'], 'parameters' => [ [ 'name' => 'SenderEmail', 'in' => 'query', 'schema' => ['description' => 'The sender address.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'sender@xxx.com'], ], [ 'name' => 'BlockEmail', 'in' => 'query', 'schema' => ['description' => 'The blacklisted recipient address.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => 'recipient@yyy.com'], ], [ 'name' => 'BlockType', 'in' => 'query', 'schema' => [ 'description' => 'The blacklist type.'."\n" ."\n" .'- UNSUB: Unsubscribe'."\n" ."\n" .'- REPORT: Complaint', 'type' => 'string', 'required' => true, 'enum' => ['UNSUB', 'REPORT'], 'title' => '', 'example' => 'UNSUB', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'The schema of the return value.', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '10A1AD70-E48E-476D-98D9-39BD92193837'], ], 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ ['errorCode' => 'IdempotentParameterMismatch', 'errorMessage' => 'The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"10A1AD70-E48E-476D-98D9-39BD92193837\\"\\n}","type":"json"}]', 'title' => 'Lift Sending Restrictions', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dm:UnblockSending', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'UpdateIpProtection' => [ 'summary' => 'Update IP Protection API', 'methods' => ['post', 'get'], 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => ['operationType' => 'update'], 'parameters' => [ [ 'name' => 'IpProtection', 'in' => 'query', 'schema' => ['description' => 'IP protection switch, On: 1 Off: 0', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '0', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'type' => 'object', 'properties' => [ 'RequestId' => ['description' => 'Request ID', 'type' => 'string', 'example' => 'B653A6FC-D1AD-5936-A262-F50994ED2574', 'title' => ''], ], 'description' => '', 'title' => '', 'example' => '', ], ], ], 'title' => 'Enable or Disable IP Protection Function', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'dm:UpdateIpProtection', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B653A6FC-D1AD-5936-A262-F50994ED2574\\"\\n}","type":"json"}]', ], 'UpdateUser' => [ 'summary' => 'Update account information', 'methods' => ['post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'deprecated' => false, 'systemTags' => ['operationType' => 'none'], 'parameters' => [ [ 'name' => 'User', 'in' => 'formData', 'style' => 'json', 'schema' => [ 'description' => 'User Information', 'type' => 'object', 'properties' => [ 'EnableEventbridge' => ['description' => 'Whether EventBridge is enabled', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], 'required' => false, 'title' => '', 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '7BC346F6-1092-5852-B6E2-CCE2E5AAE51F'], ], 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7BC346F6-1092-5852-B6E2-CCE2E5AAE51F\\"\\n}","type":"json"}]', 'title' => 'Update user information', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:UpdateUser', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], ], 'ValidateEmail' => [ 'summary' => 'Validate an email address.', 'path' => '', 'methods' => ['post'], 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => ['operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'paid'], 'parameters' => [ [ 'name' => 'Email', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'The email address to validate', 'type' => 'string', 'required' => true, 'example' => 'xxx@yyy.com'], ], [ 'name' => 'Timeout', 'in' => 'query', 'schema' => ['description' => 'Timeout period. Default value: 60 seconds.', 'type' => 'integer', 'format' => 'int64', 'default' => '60', 'required' => false, 'example' => '20', 'title' => ''], ], [ 'name' => 'CheckGraylist', 'in' => 'query', 'schema' => ['title' => '', 'description' => 'Specifies whether to check the graylist. Default value: false. Results will be sent as asynchronous notifications through EventBridge.', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'ProbeType', 'in' => 'query', 'allowEmptyValue' => true, 'schema' => [ 'description' => 'The detection type:'."\n" ."\n" .'- FULL: Enables all detection capabilities, including SMTP probing. Since SMTP probing involves remote connections, the overall latency is higher. This is suitable for scenarios that are not sensitive to response time. Each detection consumes 1 address validation quota.'."\n" .'- BASIC_ONLY: Enables all detection capabilities except SMTP probing, with low latency. This is suitable for scenarios sensitive to response time, such as real-time validation during registration to check whether an email address is a disposable email or an abnormal address such as MX forwarding, to defend against mass registration by malicious actors. Each detection consumes 1/3 of an address validation quota.', 'type' => 'string', 'default' => 'FULL', 'enum' => ['FULL', 'BASIC_ONLY'], 'required' => false, 'example' => 'FULL', 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => '', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ 'RequestId' => ['title' => '', 'description' => 'Request ID', 'type' => 'string', 'example' => 'xxxx-xxxx-xxxx-xxxx'], 'Status' => [ 'title' => '', 'description' => 'The email address status obtained from validation', 'enumValueTitles' => ['VALID' => 'Valid address', 'CATCHALL' => 'CatchAll address, indicating the domain accepts emails sent to all non-existent mailbox addresses under this domain', 'UNKNOWN' => 'Unknown status address', 'INVALID' => 'Invalid address', 'DONOTMAIL' => 'Abnormal address, can be excluded in marketing scenarios'], 'type' => 'string', 'required' => true, 'example' => 'VALID', ], 'SubStatus' => [ 'title' => '', 'description' => 'The email address sub-status obtained from validation, which provides a detailed description of the status', 'enumValueTitles' => [ 'NO_DNS_ENTRIES' => 'Invalid address, no DNS records', 'MISSPELLED' => 'Invalid address, misspelled', 'DOES_NOT_ACCEPT_MAIL' => 'Invalid address, the mail server does not accept mail', 'MAILBOX_NOT_EXISTS' => 'Invalid address, the mailbox does not exist', 'SYSTEM_ERROR' => 'Unknown status, system error', 'MX_FORWARD' => 'Abnormal address, MX forwarding', 'SYNTAX_INVALID' => 'Invalid address, syntax error', 'ROLE_ACCOUNT' => 'Abnormal address, role account, such as role@, info@, contact@, etc.', 'SMTP_CONNECT_FAILED' => 'Unknown status, failed to connect to the remote SMTP server', 'DISABLED' => 'Invalid address, the mailbox has been disabled', 'UNSPECIFIED' => 'Unspecified, may be returned for Valid, CatchAll, or Unknown status', 'IP_UNROUTABLE' => 'Invalid address, the mail server IP is unreachable', 'GRAY_LIST' => 'Unknown status, graylist', 'MAILBOX_FULL' => 'Invalid address, the mailbox is full', 'DISPOSABLE' => 'Abnormal address, disposable email, blocklist', 'TIMEOUT_EXCEEDED' => 'Unknown status, exceeded the specified timeout', ], 'type' => 'string', 'required' => true, 'example' => 'UNSPECIFIED', ], 'Provider' => [ 'title' => '', 'description' => 'Email provider classification of the address', 'enumValueTitles' => [ 'Others' => 'Others', 'Yahoo' => 'Yahoo', 'Gmx' => 'Gmx', 'MailDotCom' => 'MailDotCom', 'Tencent' => 'Tencent', 'Gmail' => 'Gmail', 'Outlook' => 'Outlook', 'Zoho' => 'Zoho', 'Proton' => 'Proton', 'Netease' => 'Netease', 'Icloud' => 'Icloud', 'Webde' => 'Webde', ], 'type' => 'string', 'example' => 'Gmail', ], 'IsFreeMail' => [ 'title' => '', 'description' => 'Indicates whether the address is a free email', 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'type' => 'boolean', 'example' => 'true', ], 'LocalPart' => ['title' => '', 'description' => 'The local part of the email address parsed from syntax validation (lowercased with the plus sign portion removed)', 'type' => 'string', 'example' => 'xxx'], 'DomainPart' => ['title' => '', 'description' => 'The domain part of the email address parsed from syntax validation (lowercased)', 'type' => 'string', 'example' => 'yyy.com'], ], 'example' => '', ], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => 'ValidateEmail', 'changeSet' => [], 'ramActions' => [ [ 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:ValidateEmail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxxx-xxxx-xxxx-xxxx\\",\\n \\"Status\\": \\"VALID\\",\\n \\"SubStatus\\": \\"UNSPECIFIED\\",\\n \\"Provider\\": \\"Gmail\\",\\n \\"IsFreeMail\\": true,\\n \\"LocalPart\\": \\"xxx\\",\\n \\"DomainPart\\": \\"yyy.com\\"\\n}","type":"json"}]', ], ], 'endpoints' => [ ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dm.ap-southeast-1.aliyuncs.com', 'endpoint' => 'dm.ap-southeast-1.aliyuncs.com', 'vpc' => 'dm-vpc.ap-southeast-1.aliyuncs.com'], ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'dm.aliyuncs.com', 'endpoint' => 'dm.aliyuncs.com', 'vpc' => 'dm-vpc.cn-hangzhou.aliyuncs.com'], ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'dm.us-east-1.aliyuncs.com', 'endpoint' => 'dm.us-east-1.aliyuncs.com', 'vpc' => 'dm-vpc.us-east-1.aliyuncs.com'], ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'dm.eu-central-1.aliyuncs.com', 'endpoint' => 'dm.eu-central-1.aliyuncs.com', 'vpc' => 'dm-vpc.eu-central-1.aliyuncs.com'], ], 'errorCodes' => [ ['code' => 'Abs.InvalidNetworkType.NotFound', 'message' => 'The specified InstanceNetworkType is not found.', 'http_code' => 404, 'description' => 'The specified InstanceNetworkType is not found.'], ['code' => 'AvailableSubDomain.GetFailed', 'message' => 'Failed to get the available subdomain name.', 'http_code' => 400, 'description' => 'Failed to get the available subdomain name.'], ['code' => 'AvailableSubDomain.Limit', 'message' => 'The maximum number of available subdomain specifying prefixes is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of available subdomain specifying prefixes is exceeded.'], ['code' => 'CheckDomain.Failed', 'message' => 'Domain check failed.', 'http_code' => 400, 'description' => 'Domain check failed.'], ['code' => 'EmailFormatError', 'message' => 'The Email format is invalid. It must only contain numbers, letters, underscores, minus sign, plus sign, and period.', 'http_code' => 400, 'description' => 'The Email format is invalid. It must only contain numbers, letters, underscores, minus sign, plus sign, and period.'], ['code' => 'EmailLengthError', 'message' => 'The maximum length of Email is 192 characters.', 'http_code' => 400, 'description' => 'The maximum length of Email is 192 characters.'], ['code' => 'FastConfigFlow.Create.Failed', 'message' => 'Failed to create the quick configuration flow.', 'http_code' => 400, 'description' => 'Failed to create the quick configuration flow.'], ['code' => 'FastConfigFlow.Exist', 'message' => 'The specified quick configuration flow already exists.', 'http_code' => 400, 'description' => 'The specified quick configuration flow already exists.'], ['code' => 'FastConfigFlow.NotFound', 'message' => 'The specified quick configuration flow is not found.', 'http_code' => 400, 'description' => 'The specified quick configuration flow is not found.'], ['code' => 'Forbidden', 'message' => 'The user is not authorized to operate on the specified resource.', 'http_code' => 400, 'description' => 'The user is not authorized to operate on the specified resource.'], ['code' => 'InternalServiceError', 'message' => 'Failed to call the internal service. Please try again later.', 'http_code' => 500, 'description' => 'Failed to access the internal service. Please try again later.'], ['code' => 'InvalidAddress.Locked', 'message' => 'The specified address is already locked.', 'http_code' => 400, 'description' => 'The specified address is already locked.'], ['code' => 'InvalidAddress.NotFound', 'message' => 'The invalid address is not in the invalid address database.', 'http_code' => 400, 'description' => 'The invalid address is not in the invalid address database.'], ['code' => 'InvalidAddressNumber.Malformed', 'message' => 'The maximum number of invalid addresses is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of invalid addresses is exceeded.'], ['code' => 'InvalidAuth.Malformed', 'message' => 'The specified auth is invalid.', 'http_code' => 400, 'description' => 'The specified auth is invalid.'], ['code' => 'InvalidBeginTime.Malformed', 'message' => 'The interval between start time and current time should be less than 30 days.', 'http_code' => 400, 'description' => 'The interval between the start time and the end time must be shorter than 30 days.'], ['code' => 'InvalidBetweenTime.Malformed', 'message' => 'The start time must be at least seven days earlier than the end time.', 'http_code' => 400, 'description' => 'The start time must be at least seven days earlier than the end time.'], ['code' => 'InvalidBody', 'message' => 'The format of the specified textBody or htmlBody is invalid.', 'http_code' => 400, 'description' => 'The format of the specified textBody or htmlBody is invalid.'], ['code' => 'InvalidDate.Malformed', 'message' => 'The specified date is invalid.', 'http_code' => 400, 'description' => 'The specified date is invalid.'], ['code' => 'InvalidDate.NotFound', 'message' => 'The specified date does not exist.', 'http_code' => 404, 'description' => 'The specified date does not exist.'], ['code' => 'InvalidDayu.Malformed', 'message' => 'The specified template type is invalid.', 'http_code' => 400, 'description' => 'The specified template type is invalid.'], ['code' => 'InvalidDayuParamString.Malformed', 'message' => 'The maximum length of paramString is exceeded.', 'http_code' => 400, 'description' => 'The maximum length of paramString is exceeded.'], ['code' => 'InvalidDayuStatus.Malformed', 'message' => 'The Dayu status is invalid.', 'http_code' => 400, 'description' => 'The Dayu status is invalid.'], ['code' => 'InvalidDkimSelector.Malformed', 'message' => 'The specified dkim selector is wrongly formed.', 'http_code' => 400, 'description' => 'The selector for dkim is not in the correct format.'], ['code' => 'InvalidDomain.Malformed', 'message' => 'The specified domain is invalid.', 'http_code' => 400, 'description' => 'The specified domain is invalid.'], ['code' => 'InvalidDomain.NotFound', 'message' => 'The specified domain does not exist.', 'http_code' => 404, 'description' => 'The specified domain does not exist.'], ['code' => 'InvalidDomain.Using', 'message' => 'The specified domain has been used to create another sender address.', 'http_code' => 400, 'description' => 'The specified domain has been used to create another sender address.'], ['code' => 'InvalidDomainId.Malformed', 'message' => 'The specified domain ID does not exist.', 'http_code' => 404, 'description' => 'The specified domain ID does not exist.'], ['code' => 'InvalidDomainId.NotFound', 'message' => 'The specified domainId is not found.', 'http_code' => 404, 'description' => 'The specified domainId is not found.'], ['code' => 'InvalidDomainMail.Malformed', 'message' => 'The specified domainId and mailId are invalid.', 'http_code' => 400, 'description' => 'The specified domainId and mailId are invalid.'], ['code' => 'InvalidDomainName.Conflict', 'message' => 'The specified domain name is in use.', 'http_code' => 400, 'description' => 'The specified domain name is in use.'], ['code' => 'InvalidDomainName.Duplicate', 'message' => 'The specified domain name already exists.', 'http_code' => 400, 'description' => 'The specified domain name already exists.'], ['code' => 'InvalidDomainName.DuplicateTLD', 'message' => 'The top-level domain of the specified domain name already exists.', 'http_code' => 400, 'description' => 'The top-level domain of the specified domain name already exists.'], ['code' => 'InvalidDomainName.Malformed', 'message' => 'The specified domain name is invalid.', 'http_code' => 400, 'description' => 'The specified domain name is invalid.'], ['code' => 'InvalidDomainNumber.Malformed', 'message' => 'The maximum number of domains is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of domains is exceeded.'], ['code' => 'InvalidDomainPassword.EqualCurrent', 'message' => 'The password must be different from the current password.', 'http_code' => 400, 'description' => 'The password must be different from the current password.'], ['code' => 'InvalidDomainPassword.Malformed', 'message' => 'The specified domain password is incorrect.', 'http_code' => 400, 'description' => 'The specified domain password is incorrect.'], ['code' => 'InvalidDomainStatus.Malformed', 'message' => 'The specified domain status is invalid.', 'http_code' => 400, 'description' => 'The specified domain status is invalid.'], ['code' => 'InvalidFlowType.Malformed', 'message' => 'The specified flowType is invalid.', 'http_code' => 400, 'description' => 'The specified flowType is invalid.'], ['code' => 'InvalidFromAlias.Malformed', 'message' => 'The specified fromAlias is invalid. The length must not exceed 15 characters.', 'http_code' => 400, 'description' => 'The specified fromAlias is invalid. The length must not exceed 15 characters.'], ['code' => 'InvalidHtmlBodyPlaceHolderKey.Malformed', 'message' => 'The HTML body placeholder must start with user Defined.', 'http_code' => 400, 'description' => 'Placeholder key must start with userDefined_'], ['code' => 'InvalidIntervalTime.Malformed', 'message' => 'The interval between start time and end time should be less than 15 days.', 'http_code' => 400, 'description' => 'The interval between the start time and the end time must be shorter than 15 days.'], ['code' => 'InvalidIP.NotFound', 'message' => 'The specified IP address is invalid.', 'http_code' => 404, 'description' => 'The specified IP address is invalid.'], ['code' => 'InvalidKeyword.Malformed', 'message' => 'The specified keyword is invalid.', 'http_code' => 400, 'description' => 'The specified keyword is invalid.'], ['code' => 'InvalidMail.Malformed', 'message' => 'The specified mail is invalid.', 'http_code' => 400, 'description' => 'The specified mail is invalid.'], ['code' => 'InvalidMailAddress.DeleteTimes', 'message' => 'The maximum number of delete times is exceeded. Please try again in the next calendar month.', 'http_code' => 400, 'description' => 'The maximum number of delete times is exceeded. Please try again in the next calendar month.'], ['code' => 'InvalidMailAddress.DelteTimes', 'message' => 'The maximum number of delete times is exceeded. Please try again in the next calendar month.', 'http_code' => 400, 'description' => 'The maximum number of delete times is exceeded.'], ['code' => 'InvalidMailAddress.NotFound', 'message' => 'The specified mail address is not found.', 'http_code' => 404, 'description' => 'The specified mail address is not found.'], ['code' => 'InvalidMailAddressDomain.Malformed', 'message' => 'The format of the specified mail address domain is invalid. It must only contain numbers, letters, underscores, minus signs, and periods.', 'http_code' => 400, 'description' => 'The format of the specified mail address domain is invalid. It must only contain numbers, letters, underscores, minus signs, and periods.'], ['code' => 'InvalidMailAddressDomainStatus.Malformed', 'message' => 'The status of the specified mail address domain is invalid.', 'http_code' => 400, 'description' => 'The status of the specified mail address domain is invalid.'], ['code' => 'InvalidMailAddressId.Malformed', 'message' => 'The specified sender address ID does not exist.', 'http_code' => 404, 'description' => 'The specified sender address ID does not exist.'], ['code' => 'InvalidMailAddressName.Duplicate', 'message' => 'The specified email address already exists. Please change to another one.', 'http_code' => 400, 'description' => 'The specified email address already exists. Please change to another one.'], ['code' => 'InvalidMailAddressName.Malformed', 'message' => 'The specified MailAddress name is wrongly formed.', 'http_code' => null, 'description' => 'The specified sender address is invalid. It must contain the @ sign. The domain must consist of numbers, letters, underscores, minus signs, and periods. The account name must consist of numbers, letters, underscores, minus signs, and periods.'], ['code' => 'InvalidMailAddressName.Malformed', 'message' => 'The specified account name is invalid. It must only contain numbers, letters, underscores, minus signs, plus signs, and periods.', 'http_code' => 400, 'description' => 'The specified account name is invalid. It must only contain numbers, letters, underscores, minus signs, plus signs, and periods.'], ['code' => 'InvalidMailAddressNumber.Malformed', 'message' => 'The maximum number of sender addresses is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of sender addresses is exceeded.'], ['code' => 'InvalidMailAddressPassword.EqualCurrent', 'message' => 'The password must be different from the current password.', 'http_code' => 400, 'description' => 'The password must be different from the current password.'], ['code' => 'InvalidMailAddressPassword.Malformed', 'message' => 'The format of the specified mail address password is invalid.', 'http_code' => 400, 'description' => 'The format of the specified mail address password is invalid.'], ['code' => 'InvalidMailAddressReplyName.Malformed', 'message' => 'The reply address set by the sender address is invalid.', 'http_code' => 404, 'description' => 'The reply address set by the sender address is invalid.'], ['code' => 'InvalidMailAddressSendType.Malformed', 'message' => 'The specified send type is invalid.', 'http_code' => 400, 'description' => 'The specified send type is invalid.'], ['code' => 'InvalidMailAddressStatus.Malformed', 'message' => 'The status of the sender address is invalid.', 'http_code' => 400, 'description' => 'The status of the sender address is invalid.'], ['code' => 'InvalidMailAddressTicket.Malformed', 'message' => 'No ticket exists under the specified mail address.', 'http_code' => 404, 'description' => 'No ticket exists under the specified mail address.'], ['code' => 'InvalidNode.Malformed', 'message' => 'The specified node is invalid.', 'http_code' => 400, 'description' => 'The specified node is invalid.'], ['code' => 'InvalidNotifyUrl.Malformed', 'message' => 'The specified notifyUrl is invalid.', 'http_code' => 400, 'description' => 'The specified notifyUrl is invalid.'], ['code' => 'InvalidParameter', 'message' => 'You must specify the parameter. Please check the API documentation.', 'http_code' => 400, 'description' => 'You must specify the parameter. Please check the API documentation.'], ['code' => 'InvalidParamString.Malformed', 'message' => 'The specified paramString is invalid.', 'http_code' => 400, 'description' => 'The specified paramString is invalid.'], ['code' => 'InvalidParamStringTemplate.Malformed', 'message' => 'The specified paramString and template are invalid.', 'http_code' => 400, 'description' => 'The specified paramString and template are invalid.'], ['code' => 'InvalidQuota', 'message' => 'The mail sending quota is exceeded.', 'http_code' => 400, 'description' => 'The mail sending quota is exceeded. If your sending volume is over 90% of the daily quota, and if the percentage of invalid addresses is lower than 5%, you may submit a ticket to raise the quota.'], ['code' => 'InvalidQuotaLevel', 'message' => 'The format of credit rating is invalid.', 'http_code' => 400, 'description' => 'The format of credit rating is invalid.'], ['code' => 'InvalidReceiver.NotFound', 'message' => 'The specified receiver is invalid.', 'http_code' => 404, 'description' => 'The specified receiver is invalid.'], ['code' => 'InvalidReceiverAlias.Duplicate', 'message' => 'The specified receiverAlias already exists.', 'http_code' => 400, 'description' => 'The specified receiverAlias already exists.'], ['code' => 'InvalidReceiverAlias.Malformed', 'message' => 'The specified receiverAlias is invalid.', 'http_code' => 400, 'description' => 'The specified receiverAlias is invalid.'], ['code' => 'InvalidReceiverDesc.Malformed', 'message' => 'The specified receiverDesc is invalid.', 'http_code' => 400, 'description' => 'The specified receiverDesc is invalid.'], ['code' => 'InvalidReceiverDetail.Malformed', 'message' => 'The specified receiver detail is invalid.', 'http_code' => 400, 'description' => 'The specified receiver detail is invalid.'], ['code' => 'InvalidReceiverDetail.Spam', 'message' => 'The email that was sent to the specified address in the receiver detail is rejected by spam filter.', 'http_code' => 400, 'description' => 'The email that was sent to the specified address in the receiver detail is rejected by spam filter.'], ['code' => 'InvalidReceiverDetailMax.Malformed', 'message' => 'The maximum number of addresses in the receiver detail is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of addresses in the receiver detail is exceeded.'], ['code' => 'InvalidReceiverDetatil.NotFound', 'message' => 'The specified address is not found in the receiver detail.', 'http_code' => 404, 'description' => 'The specified address is not found in the receiver detail.'], ['code' => 'InvalidReceiverEmail.Malformed', 'message' => 'The specified receiver email address is invalid.', 'http_code' => 400, 'description' => 'The specified receiver email address is invalid.'], ['code' => 'InvalidReceiverId.Malformed', 'message' => 'The specified recipient list ID does not exist.', 'http_code' => 404, 'description' => 'The specified recipient list ID does not exist.'], ['code' => 'InvalidReceiverName.Duplicate', 'message' => 'The specified recipient list name already exists.', 'http_code' => 400, 'description' => 'The specified recipient list name already exists.'], ['code' => 'InvalidReceiverName.Malformed', 'message' => 'The format of the receiver name is invalid. It must contain the @ sign. The domain must only contain numbers, letters, underscores, minus signs, and periods. The account name must only contain numbers, letters, underscores, minus signs, and periods.', 'http_code' => 400, 'description' => 'The format of the receiver name is invalid. It must contain the @ sign. The domain must only contain numbers, letters, underscores, minus signs, and periods. The account name must only contain numbers, letters, underscores, minus signs, and periods.'], ['code' => 'InvalidReceiverNumber.Malformed', 'message' => 'The maximum number of receivers is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of receivers is exceeded.'], ['code' => 'InvalidReceiverStatus.Malformed', 'message' => 'The specified receiver status is invalid. Please check whether a receiver is uploaded on the console.', 'http_code' => 400, 'description' => 'The specified receiver status is invalid. Please check whether a receiver is uploaded on the console.'], ['code' => 'InvalidRecNum.Malformed', 'message' => 'The specified recNum is invalid.', 'http_code' => 400, 'description' => 'The specified recNum is invalid.'], ['code' => 'InvalidReplyAddress.Malformed', 'message' => 'The specified replyAddress is invalid. It must contain the @ sign. The domain must consist of numbers, letters, underscores, minus signs, and periods. The account name must consist of numbers, letters, underscores, minus signs, and periods.', 'http_code' => 400, 'description' => 'The specified replyAddress is invalid. It must contain the @ sign. The domain must consist of numbers, letters, underscores, minus signs, and periods. The account name must consist of numbers, letters, underscores, minus signs, and periods.'], ['code' => 'InvalidReplyAddressAlias.Malformed', 'message' => 'The format of the specified replyAddressAlias is invalid. The length must not exceed 15 characters.', 'http_code' => 400, 'description' => 'The format of the specified replyAddressAlias is invalid. The length must not exceed 15 characters.'], ['code' => 'InvalidSendMail.Spam', 'message' => 'The email you sent was rejected by spam filter.', 'http_code' => 400, 'description' => 'The email you sent was rejected by spam filter.'], ['code' => 'InvalidSendSms', 'message' => 'The frequency limit is exceeded.', 'http_code' => 400, 'description' => 'The frequency limit is exceeded.'], ['code' => 'InvalidSign.NotFound', 'message' => 'The specified signature is not found.', 'http_code' => 400, 'description' => 'The specified signature is not found.'], ['code' => 'InvalidSignFileNames.Malformed', 'message' => 'The specified signature file is not found.', 'http_code' => 404, 'description' => 'The specified signature file is not found.'], ['code' => 'InvalidSignName.Duplicate', 'message' => 'The specified signature already exists.', 'http_code' => 400, 'description' => 'The specified signature already exists.'], ['code' => 'InvalidSignName.Malformed', 'message' => 'The specified signature is invalid.', 'http_code' => 400, 'description' => 'The specified signature is invalid.'], ['code' => 'InvalidSignNumber.Malformed', 'message' => 'The maximum number of signatures is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of signatures is exceeded.'], ['code' => 'InvalidSource.Malformed', 'message' => 'The specified source is invalid.', 'http_code' => 400, 'description' => 'The specified source is invalid.'], ['code' => 'InvalidStartTime.Malformed', 'message' => 'The start time must be earlier than the end time.', 'http_code' => 400, 'description' => 'The start time must be earlier than the end time.'], ['code' => 'InvalidStatus.Malformed', 'message' => 'The specified status is invalid.', 'http_code' => 400, 'description' => 'The specified status is invalid.'], ['code' => 'InvalidStatus.Update.Failed', 'message' => 'The specified quick configuration update failed.', 'http_code' => 400, 'description' => 'The specified quick configuration update failed.'], ['code' => 'InvalidSubject.Malformed', 'message' => 'The specified subject is invalid. It must not exceed 100 characters.', 'http_code' => 400, 'description' => 'The specified subject is invalid. It must not exceed 256 characters.'], ['code' => 'InvalidSubject.Malformed', 'message' => 'The specified subject is invalid. It exceeds the allowed length limit.', 'http_code' => 400, 'description' => 'Subject error, exceeds allowed length limit'], ['code' => 'InvalidTag.NotFound', 'message' => 'The specified tag does not exist.', 'http_code' => 404, 'description' => 'The specified tag does not exist.'], ['code' => 'InvalidTagId.Malformed', 'message' => 'The specified tag ID does not exist.', 'http_code' => 400, 'description' => 'The specified tag ID does not exist.'], ['code' => 'InvalidTagName.Duplicate', 'message' => 'The specified tag name already exists.', 'http_code' => 400, 'description' => 'The specified tag name already exists.'], ['code' => 'InvalidTagName.Malformed', 'message' => 'The specified tag name is invalid.', 'http_code' => 404, 'description' => 'The specified tag name is invalid.'], ['code' => 'InvalidTagNumber.Malformed', 'message' => 'The maximum number of tags is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of tags is exceeded.'], ['code' => 'InvalidTask.NotFound', 'message' => 'The specified task is not found.', 'http_code' => 404, 'description' => 'The specified task is not found.'], ['code' => 'InvalidTemplate.NotFound', 'message' => 'The specified template is not found.', 'http_code' => 404, 'description' => 'The specified template is not found.'], ['code' => 'InvalidTemplateCode.Malformed', 'message' => 'The specified template code is invalid.', 'http_code' => 400, 'description' => 'The specified template code is invalid.'], ['code' => 'InvalidTemplateId.Malformed', 'message' => 'The specified templateId does not exist.', 'http_code' => 404, 'description' => 'The specified templateId does not exist.'], ['code' => 'InvalidTemplateName.Duplicate', 'message' => 'The specified template name already exists.', 'http_code' => 400, 'description' => 'The specified template name already exists.'], ['code' => 'InvalidTemplateName.Malformed', 'message' => 'The length of the template name must not exceed 30 characters.', 'http_code' => 400, 'description' => 'The length of the template name must not exceed 30 characters.'], ['code' => 'InvalidTemplateNickName.Malformed', 'message' => 'The specified TemplateNickName is invalid.', 'http_code' => 400, 'description' => 'The specified TemplateNickName is invalid.'], ['code' => 'InvalidTemplateNumber.Malformed', 'message' => 'The maximum number of templates is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of templates is exceeded.'], ['code' => 'InvalidTemplateRemark.Malformed', 'message' => 'The specified template remark is invalid.', 'http_code' => 400, 'description' => 'The specified template remark is invalid.'], ['code' => 'InvalidTemplateSmsContent.Malformed', 'message' => 'The specified template smsContent is invalid.', 'http_code' => 400, 'description' => 'The specified template subject is invalid.'], ['code' => 'InvalidTemplateSmsType.Malformed', 'message' => 'The format of the specified template smsType is invalid.', 'http_code' => 400, 'description' => 'The format of the specified template smsType is invalid.'], ['code' => 'InvalidTemplateStatus.Malformed', 'message' => 'The specified template status is invalid. Please check whether the template has passed verification.', 'http_code' => 400, 'description' => 'The specified template status is invalid. Please check whether the template has passed verification.'], ['code' => 'InvalidTemplateSubject.Malformed', 'message' => 'The specified template subject is invalid.', 'http_code' => 400, 'description' => 'The specified template subject is invalid.'], ['code' => 'InvalidTemplateText.Malformed', 'message' => 'The specified template text must not exceed 1 MB.', 'http_code' => 400, 'description' => 'The specified template text must not exceed 1 MB.'], ['code' => 'InvalidTemplateType.Malformed', 'message' => 'The specified template type is invalid.', 'http_code' => 400, 'description' => 'The specified template type is invalid.'], ['code' => 'InvalidTemplateVariable.Malformed', 'message' => 'The specified template variable is invalid.', 'http_code' => 400, 'description' => 'The specified template variable is invalid.'], ['code' => 'InvalidToAddress', 'message' => 'The specified toAddress is invalid. It must contain the @ sign. The domain must consist of numbers, letters, underscores, minus signs, and periods. The account name must consist of numbers, letters, underscores, minus signs, and periods.', 'http_code' => 400, 'description' => 'The format of the receiver name is invalid. It must contain the @ sign. The domain must only contain numbers, letters, underscores, minus signs, and periods. The account name must only contain numbers, letters, underscores, minus signs, and periods.'], ['code' => 'InvalidToAddress.Spam', 'message' => 'The email you sent was rejected due to invalid address.', 'http_code' => 400, 'description' => 'The email you sent was rejected due to invalid address.'], ['code' => 'InvalidUser.NotFound', 'message' => 'The specified user does not exist. Please contact your master account to activate the Direct Mail service.', 'http_code' => 404, 'description' => 'The specified user does not exist. Please contact your master account to activate the Direct Mail service.'], ['code' => 'InvalidUserStatus.Malformed', 'message' => 'The specified user status is abnormal.', 'http_code' => 400, 'description' => 'The specified user status is wrongly formed.'], ['code' => 'InvalidYear.Malformed', 'message' => 'The specified year is invalid.', 'http_code' => 400, 'description' => 'The specified year is invalid.'], ['code' => 'ListAlibabaCloudDomains.GetFailed', 'message' => 'Failed to get Alibaba Cloud domains.', 'http_code' => 404, 'description' => 'Failed to get Alibaba Cloud domains.'], ['code' => 'LogicalDeleteUserStatus', 'message' => 'The specified user status is deleted.', 'http_code' => 400, 'description' => 'The specified user status is deleted.'], ['code' => 'MissingTemplateText', 'message' => 'You must specify TemplateText.', 'http_code' => 400, 'description' => 'You must specify TemplateText.'], ['code' => 'notification.errorparam', 'message' => 'The specified parameter is invalid.', 'http_code' => 400, 'description' => 'The specified parameter is invalid.'], ['code' => 'RAM.ApiNotSupported', 'message' => 'The API does not support RAM access.', 'http_code' => 400, 'description' => 'The API does not support RAM access.'], ['code' => 'RecordDuplicated', 'message' => 'The specified record already exists.', 'http_code' => 400, 'description' => 'The specified record already exists.'], ['code' => 'RecordLimit', 'message' => 'The maximum number of records is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of records is exceeded.'], ['code' => 'UnsupportedSourceControl', 'message' => 'You are not authorized to perform the operation.', 'http_code' => 400, 'description' => 'You are not authorized to perform the operation.'], ['code' => 'User.Blacklisted', 'message' => 'The specified user is in the blacklist.', 'http_code' => 400, 'description' => 'The specified user is in the blacklist.'], ['code' => 'User.RegisterTooMuch', 'message' => 'The specified user has registered more than one DirectMail account.', 'http_code' => 400, 'description' => 'The specified user has registered more than one DirectMail account.'], ['code' => 'UserSuppressionList.AddressExists', 'message' => 'The address already exists.', 'http_code' => 400, 'description' => 'Mail address or domain already exists'], ['code' => 'UserSuppressionList.AddressOverLength', 'message' => 'The address length should less than 60.', 'http_code' => 400, 'description' => 'Invalid address should be less than 60 characters in length'], ['code' => 'UserSuppressionList.AddressWithSpecialChar', 'message' => 'Please remove special characters.', 'http_code' => 400, 'description' => 'Invalid addresses only support email addresses or domain names and do not support special characters.'], ['code' => 'UserSuppressionList.EmptyAddress', 'message' => 'Please enter the address.', 'http_code' => 400, 'description' => 'Invalid address cannot be empty'], ['code' => 'UserSuppressionList.InvalidAddress', 'message' => 'Invalid address, please enter domain or email.', 'http_code' => 400, 'description' => 'Invalid address format error, only domain or mailbox'], ['code' => 'InvalidMailAddressType.Malformed', 'message' => 'The specified address type is wrongly formed.', 'http_code' => 400, 'description' => 'Address type error'], ['code' => 'InvalidMailAddressVerificationCode.Invalid', 'message' => 'The specified mail address verification code is invalid.', 'http_code' => 400, 'description' => 'Invalid email address authentication code'], ['code' => 'InvalidMailAddress.NotExternal', 'message' => 'The specified account name is not a valid external email address.', 'http_code' => 400, 'description' => 'The address is not an external address.'], ['code' => 'InvalidMailAddress.Unverified', 'message' => 'The specified external mailAddress is unverified.', 'http_code' => 400, 'description' => 'Address not verified.'], ], 'changeSet' => [], 'ram' => [ 'productCode' => 'DirectMail', 'productName' => 'Direct Mail', 'ramCodes' => ['dm'], 'ramLevel' => 'OPERATION', 'ramConditions' => [], 'ramActions' => [ [ 'apiName' => 'DedicatedIpAutoRenewal', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'dm:DedicatedIpAutoRenewal', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DedicatedIpPoolUpdate', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'dm:DedicatedIpPoolUpdate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryInvalidAddress', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:QueryInvalidAddress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SaveReceiverDetail', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:SaveReceiverDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SingleSendMail', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:SingleSendMail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ConfigSetDelete', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dm:ConfigSetDelete', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'BatchSendMail', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:BatchSendMail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetUser', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:GetUser', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetIpProtection', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:GetIpProtection', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DedicatedIpPoolCreate', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:DedicatedIpPoolCreate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteDomain', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dm:DeleteDomain', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DedicatedIpNonePoolList', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:DedicatedIpNonePoolList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DedicatedIpPoolList', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:DedicatedIpPoolList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteValidateFile', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dm:DeleteValidateFile', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ConfigSetUpdate', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'dm:ConfigSetUpdate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ConfigSetCancelRelationFromAddress', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'dm:ConfigSetCancelRelationFromAddress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryDomainByParam', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:QueryDomainByParam', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DedicatedIpPoolDelete', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:DedicatedIpPoolDelete', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteInvalidAddress', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'dm:DeleteInvalidAddress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CheckDomain', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'dm:CheckDomain', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryTagByParam', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:QueryTagByParam', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryMailAddressByParam', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:QueryMailAddressByParam', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DescTemplate', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:DescTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetValidateFile', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:GetValidateFile', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateReceiver', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:CreateReceiver', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryReceiverDetail', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:QueryReceiverDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SendTestByTemplate', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:SendTestByTemplate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetIpfilterList', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:GetIpfilterList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ConfigSetDetail', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:ConfigSetDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetTrackListByMailFromAndTagName', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'dm:GetTrackListByMailFromAndTagName', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'RemoveUserSuppression', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dm:RemoveUserSuppression', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListBlockSending', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'dm:ListBlockSending', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SendValidateFile', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:SendValidateFile', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CheckReplyToMailAddress', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'dm:CheckReplyToMailAddress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ApproveReplyMailAddress', 'description' => '', 'operationType' => '', 'ramAction' => [ 'action' => 'dm:ApproveReplyMailAddress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DedicatedIpChangeWarmupType', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'dm:DedicatedIpChangeWarmupType', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetValidateFileStatus', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:GetValidateFileStatus', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'AddIpfilter', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:AddIpfilter', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteIpfilterByEdmId', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dm:DeleteIpfilterByEdmId', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListUserSuppression', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'dm:ListUserSuppression', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateIpProtection', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'dm:UpdateIpProtection', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateDomain', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:CreateDomain', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ConfigSetCreate', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:ConfigSetCreate', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetValidationQuota', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:GetValidationQuota', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListValidateFile', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:ListValidateFile', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DescAccountSummary', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:DescAccountSummary', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SenderStatisticsDetailByParam', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'dm:SenderStatisticsDetailByParam', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteReceiverDetail', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dm:DeleteReceiverDetail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ValidateEmail', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:ValidateEmail', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateTag', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:CreateTag', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryTaskByParam', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:QueryTaskByParam', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ModifyPWByDomain', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'dm:ModifyPWByDomain', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'SenderStatisticsByTagNameAndBatchID', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'dm:SenderStatisticsByTagNameAndBatchID', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateUserSuppression', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:CreateUserSuppression', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UnblockSending', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dm:UnblockSending', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteReceiver', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dm:DeleteReceiver', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DescDomain', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:DescDomain', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryReceiverByParam', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:QueryReceiverByParam', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'UpdateUser', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:UpdateUser', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteMailAddress', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dm:DeleteMailAddress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ConfigSetRelationFromAddress', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:ConfigSetRelationFromAddress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'QueryTemplateByParam', 'description' => '', 'operationType' => 'get', 'ramAction' => [ 'action' => 'dm:QueryTemplateByParam', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'GetTrackList', 'description' => '', 'operationType' => 'list', 'ramAction' => [ 'action' => 'dm:GetTrackList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DedicatedIpList', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:DedicatedIpList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateMailAddress', 'description' => '', 'operationType' => 'create', 'ramAction' => [ 'action' => 'dm:CreateMailAddress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'DeleteTag', 'description' => '', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'dm:DeleteTag', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ConfigSetList', 'description' => '', 'operationType' => 'none', 'ramAction' => [ 'action' => 'dm:ConfigSetList', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ModifyTag', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'dm:ModifyTag', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], [ 'apiName' => 'ModifyMailAddress', 'description' => '', 'operationType' => 'update', 'ramAction' => [ 'action' => 'dm:ModifyMailAddress', 'authLevel' => 'operate', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'DirectMail', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], 'resourceTypes' => [], ], ];