Fin du support Amazon Pinpoint - Amazon Pinpoint

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.

Fin du support Amazon Pinpoint

Après mûre réflexion, nous avons décidé de mettre fin au support d'Amazon Pinpoint à compter du 30 octobre 2026. Amazon Pinpoint n'acceptera plus de nouveaux clients à compter du 20 mai 2025. En tant que client existant disposant d'un compte inscrit au service avant le 20 mai 2025, vous pouvez continuer à utiliser les fonctionnalités d'Amazon Pinpoint. Après le 30 octobre 2026, vous ne pourrez plus utiliser Amazon Pinpoint.

Aujourd'hui, les clients utilisent Amazon Pinpoint soit pour ses fonctionnalités d'engagement (points de terminaison, segments, campagnes, parcours et analyses), soit pour son canal de messagerie APIs (SMS, MMS WhatsApp, push et fonctionnalités de messagerie vocale). Nous avons créé des plans d'offboarding pour les deux groupes de clients.

Ce que cela signifie pour vous

Si vous utilisez les fonctionnalités d'engagement d'Amazon Pinpoint (points de terminaison, segments, campagnes, parcours et analyses), nous vous recommandons de migrer vers les solutions d'engagement proactif Amazon Connect (par exemple, les campagnes sortantes Amazon Connect et les profils clients Amazon Connect) afin de favoriser un engagement personnalisé et rapide sur tous les canaux grâce à un suivi unifié des performances et à la capacité de gérer les entrées (par exemple, le support client) et les sorties (par exemple, les communications proactives) à l'aide d'une seule application unifiée. Si vous utilisez la collecte d'événements et l'analyse mobile, nous vous recommandons d'utiliser Amazon Kinesis.

Les canaux de communication Amazon Pinpoint (SMS, MMS WhatsApp, push et fonctionnalités de messagerie vocale) ont été renommés au troisième trimestre 2024 en tant que messagerie utilisateur AWS final et continueront de répondre aux besoins des développeurs en matière de diffusion de messages aux clients. L'utilisation d' APIs informations liées aux SMS, à la voix, au mobile push, à l'OTP et à la validation des numéros de téléphone ne sera pas affectée par cette modification. Si vous utilisez Amazon Pinpoint pour envoyer des e-mails, nous vous recommandons de migrer vers Amazon Simple Email Service (SES). Si vous utilisez le tableau de bord de délivrabilité des e-mails dans Amazon Pinpoint, nous proposerons des fonctionnalités similaires dans SES d'ici le 30 octobre 2026.

Étapes de migration : fonctionnalités de transition pour Amazon Pinpoint Engagement

Clients recherchant des fonctionnalités d'engagement

Pour utiliser les fonctionnalités d'engagement proactif d'Amazon Connect, notamment les segments, les modèles de messages, les campagnes, les parcours et les analyses, veuillez suivre ce guide pour migrer les fonctionnalités d'engagement d'Amazon Pinpoint vers Amazon Connect.

Migrer les points de terminaison et les segments

Les points de terminaison Amazon Pinpoint peuvent être modélisés sous forme de profils clients Amazon Connect. Les profils clients vous permettent de combiner plusieurs points de terminaison en un seul profil, ce qui permet de modéliser jusqu'à 3 adresses e-mail et 4 numéros de téléphone en un seul profil. Pour migrer vos terminaux, vous pouvez

  1. Créez un segment Amazon Pinpoint sans filtre, englobant efficacement tous vos points de terminaison.

  2. Exportez ce segment vers un compartiment S3 ou vers votre machine locale.

  3. Téléchargez vos points de terminaison transformés vers Customer Profiles et utilisez le connecteur S3 de Customer Profiles pour créer une intégration des données dans les profils clients.

Si vous souhaitez regrouper les points de terminaison sous un seul profil client, vous pouvez analyser le segment Amazon Pinpoint téléchargé pour collecter les adresses e-mail et les numéros de téléphone sous un seul profil. Voici un exemple de script Python pour lire le fichier exporté au format JSON et créer les profils qui peuvent être importés dans Customer Profiles.

