Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Créez une chaîne personnalisée dans Amazon Pinpoint à l'aide d'un webhook ou d'une fonction Lambda
Amazon Pinpoint inclut une prise en charge intégrée pour l'envoi de messages par le biais des notifications push, des e-mails et des SMS canaux vocaux. Vous pouvez également configurer Amazon Pinpoint pour l'envoi de messages à travers d'autres canaux en créant des canaux personnalisés. Les canaux personnalisés d'Amazon Pinpoint vous permettent d'envoyer des messages par le biais de n'importe quel service doté d'un serviceAPI, y compris des services tiers. Vous pouvez interagir avec APIs en utilisant un webhook ou en appelant une AWS Lambda fonction.
Les segments auxquels vous envoyez des campagnes de chaînes personnalisées peuvent contenir des points de terminaison de tous types (c'est-à-dire des points de terminaison dont la valeur de l'ChannelType
attribut estEMAIL,, VOICE SMSCUSTOM, ou l'un des différents types de points de terminaison de notification push).
Utiliser un webhook
Si vous utilisez un webhook pour envoyer des messages URL de chaîne personnalisés, le webhook doit commencer par « 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
com ply with ». RFC3986
Lorsque vous créez une campagne qui spécifie un webhookURL, Amazon Pinpoint émet HTTP HEAD
un code à cet effet. URL La réponse à la demande HEAD
doit contenir un en-tête appelé X-Amz-Pinpoint-AccountId
. La valeur de cet en-tête doit être égale à votre identifiant de AWS compte.
Utiliser une fonction Lambda
Si vous préférez envoyer des messages de chaîne personnalisés en créant une fonction Lambda, il est préférable de vous familiariser d'abord avec les données émises par Amazon Pinpoint. Lorsqu'une campagne Amazon Pinpoint envoie des messages à travers un canal personnalisé, elle envoie une charge utile à la fonction Lambda cible semblable à l'exemple suivant :
{ "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" } } }
Les données d’événements fournissent les attributs suivants :
-
ApplicationId
: ID du projet Amazon Pinpoint auquel la campagne appartient. -
CampaignId
: ID de la campagne Amazon Pinpoint pour laquelle la fonction Lambda est invoquée. -
TreatmentId
: ID de la variante de campagne. Si vous avez créé une campagne standard, cette valeur est toujours 0. Si vous avez créé une campagne de test A/B, cette valeur est un entier compris entre 0 et 4. -
ActivityId
: ID de l'activité effectuée par la campagne. -
ScheduledTime
— L'heure à laquelle Amazon Pinpoint a exécuté la campagne, affichée au format ISO 8601. -
Endpoints
: liste des points de terminaison ciblés par la campagne. Chaque charge utile peut contenir jusqu'à 50 points de terminaison. Si le segment vers lequel la campagne a été envoyée contient plus de 50 points de terminaison, Amazon Pinpoint appelle la fonction à plusieurs reprises, avec un maximum de 50 points de terminaison à la fois, jusqu'à ce que tous les points de terminaison aient été traités.
Vous pouvez utiliser cet échantillon de données lors de la création et du test de votre fonction Lambda de canal personnalisé.