View a markdown version of this page

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 conexión, segmentos, campañas, recorridos y análisis). Para obtener más información, consulte Fin de soporte de Amazon Pinpoint. Nota: Este cambio no afecta a las API relacionadas con los SMS, los mensajes de voz, las notificaciones push móviles, la OTP y la validación de números de teléfono, por lo que 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, hemos decidido finalizar el servicio de 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. Si tiene una cuenta registrada en el servicio desde antes del 20 de mayo de 2025, puede seguir utilizando las características de Amazon Pinpoint. Después del 30 de octubre de 2026, ya no podrá usar 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 las API de sus canales de mensajería (capacidades de SMS, MMS WhatsApp, push y de texto a voz). Hemos creado planes de baja para ambos grupos de clientes.

Qué significa esto para usted

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 Connect Customer (por ejemplo, campañas salientes de clientes de Amazon Connect y perfiles de clientes de Amazon Connect) para impulsar una 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) de forma unificada solicitud. Si utiliza la recopilación de eventos y el análisis de dispositivos móviles, 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 afectará al uso de las API relacionadas con los SMS, los servicios de voz, la inserción en móviles, las OTP y la 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 capacidad de entrega de correo electrónico de Amazon Pinpoint, ofreceremos una funcionalidad similar en SES antes del 30 de octubre de 2026.

Elegir la ruta de migración correcta

Las campañas salientes para clientes de Amazon Connect y la mensajería para usuarios AWS finales (EUM) con Amazon Simple Email Service sirven para diferentes casos de uso. Antes de comenzar la migración, revise las características de la carga de trabajo para determinar el destino correcto.

Considere la posibilidad de realizar campañas salientes para clientes de Amazon Connect si su carga de trabajo incluye:

  • Interacción personalizada con los clientes a través de voz, SMS, correo electrónico y WhatsApp

  • AI-driven estrategias de contacto como la marcación predictiva, la marcación progresiva o la segmentación de clientes

  • Agent-assisted llamadas salientes con enrutamiento en tiempo real

  • Interacciones entrantes y salientes coordinadas en una sola aplicación

Considere la posibilidad de utilizar AWS End User Messaging y Amazon Simple Email Service si su carga de trabajo incluye:

Para las cargas de trabajo que combinan ambos patrones, puede utilizar Amazon Connect Customer para la interacción asistida por un agente y la mensajería de usuario AWS final con Amazon Simple Email Service para la entrega de grandes volúmenes de transacciones.

Para obtener asistencia de migración automatizada, consulte las herramientas de migración de Pronetx en Marketplace. AWS

Pasos de migración: transición de las funciones de interacción de Amazon Pinpoint

Clientes que buscan funciones de interacción

Para utilizar las funciones de participación proactiva de Connect Customer, 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 Connect Customer.

Migración de los puntos de conexión y los segmentos

Los puntos de enlace de Amazon Pinpoint se pueden modelar como perfiles de clientes de Connect Customer. Los perfiles de clientes le permiten combinar varios puntos de conexión en un solo perfil; puede 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. Crear un segmento de Amazon Pinpoint sin filtros que abarque todos sus puntos de conexión.

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

  3. Cargar sus puntos de conexión transformados en los perfiles de los clientes y utilizar el conector S3 de Perfiles de clientes para crear una integración de datos allí.

En caso de que desee agregar puntos de conexión a un solo 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 en 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 Perfiles de 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)

Migración de las configuraciones de canal

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

Migración de las plantillas

Las plantillas de Connect Customer 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 nuestras API de Amazon Pinpoint existentes para buscar una plantilla (por ejemplo, get-email-template o get-sms-template). O también puede seguir esta guía para editar una plantilla y copiar su contenido.

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

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

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

Migre las campañas

Para cada campaña, te recomendamos que utilices la API get-campaign para obtener su definición y, después, la vuelvas a crear en Connect Customer utilizando la guía de creación de campañas.

Migración de los recorridos

Los viajes ahora se admiten en las campañas salientes de Amazon Connect Customer. Puede recrear sus recorridos de Amazon Pinpoint con las funciones de organización de campañas para clientes de Amazon Connect. Utilice la API get-journey para obtener las definiciones de su recorrido y, a continuación, vuelva a crearlas con la guía de creación de recorridos para clientes de Amazon Connect.

Clientes de recopilación de eventos y análisis de dispositivos móviles

Clientes del SDK de Amplify

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 recorridos, 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, lo que puede actualizar el perfil del usuario de la aplicación y activar las campañas de Connect Customer.

Put-Events clientes

Si solo usa Amazon Pinpoint para transmitir eventos de su web/mobile aplicación 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 interacción de Amazon Pinpoint no están disponibles en Connect Customer.

  • In-App Mensajería

  • Las notificaciones PUSH (GCM, APNS, BAIDU, etc.) no se admiten de forma nativa en las campañas. Sin embargo, puede enviar notificaciones push a través de los viajes mediante una acción de Lambda con las plantillas push para clientes de Amazon Connect.

  • El canal personalizado está disponible para los viajes, pero no para las campañas.

Pasos de baja: exportación de datos a terceros

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

O también, si desea extraer todos sus recursos y almacenarlos, siga los pasos que se indican a continuación.

Puntos de conexión

Para dar de baja todos sus puntos de conexión, puede

  • Crear un segmento de Amazon Pinpoint sin filtros que abarque todos sus puntos de conexión.

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

Segmentos, campañas y recorridos

Para eliminar sus segmentos, campañas y recorridos, utilice nuestras API o nuestra interfaz de usuario para recuperarlos. Para ello, puede usar nuestras API get-segment, get-campaign o get-journey.

Plantillas de mensaje

Para eliminar sus plantillas, puede usar la API list-templates seguida de las API específicas del canal:

Amazon Pinpoint y análisis de dispositivos móviles

Para dar de baja sus eventos y KPI de Amazon Pinpoint Analytics o Mobile Analytics, puede utilizar las siguientes opciones:

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

  2. Para exportar los KPI de los últimos 3 meses, los clientes pueden utilizar 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 utiliza AWS Signature Version 4 para autenticarse con la API de Mobile Analytics y requiere Python 3.11 o posterior (descargar Python 3.11).

  1. Guarde el siguiente script como delete_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 de Mobile Analytics:

    python delete_mobile_analytics_application.py --appId <YOUR_MOBILE_ANALYTICS_APP_ID>

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

nota

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

Resumen

Las organizaciones con una cuenta de Amazon Pinpoint como mínimo pueden seguir utilizando las funciones de interactuación de Amazon Pinpoint, como los segmentos, las campañas, los recorridos, 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 feedback, contacte con AWS Support.