Fluxo de dados de evento de SMS do Amazon Pinpoint - Amazon Pinpoint

Fluxo de dados de evento de SMS do Amazon Pinpoint

Se o canal SMS estiver habilitado para um projeto, o Amazon Pinpoint pode transmitir dados de evento sobre entregas de mensagens SMS para o projeto. Depois de configurar a transmissão de eventos, o Amazon Pinpoint recupera os dados do evento do destino que você especificou durante a configuração, para que você possa visualizá-los. Para obter informações sobre como configurar uma transmissão de evento, consulte Configure o Amazon Pinpoint para transmitir dados de eventos do aplicativo por meio do Amazon Kinesis ou do Amazon Data Firehose .

nota

Os eventos de SMS gerados pelas operadoras podem levar até 72 horas para serem recebidos e não devem ser usados para determinar se há um atraso na entrega das mensagens enviadas. Depois de 72 horas, se o Amazon Pinpoint não tiver recebido um evento final de uma operadora, o serviço retornará automaticamente um record_status UNKNOWN, já que o Amazon Pinpoint não sabe o que aconteceu com essa mensagem.

Exemplo de evento de SMS

O objeto JSON de um evento de SMS contém os dados mostrados no exemplo a seguir.

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

Atributos de eventos de SMS

Esta seção define os atributos incluídos no exemplo anterior de dados de fluxo do evento que o Amazon Pinpoint gera ao enviar mensagens SMS.

Evento
Atributo Descrição
event_type

O tipo de evento. Os valores possíveis são:

  • _SMS.BUFFERED: a mensagem ainda está em processo de entrega ao destinatário.

  • _SMS.SUCCESS: a mensagem foi aceita pela operadora e entregue ao destinatário.

  • _SMS.FAILURE: o Amazon Pinpoint não conseguiu entregar a mensagem ao destinatário. Para saber mais sobre o erro que impediu a entrega da mensagem, consulte attributes.record_status.

  • _SMS.OPTOUT: o cliente recebeu a mensagem e respondeu enviando a palavra-chave de cancelamento (geralmente "STOP").

event_timestamp

A hora em que o evento foi relatado, mostrada como horário do Unix em milissegundos.

arrival_timestamp

A hora em que o evento foi recebido pelo Amazon Pinpoint, mostrada como horário do Unix em milissegundos.

event_version

A versão do esquema do evento JSON.

dica

Marque esta versão no seu aplicativo de processamento de eventos para que você saiba quando atualizar o aplicativo em resposta a uma atualização de esquema.

application

Informações sobre o projeto do Amazon Pinpoint associado ao evento. Para obter mais informações, consulte a tabela Aplicativo.

client

Informações sobre o cliente de aplicativo instalado no dispositivo que relatou o evento. Para obter mais informações, consulte a tabela Cliente.

device

Informações sobre o dispositivo que relatou o evento. Para obter mais informações, consulte a tabela Dispositivo.

Para eventos de SMS, esse objeto está vazio.

session Para eventos de SMS, esse objeto está vazio.
attributes

Atributos associados ao evento. Para eventos relatados por um de seus aplicativos, esse objeto pode incluir atributos personalizados que são definidos pelo aplicativo. Para eventos criados ao enviar uma campanha, esse objeto contém atributos associados à campanha. Para eventos gerados ao enviar mensagens transacionais, esse objeto contém informações relacionadas à mensagem em si.

Para obter mais informações, consulte a tabela Atributos.

metrics

Métricas adicionais associadas ao evento. Consulte a tabela Métricas para obter mais informações.

awsAccountId

O ID da conta da AWS usada para enviar a mensagem.

Aplicativo

Inclui informações sobre o projeto do Amazon Pinpoint ao qual o evento está associado e, se aplicável, o SDK usado para relatar o evento.

Atributo Descrição
app_id

O ID exclusivo do projeto do Amazon Pinpoint que relatou o evento.

sdk

O SDK usado para relatar o evento. Se você enviar uma mensagem SMS transacional chamando a API do Amazon Pinpoint diretamente ou usando o console do Amazon Pinpoint, esse objeto estará vazio.

