Amazon Pinpoint의 SMS 이벤트 데이터 스트림 - Amazon Pinpoint

Amazon Pinpoint의 SMS 이벤트 데이터 스트림

프로젝트에 SMS 채널을 활성화한 경우, Amazon Pinpoint는 프로젝트의 SMS 메시지 전송에 대한 이벤트 데이터를 스트리밍할 수 있습니다. 이벤트 스트리밍을 설정한 후 Amazon Pinpoint는 설정 중에 지정한 대상에서 이벤트 데이터를 검색하여 볼 수 있도록 합니다. 이벤트 스트리밍 설정 방법에 대한 자세한 내용은 Amazon Kinesis 또는 Amazon Data Firehose를 통해 앱 이벤트 데이터를 스트리밍하도록 Amazon Pinpoint 설정 섹션을 참조하세요.

참고

통신사에서 생성한 SMS 이벤트는 수신될 때까지 최대 72시간이 걸릴 수 있으며, 아웃바운드 메시지 배달의 지연 여부를 판단하는 데 사용해서는 안 됩니다. 72시간이 지난 후에도 Amazon Pinpoint가 통신사로부터 최종 이벤트를 수신하지 않은 경우, 해당 메시지가 어떻게 되었는지 알 수 없으므로 서비스는 자동으로 UNKNOWN record_status를 반환합니다.

SMS 이벤트 예

SMS 이벤트에 대한 JSON 객체에는 다음 예제의 데이터가 포함되어 있습니다.

