Amazon Pinpoint akhir dukungan - Amazon Pinpoint

Pemberitahuan akhir dukungan: Pada 30 Oktober 2026, AWS akan mengakhiri dukungan untuk Amazon Pinpoint. Setelah 30 Oktober 2026, Anda tidak akan lagi dapat mengakses konsol Amazon Pinpoint atau sumber daya Amazon Pinpoint (titik akhir, segmen, kampanye, perjalanan, dan analitik). Untuk informasi selengkapnya, lihat Amazon Pinpoint akhir dukungan. Catatan: APIs terkait dengan SMS, suara, push seluler, OTP, dan validasi nomor telepon tidak terpengaruh oleh perubahan ini dan didukung oleh Pesan Pengguna AWS Akhir.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Amazon Pinpoint akhir dukungan

Setelah mempertimbangkan dengan cermat, kami memutuskan untuk mengakhiri dukungan untuk Amazon Pinpoint, efektif 30 Oktober 2026. Amazon Pinpoint tidak akan lagi menerima pelanggan baru mulai 20 Mei 2025. Sebagai pelanggan lama dengan akun yang mendaftar untuk layanan sebelum 20 Mei 2025, Anda dapat terus menggunakan fitur Amazon Pinpoint. Setelah 30 Oktober 2026, Anda tidak akan lagi dapat menggunakan Amazon Pinpoint.

Saat ini, pelanggan menggunakan Amazon Pinpoint baik untuk kemampuan keterlibatannya (titik akhir, segmen, kampanye, perjalanan, dan analitik), atau saluran perpesanan APIs (SMS, MMS, push WhatsApp, dan kemampuan pesan teks ke suara). Kami telah membuat rencana offboarding untuk kedua set pelanggan.

Apa artinya ini bagi Anda

Jika Anda menggunakan fitur keterlibatan Amazon Pinpoint (titik akhir, segmen, kampanye, perjalanan, dan analitik), kami sarankan Anda untuk bermigrasi ke solusi keterlibatan proaktif Amazon Connect (misalnya, kampanye keluar Amazon Connect dan Profil Pelanggan Amazon Connect) untuk mendorong keterlibatan yang dipersonalisasi dan tepat waktu di seluruh saluran dengan pelacakan kinerja terpadu dan kemampuan untuk mengelola inbound (misalnya, dukungan pelanggan) dan outbound (misalnya, proaktif komunikasi) menggunakan satu aplikasi terpadu. Jika Anda menggunakan pengumpulan acara dan analitik seluler, sebaiknya gunakan Amazon Kinesis.

Saluran komunikasi Amazon Pinpoint (SMS, MMS, push WhatsApp, dan kemampuan pesan teks ke suara) diubah namanya pada Q3 2024 sebagai AWS End User Messaging, dan akan terus melayani kebutuhan pengembang untuk pengiriman pesan dengan pelanggan. Penggunaan APIs terkait SMS, Voice, Mobile Push, OTP dan Validasi Nomor Telepon tidak akan terpengaruh oleh perubahan ini. Jika Anda menggunakan Amazon Pinpoint untuk mengirim email, kami sarankan Anda bermigrasi ke Amazon Simple Email Service (SES). Jika Anda menggunakan dasbor pengiriman email di Amazon Pinpoint, kami akan menawarkan fungsionalitas serupa di SES pada 30 Oktober 2026.

Langkah migrasi: Fitur transisi untuk keterlibatan Amazon Pinpoint

Pelanggan yang mencari fitur keterlibatan

Untuk menggunakan fitur keterlibatan proaktif Amazon Connect, termasuk segmen, templat pesan, kampanye, perjalanan, analitik, silakan ikuti panduan ini untuk memigrasikan kemampuan keterlibatan Amazon Pinpoint ke Amazon Connect.

Migrasikan titik akhir dan segmen

