Sistema de mensagens SMS bidirecionais - Amazon Pinpoint SMS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Sistema de mensagens SMS bidirecionais

O Amazon Pinpoint SMS inclui suporte para SMS bidirecional. Ao ativar o SMS bidirecional, você pode receber mensagens de seus clientes. Você também pode usar mensagens bidirecionais junto com outros AWS serviços, como Lambda e Amazon Lex, para criar experiências interativas de mensagens de texto.

Quando um de seus clientes envia uma mensagem para seu número de telefone, o corpo da mensagem é enviado para um tópico do Amazon SNS ou Amazon Connect para processamento.

O SMS bidirecional está disponível somente em determinados países e regiões. Para obter mais informações sobre a compatibilidade do SMS bidirecional por país ou região, consulte Capacidades e limitações do país de SMS e MMS.

Os IDs de remetente não oferecem suporte a mensagens SMS bidirecionais.

nota

O SMS bidirecional está disponível somente em determinados países e regiões. Para obter mais informações sobre a compatibilidade do SMS bidirecional por país ou região, consulte Capacidades e limitações do país de SMS e MMS.

O MMS bidirecional não está disponível.

O Amazon Connect para SMS bidirecional está disponível na Regiões da AWS lista em Mensagens de bate-papo: subtipo SMS no guia do administrador do Amazon Connect.

Two-way SMS messaging (Console)

Para habilitar o SMS bidirecional usando o console de SMS do Amazon Pinpoint, siga estas etapas:

Habilitar SMS bidirecional
  1. Abra o console de SMS do Amazon Pinpoint em https://console.aws.amazon.com/sms-voice/.

  2. No painel de navegação, em Configurações, escolha Pools de telefones.

  3. Na página Conjuntos telefônicos, escolha um pool de telefones.

  4. Na guia SMS bidirecional, escolha Editar configurações.

  5. Na página Editar configurações, ative Ativar mensagem bidirecional.

  6. Para Tipo de destino, escolha Amazon SNS ou Amazon Connect.

    • Para o Amazon SNS, escolha Novo tópico do Amazon SNS ou tópico existente do Amazon SNS e, em seguida, para Função de canal bidirecional, escolha Escolher função do IAM existente ou Usar políticas de tópico do Amazon SNS.

      • Novo tópico do Amazon SNS — Se você escolher essa opção, o Amazon Pinpoint SMS criará um tópico em sua conta. O tópico é criado automaticamente com todas as permissões necessárias. Para obter mais informações sobre os tópicos do Amazon SNS, consulte Configurar o Amazon SNS no Guia do desenvolvedor do Amazon SNS.

      • Tópico existente do Amazon SNS — Se você escolher essa opção, deverá escolher um tópico existente do Amazon SNS no menu suspenso Destino de mensagens recebidas.

      • Para a função de canal bidirecional, escolha uma das seguintes opções:

    • Para Amazon Connect na função de canal bidirecional, escolha Escolher funções existentes do IAM.

  7. Escolha Salvar alterações.

Two-way SMS messaging (AWS CLI)

Você pode usar o comando update-pool para ativar o SMS bidirecional.

Na linha de comando, insira o seguinte comando:

$ aws pinpoint-sms-voice-v2 update-pool \ > --pool-id poolid \ > --two-way-channel-arn TwoWayARN \ > --two-way-channel-role TwoChannelWayRole

No comando anterior, faça as seguintes alterações:

  • Substitua poolid pelo PhonePool ID ou nome de recurso da Amazon (ARN) do número de telefone.

  • Substitua o TwoWayARN pelo Amazon Resource Name (ARN) para receber as mensagens SMS recebidas. Por exemplo, políticas do Amazon SNS, consulte. Políticas de tópicos do Amazon SNS para tópicos do Amazon SNS Para definir o Amazon Connect como destino de entrada, defina o TwoWayconnect.region.amazonaws.comARN como. Substitua a região pela instância Região da AWS do Amazon Connect na qual está hospedada.

  • TwoChannelWayRoleSubstitua pelo Amazon Resource Name (ARN) da função do IAM a ser usada. Por exemplo, políticas de permissão do SNS, consulte Políticas do IAM para tópicos do Amazon SNS e, por exemplo, políticas do Amazon Connect, consultePolíticas do IAM para o Amazon Connect. Esse parâmetro só é necessário se você optar por usar políticas de permissão do IAM.

Políticas do IAM para tópicos do Amazon SNS

Se você quiser que o Amazon Pinpoint SMS use uma função existente do IAM ou se você criar uma nova função, anexe as seguintes políticas a essa função para que o Amazon Pinpoint SMS possa assumi-la. Para obter informações sobre como modificar a relação de confiança de uma função, consulte Modificar uma função no guia do usuário do IAM.

A seguir está a política de confiança para a função do IAM. Faça as seguintes alterações:

  • Substitua accountId pelo ID exclusivo do seu. Conta da AWS

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SMSVoice", "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" } } } ] }

Veja a seguir a política de permissão para a função do IAM. O SMSVoiceAllowSNSPublish Sid é uma política de permissão para permitir a publicação em tópicos do Amazon SNS e SMSVoiceAllowEncryptedSNSTopics o Sid é uma opção para tópicos criptografados do Amazon SNS.

