Crea un canale personalizzato in Amazon Pinpoint utilizzando un webhook o una funzione Lambda - Amazon Pinpoint

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea un canale personalizzato in Amazon Pinpoint utilizzando un webhook o una funzione Lambda

Amazon Pinpoint include il supporto integrato per l'invio di messaggi tramite notifiche pushSMS, e-mail e canali vocali. È inoltre possibile configurare Amazon Pinpoint per l'invio di messaggi tramite altri canali creando canali personalizzati. I canali personalizzati in Amazon Pinpoint ti consentono di inviare messaggi tramite qualsiasi servizio dotato diAPI, compresi i servizi di terze parti. Puoi interagire con APIs usando un webhook o chiamando una AWS Lambda funzione.

I segmenti a cui invii campagne di canale personalizzate possono contenere endpoint di tutti i tipi (ovvero endpoint in cui il valore dell'ChannelTypeattributo èEMAIL,, VOICE SMSCUSTOM, o uno dei vari tipi di endpoint di notifica push).

Usa un webhook

Se si utilizza un webhook per inviare messaggi URL di canale personalizzati, il webhook deve iniziare con "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 crei una campagna che specifica un webhookURL, Amazon Pinpoint ne emette HTTP HEAD uno. URL La risposta alla richiesta HEAD deve contenere un'intestazione chiamata X-Amz-Pinpoint-AccountId. Il valore di questa intestazione deve corrispondere all'ID del tuo account. AWS

Utilizza una funzione Lambda

Se scegli invece di inviare messaggi di canale personalizzati creando una funzione Lambda, è meglio prima acquisire familiarità con i dati emessi da Amazon Pinpoint. Quando una campagna Amazon Pinpoint invia messaggi su un canale personalizzato, invia un payload alla funzione Lambda di destinazione come nell'esempio seguente:

{ "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" } } }

I dati sugli eventi forniscono gli attributi seguenti:

  • ApplicationId; ID del progetto Amazon Pinpoint a cui appartiene la campagna.

  • CampaignId: ID della campagna Amazon Pinpoint che ha richiamato la funzione Lambda.

  • TreatmentId: ID della variante della campagna. Se hai creato una campagna standard, questo valore è sempre 0. Se è stata creata una campagna di test A/B, questo valore è un numero intero compreso tra 0 e 4.

  • ActivityId: ID dell'attività eseguita dalla campagna.

  • ScheduledTime— L'ora in cui Amazon Pinpoint ha eseguito la campagna, mostrata nel formato ISO 8601.

  • Endpoints: elenco degli endpoint interessati dalla campagna. Ogni payload può contenere fino a 50 endpoint. Se il segmento a cui è stata inviata la campagna contiene più di 50 endpoint, Amazon Pinpoint richiama più volte la funzione, con un massimo di 50 endpoint alla volta, finché non vengono elaborati tutti gli endpoint.

È possibile utilizzare questi dati di esempio durante la creazione e il test della funzione Lambda del canale personalizzato.