Erstellen Sie einen benutzerdefinierten Kanal in Amazon Pinpoint mithilfe einer Webhook- oder Lambda-Funktion - Amazon Pinpoint

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie einen benutzerdefinierten Kanal in Amazon Pinpoint mithilfe einer Webhook- oder Lambda-Funktion

Amazon Pinpoint bietet integrierte Unterstützung für das Senden von Nachrichten über Push-BenachrichtigungenSMS, E-Mail und Sprachkanäle. Sie können Amazon Pinpoint auch so konfigurieren, dass Nachrichten über andere Kanäle gesendet werden, indem Sie benutzerdefinierte Kanäle erstellen. Mit benutzerdefinierten Kanälen in Amazon Pinpoint können Sie Nachrichten über jeden Dienst senden, der über einen Dienst verfügtAPI, auch über Dienste von Drittanbietern. Sie können mit interagieren, APIs indem Sie einen Webhook verwenden oder eine AWS Lambda Funktion aufrufen.

Die Segmente, an die Sie benutzerdefinierte Kanalkampagnen senden, können Endpunkte aller Art enthalten (d. h. Endpunkte, bei denen der Wert des ChannelType AttributsEMAIL,, VOICE SMSCUSTOM, oder einer der verschiedenen Endpunkttypen für Push-Benachrichtigungen ist).

Verwenden Sie einen Webhook

Wenn Sie einen Webhook verwenden, um benutzerdefinierte Kanalnachrichten zu senden, muss URL der Webhook mit "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 beginnen. RFC3986

Wenn Sie eine Kampagne erstellen, die einen Webhook spezifiziertURL, gibt Amazon Pinpoint einen HTTP HEAD Hinweis darauf aus. URL Die Antwort auf die HEAD-Anforderung muss einen Header namens X-Amz-Pinpoint-AccountId enthalten. Der Wert dieses Headers muss Ihrer AWS Konto-ID entsprechen.

Verwenden einer Lambda-Funktion

Wenn Sie sich dafür entscheiden, stattdessen benutzerdefinierte Kanalnachrichten zu senden, indem Sie eine Lambda-Funktion erstellen, sollten Sie sich zunächst mit den Daten vertraut machen, die Amazon Pinpoint ausgibt. Wenn eine Amazon-Pinpoint-Kampagne Nachrichten über einen benutzerdefinierten Kanal sendet, sendet sie eine Nutzlast an die Lambda-Zielfunktion, die dem folgenden Beispiel ähnelt:

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

Die Ereignisdaten stellen die folgenden Attribute bereit:

  • ApplicationId: Die ID des Amazon-Pinpoint-Projekts, zu dem die Kampagne gehört.

  • CampaignId: Die ID der Amazon-Pinpoint-Kampagne, die die Lambda-Funktion aufgerufen hat.

  • TreatmentId: Die ID der Kampagnenvariante. Wenn Sie eine Standard-Kampagne erstellt haben, ist dieser Wert immer 0. Wenn Sie eine A/B-Testkampagne erstellt haben, ist dieser Wert eine ganze Zahl zwischen 0 und 4.

  • ActivityId: Die ID der Aktivität, die von der Kampagne ausgeführt wird.

  • ScheduledTime— Der Zeitpunkt, zu dem Amazon Pinpoint die Kampagne ausgeführt hat, angezeigt im ISO 8601-Format.

  • Endpoints: Eine Liste der Endpunkte, die das Ziel der Kampagne waren. Jede Nutzlast kann bis zu 50 Endpunkte enthalten. Wenn das Segment, an das die Kampagne gesendet wurde, mehr als 50 Endpunkte enthält, ruft Amazon Pinpoint die Funktion wiederholt auf, mit bis zu 50 Endpunkten gleichzeitig, bis alle Endpunkte verarbeitet wurden.

Sie können diese Beispieldaten beim Erstellen und Testen Ihrer benutzerdefinierten Lambda-Kanalfunktion verwenden.