Creates a new opt-out list.
If the opt-out list name already exists, an error is returned.
An opt-out list is a list of phone numbers that are opted out, meaning you can't send SMS or voice messages to them. If end user replies with the keyword "STOP," an entry for the phone number is added to the opt-out list. In addition to STOP, your recipients can use any supported opt-out keyword, such as CANCEL or OPTOUT. For a list of supported opt-out keywords, see SMS opt out in the End User Messaging SMS User Guide.
Parameters:
-
opt_out_list_name
(OptOutListName)
–
The name of the new OptOutList.
-
tags
(Optional[TagList], default:
None
)
–
An array of tags (key and value pairs) to associate with the new OptOutList.
-
client_token
(Optional[ClientToken], default:
None
)
–
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency.
Raises:
-
AccessDeniedException
–
The request was denied because you don't have sufficient permissions to access the resource.
-
ConflictException
–
Your request has conflicting operations. This can occur if you're trying to perform more than one operation on the same resource at the same time or it could be that the requested action isn't valid for the current state or configuration of the resource.
-
InternalServerException
–
The API encountered an unexpected error and couldn't complete the request. You might be able to successfully issue the request again in the future.
-
ServiceQuotaExceededException
–
The request would cause a service quota to be exceeded.
-
ThrottlingException
–
An error that occurred because too many requests were sent during a certain amount of time.
-
ValidationException
–
A validation exception for a field.
-
UnknownServiceError
–
The service returned an error code this client does not model.
Source code in docs_src/capo_pinpoint_sms_voice_v2/_services/async_pinpoint_sms_voice_v2.py
| async def create_opt_out_list(
self,
opt_out_list_name: "capo_pinpoint_sms_voice_v2.types.opt_out_list_name.OptOutListName",
*,
config_overrides: Optional[AsyncPinpointSMSVoiceV2ClientConfig] = None,
tags: Optional["capo_pinpoint_sms_voice_v2.types.tag_list.TagList"] = None,
client_token: Optional[
"capo_pinpoint_sms_voice_v2.types.client_token.ClientToken"
] = None,
) -> "capo_pinpoint_sms_voice_v2.types.create_opt_out_list_result.CreateOptOutListResult":
"""<p>Creates a new opt-out list.</p> <p>If the opt-out list name already exists, an error is returned.</p> <p>An opt-out list is a list of phone numbers that are opted out, meaning you can't send SMS or voice messages to them. If end user replies with the keyword "STOP," an entry for the phone number is added to the opt-out list. In addition to STOP, your recipients can use any supported opt-out keyword, such as CANCEL or OPTOUT. For a list of supported opt-out keywords, see <a href="https://docs.aws.amazon.com/pinpoint/latest/userguide/channels-sms-manage.html#channels-sms-manage-optout"> SMS opt out </a> in the End User Messaging SMS User Guide.</p>
Args:
opt_out_list_name: <p>The name of the new OptOutList.</p>
tags: <p>An array of tags (key and value pairs) to associate with the new OptOutList.</p>
client_token: <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency.</p>
Raises:
capo_pinpoint_sms_voice_v2.errors.access_denied_exception.AccessDeniedException: <p>The request was denied because you don't have sufficient permissions to access the resource.</p>
capo_pinpoint_sms_voice_v2.errors.conflict_exception.ConflictException: <p>Your request has conflicting operations. This can occur if you're trying to perform more than one operation on the same resource at the same time or it could be that the requested action isn't valid for the current state or configuration of the resource.</p>
capo_pinpoint_sms_voice_v2.errors.internal_server_exception.InternalServerException: <p>The API encountered an unexpected error and couldn't complete the request. You might be able to successfully issue the request again in the future.</p>
capo_pinpoint_sms_voice_v2.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The request would cause a service quota to be exceeded.</p>
capo_pinpoint_sms_voice_v2.errors.throttling_exception.ThrottlingException: <p>An error that occurred because too many requests were sent during a certain amount of time.</p>
capo_pinpoint_sms_voice_v2.errors.validation_exception.ValidationException: <p>A validation exception for a field.</p>
capo_pinpoint_sms_voice_v2.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
async def _handler(
req: "AsyncOperationRequest[capo_pinpoint_sms_voice_v2.types.create_opt_out_list_request.CreateOptOutListRequest]",
) -> AsyncOperationResponse[
"capo_pinpoint_sms_voice_v2.types.create_opt_out_list_result.CreateOptOutListResult"
]:
import capo_pinpoint_sms_voice_v2._operations.pinpoint_sms_voice_v2.create_opt_out_list
(
output,
http_response,
) = await capo_pinpoint_sms_voice_v2._operations.pinpoint_sms_voice_v2.create_opt_out_list.async_create_opt_out_list(
req.options, req.input
)
return AsyncOperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("CreateOptOutList")
)
input_: capo_pinpoint_sms_voice_v2.types.create_opt_out_list_request.CreateOptOutListRequest = {
"opt_out_list_name": opt_out_list_name
}
if tags is not None:
input_["tags"] = tags
if client_token is None:
client_token = str(uuid.uuid4())
input_["client_token"] = client_token
response = await aexecute_pipeline(
AsyncOperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
await response.response.aclose()
return response.output
|