Avis de fin de support : le 30 octobre 2026, le support d'Amazon Pinpoint AWS prendra fin. Après le 30 octobre 2026, vous ne pourrez plus accéder à la console Amazon Pinpoint ni aux ressources Amazon Pinpoint (points de terminaison, segments, campagnes, parcours et analyses). Pour plus d'informations, consultez la page de fin de support d'Amazon Pinpoint. Remarque : en ce qui APIs concerne les SMS, la voix, le push mobile, l'OTP et la validation des numéros de téléphone ne sont pas concernés par cette modification et sont pris en charge par AWS la messagerie utilisateur final.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exemples de code OTP pour l'utilisation du SDK pour Python (Boto3) dans Amazon Pinpoint
Cette section contient des exemples de code qui montrent comment utiliser le kit SDK for Python (Boto3) pour envoyer et vérifier des codes OTP.
Générer un ID de référence
La fonction suivante génère un ID de référence unique pour chaque destinataire, en fonction du numéro de téléphone du destinataire, du produit ou de la marque pour lequel le destinataire reçoit un OTP et de la source de la demande (qui peut être le nom d'une page d'un site ou d'une application, par exemple). Lorsque vous vérifiez le code OTP, vous devez transmettre un ID de référence identique pour que la validation réussisse. Les exemples de code d'envoi et de validation utilisent cette fonction utilitaire.
Cette fonction n'est pas obligatoire, mais elle constitue un moyen utile d'étendre le processus d'envoi et de vérification OTP à une transaction spécifique de manière à pouvoir la soumettre à nouveau facilement lors de l'étape de vérification. Vous pouvez utiliser l'ID de référence de votre choix. Il ne s'agit que d'un exemple de base. Cependant, les autres exemples de code présentés dans cette section s'appuient sur cette fonction.
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 import hashlib def generate_ref_id(destinationNumber,brandName,source): refId = brandName + source + destinationNumber return hashlib.md5(refId.encode()).hexdigest()
Envoyer des codes OTP
L'exemple de code suivant montre comment utiliser le kit SDK pour Python (Boto3) pour l'envoi d'un code OTP.
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 import boto3 from botocore.exceptions import ClientError from generate_ref_id import generate_ref_id ### Some variables that are unlikely to change from request to request. ### # The AWS Region that you want to use to send the message. region = "us-east-1" # The phone number or short code to send the message from. originationNumber = "+18555550142" # The project/application ID to use when you send the message. appId = "7353f53e6885409fa32d07cedexample" # The number of times the user can unsuccessfully enter the OTP code before it becomes invalid. allowedAttempts = 3 # Function that sends the OTP as an SMS message. def send_otp(destinationNumber,codeLength,validityPeriod,brandName,source,language): client = boto3.client('pinpoint',region_name=region) try: response = client.send_otp_message( ApplicationId=appId, SendOTPMessageRequestParameters={ 'Channel': 'SMS', 'BrandName': brandName, 'CodeLength': codeLength, 'ValidityPeriod': validityPeriod, 'AllowedAttempts': allowedAttempts, 'Language': language, 'OriginationIdentity': originationNumber, 'DestinationIdentity': destinationNumber, 'ReferenceId': generate_ref_id(destinationNumber,brandName,source) } ) except ClientError as e: print(e.response) else: print(response) # Send a message to +14255550142 that contains a 6-digit OTP that is valid for 15 minutes. The # message will include the brand name "ExampleCorp", and the request originated from a part of your # site or application called "CreateAccount". The US English message template should be used to # send the message. send_otp("+14255550142",6,15,"ExampleCorp","CreateAccount","en-US")
Valider les codes OTP
L'exemple de code suivant vous montre comment utiliser le kit SDK pour Python (Boto3) pour vérifier un code OTP que vous avez déjà envoyé. Pour que l'étape de validation réussisse, votre demande doit inclure un numéro de référence qui correspond exactement à l'ID de référence utilisé pour envoyer le message.
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 import boto3 from botocore.exceptions import ClientError from generate_ref_id import generate_ref_id # The AWS Region that you want to use to send the message. region = "us-east-1" # The project/application ID to use when you send the message. appId = "7353f53e6885409fa32d07cedexample" # Function that verifies the OTP code. def verify_otp(destinationNumber,otp,brandName,source): client = boto3.client('pinpoint',region_name=region) try: response = client.verify_otp_message( ApplicationId=appId, VerifyOTPMessageRequestParameters={ 'DestinationIdentity': destinationNumber, 'ReferenceId': generate_ref_id(destinationNumber,brandName,source), 'Otp': otp } ) except ClientError as e: print(e.response) else: print(response) # Verify the OTP 012345, which was sent to +14255550142. The brand name ("ExampleCorp") and the # source name ("CreateAccount") are used to generate the correct reference ID. verify_otp("+14255550142","012345","ExampleCorp","CreateAccount")