Aviso de fim do suporte: em 30 de outubro de 2026, AWS encerrará o suporte para o Amazon Pinpoint. Depois de 30 de outubro de 2026, você não poderá mais acessar o console do Amazon Pinpoint ou os recursos do Amazon Pinpoint (endpoints, segmentos, campanhas, viagens e análises). Para obter mais informações, consulte Fim do suporte do Amazon Pinpoint. Observação: APIs relacionados a SMS, voz, push móvel, OTP e validação de número de telefone não são afetados por essa alteração e são compatíveis com o AWS End User Messaging.
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Adicionar um lote de endpoints ao Amazon Pinpoint
Você pode adicionar ou atualizar vários endpoints em uma única operação fornecendo os endpoints em lotes. Cada solicitação em lotes pode incluir até 100 definições de endpoints.
Para adicionar ou atualizar mais de 100 endpoints em uma única operação, consulte Importar endpoints para o Amazon Pinpoint.
Exemplos
Os exemplos a seguir mostram como adicionar dois endpoints de uma vez, incluindo os endpoints em uma solicitação em lotes.
- AWS CLI
-
Você pode usar o Amazon Pinpoint executando comandos com a AWS CLI.
exemplo Comando Update endpoints batch
Para enviar uma solicitação de endpoints em lotes, use o comando
update-endpoints-batch
:$
aws pinpoint update-endpoints-batch \
>
--application-id
application-id
\>
--endpoint-batch-request file://
endpoint_batch_request_file.json
Em que:
-
application-id
é o ID do projeto Amazon Pinpoint no qual você está adicionando ou atualizando os endpoints. -
endpoint_batch_request_file.json
é o caminho do arquivo para um arquivo JSON local que contém a entrada para o--endpoint-batch-request
parâmetro.
exemplo Arquivo de solicitação de lote de endpoints
O comando
update-endpoints-batch
de exemplo usa um arquivo JSON como o argumento para o parâmetro--endpoint-request
. Esse arquivo contém um lote de definições de endpoints, como o seguinte:{ "Item": [ { "ChannelType": "EMAIL", "Address": "richard_roe@example.com", "Attributes": { "Interests": [ "Music", "Books" ] }, "Metrics": { "music_interest_level": 3.0, "books_interest_level": 7.0 }, "Id": "example_endpoint_1", "User":{ "UserId": "example_user_1", "UserAttributes": { "FirstName": "Richard", "LastName": "Roe" } } }, { "ChannelType": "SMS", "Address": "+16145550100", "Attributes": { "Interests": [ "Cooking", "Politics", "Finance" ] }, "Metrics": { "cooking_interest_level": 5.0, "politics_interest_level": 8.0, "finance_interest_level": 4.0 }, "Id": "example_endpoint_2", "User": { "UserId": "example_user_2", "UserAttributes": { "FirstName": "Mary", "LastName": "Major" } } } ] }
Para os atributos que você pode usar para definir um lote de endpoints, consulte o EndpointBatchRequestesquema na Referência da API do Amazon Pinpoint.
-
- AWS SDK para Java
-
Você pode usar a API do Amazon Pinpoint em seus aplicativos Java usando o cliente fornecido pelo AWS SDK para Java.
exemplo Código
Para enviar uma solicitação de endpoints em lotes, inicialize um objeto
EndpointBatchRequest
e passe-o para o métodoupdateEndpointsBatch
do cliente doAmazonPinpoint
. O exemplo a seguir preenche um objetoEndpointBatchRequest
com dois objetosEndpointBatchItem
:import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.pinpoint.PinpointClient; import software.amazon.awssdk.services.pinpoint.model.UpdateEndpointsBatchResponse; import software.amazon.awssdk.services.pinpoint.model.EndpointUser; import software.amazon.awssdk.services.pinpoint.model.EndpointBatchItem; import software.amazon.awssdk.services.pinpoint.model.ChannelType; import software.amazon.awssdk.services.pinpoint.model.EndpointBatchRequest; import software.amazon.awssdk.services.pinpoint.model.PinpointException; import software.amazon.awssdk.services.pinpoint.model.UpdateEndpointsBatchRequest; import java.util.Map; import java.util.List; import java.util.ArrayList; import java.util.HashMap;
import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.pinpoint.PinpointClient; import software.amazon.awssdk.services.pinpoint.model.UpdateEndpointsBatchResponse; import software.amazon.awssdk.services.pinpoint.model.EndpointUser; import software.amazon.awssdk.services.pinpoint.model.EndpointBatchItem; import software.amazon.awssdk.services.pinpoint.model.ChannelType; import software.amazon.awssdk.services.pinpoint.model.EndpointBatchRequest; import software.amazon.awssdk.services.pinpoint.model.PinpointException; import software.amazon.awssdk.services.pinpoint.model.UpdateEndpointsBatchRequest; import java.util.Map; import java.util.List; import java.util.ArrayList; import java.util.HashMap; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class AddExampleEndpoints { public static void main(String[] args) { final String usage = """ Usage: <appId> Where: appId - The ID of the application. """; if (args.length != 1) { System.out.println(usage); System.exit(1); } String applicationId = args[0]; PinpointClient pinpoint = PinpointClient.builder() .region(Region.US_EAST_1) .build(); updateEndpointsViaBatch(pinpoint, applicationId); pinpoint.close(); } public static void updateEndpointsViaBatch(PinpointClient pinpoint, String applicationId) { try { List<String> myList = new ArrayList<>(); myList.add("music"); myList.add("books"); Map myMap = new HashMap<String, List>(); myMap.put("attributes", myList); List<String> myNames = new ArrayList<String>(); myList.add("Richard"); myList.add("Roe"); Map myMap2 = new HashMap<String, List>(); myMap2.put("name", myNames); EndpointUser richardRoe = EndpointUser.builder() .userId("example_user_1") .userAttributes(myMap2) .build(); // Create an EndpointBatchItem object for Richard Roe. EndpointBatchItem richardRoesEmailEndpoint = EndpointBatchItem.builder() .channelType(ChannelType.EMAIL) .address("richard_roe@example.com") .id("example_endpoint_1") .attributes(myMap) .user(richardRoe) .build(); List<String> myListMary = new ArrayList<String>(); myListMary.add("cooking"); myListMary.add("politics"); myListMary.add("finance"); Map myMapMary = new HashMap<String, List>(); myMapMary.put("interests", myListMary); List<String> myNameMary = new ArrayList<String>(); myNameMary.add("Mary "); myNameMary.add("Major"); Map maryName = new HashMap<String, List>(); myMapMary.put("name", myNameMary); EndpointUser maryMajor = EndpointUser.builder() .userId("example_user_2") .userAttributes(maryName) .build(); // Create an EndpointBatchItem object for Mary Major. EndpointBatchItem maryMajorsSmsEndpoint = EndpointBatchItem.builder() .channelType(ChannelType.SMS) .address("+16145550100") .id("example_endpoint_2") .attributes(myMapMary) .user(maryMajor) .build(); // Adds multiple endpoint definitions to a single request object. EndpointBatchRequest endpointList = EndpointBatchRequest.builder() .item(richardRoesEmailEndpoint) .item(maryMajorsSmsEndpoint) .build(); // Create the UpdateEndpointsBatchRequest. UpdateEndpointsBatchRequest batchRequest = UpdateEndpointsBatchRequest.builder() .applicationId(applicationId) .endpointBatchRequest(endpointList) .build(); // Updates the endpoints with Amazon Pinpoint. UpdateEndpointsBatchResponse result = pinpoint.updateEndpointsBatch(batchRequest); System.out.format("Update endpoints batch result: %s\n", result.messageBody().message()); } catch (PinpointException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } }
Para ver o exemplo completo do SDK, consulte AddExampleEndpoints.java on. GitHub
- HTTP
-
Você pode usar o Amazon Pinpoint fazendo solicitações HTTP diretamente para a API REST.
exemplo Solicitação Put endpoints
Para enviar uma solicitação de endpoints em lotes, envie uma solicitação
PUT
para o recurso Endpoints no seguinte URI:/v1/apps/
application-id
/endpointsOnde
application-id
está o ID do projeto Amazon Pinpoint no qual você está adicionando ou atualizando os endpoints.Em sua solicitação, inclua os cabeçalhos necessários e forneça o EndpointBatchRequestJSON como corpo:
PUT /v1/apps/
application_id
/endpoints HTTP/1.1 Host: pinpoint.us-east-1.amazonaws.com Content-Type: application/json Accept: application/json X-Amz-Date: 20180501T184948Z Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE
/20180501/us-east-1
/mobiletargeting/aws4_request, SignedHeaders=accept;content-length;content-type;host;x-amz-date, Signature=c25cbd6bf61bd3b3667c571ae764b9bf2d8af61b875cacced95d1e68d91b4170
Cache-Control: no-cache { "Item": [ { "ChannelType": "EMAIL", "Address": "richard_roe@example.com", "Attributes": { "Interests": [ "Music", "Books" ] }, "Metrics": { "music_interest_level": 3.0, "books_interest_level": 7.0 }, "Id": "example_endpoint_1", "User":{ "UserId": "example_user_1", "UserAttributes": { "FirstName": "Richard", "LastName": "Roe" } } }, { "ChannelType": "SMS", "Address": "+16145550100", "Attributes": { "Interests": [ "Cooking", "Politics", "Finance" ] }, "Metrics": { "cooking_interest_level": 5.0, "politics_interest_level": 8.0, "finance_interest_level": 4.0 }, "Id": "example_endpoint_2", "User": { "UserId": "example_user_2", "UserAttributes": { "FirstName": "Mary", "LastName": "Major" } } } ] }Se sua solicitação for bem-sucedida, você receberá uma resposta como a seguinte:
{ "RequestID": "67e572ed-41d5-11e8-9dc5-db288f3cbb72", "Message": "Accepted" }
Informações relacionadas
Para obter mais informações sobre o recurso Endpoint na API do Amazon Pinpoint, incluindo os métodos HTTP e os parâmetros de solicitação compatíveis, consulte Endpoint na .Referência da API do Amazon Pinpoint.