{ "event_type": "_SMS.SUCCESS", "event_timestamp": 1553104954322, "arrival_timestamp": 1553104954064, "event_version": "3.1", "application": { "app_id": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", "sdk": {} }, "client": { "client_id": "123456789012" }, "device": { "platform": {} }, "session": {}, "attributes": { "sender_request_id": "565d4425-4b3a-11e9-b0a5-example", "campaign_activity_id": "cbcfc3c5e3bd48a8ae2b9cb41example", "origination_phone_number": "+12065550142", "destination_phone_number": "+14255550199", "record_status": "DELIVERED", "iso_country_code": "US", "treatment_id": "0", "number_of_message_parts": "1", "message_id": "1111-2222-3333", "message_type": "Transactional", "campaign_id": "52dc44b35c4742c98c5935269example" }, "metrics": { "price_in_millicents_usd": 645.0 }, "awsAccountId": "123456789012" }

SMS 이벤트 속성

이 섹션에서는 SMS 메시지를 보낼 때 Amazon Pinpoint에서 생성하는 이벤트 스트림 데이터의 이전 예제에 포함된 속성을 정의합니다.

Event
속성 설명
event_type

이벤트의 유형입니다. 가능한 값은 다음과 같습니다.

  • _SMS.BUFFERED – 메시지가 수신자에게 배달되는 중입니다.

  • _SMS.SUCCESS – 메시지가 수신자에게 전달되었습니다.

  • _SMS.FAILURE – Amazon Pinpoint가 메시지를 수신자에게 배달할 수 없었습니다. 메시지 배달을 방해하는 오류에 대한 자세한 내용은 attributes.record_status 단원을 참조하십시오.

  • _SMS.OPTOUT – 고객이 메시지를 수신하고 옵트아웃 키워드(보통 "STOP")를 전송하여 응답했습니다.

event_timestamp

이벤트가 보고된 시간입니다(밀리초 단위 Unix 시간).

arrival_timestamp

Amazon Pinpoint에서 이벤트가 수신된 시간입니다(밀리초 단위 Unix 시간).

event_version

이벤트 JSON 스키마의 버전입니다.

작은 정보

스키마 업데이트에 대응하여 언제 애플리케이션을 업데이트해야 하는지 알 수 있도록 이벤트 처리 애플리케이션에서 이 버전을 확인합니다.

application

이벤트와 관련된 Amazon Pinpoint 프로젝트에 대한 정보입니다. 자세한 내용은 애플리케이션 표를 참조하십시오.

client

이벤트를 보고한 디바이스에 설치된 앱 클라이언트에 대한 정보입니다. 자세한 내용은 클라이언트 표를 참조하십시오.

device

이벤트를 보고한 디바이스에 대한 정보입니다. 자세한 내용은 디바이스 표를 참조하십시오.

SMS 이벤트의 경우 이 객체가 비어 있습니다.

session SMS 이벤트의 경우 이 객체가 비어 있습니다.
attributes

이벤트와 연결된 속성입니다. 앱 중 하나에서 보고한 이벤트의 경우 이 객체에는 앱에서 정의한 사용자 지정 속성이 포함될 수 있습니다. 캠페인을 전송할 때 생성되는 이벤트의 경우 이 객체에는 캠페인과 연결된 속성이 포함됩니다. 트랜잭션 메시지를 전송할 때 생성되는 이벤트의 경우 이 객체에는 메시지 자체와 관련된 정보가 포함됩니다.

자세한 내용은 속성 표를 참조하십시오.

metrics

이벤트와 연결된 추가 지표입니다. 자세한 내용은 지표 표를 참조하십시오.

awsAccountId

메시지를 전송하는 데 사용된 AWS 계정의 ID입니다.

애플리케이션

이벤트와 연결된 Amazon Pinpoint 프로젝트와 이벤트 보고에 사용된 SDK(해당하는 경우)에 대한 정보를 포함합니다.

속성 설명
app_id

이벤트를 보고한 Amazon Pinpoint 프로젝트의 고유 ID입니다.

sdk

이벤트를 보고하는 데 사용된 SDK입니다. Amazon Pinpoint API를 직접 호출하거나 Amazon Pinpoint 콘솔을 사용하여 트랜잭션 SMS 메시지를 전송하는 경우 이 객체는 비어 있습니다.

속성

이벤트와 연결된 속성에 대한 정보를 포함합니다.

속성 설명
sender_request_id

SMS 메시지 전송 요청과 연결된 고유 ID입니다.

campaign_activity_id 캠페인 내 활동의 고유 ID입니다.
origination_phone_number

메시지를 전송한 전화 번호입니다.

destination_phone_number

메시지 전송을 시도한 전화 번호입니다.

record_status

메시지 상태에 대한 추가 정보입니다. 가능한 값은 다음과 같습니다.

  • SUCCESSFUL/DELIVERED – 메시지가 성공적으로 배달되었습니다.

  • PENDING – 메시지가 아직 수신자의 디바이스로 배달되지 않았습니다.

  • INVALID – 대상 전화번호가 잘못되었습니다.

  • UNREACHABLE – 수신자의 디바이스가 현재 연결할 수 없거나 사용할 수 없습니다. 예를 들어, 디바이스의 전원이 꺼져 있거나 네트워크와의 연결이 끊어졌을 수 있습니다. 나중에 메시지 전송을 다시 시도할 수 있습니다.

  • UNKNOWN – 메시지 배달을 방해하는 오류가 발생했습니다. 이 오류는 일반적으로 일시적이며 나중에 메시지 전송을 다시 시도할 수 있습니다.

  • BLOCKED – 수신자의 디바이스가 발신 번호로부터의 SMS 메시지를 차단하고 있습니다.

  • CARRIER_UNREACHABLE – 수신자의 모바일 네트워크 문제로 인해 메시지가 배달되지 않았습니다. 이 오류는 일반적으로 일시적이며 나중에 메시지 전송을 다시 시도할 수 있습니다.

  • SPAM – 수신자의 통신사에서 메시지의 콘텐츠를 스팸으로 식별하여 메시지 배달을 차단했습니다.

  • INVALID_MESSAGE – SMS 메시지 본문이 잘못되어 배달할 수 없습니다.

  • CARRIER_BLOCKED – 수신자의 이동 통신 업체에서 이 메시지 배달을 차단했습니다. 이는 이동 통신 업체에서 메시지 콘텐츠를 원치 않는 메시지 또는 악성 메시지로 식별할 때 종종 발생합니다.

  • TTL_EXPIRED – 특정 시간 내에 SMS 메시지를 배달할 수 없었습니다. 이 오류는 일반적으로 일시적이며 나중에 메시지 전송을 다시 시도할 수 있습니다.

  • MAX_PRICE_EXCEEDED – 메시지를 전송할 경우 해당 계정의 월별 SMS 지출 할당량을 초과하는 요금이 발생합니다. Amazon Pinpoint 사용 설명서월별 SMS 지출 할당량 증가 요청의 절차를 완료하여 이러한 할당량 증가를 요청할 수 있습니다.

  • OPTED_OUT – 수신자가 나의 메시지 수신을 옵트아웃했기 때문에 SMS 메시지가 전송되지 않았습니다.

  • NO_QUOTA_LEFT_ON_ACCOUNT – 계정에 남은 지출 할당량이 부족하여 메시지를 전송할 수 없습니다. AWS End User Messaging SMS 사용 설명서월별 SMS 지출 할당량 증가 요청의 절차를 완료하여 이러한 할당량 증가를 요청할 수 있습니다.

  • NO_ORIGINATION_IDENTITY_AVAILABLE_TO_SEND – 계정에 대상으로 메시지를 전송하는 데 사용할 수 있는 전화번호가 포함되어 있지 않습니다.

  • DESTINATION_COUNTRY_NOT_SUPPORTED – 대상 국가가 차단되었습니다. 지원되는 모든 국가에 대해서는 AWS End User Messaging SMS 사용 설명서지원되는 국가 및 리전(SMS 채널)을 참조하세요.

  • ACCOUNT_IN_SANDBOX – 계정이 샌드박스에 있으며 인증된 대상 번호로만 이를 전송할 수 있습니다. Amazon Pinpoint 콘솔에서 대상 번호를 확인하거나 프로세스를 시작하여 샌드박스에서 계정을 이동할 수 있습니다. AWS End User Messaging SMS 사용 설명서의 SMS/MMS 및 음성 샌드박스 정보를 참조하세요.

  • RATE_EXCEEDED – 메시지를 너무 빨리 전송하려고 시도하여 조절되었습니다. 호출 속도를 낮춰야 합니다. 제한에 대한 자세한 내용은 AWS End User Messaging SMS 사용 설명서초당 메시지 부분(MPS) 제한을 참조하세요.

  • INVALID_ORIGINATION_IDENTITY – 제공된 발신 ID가 잘못되었습니다.

  • ORIGINATION_IDENTITY_DOES_NOT_EXIST – 제공된 발신 ID가 존재하지 않습니다.

  • INVALID_DLT_PARAMETERS – 잘못된 DLT 파라미터(인도 내의 대상에 필요)가 제공되었습니다.

  • INVALID_PARAMETERS – 잘못된 파라미터가 제공되었습니다.

  • ACCESS_DENIED – 계정의 메시지 전송이 차단되었습니다. 고객 지원팀에 문의하여 원인을 확인하고 문제를 해결하세요.

  • INVALID_KEYWORD – 제공된 키워드가 잘못되었습니다. 키워드 형식이 잘못되었거나 계정에 설정되지 않은 것일 수 있습니다.

  • INVALID_SENDER_ID – 제공된 발신자 ID가 잘못되었습니다. 발신자 ID의 형식이나 길이가 잘못되었을 수 있습니다.

  • INVALID_POOL_ID – 제공된 풀 ID가 잘못되었습니다. 풀 ID 형식이 잘못되었거나 계정에 속하지 않은 것일 수 있습니다.

  • SENDER_ID_NOT_SUPPORTED_FOR_DESTINATION – 대상 국가가 발신자 ID를 지원하지 않습니다. 전송하려면 전화번호 또는 다른 발신자 ID를 사용해야 합니다.

  • INVALID_PHONE_NUMBER – 제공된 발신자 전화번호가 잘못되었습니다. 전화번호의 형식이나 길이가 잘못되었을 수 있습니다.

iso_country_code

수신자의 전화 번호와 관련된 국가 이며, ISO 3166-1 alpha-2 형식으로 표시됩니다.

treatment_id

메시지가 A/B 캠페인으로 전송된 경우 메시지 처리의 ID입니다.

treatment_id

A/B 테스트 캠페인을 사용하여 메시지를 전송한 경우 이 값은 메시지의 처리 번호를 나타냅니다. 트랜잭션 SMS 메시지의 경우 이 값은 0입니다.

number_of_message_parts

Amazon Pinpoint가 메시지를 전송하기 위해 생성한 메시지 부분 수입니다.

일반적으로 SMS 메시지는 160개의 GSM-7 문자 또는 67개의 비GSM 문자만 포함할 수 있지만 이러한 한도는 국가 에 따라 다를 수 있습니다. 이 한도를 초과하는 메시지를 전송하면 Amazon Pinpoint에서 자동으로 메시지를 더 작게 분할합니다. 전송하는 메시지 부분 수에 따라 요금이 청구됩니다.

message_id

메시지를 수락할 때 Amazon Pinpoint에서 생성하는 고유 ID입니다.

message_type

메시지 유형. 가능한 값은 PromotionalTransactional입니다. 캠페인을 생성할 경우 또는 Amazon Pinpoint API에서 SendMessages 작업을 사용하여 트랜잭션 메시지를 전송할 경우 이 값을 지정합니다.

campaign_id

메시지를 전송한 Amazon Pinpoint 캠페인의 고유 ID입니다.

customer_context

Amazon Pinpoint SendMessages 작업에서 전송된 Context 맵의 콘텐츠 JSON 문자열입니다.

클라이언트

이벤트를 보고한 디바이스에 설치된 앱 클라이언트에 대한 정보를 포함합니다.

속성 설명
client_id

앱에서 생성된 이벤트의 경우 이 값은 디바이스에 설치된 앱 클라이언트의 고유 ID입니다. 이 ID는 AWS Mobile SDK for iOS 및 AWS Mobile SDK for Android에 의해 자동으로 생성됩니다.

캠페인 및 트랜잭션 메시지를 전송할 때 생성되는 이벤트의 경우 이 값은 메시지를 전송한 엔드포인트의 ID와 같습니다.

cognito_id 앱이 사용하는 Amazon Cognito 자격 증명 풀에서 앱 클라이언트에 지정된 고유 ID입니다.

장치

이벤트를 보고한 디바이스에 대한 정보를 포함합니다.

속성 설명
locale 디바이스 로캘입니다.
make 디바이스 제조사입니다(예: Apple 또는 Samsung).
model 디바이스 모델입니다(예: iPhone).
platform 디바이스 플랫폼입니다(예: ios 또는 android).

지표

이벤트와 연결된 지표에 대한 정보를 포함합니다.

속성 설명
price_in_millicents_usd

메시지 전송에 대해 청구된 금액입니다. 이 가격은 미국 센트의 1/1000로 표시됩니다. 예를 들어 이 속성의 값이 645인 경우, 메시지 전송에 대해 0.645¢가 청구된 것입니다(645 / 1000 = 0.645¢ = $0.00645).

참고

이 속성은 event_type_SMS.BUFFERED인 메시지에는 표시되지 않습니다.