Fin del soporte de Amazon Pinpoint - Amazon Pinpoint

Aviso de fin de soporte: el 30 de octubre de 2026, AWS finalizará el soporte para Amazon Pinpoint. Después del 30 de octubre de 2026, ya no podrá acceder a la consola de Amazon Pinpoint ni a los recursos de Amazon Pinpoint (puntos de enlace, segmentos, campañas, recorridos y análisis). Para obtener más información, consulte el fin del soporte de Amazon Pinpoint. Nota: en lo APIs que respecta a los SMS, este cambio no afecta a los mensajes de voz, a las notificaciones push móviles, a las OTP y a la validación de números de teléfono, y son compatibles con la mensajería para el usuario AWS final.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Fin del soporte de Amazon Pinpoint

Tras considerarlo detenidamente, decidimos finalizar el soporte para Amazon Pinpoint a partir del 30 de octubre de 2026. Amazon Pinpoint dejará de aceptar nuevos clientes a partir del 20 de mayo de 2025. Como cliente actual con una cuenta registrada en el servicio antes del 20 de mayo de 2025, puede seguir utilizando las funciones de Amazon Pinpoint. Después del 30 de octubre de 2026, ya no podrá utilizar Amazon Pinpoint.

En la actualidad, los clientes utilizan Amazon Pinpoint para sus capacidades de interacción (puntos de enlace, segmentos, campañas, recorridos y análisis) o para su canal de mensajería APIs (capacidades de SMS, MMS WhatsApp, push y de texto a voz). Hemos creado planes de exclusión para ambos grupos de clientes.

¿Qué significa esto para ti

Si utiliza las funciones de participación de Amazon Pinpoint (puntos de enlace, segmentos, campañas, recorridos y análisis), le recomendamos que migre a las soluciones de participación proactiva de Amazon Connect (por ejemplo, campañas salientes de Amazon Connect y perfiles de clientes de Amazon Connect) para impulsar la participación personalizada y oportuna en todos los canales con un seguimiento del rendimiento unificado y la capacidad de gestionar las entradas (por ejemplo, la atención al cliente) y las salidas (por ejemplo, las comunicaciones proactivas) mediante una aplicación unificada. Si utiliza la recopilación de eventos y el análisis móvil, le recomendamos que utilice Amazon Kinesis.

Los canales de comunicación de Amazon Pinpoint (capacidades de SMS, MMS WhatsApp, push y mensajería de texto a voz) pasaron a llamarse en el tercer trimestre de 2024 como AWS End User Messaging y seguirán satisfaciendo las necesidades de los desarrolladores en cuanto a la entrega de mensajes a los clientes. Este cambio no APIs afectará al uso de los servicios relacionados con SMS, voz, mensajería automática móvil, OTP y validación de números de teléfono. Si utiliza Amazon Pinpoint para enviar correos electrónicos, le recomendamos que migre a Amazon Simple Email Service (SES). Si utiliza el panel de entregabilidad del correo electrónico en Amazon Pinpoint, ofreceremos una funcionalidad similar en SES antes del 30 de octubre de 2026.

Pasos de migración: características de transición para la participación de Amazon Pinpoint

Clientes que buscan funciones de fidelización

Para utilizar las funciones de participación proactiva de Amazon Connect, incluidos los segmentos, las plantillas de mensajes, las campañas, los viajes y los análisis, siga esta guía para migrar las capacidades de participación de Amazon Pinpoint a Amazon Connect.

Migre los puntos de enlace y los segmentos

Los puntos de enlace de Amazon Pinpoint se pueden modelar como perfiles de clientes de Amazon Connect. Los perfiles de clientes le permiten combinar varios puntos de enlace en un solo perfil, lo que permite modelar hasta 3 direcciones de correo electrónico y 4 números de teléfono como un solo perfil. Para migrar sus puntos de conexión, puede

  1. Cree un segmento de Amazon Pinpoint sin filtros y que abarque de forma eficaz todos sus puntos de conexión.

  2. Exporte ese segmento a un bucket de S3 o a su máquina local.

  3. Cargue sus terminales transformados a los perfiles de los clientes y utilice el conector S3 de los perfiles de los clientes para crear una integración de datos en los perfiles de los clientes.

En caso de que desee agregar puntos de enlace en un único perfil de cliente, puede analizar el segmento de Amazon Pinpoint descargado para recopilar las direcciones de correo electrónico y los números de teléfono de un solo perfil. Este es un ejemplo de script de Python para leer el archivo exportado en formato JSON y crear los perfiles que se pueden importar a los perfiles de los clientes.

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)

Migre las configuraciones de canales

Siga los pasos de incorporación para habilitar las comunicaciones por SMS y correo electrónico en Amazon Connect.

Migre las plantillas

Las plantillas de Amazon Connect utilizan el mismo motor de representación de mensajes (Handlebars) que Amazon Pinpoint. Sin embargo, los marcadores de posición de los atributos se representan de forma diferente.

  1. Puede usar nuestro Amazon Pinpoint existente APIs para buscar una plantilla (por ejemplo,, get-email-template). get-sms-template Como alternativa, puede seguir esta guía para editar una plantilla y copiar su contenido.

  2. Después de buscar la plantilla, actualiza sus marcadores de posición. Por ejemplo, tus plantillas de Amazon Pinpoint utilizaban anteriormente un marcador de posición similar. {{User.UserAttributes.PurchaseHistory}} Ahora se pueden cambiar a. {{Attributes.Customer.Attributes.PurchaseHistory}}

  3. A continuación, cree plantillas en Q en Amazon Connect mediante la create-message-templateAPI o utilice esta guía para crear plantillas de mensajes.

