send_otp_message

send_otp_message(**kwargs)

Send an OTP message

See also: AWS API Documentation

Request Syntax

response = client.send_otp_message(
    ApplicationId='string',
    SendOTPMessageRequestParameters={
        'AllowedAttempts': 123,
        'BrandName': 'string',
        'Channel': 'string',
        'CodeLength': 123,
        'DestinationIdentity': 'string',
        'EntityId': 'string',
        'Language': 'string',
        'OriginationIdentity': 'string',
        'ReferenceId': 'string',
        'TemplateId': 'string',
        'ValidityPeriod': 123
    }
)
Parameters
  • ApplicationId (string) --

    [REQUIRED]

    The unique ID of your Amazon Pinpoint application.

  • SendOTPMessageRequestParameters (dict) --

    [REQUIRED]

    Send OTP message request parameters.

    • AllowedAttempts (integer) --

      The attempts allowed to validate an OTP.

    • BrandName (string) -- [REQUIRED]

      The brand name that will be substituted into the OTP message body. Should be owned by calling AWS account.

    • Channel (string) -- [REQUIRED]

      Channel type for the OTP message. Supported values: [SMS].

    • CodeLength (integer) --

      The number of characters in the generated OTP.

    • DestinationIdentity (string) -- [REQUIRED]

      The destination identity to send OTP to.

    • EntityId (string) --

      A unique Entity ID received from DLT after entity registration is approved.

    • Language (string) --

      The language to be used for the outgoing message body containing the OTP.

    • OriginationIdentity (string) -- [REQUIRED]

      The origination identity used to send OTP from.

    • ReferenceId (string) -- [REQUIRED]

      Developer-specified reference identifier. Required to match during OTP verification.

    • TemplateId (string) --

      A unique Template ID received from DLT after entity registration is approved.

    • ValidityPeriod (integer) --

      The time in minutes before the OTP is no longer valid.

Return type

dict

Returns

Response Syntax

{
    'MessageResponse': {
        'ApplicationId': 'string',
        'EndpointResult': {
            'string': {
                'Address': 'string',
                'DeliveryStatus': 'SUCCESSFUL'|'THROTTLED'|'TEMPORARY_FAILURE'|'PERMANENT_FAILURE'|'UNKNOWN_FAILURE'|'OPT_OUT'|'DUPLICATE',
                'MessageId': 'string',
                'StatusCode': 123,
                'StatusMessage': 'string',
                'UpdatedToken': 'string'
            }
        },
        'RequestId': 'string',
        'Result': {
            'string': {
                'DeliveryStatus': 'SUCCESSFUL'|'THROTTLED'|'TEMPORARY_FAILURE'|'PERMANENT_FAILURE'|'UNKNOWN_FAILURE'|'OPT_OUT'|'DUPLICATE',
                'MessageId': 'string',
                'StatusCode': 123,
                'StatusMessage': 'string',
                'UpdatedToken': 'string'
            }
        }
    }
}

Response Structure

  • (dict) --

    200 response

    • MessageResponse (dict) --

      Provides information about the results of a request to send a message to an endpoint address.

      • ApplicationId (string) --

        The unique identifier for the application that was used to send the message.

      • EndpointResult (dict) --

        A map that contains a multipart response for each address that the message was sent to. In the map, the endpoint ID is the key and the result is the value.

        • (string) --

          • (dict) --

            Provides information about the delivery status and results of sending a message directly to an endpoint.

            • Address (string) --

              The endpoint address that the message was delivered to.

            • DeliveryStatus (string) --

              The delivery status of the message. Possible values are:

              • DUPLICATE - The endpoint address is a duplicate of another endpoint address. Amazon Pinpoint won't attempt to send the message again.
              • OPT_OUT - The user who's associated with the endpoint has opted out of receiving messages from you. Amazon Pinpoint won't attempt to send the message again.
              • PERMANENT_FAILURE - An error occurred when delivering the message to the endpoint. Amazon Pinpoint won't attempt to send the message again.
              • SUCCESSFUL - The message was successfully delivered to the endpoint.
              • TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't attempt to send the message again.
              • THROTTLED - Amazon Pinpoint throttled the operation to send the message to the endpoint.
              • TIMEOUT - The message couldn't be sent within the timeout period.
              • UNKNOWN_FAILURE - An unknown error occurred.
            • MessageId (string) --

              The unique identifier for the message that was sent.

            • StatusCode (integer) --

              The downstream service status code for delivering the message.

            • StatusMessage (string) --

              The status message for delivering the message.

            • UpdatedToken (string) --

              For push notifications that are sent through the GCM channel, specifies whether the endpoint's device registration token was updated as part of delivering the message.

      • RequestId (string) --

        The identifier for the original request that the message was delivered for.

      • Result (dict) --

        A map that contains a multipart response for each address (email address, phone number, or push notification token) that the message was sent to. In the map, the address is the key and the result is the value.

        • (string) --

          • (dict) --

            Provides information about the results of sending a message directly to an endpoint address.

            • DeliveryStatus (string) --

              The delivery status of the message. Possible values are:

              • DUPLICATE - The endpoint address is a duplicate of another endpoint address. Amazon Pinpoint won't attempt to send the message again.
              • OPT_OUT - The user who's associated with the endpoint address has opted out of receiving messages from you. Amazon Pinpoint won't attempt to send the message again.
              • PERMANENT_FAILURE - An error occurred when delivering the message to the endpoint address. Amazon Pinpoint won't attempt to send the message again.
              • SUCCESSFUL - The message was successfully delivered to the endpoint address.
              • TEMPORARY_FAILURE - A temporary error occurred. Amazon Pinpoint won't attempt to send the message again.
              • THROTTLED - Amazon Pinpoint throttled the operation to send the message to the endpoint address.
              • TIMEOUT - The message couldn't be sent within the timeout period.
              • UNKNOWN_FAILURE - An unknown error occurred.
            • MessageId (string) --

              The unique identifier for the message that was sent.

            • StatusCode (integer) --

              The downstream service status code for delivering the message.

            • StatusMessage (string) --

              The status message for delivering the message.

            • UpdatedToken (string) --

              For push notifications that are sent through the GCM channel, specifies whether the endpoint's device registration token was updated as part of delivering the message.

Exceptions

  • Pinpoint.Client.exceptions.BadRequestException
  • Pinpoint.Client.exceptions.InternalServerErrorException
  • Pinpoint.Client.exceptions.PayloadTooLargeException
  • Pinpoint.Client.exceptions.ForbiddenException
  • Pinpoint.Client.exceptions.NotFoundException
  • Pinpoint.Client.exceptions.MethodNotAllowedException
  • Pinpoint.Client.exceptions.TooManyRequestsException