from collections import defaultdict import json def process_pinpoint_endpoints(input_file, output_file): # Dictionary to store grouped endpoints by user ID grouped_endpoints = defaultdict(list) endpoints = [] # Read the input file with open(input_file, 'r') as file: for line in file: endpoints.append(json.loads(line)) # Group endpoints by user ID for endpoint in endpoints: user_id = endpoint.get('User', {}).get('UserId') if user_id: grouped_endpoints[user_id].append(endpoint) # Convert grouped endpoints to Customer Profiles format # We will assume the userId is stored as an AccountNumber # since the AccountNumber can be queried customer_profiles = [] for user_id, user_endpoints in grouped_endpoints.items(): profile = { 'AccountNumber': user_id, 'Attributes': {}, 'Address': {} } phone_numbers = set() email_addresses = set() output_dict = {} for endpoint in user_endpoints: # Extract attributes attributes = endpoint.get('Attributes', {}) for key, value_list in attributes.items(): if len(value_list) == 1: output_dict[key] = value_list[0] else: for i, item in enumerate(value_list): output_dict[f"{key}_{i}"] = item demographics = endpoint.get('Demographic') for key, value in demographics.items(): attributes[f"Demographic_{key}"] = value location = endpoint.get('Location', {}) profile['Address']['City'] = location['City'] profile['Address']['Country'] = location['Country'] profile['Address']['PostalCode'] = location['PostalCode'] profile['Address']['County'] = location['Region'] profile['Attributes']['Latitude'] = location['Latitude'] profile['Attributes']['Longitude'] = location['Longitude'] metrics = endpoint.get('Metrics', {}) for key, value in metrics.items(): profile['Attributes'][f"Metrics_{key}"] = str(value) user = endpoint.get('User', {}) user_attributes = user.get('UserAttributes', {}) for key, value_list in user_attributes.items(): if len(value_list) == 1: output_dict[key] = value_list[0] else: for i, item in enumerate(value_list): output_dict[f"UserAttributes.{key}_{i}"] = item profile['Attributes'].update(output_dict) # Extract phone number address = endpoint.get('Address') if (endpoint.get('ChannelType') == 'SMS' or endpoint.get('ChannelType') == 'VOICE') and address: phone_numbers.add(address) # Extract email address if endpoint.get('ChannelType') == 'EMAIL' and address: email_addresses.add(address) # Assigning the phone numbers to the different parameters in the Customer Profile for i, phone_number in enumerate(phone_numbers): if i == 0: profile['PhoneNumber'] = phone_number elif i == 1: profile['HomePhoneNumber'] = phone_number elif i == 2: profile['MobilePhoneNumber'] = phone_number elif i == 3: profile['BusinessPhoneNumber'] = phone_number else: profile['Attributes'][f"PhoneNumber_{i}"] = phone_number # Assigning the email addresses to the different parameters in the Customer Profile for i, email_address in enumerate(email_addresses): if i == 0: profile['EmailAddress'] = email_address elif i == 1: profile['PersonalEmailAddress'] = email_address elif i == 2: profile['BusinessEmailAddress'] = email_address else: profile['Attributes'][f"EmailAddress_{i}"] = email_address customer_profiles.append(profile) # Write the output to a file with open(output_file, 'w') as f: json.dump(customer_profiles, f, indent=2) print(f"Processed {len(endpoints)} endpoints into {len(customer_profiles)} customer profiles.") # Example usage input_file = 'pinpoint_endpoints.json' output_file = 'customer_profiles.json' process_pinpoint_endpoints(input_file, output_file)

Migrer les configurations des canaux

Suivez les étapes d'intégration pour activer les communications par SMS et e-mail dans Amazon Connect.

Migrer les modèles

