Aviso de fim do suporte: em 30 de outubro de 2026, AWS encerrará o suporte para o Amazon Pinpoint. Após 30 de outubro de 2026, você não poderá mais acessar o console do Amazon Pinpoint nem seus recursos (endpoints, segmentos, campanhas, jornadas e analytics). 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á.
Criar um canal personalizado no Amazon Pinpoint usando um webhook ou uma função do Lambda
O Amazon Pinpoint inclui suporte integrado para o envio de mensagens por meio de canais de notificação por push, e-mail, SMS e voz. Também é possível configurar o Amazon Pinpoint para enviar mensagens por meio de outros canais criando canais personalizados. Os canais personalizados no Amazon Pinpoint permitem que você envie mensagens por meio de qualquer serviço que tenha uma API, incluindo serviços de terceiros. É possível interagir com as APIs usando um webhook ou chamando uma função do AWS Lambda.
Os segmentos para os quais você enviar campanhas de canal personalizado poderão conter endpoints de todos os tipos (ou seja, endpoints em que o valor do atributo ChannelType seja EMAIL (E-mail), VOICE (Voz), SMS, CUSTOM (Personalizado) ou um dos vários tipos de endpoint de notificação por push).
Usar um webhook
Se você usar um webhook para enviar mensagens de canal personalizado, o URL do webhook deve começar com "https://". O URL do webhook pode conter somente caracteres alfanuméricos, além dos seguintes símbolos: hífen (-), ponto (.), sublinhado (_), til (~), ponto de interrogação (?), barra (/), cerquilha ou hashtag (#) e ponto e vírgula (;). O URL deve estar em conformidade com RFC3986
Quando você cria uma campanha que especifica o URL de um webhook, o Amazon Pinpoint emite um HTTP HEAD para esse URL. A resposta à solicitação HEAD deve conter um cabeçalho chamado X-Amz-Pinpoint-AccountId. O valor desse cabeçalho deve ser igual ao ID da sua conta da AWS.
Usar uma função do Lambda
Se, em vez disso, você optar por enviar mensagens de canal personalizadas criando uma função do Lambda, familiarize-se primeiro com os dados que o Amazon Pinpoint emite. Quando uma campanha do Amazon Pinpoint envia mensagens por um canal personalizado, ela envia uma carga para a função do Lambda de destino semelhante ao seguinte exemplo:
{ "Message":{}, "Data":"The payload that's provided in the CustomMessage object in MessageConfiguration", "ApplicationId":"3a9b1f4e6c764ba7b031e7183example", "CampaignId":"13978104ce5d6017c72552257example", "TreatmentId":"0", "ActivityId":"575cb1929d5ba43e87e2478eeexample", "ScheduledTime":"2020-04-08T19:00:16.843Z", "Endpoints":{ "1dbcd396df28ac6cf8c1c2b7fexample":{ "ChannelType":"EMAIL", "Address":"mary.major@example.com", "EndpointStatus":"ACTIVE", "OptOut":"NONE", "Location":{ "City":"Seattle", "Country":"USA" }, "Demographic":{ "Make":"OnePlus", "Platform":"android" }, "EffectiveDate":"2020-04-01T01:05:17.267Z", "Attributes":{ "CohortId":[ "42" ] }, "CreationDate":"2020-04-01T01:05:17.267Z" } } }
Os dados de eventos fornecem os seguintes atributos:
-
ApplicationId: o ID do projeto do Amazon Pinpoint ao qual a campanha pertence. -
CampaignId: o ID da campanha do Amazon Pinpoint que invocou a função do Lambda. -
TreatmentId: o ID da variante da campanha. Se você criou uma campanha padrão, esse valor será sempre 0. Se você criou uma campanha de teste A/B, esse valor será um número inteiro entre 0 e 4. -
ActivityId: o ID da atividade sendo executada pela campanha. -
ScheduledTime: a hora em que a campanha do Amazon Pinpoint foi executada, mostrada no formato ISO 8601. -
Endpoints: uma lista dos endpoints que foram alvo da campanha. Cada carga pode conter até 50 endpoints. Se o segmento para o qual a campanha foi enviada contiver mais de 50 endpoints, o Amazon Pinpoint invocará a função repetidamente, com até 50 endpoints por vez, até que todos os endpoints sejam processados.
É possível usar esses dados de exemplo ao criar e testar sua função do Lambda do canal personalizado.