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

Hinweis zum Ende des Supports: Am 30. Oktober 2026 AWS wird der Support für Amazon Pinpoint eingestellt. Nach dem 30. Oktober 2026 können Sie nicht mehr auf die Amazon Pinpoint-Konsole oder die Amazon Pinpoint Pinpoint-Ressourcen (Endpunkte, Segmente, Kampagnen, Journeys und Analysen) zugreifen. Weitere Informationen finden Sie unter Ende des Supports von Amazon Pinpoint. Hinweis: APIs In Bezug auf SMS sind Sprach-, Handy-Push-, OTP- und Telefonnummernvalidierung von dieser Änderung nicht betroffen und werden von AWS End User Messaging unterstützt.

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 die Kanäle Push-Benachrichtigung, E-Mail, SMS und Sprache. Sie können Amazon Pinpoint auch so konfigurieren, dass Nachrichten über andere Kanäle gesendet werden, indem Sie benutzerdefinierte Kanäle erstellen. Benutzerdefinierte Kanäle in Amazon Pinpoint ermöglichen es Ihnen, Nachrichten über jeden Dienst zu senden, der über eine API verfügt, dazu gehören auch 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 Kampagnen über benutzerdefinierte Kanäle senden, können Endpunkte aller Typen enthalten (d. h. Endpunkte, bei denen der Wert des ChannelType-Attributs EMAIL (E-MAIL), VOICE (SPRACHE), SMS, CUSTOM (BENUTZERDEFINIERT) oder einer der verschiedenen Endpunkttypen für Push-Benachrichtigung ist).

Verwenden Sie einen Webhook

Wenn Sie einen Webhook verwenden, um benutzerdefinierte Kanalnachrichten zu senden, muss die URL des Webhooks 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 eine Webhook-URL angibt, gibt Amazon Pinpoint einen HTTP HEAD an diese URL aus. 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, wird im ISO 8601-Format angezeigt.

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