Les modèles d'Amazon Connect utilisent le même moteur de rendu des messages (Handlebars) qu'Amazon Pinpoint. Toutefois, les espaces réservés aux attributs sont représentés différemment.

  1. Vous pouvez utiliser notre Amazon Pinpoint existant APIs pour récupérer un modèle (par exemple, get-email-template). get-sms-template Vous pouvez également suivre ce guide pour modifier un modèle afin de pouvoir copier son contenu.

  2. Après avoir récupéré le modèle, mettez à jour ses espaces réservés. Par exemple, vos modèles Amazon Pinpoint utilisaient auparavant un espace réservé tel que. {{User.UserAttributes.PurchaseHistory}} Ils peuvent désormais être changés en{{Attributes.Customer.Attributes.PurchaseHistory}}.

  3. Créez ensuite des modèles dans Q dans Amazon Connect à l'aide de l'create-message-templateAPI ou utilisez ce guide pour créer des modèles de messages.

Pour mapper vos attributs, suivez les mappages que vous avez effectués précédemment lorsque vous avez mappé des points de terminaison à des profils, préfixés par. Attributes.Customer

Migrer les campagnes

Pour chaque campagne, nous vous recommandons d'utiliser l'API get-campaign pour récupérer sa définition, puis de la recréer dans Amazon Connect à l'aide du guide de création de campagne.

Migrer des voyages

Les voyages ne sont pas encore totalement pris en charge dans Amazon Connect. Nous vous recommandons d'évaluer les cas d'utilisation de votre parcours pour voir s'ils peuvent être résolus à l'aide des campagnes Amazon Connect. Dans l'affirmative, suivez l'approche similaire à celle décrite ci-dessus en utilisant l'API get-journey pour récupérer sa définition, puis recréez-la dans Amazon Connect à l'aide du guide de création de campagnes.

Clients de collecte d'événements et d'analyse mobile

Clients du SDK Amplify

Si vous utilisez le SDK Amplify pour envoyer des événements à Amazon Pinpoint afin de mettre à jour les points de terminaison, de déclencher des campagnes ou des parcours, ou d'analyser l'utilisation de votre application, vous pouvez passer à Kinesis. À l'aide de Kinesis, vous pouvez diffuser des événements sur la plateforme informatique de votre choix pour qu'elle envoie des mises à jour aux profils des clients, ce qui permet de mettre à jour le profil de l'utilisateur de l'application et de déclencher des campagnes Amazon Connect.

Clients de Put-Events

Si vous utilisez Amazon Pinpoint uniquement pour diffuser des événements depuis votre application Web/mobile vers un flux Kinesis, vous pouvez désormais utiliser le SDK Amplify pour diffuser directement les événements vers Kinesis.

Fonctionnalités non disponibles

À l'heure actuelle, les fonctionnalités d'engagement Amazon Pinpoint suivantes ne sont pas disponibles dans Amazon Connect.

  • Messagerie intégrée à l'application

  • Notifications PUSH (GCM, APNS, BAIDU, etc.) dans les campagnes

  • Chaîne personnalisée

  • Segments importés

  • Parcours

Étapes de déchargement : Exporter les données vers un tiers

Si vous souhaitez supprimer toutes les données Amazon Pinpoint, n'hésitez pas à simplement supprimer l'application à l'aide de l'API delete-app. Ensuite, supprimez tous les modèles de messages inutilisés en suivant ce guide sur la suppression de modèles.

Sinon, si vous souhaitez extraire toutes vos ressources et les stocker, suivez les étapes ci-dessous.

Points de terminaison

Pour déconnecter vos terminaux, vous pouvez

  • Créez un segment Amazon Pinpoint sans filtre, englobant efficacement tous vos points de terminaison.

  • Exportez ce segment vers un compartiment S3 ou vers votre machine locale.

Segments, campagnes et parcours

Pour déconnecter vos segments, campagnes et parcours, utilisez notre APIs ou notre interface utilisateur pour les récupérer. Pour cela, vous pouvez utiliser nos outils get-segment, get-campaignou get-journey. APIs

Modèles de messages

Pour supprimer vos modèles, vous pouvez utiliser l'API list-templates suivie de l'API spécifique à la chaîne - APIs

Amazon Pinpoint et l'analyse mobile

