웹후크 또는 Lambda 함수를 사용하여 Amazon Pinpoint에서 사용자 지정 채널 생성 - Amazon Pinpoint

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

웹후크 또는 Lambda 함수를 사용하여 Amazon Pinpoint에서 사용자 지정 채널 생성

Amazon Pinpoint에는 푸시 알림, 이메일, SMS및 음성 채널을 통해 메시지를 전송할 수 있는 기본 지원이 포함되어 있습니다. 사용자 지정 채널을 만들어 다른 채널을 통해 메시지를 보내도록 Amazon Pinpoint를 구성할 수도 있습니다. Amazon Pinpoint의 사용자 지정 채널을 사용하면 타사 서비스를 API포함하여 가 있는 모든 서비스를 통해 메시지를 보낼 수 있습니다. 웹후크APIs를 사용하거나 AWS Lambda 함수를 호출하여 와 상호 작용할 수 있습니다.

사용자 지정 채널 캠페인을 보내는 세그먼트에는 모든 유형의 엔드포인트(즉, ChannelType 속성 값이 EMAIL, , VOICESMSCUSTOM, 또는 다양한 푸시 알림 엔드포인트 유형 중 하나인 엔드포인트)가 포함될 수 있습니다.

웹후크 사용

웹후크를 사용하여 사용자 지정 채널 메시지를 전송하는 경우 웹후크URL의 는 '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.

웹후크 를 지정하는 캠페인을 생성하면 URL Amazon Pinpoint가 해당 HTTPHEAD에 를 발급합니다URL. HEAD 요청에 대한 응답에는 X-Amz-Pinpoint-AccountId라는 헤더가 포함되어야 합니다. 이 헤더의 값은 AWS 계정 ID와 같아야 합니다.

Lambda 함수 사용

Lambda 함수를 생성하여 사용자 지정 채널 메시지를 대신 전송하기로 선택하는 경우 먼저 Amazon Pinpoint가 내보내는 데이터를 숙지하는 것이 가장 좋습니다. Amazon Pinpoint 캠페인은 사용자 지정 채널을 통해 메시지를 보낼 때 다음 예제와 비슷한 대상 Lambda 함수에 페이로드를 보냅니다.

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

이벤트 데이터는 다음 속성을 제공합니다.

  • ApplicationId - 캠페인이 속한 Amazon Pinpoint 프로젝트의 ID입니다.

  • CampaignId - Lambda 함수를 간접적으로 호출한 Amazon Pinpoint 캠페인의 ID입니다.

  • TreatmentId - 캠페인 변형의 ID입니다. 표준 캠페인을 만든 경우 이 값은 항상 0입니다. A/B 테스트 캠페인을 만든 경우 이 값은 0~4 사이의 정수입니다.

  • ActivityId - 캠페인에 의해 수행 중인 활동의 ID입니다.

  • ScheduledTime – Amazon Pinpoint가 캠페인을 실행한 시간이며, ISO 8601 형식으로 표시됩니다.

  • Endpoints - 캠페인이 대상으로 지정한 엔드포인트의 목록입니다. 각 페이로드는 최대 50개의 엔드포인트를 포함할 수 있습니다. 캠페인을 보낸 세그먼트에 포함된 엔드포인트가 50개를 초과하는 경우 Amazon Pinpoint는 모든 엔드포인트가 처리될 때까지 한 번에 최대 50개의 엔드포인트를 사용하여 함수를 반복적으로 간접 호출합니다.

사용자 지정 채널 Lambda 함수를 생성하고 테스트할 경우 이 샘플 데이터를 사용할 수 있습니다.