Crie um canal personalizado no Amazon Pinpoint usando um webhook ou uma função Lambda - Amazon Pinpoint

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á.

Crie um canal personalizado no Amazon Pinpoint usando um webhook ou uma função Lambda

O Amazon Pinpoint inclui suporte integrado para o envio de mensagens por meio de notificações pushSMS, e-mail e canais de 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 umAPI, incluindo serviços de terceiros. Você pode interagir APIs usando um webhook ou chamando uma AWS Lambda função.

Os segmentos para os quais você envia campanhas de canais personalizadas podem conter endpoints de todos os tipos (ou seja, endpoints em que o valor do ChannelType atributo éEMAIL,, VOICE SMSCUSTOM, ou um dos vários tipos de endpoints de notificação push).

Use um webhook

Se você usar um webhook para enviar mensagens de canal personalizadas, o URL do webhook deverá começar com "https://". The webhook URL can only contain alphanumeric characters, plus the following symbols: hyphen (-), period (.), underscore (_), tilde (~), question mark (?), slash or solidus (/), pound or hash sign (#), and semicolon (:). The URL has to comply with. RFC3986

Quando você cria uma campanha que especifica um webhookURL, o Amazon Pinpoint emite HTTP HEAD um para isso. 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 AWS da sua conta.

Usar uma função do Lambda

Se você optar por enviar mensagens de canal personalizadas criando uma função Lambda, é melhor primeiro se familiarizar 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 o Amazon Pinpoint executou a campanha, exibida 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.