Para mapear sus atributos, siga los mapeos que realizó anteriormente cuando asignó los puntos de enlace a los perfiles, con el prefijo de. Attributes.Customer

Migre las campañas

Para cada campaña, le recomendamos que utilice la API get-campaign para obtener su definición y, a continuación, volver a crearla en Amazon Connect mediante la guía de creación de campañas.

Migre sus viajes

Los viajes aún no son totalmente compatibles con Amazon Connect. Le recomendamos que evalúe los casos de uso de sus viajes para ver si se pueden resolver con Amazon Connect Campaigns. En caso afirmativo, sigue un enfoque similar al anterior con la API get-journey para obtener su definición y, a continuación, vuelve a crearla en Amazon Connect con la guía de creación de campañas.

Clientes de recopilación de eventos y análisis móvil

Amplify para los clientes del SDK

Si utiliza el SDK de Amplify para enviar eventos a Amazon Pinpoint con el fin de actualizar los puntos de conexión, activar campañas o viajes o analizar el uso de la aplicación, puede migrar a Kinesis. Con Kinesis, puede transmitir eventos a la plataforma informática que elija para que ellos envíen actualizaciones a los perfiles de los clientes, que pueden actualizar el perfil del usuario de la aplicación y activar campañas de Amazon Connect.

Clientes de Put-Events

Si solo usa Amazon Pinpoint para transmitir eventos desde su aplicación web o móvil a una transmisión de Kinesis, ahora puede usar Amplify SDK para transmitir directamente los eventos a Kinesis.

Funciones no disponibles

Por el momento, las siguientes funciones de participación de Amazon Pinpoint no están disponibles en Amazon Connect.

  • Mensajería integrada en la aplicación

  • Notificaciones PUSH (GCM, APNS, BAIDU, etc.) en las campañas

  • Canal personalizado

  • Segmentos importados

  • Recorridos

Pasos de desconexión: exporta datos a terceros

Si desea eliminar todos los datos de Amazon Pinpoint, no dude en eliminar la aplicación mediante la API delete-app. A continuación, elimine las plantillas de mensajes que no utilice utilizando esta guía sobre la eliminación de plantillas.

Como alternativa, si quieres extraer todos tus recursos y almacenarlos, sigue los pasos que se indican a continuación.

puntos de conexión

Para desactivar tus puntos de conexión, puedes

  • Cree un segmento de Amazon Pinpoint sin filtros y que abarque de forma eficaz todos sus puntos de conexión.

  • Exporte ese segmento a un bucket de S3 o a su máquina local.

Segmentos, campañas y viajes

Para eliminar tus segmentos, campañas y recorridos, utiliza nuestra interfaz de usuario APIs o nuestra para recuperarlos. Para ello, puedes usar nuestras opciones get-segment, get-campaign o get-journey. APIs

Plantillas de mensaje

Para eliminar tus plantillas, puedes usar la API list-templates seguida de la específica del canal: APIs

Amazon Pinpoint y análisis móvil

Para desconectar sus eventos y KPIs desde Amazon Pinpoint Analytics o Mobile Analytics, puede utilizar las siguientes opciones:

  1. Para exportar futuros eventos sin procesar antes de la migración, los clientes pueden incorporarse al flujo de datos de eventos.

  2. Los clientes pueden exportar los KPIs datos de los últimos 3 meses mediante los siguientes comandos:

Para los clientes que necesiten eliminar aplicaciones de Mobile Analytics como parte de su migración, pueden usar el siguiente script de Python. Este script usa la versión 4 de AWS Signature para autenticarse con la API de Mobile Analytics.

  1. Guarde el siguiente script comodelete_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. Asegúrese de tener AWS credenciales válidas configuradas como variables de entorno.

  3. Ejecute el script con el ID de la aplicación Mobile Analytics:

    python delete_mobile_analytics_application.py --appId <YOUR_MOBILE_ANALYTICS_APP_ID>

Este script realiza una DELETE solicitud a la API de Mobile Analytics para eliminar la aplicación especificada. Asegúrese de ejecutar esta opción para cada aplicación de Mobile Analytics que necesite eliminar.

nota

Los clientes de Active Mobile Analytics pueden seguir incorporando eventos a través de la putEvents API y verlos en Amazon Pinpoint hasta la fecha de finalización del soporte de Amazon Pinpoint.

Resumen

Las organizaciones con al menos una cuenta de Amazon Pinpoint pueden seguir utilizando las funciones de participación de Amazon Pinpoint, incluidos los segmentos, las campañas, los viajes, los análisis y el correo electrónico, hasta el 30 de octubre de 2026, fecha en que finalizará el soporte del servicio.

Recursos adicionales

Están disponibles los siguientes recursos adicionales:

Si necesita ayuda o tiene comentarios, póngase en contacto con AWS Support.