Atributos

Inclui informações sobre os atributos associados ao evento.

Atributo Descrição
sender_request_id

Um ID exclusivo associado à solicitação para enviar a mensagem SMS.

campaign_activity_id O ID exclusivo da atividade na campanha.
origination_phone_number

O número de telefone do qual a mensagem foi enviada.

destination_phone_number

O número de telefone para o qual você tentou enviar a mensagem.

record_status

Informações adicionais sobre o status da mensagem. Os possíveis valores incluem:

  • SUCCESSFUL/DELIVERED: a mensagem foi entregue.

  • PENDING: a mensagem ainda não foi entregue ao dispositivo do destinatário.

  • INVALID: o número de telefone de destino é inválido.

  • UNREACHABLE: o dispositivo do destinatário está inacessível ou indisponível no momento. Por exemplo, o dispositivo pode estar desligado ou desconectado da rede. É possível tentar enviar a mensagem novamente mais tarde.

  • UNKNOWN: ocorreu um erro que impediu a entrega da mensagem. Esse erro geralmente é temporário, e é possível tentar enviar a mensagem novamente mais tarde.

  • BLOCKED: o dispositivo do destinatário está bloqueando mensagens SMS do número de origem.

  • CARRIER_UNREACHABLE: um problema com a rede móvel do destinatário impediu que a mensagem fosse entregue. Esse erro geralmente é temporário, e é possível tentar enviar a mensagem novamente mais tarde.

  • SPAM: a operadora móvel do destinatário identificou o conteúdo da mensagem como spam e bloqueou a entrega da mensagem.

  • INVALID_MESSAGE: o corpo da mensagem SMS é inválido e não pode ser entregue.

  • CARRIER_BLOCKED: a operadora do destinatário bloqueou a entrega dessa mensagem. Isso geralmente ocorre quando a operadora identifica o conteúdo da mensagem como não solicitado ou mal-intencionado.

  • TTL_EXPIRED: não foi possível entregar a mensagem SMS dentro de um determinado prazo. Esse erro geralmente é temporário, e é possível tentar enviar a mensagem novamente mais tarde.

  • MAX_PRICE_EXCEEDED: o envio da mensagem resultaria em uma cobrança que excederia a cota mensal de gastos de SMS de sua conta. É possível solicitar um aumento dessa cota concluindo o procedimento em Solicitar aumentos de sua cota de gastos mensais de SMS no Guia do usuário do Amazon Pinpoint.

  • OPTED_OUT: a mensagem SMS não foi enviada porque o destinatário optou por não receber suas mensagens.

  • NO_QUOTA_LEFT_ON_ACCOUNT: não há cota de gastos suficiente em sua conta para enviar a mensagem. É possível solicitar um aumento dessa cota concluindo o procedimento em Solicitar aumentos de sua cota de gastos mensais de SMS no Guia do usuário do AWS End User Messaging SMS.

  • NO_ORIGINATION_IDENTITY_AVAILABLE_TO_SEND: sua conta não contém um número de telefone que possa ser usado para enviar a mensagem ao destino.

  • DESTINATION_COUNTRY_NOT_SUPPORTED: o país de destino está bloqueado. Para consultar todos os países que oferecem suporte, consulte Supported countries and regions (SMS channel) no Guia do usuário do AWS End User Messaging SMS.

  • ACCOUNT_IN_SANDBOX: sua conta está na sandbox e só pode ser enviada para números de destino verificados. Você pode verificar o número de destino no console do Amazon Pinpoint ou iniciar o processo para mover a conta do sandbox, consulte About the SMS/MMS and Voice sandbox no Guia do usuário do AWS End User Messaging SMS.

  • RATE_EXCEEDED: você tentou enviar a mensagem muito rápido e foi bloqueado. Você precisa diminuir sua taxa de chamadas. Para obter detalhes sobre nossos limites, consulte Message Parts per Second (MPS) limits no Guia do usuário do AWS End User Messaging SMS.

  • INVALID_ORIGINATION_IDENTITY: a identidade de origem fornecida é inválida.

  • ORIGINATION_IDENTITY_DOES_NOT_EXIST: a identidade de origem fornecida não existe.

  • INVALID_DLT_PARAMETERS: foram fornecidos parâmetros DLT inválidos (necessários para destinos na Índia).

  • INVALID_PARAMETERS: foram fornecidos parâmetros inválidos.

  • ACCESS_DENIED: sua conta está bloqueada para enviar mensagens. Entre em contato com o suporte ao cliente para descobrir a causa e resolver o problema.

  • INVALID_KEYWORD: a palavra-chave fornecida é inválida. A palavra-chave pode estar no formato incorreto ou não estar definida na sua conta.

  • INVALID_SENDER_ID: O ID de remetente fornecido é inválido. O ID de remetente pode estar em formato ou tamanho incorretos.

  • INVALID_POOL_ID: O ID de grupo fornecido é inválido. O ID de grupo pode estar no formato incorreto ou não pertencer à sua conta.

  • SENDER_ID_NOT_SUPPORTED_FOR_DESTINATION: o país de destino não oferece suporte ao ID do remetente. Você precisa usar um número de telefone ou outra identidade de origem para enviar.

  • INVALID_PHONE_NUMBER: o número de telefone de origem fornecido é inválido. O número de telefone pode estar em formato ou tamanho incorretos.