Na política de permissão do IAM a seguir, faça as seguintes alterações:

  • Substitua a AWS partição pela partição na qual você usa o Amazon Pinpoint SMS.

  • Substitua a região pela Região da AWS qual você usa o Amazon Pinpoint SMS.

  • Substitua accountId pelo ID exclusivo do seu. Conta da AWS

  • snsTopicArnSubstitua pelos tópicos do Amazon SNS que receberão mensagens.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SMSVoiceAllowSNSPublish", "Effect": "Allow", "Action": "sns:Publish", "Resource": "arn:partition:sns:region:accountId:snsTopicArn", "Condition": { "StringEquals": { "aws:ResourceAccount": "accountId" } } }, { "Sid": "SMSVoiceAllowEncryptedSNSTopics", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:aws:sns:topicArn": "arn:partition:sns:region:accountId:snsTopicArn", "aws:CalledViaLast": "sns.amazonaws.com" } } } ] }

Políticas de tópicos do Amazon SNS para tópicos do Amazon SNS

O tópico do Amazon SNS exige a política de tópicos apropriada para conceder acesso ao Amazon Pinpoint SMS, caso eles não sejam fornecidos no parâmetro. TwoChannelWayRole

{ "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": "sns:Publish", "Resource": "snsTopicArn" }

No exemplo anterior, faça as seguintes alterações:

  • snsTopicArnSubstitua pelo tópico do Amazon SNS que enviará e receberá mensagens.

nota

Tópicos FIFO do Amazon SNS são incompatíveis.

Embora os dados de SMS do Amazon Pinpoint sejam criptografados, você pode usar tópicos do Amazon SNS que são criptografados AWS KMS usando chaves para obter um nível adicional de segurança. Essa segurança adicional pode ser útil se seu aplicativo manipula dados privados ou confidenciais.

Você precisa realizar algumas etapas adicionais de configuração para usar tópicos criptografados do Amazon SNS com mensagens bidirecionais.

O exemplo de declaração a seguir usa as SourceArn condições opcionais, mas recomendadas, SourceAccount para evitar o confuso problema do deputado, e somente a conta do proprietário do Amazon Pinpoint SMS tem acesso. Para obter mais informações sobre o problema do deputado confuso, consulte O problema do deputado confuso no guia do usuário do IAM.

Primeiro, a chave que você usa deve ser simétrica. Tópicos criptografados do Amazon SNS não oferecem suporte a chaves AWS KMS assimétricas.

Segundo, a política de chaves deve ser modificada para permitir que o Amazon Pinpoint SMS use a chave. Adicione as seguintes permissões à política de chave existente:

{ "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" }, "ArnLike": { "aws:SourceArn": "arn:aws:sms-voice:region:accountId:*" } } }

Para obter informações sobre como editar políticas de chave, consulte Alterar uma política de chaves no Guia do desenvolvedor do AWS Key Management Service .

Para obter mais informações sobre a criptografia de tópicos do Amazon SNS AWS KMS usando chaves, consulte Habilitar a compatibilidade entre fontes de eventos AWS de serviços e tópicos criptografados no Guia do desenvolvedor do Amazon Simple Notification Service.

Exemplo de uma carga de mensagem SMS bidirecional

Quando seu número recebe uma mensagem SMS, o Amazon Pinpoint SMS envia uma carga JSON para um tópico do Amazon SNS que você designar. A carga JSON contém a mensagem e dados relacionados, como no exemplo a seguir:

{ "originationNumber":"+14255550182", "destinationNumber":"+12125550101", "messageKeyword":"JOIN", "messageBody":"EXAMPLE", "inboundMessageId":"cae173d2-66b9-564c-8309-21f858e9fb84", "previousPublishedMessageId":"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" }

A carga útil da mensagem de entrada contém as seguintes informações:

Propriedade Descrição

originationNumber

O número de telefone que enviou a mensagem recebida para você (em outras palavras, o número de telefone do cliente).

destinationNumber

O número de telefone para o qual o cliente enviou a mensagem (seu número de telefone dedicado).

messageKeyword

A palavra-chave registrada associada ao seu número de telefone dedicado.

messageBody

A mensagem que o cliente enviou para você.

inboundMessageId

O identificador exclusivo da mensagem recebida.

previousPublishedMessageId

O identificador exclusivo da mensagem à qual o cliente está respondendo.

Políticas do IAM para o Amazon Connect

Se você quiser que o Amazon Pinpoint SMS use uma função existente do IAM ou se você criar uma nova função, anexe as seguintes políticas a essa função para que o Amazon Pinpoint SMS possa assumi-la. Para obter informações sobre como modificar uma relação de confiança existente de uma função, consulte Modificar uma função no guia do usuário do IAM.

Para criar novas políticas do IAM, faça o seguinte:

  1. Crie uma nova política de permissão seguindo as instruções em Como criar políticas usando o editor JSON no Guia do usuário do IAM.

    1. Na etapa 4, use a política de permissão definida abaixo.

  2. Crie uma nova política de confiança seguindo as instruções em Como criar uma função usando políticas de confiança personalizadas no Guia do usuário do IAM.

    1. Na etapa 4, use a política de confiança definida abaixo.

    2. Na etapa 11, adicione a política de permissão que você criou na etapa anterior.

A seguir está a política de permissão para a função do IAM para permitir a publicação no Amazon Connect.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "connect:SendChatIntegrationEvent" ], "Resource": [ "*" ] } ] }

A seguir está a política de confiança para a função do IAM. Faça as seguintes alterações:

  • Substitua accountId pelo ID exclusivo do seu. Conta da AWS

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SMSVoice", "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" } } } ] }