Amazon Pinpoint Endpoints dapat dimodelkan sebagai Amazon Connect Customer Profiles. Profil Pelanggan memungkinkan Anda untuk menggabungkan beberapa titik akhir menjadi satu profil, memungkinkan hingga 3 alamat email dan 4 nomor telepon untuk dimodelkan sebagai satu Profil. Untuk memigrasikan titik akhir Anda, Anda dapat

  1. Buat Segmen Amazon Pinpoint tanpa filter, yang secara efektif mencakup semua titik akhir Anda.

  2. Ekspor Segmen itu ke ember S3 atau ke mesin lokal Anda.

  3. Unggah titik akhir Anda yang telah diubah ke Profil Pelanggan dan gunakan konektor S3 Profil Pelanggan untuk membuat Integrasi Data ke dalam Profil Pelanggan.

Jika Anda ingin menggabungkan titik akhir di bawah satu Profil Pelanggan, Anda dapat mengurai segmen Amazon Pinpoint yang diunduh untuk mengumpulkan alamat email dan nomor telepon di bawah satu profil. Berikut adalah contoh skrip Python untuk membaca file yang diekspor dalam format JSON dan membuat Profil yang dapat diimpor ke Profil Pelanggan.

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)

Migrasikan konfigurasi saluran

Ikuti langkah-langkah orientasi untuk mengaktifkan komunikasi SMS dan email di Amazon Connect.

Migrasikan templat

Template di Amazon Connect menggunakan mesin rendering pesan (Setang) yang sama dengan Amazon Pinpoint. Namun, placeholder atribut diwakili secara berbeda.

  1. Anda dapat menggunakan Amazon Pinpoint yang ada APIs untuk mengambil template (misalnya,, get-email-template). get-sms-template Atau, Anda dapat mengikuti panduan ini untuk mengedit templat sehingga Anda dapat menyalin kontennya.

  2. Setelah mengambil template, perbarui placeholder-nya. Misalnya, template Amazon Pinpoint Anda sebelumnya menggunakan placeholder seperti. {{User.UserAttributes.PurchaseHistory}} Ini sekarang dapat diubah menjadi{{Attributes.Customer.Attributes.PurchaseHistory}}.

  3. Selanjutnya, buat template di Q di Amazon Connect menggunakan create-message-templateAPI atau gunakan panduan ini untuk membuat template pesan.

Untuk memetakan atribut Anda, ikuti pemetaan yang Anda lakukan sebelumnya saat Anda memetakan Titik Akhir ke Profil, yang diawali dengan. Attributes.Customer

Migrasi kampanye

Untuk setiap kampanye, sebaiknya gunakan API get-campaign untuk mengambil definisinya, lalu membuatnya kembali di Amazon Connect menggunakan panduan pembuatan kampanye.

Migrasikan perjalanan

Perjalanan belum sepenuhnya didukung di Amazon Connect. Kami menyarankan Anda untuk mengevaluasi kasus penggunaan perjalanan Anda jika kasus tersebut dapat diselesaikan menggunakan Kampanye Amazon Connect. Jika ya, ikuti pendekatan serupa seperti di atas menggunakan get-journey API untuk mengambil definisinya, lalu buat ulang di Amazon Connect menggunakan panduan pembuatan kampanye.

Pengumpulan acara dan pelanggan analitik seluler

Amplify pelanggan SDK

Jika Anda menggunakan Amplify SDK untuk mengirim peristiwa ke Amazon Pinpoint untuk memperbarui Titik Akhir, memicu kampanye atau perjalanan, atau menganalisis penggunaan aplikasi, Anda dapat bermigrasi menggunakan Kinesis. Menggunakan Kinesis, Anda dapat melakukan streaming peristiwa ke platform komputasi pilihan Anda untuk mengirim pembaruan ke Profil Pelanggan, yang dapat memperbarui profil pengguna aplikasi dan memicu kampanye Amazon Connect.

Pelanggan Put-Events