iso_country_code

O país associada ao número de telefone do destinatário, mostrado no formato ISO 3166-1 alpha-2.

treatment_id

O ID do tratamento da mensagem, se a mensagem tiver sido enviada em uma campanha A/B.

treatment_id

Se a mensagem foi enviada usando uma campanha de teste A/B, esse valor representa o número de tratamento da mensagem. Para mensagens SMS transacionais, esse valor é 0.

number_of_message_parts

O número de partes da mensagem que o Amazon Pinpoint criou para enviar a mensagem.

Geralmente, as mensagens SMS podem conter apenas 160 caracteres GSM-7 ou 67 caracteres não GSM, embora esses limites possam variar de acordo com o país . Se você enviar uma mensagem que exceda esses limites, o Amazon Pinpoint dividirá a mensagem automaticamente em partes menores. Você será cobrado com base no número de partes de mensagens enviadas.

message_id

O ID exclusivo que o Amazon Pinpoint gera quando aceita a mensagem.

message_type

O tipo de mensagem. Os valores possíveis são Promocional e Transacional. Especifique esse valor ao criar uma campanha ou ao enviar mensagens transacionais usando a operação SendMessages na API do Amazon Pinpoint.

campaign_id

O ID exclusivo da campanha do Amazon Pinpoint que enviou a mensagem.

customer_context

Uma string JSON do conteúdo do mapa Context enviada em uma operação SendMessages do Amazon Pinpoint.

Cliente

Inclui informações sobre o cliente do aplicativo instalado no dispositivo que relatou o evento.

Atributo Descrição
client_id

Para eventos gerados por aplicativos, esse valor é o ID exclusivo do cliente do aplicativo instalado no dispositivo. Esse ID é gerado automaticamente pelo AWS Mobile SDK for iOS e AWS Mobile SDK for Android.

Para eventos gerados ao enviar campanhas e mensagens transacionais, esse valor é igual ao ID do endpoint para o qual você enviou a mensagem.

cognito_id O ID exclusivo atribuído para o cliente do aplicativo no banco de identidades do Amazon Cognito usado pelo aplicativo.

Dispositivo

Inclui informações sobre o dispositivo que relatou o evento.

Atributo Descrição
locale A localidade do dispositivo.
make O make do dispositivo, como Apple ou Samsung.
model O modelo do dispositivo, como iPhone.
platform A plataforma do dispositivo, como ios ou android.

Metrics

Inclui informações sobre as métricas associadas ao evento.

Atributo Descrição
price_in_millicents_usd

O valor cobrado pelo envio da mensagem. Esse preço é mostrado em milésimos de um centavo dos Estados Unidos. Por exemplo, se o valor desse atributo for 645, cobraremos USD 0,645 para enviar a mensagem (645/1000 = 0,645 = 0,00645).

nota

Esta propriedade não aparece para mensagens com um event_type de _SMS.BUFFERED.