Pour annuler vos événements et KPIs depuis Amazon Pinpoint Analytics ou Mobile Analytics, vous pouvez utiliser les options suivantes :

  1. Pour exporter les futurs événements bruts avant la migration, les clients peuvent intégrer le flux de données d'événements.

  2. Les clients peuvent exporter les KPIs données des 3 derniers mois à l'aide des commandes suivantes :

Pour les clients qui doivent supprimer des applications Mobile Analytics dans le cadre de leur migration, vous pouvez utiliser le script Python suivant. Ce script utilise AWS la version 4 de Signature pour s'authentifier auprès de l'API Mobile Analytics.

  1. Enregistrez le script suivant sous le nomdelete_mobile_analytics_application.py.

    # Copyright 2010-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # This file is licensed under the Apache License, Version 2.0 (the "License"). # You may not use this file except in compliance with the License. A copy of the # License is located at # # http://aws.amazon.com/apache2.0/ # # This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS # OF ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. # # ABOUT THIS PYTHON SAMPLE: This sample is part of the AWS General Reference # Signing AWS API Requests top available at # https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html # # AWS Version 4 signing example # Delete Mobile Analytics application # See: http://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html # This version makes a DELETE request and passes the signature # in the Authorization header. import sys, os, base64, datetime, hashlib, hmac import requests # pip install requests import argparse # Parse command line arguments parser = argparse.ArgumentParser(description='Delete a Mobile Analytics application') parser.add_argument('--appId', type=str, help='Mobile Analytics application ID to be deleted', required=True) args = parser.parse_args() # ************* REQUEST VALUES ************* delimiter = "/" method = 'DELETE' service = 'mobileanalytics' host = 'mobileanalytics.us-east-1.amazonaws.com' region = 'us-east-1' appId = args.appId # Use the appId from command line arguments endpoint = 'https://mobileanalytics.us-east-1.amazonaws.com/2016-07-01/apps' + delimiter + appId request_parameters = '' # Function for signing. Refer the AWS documentation below for more details. # http://docs.aws.amazon.com/general/latest/gr/signature-v4-examples.html#signature-v4-examples-python def sign(key, msg): return hmac.new(key, msg.encode('utf-8'), hashlib.sha256).digest() # Function for computing signature key. Refer the AWS documentation below for more details. # http://docs.aws.amazon.com/general/latest/gr/signature-v4-examples.html#signature-v4-examples-python. def getSignatureKey(key, dateStamp, regionName, serviceName): kDate = sign(('AWS4' + key).encode('utf-8'), dateStamp) kRegion = sign(kDate, regionName) kService = sign(kRegion, serviceName) kSigning = sign(kService, 'aws4_request') return kSigning # Read AWS access key from environment variables or configuration file. Best practice is NOT # to embed credentials in code. access_key = os.environ.get('AWS_ACCESS_KEY_ID') secret_key = os.environ.get('AWS_SECRET_ACCESS_KEY') session_token = os.environ.get('AWS_SESSION_TOKEN') if access_key is None or secret_key is None: print('No access key is available.') sys.exit() # Create a date for headers and the credential string t = datetime.datetime.now(datetime.UTC) amzdate = t.strftime('%Y%m%dT%H%M%SZ') datestamp = t.strftime('%Y%m%d') # Date w/o time, used in credential scope # ************* TASK 1: CREATE A CANONICAL REQUEST ************* # http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html # Step 1 is to define the verb (GET, POST, etc.)--already done with defining "method" variable above. # Step 2: Create canonical URI--the part of the URI from domain to query # string (use '/' if no path) canonical_uri = '/2016-07-01/apps' + delimiter + appId # Step 3: Create the canonical query string. In this example (a DELETE request), # request parameters are in the query string. Query string values must # be URL-encoded (space=%20). The parameters must be sorted by name. # For this example, the query string is pre-formatted in the request_parameters variable. canonical_querystring = request_parameters # Step 4: Create the canonical headers and signed headers. Header names # must be trimmed and lowercase, and sorted in code point order from # low to high. Note that there is a trailing \n. canonical_headers = 'host:' + host + '\n' + 'x-amz-date:' + amzdate + '\n' # Step 5: Create the list of signed headers. This lists the headers # in the canonical_headers list, delimited with ";" and in alpha order. # Note: The request can include any headers; canonical_headers and # signed_headers lists those that you want to be included in the # hash of the request. "Host" and "x-amz-date" are always required. signed_headers = 'host;x-amz-date' # Step 6: Create payload hash (hash of the request body content). For GET # requests, the payload is an empty string (""). payload_hash = hashlib.sha256(request_parameters.encode('utf-8')).hexdigest() # Step 7: Combine elements to create canonical request canonical_request = method + '\n' + canonical_uri + '\n' + canonical_querystring + '\n' + canonical_headers + '\n' + signed_headers + '\n' + payload_hash # ************* TASK 2: CREATE THE STRING TO SIGN************* # Match the algorithm to the hashing algorithm you use, either SHA-1 or # SHA-256 (recommended) algorithm = 'AWS4-HMAC-SHA256' credential_scope = datestamp + '/' + region + '/' + service + '/' + 'aws4_request' string_to_sign = algorithm + '\n' + amzdate + '\n' + credential_scope + '\n' + hashlib.sha256( canonical_request.encode('utf-8')).hexdigest() # ************* TASK 3: CALCULATE THE SIGNATURE ************* # Create the signing key using the function defined above. signing_key = getSignatureKey(secret_key, datestamp, region, service) # Compute signature by invoking hmac.new method by passing signingkey, string_to_sign signature = hmac.new(signing_key, string_to_sign.encode('utf-8'), hashlib.sha256).hexdigest() # ************* TASK 4: ADD SIGNING INFORMATION TO THE REQUEST ************* # The signing information can be either in a query string value or in # a header named Authorization. This code shows how to use a header. # Create authorization header and add to request headers authorization_header = algorithm + ' ' + 'Credential=' + access_key + '/' + credential_scope + ', ' + 'SignedHeaders=' + signed_headers + ', ' + 'Signature=' + signature # The request can include any headers, but MUST include "host", "x-amz-date", # and (for this scenario) "Authorization". "host" and "x-amz-date" must # be included in the canonical_headers and signed_headers, as noted # earlier. Order here is not significant. # Python note: The 'host' header is added automatically by the Python 'requests' library. headers = { 'x-amz-date': amzdate, 'accept': 'application/hal+json', 'content-type': 'application/json; charset=UTF-8', 'Authorization': authorization_header} if session_token: headers['X-Amz-Security-Token'] = session_token # ************* SEND THE REQUEST ************* request_url = endpoint + '?' + canonical_querystring print('\nBEGIN REQUEST++++++++++++++++++++++++++++++++++++') print('Request URL = ' + request_url) print('Request Headers = ', headers) r = requests.delete(request_url, data=request_parameters, headers=headers) print('\nRESPONSE++++++++++++++++++++++++++++++++++++') print('Response code: %d\n' % r.status_code) print(r.text)
  2. Assurez-vous que vous disposez AWS d'informations d'identification valides définies comme variables d'environnement.

  3. Exécutez le script avec l'identifiant de votre application Mobile Analytics :

    python delete_mobile_analytics_application.py --appId <YOUR_MOBILE_ANALYTICS_APP_ID>

Ce script envoie une DELETE demande à l'API Mobile Analytics pour supprimer l'application spécifiée. Assurez-vous de l'exécuter pour chaque application Mobile Analytics que vous devez supprimer.

Note

Les clients d'Active Mobile Analytics peuvent continuer à ingérer les événements via putEvents l'API et à les consulter dans Amazon Pinpoint jusqu'à la date de fin du support d'Amazon Pinpoint.

Récapitulatif

Organisations possédant au moins un compte Amazon Pinpoint peuvent continuer à utiliser les fonctionnalités d'engagement d'Amazon Pinpoint, notamment les segments, les campagnes, les parcours, les analyses et les e-mails jusqu'au 30 octobre 2026, date à laquelle le support du service prendra fin.

Ressources supplémentaires

Les ressources supplémentaires suivantes sont disponibles :

Si vous avez besoin d'aide ou si vous avez des commentaires, contactez AWS Support.