Jika Anda hanya menggunakan Amazon Pinpoint untuk melakukan streaming peristiwa dari aplikasi web/seluler ke aliran Kinesis, kini Anda dapat menggunakan Amplify SDK untuk langsung mengalirkan peristiwa ke Kinesis.

Fitur yang tidak tersedia

Sampai sekarang, fitur keterlibatan Amazon Pinpoint berikut tidak tersedia di Amazon Connect.

  • Pesan Dalam Aplikasi

  • Pemberitahuan PUSH (GCM, APNS, BAIDU, dll.) dalam Kampanye

  • Saluran Kustom

  • Segmen Impor

  • Perjalanan

Langkah offboarding: Ekspor data ke pihak ke-3

Jika Anda ingin menghapus semua data Amazon Pinpoint, jangan ragu untuk menghapus aplikasi menggunakan Hapus-aplikasi API. Setelah ini, hapus templat pesan yang tidak digunakan menggunakan panduan ini tentang menghapus templat.

Atau, jika Anda ingin mengekstrak semua sumber daya Anda dan menyimpannya, ikuti langkah-langkah di bawah ini.

Titik akhir

Untuk melepaskan titik akhir Anda, Anda bisa

  • Buat Segmen Amazon Pinpoint tanpa filter, yang secara efektif mencakup semua titik akhir Anda.

  • Ekspor Segmen itu ke ember S3 atau ke mesin lokal Anda.

Segmen, kampanye, dan perjalanan

Untuk melepaskan segmen, kampanye, dan perjalanan Anda, gunakan UI kami APIs atau kami untuk mengambilnya. Untuk ini, Anda dapat menggunakan get-segment, get-campaign, atau get-journey kami. APIs

Template pesan

Untuk melepaskan template Anda, Anda dapat menggunakan API daftar-templat diikuti oleh saluran khusus - APIs

Amazon Pinpoint dan analitik seluler

Untuk melepaskan acara Anda dan KPIs dari Amazon Pinpoint Analytics atau Mobile Analytics, Anda dapat menggunakan opsi berikut:

  1. Untuk mengekspor peristiwa mentah masa depan sebelum migrasi, pelanggan dapat melakukan onboard ke aliran data peristiwa.

  2. Pelanggan dapat mengekspor KPIs selama 3 bulan terakhir menggunakan perintah berikut:

Untuk pelanggan yang perlu menghapus aplikasi Mobile Analytics sebagai bagian dari migrasi mereka, Anda dapat menggunakan skrip Python berikut. Skrip ini menggunakan AWS Signature Version 4 untuk mengautentikasi dengan Mobile Analytics API.

  1. Simpan skrip berikut sebagaidelete_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. Pastikan Anda memiliki AWS kredensi valid yang ditetapkan sebagai variabel lingkungan.

  3. Jalankan skrip dengan ID aplikasi Mobile Analytics Anda:

    python delete_mobile_analytics_application.py --appId <YOUR_MOBILE_ANALYTICS_APP_ID>

Skrip ini membuat DELETE permintaan ke Mobile Analytics API untuk menghapus aplikasi yang ditentukan. Pastikan untuk menjalankan ini untuk setiap aplikasi Mobile Analytics yang perlu Anda hapus.

catatan

Pelanggan Active Mobile Analytics dapat terus mencerna peristiwa melalui putEvents API dan melihatnya di Amazon Pinpoint hingga tanggal dukungan Amazon Pinpoint berakhir.

Ringkasan

Organizations dengan setidaknya satu akun Amazon Pinpoint, dapat terus menggunakan fitur keterlibatan Amazon Pinpoint, termasuk segmen, kampanye, perjalanan, analitik, dan email hingga 30 Oktober 2026, ketika dukungan untuk layanan akan berakhir.

Sumber daya tambahan

Sumber daya tambahan berikut tersedia:

Jika Anda membutuhkan bantuan atau memiliki umpan balik, hubungi AWS Dukungan.