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á.
Mensagens bidirecionais SMS
AWS O End User Messaging SMS inclui suporte bidirecionalSMS. Ao configurar o sistema bidirecionalSMS, você pode receber mensagens de seus clientes. Você também pode usar mensagens bidirecionais junto com outras Serviços da AWS, 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 SNS tópico da Amazon ou instância do Amazon Connect para processamento.
nota
A opção bidirecional só SMS está disponível em alguns países e regiões. Para obter mais informações sobre SMS suporte bidirecional por país ou região, consulteSMSe capacidades e limitações do MMS país.
O Amazon Connect for bidirecional SMS está disponível no SMSsubtipo “Mensagens de chat:” Regiões da AWS listado no Guia do administrador do Amazon Connect.
MMSO sistema bidirecional não é suportado, mas seu número de telefone ainda pode receber SMS mensagens em resposta a uma mensagem enviada. MMS
IAMpolíticas para SNS tópicos da Amazon
Se você quiser que o AWS End SMS User Messaging use uma IAM função existente ou crie uma nova função, anexe as seguintes políticas a essa função para que o AWS End SMS User Messaging 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 IAM usuário.
A seguir está a política de confiança para a IAM função. Na IAM política a seguir, faça as seguintes alterações:
Substituir
accountId
com o ID exclusivo da sua AWS conta.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SMSVoice", "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
accountId
" } } } ] }
A seguir está a política de permissão para a IAM função. O SMSVoiceAllowSNSPublish
Sid é uma política de permissão para permitir a publicação em SNS tópicos da Amazon e o SMSVoiceAllowEncryptedSNSTopics
Sid é uma opção para tópicos criptografados da AmazonSNS.
Na política de IAM permissão a seguir, faça as seguintes alterações:
-
Substituir
partition
com a AWS partição na qual você usa o AWS End User MessagingSMS. -
Substituir
region
com aquele em Região da AWS que você usa o AWS End User MessagingSMS. -
Substituir
accountId
com o ID exclusivo do seu Conta da AWS. -
Substituir
snsTopicArn
com os SNS tópicos da Amazon 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 SNS tópicos da Amazon para SNS tópicos da Amazon
O SNS tópico da Amazon exige a política de tópicos apropriada para conceder acesso às mensagens do usuário AWS final, SMS caso elas não sejam fornecidas no TwoChannelWayRole
parâmetro.
{ "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": "sns:Publish", "Resource": "
snsTopicArn
" }
No exemplo anterior, faça as seguintes alterações:
-
Substituir
snsTopicArn
com o SNS tópico da Amazon que enviará e receberá mensagens.
nota
SNSFIFOOs tópicos da Amazon não são suportados.
Embora SMS os dados do AWS End User Messaging sejam criptografados, você pode usar SNS tópicos da Amazon que são criptografados usando AWS KMS 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 SNS tópicos criptografados da Amazon com mensagens bidirecionais.
O exemplo de declaração a seguir usa as SourceArn
condições opcionais, mas recomendadas, SourceAccount
para evitar o confuso problema adjunto e somente a conta do SMS proprietário da Mensagem do Usuário AWS Final tem acesso. Para obter mais informações sobre o problema do deputado confuso, consulte O problema do deputado confuso no guia IAM do usuário.
Primeiro, a chave que você usa deve ser simétrica. SNSTópicos criptografados da Amazon não oferecem suporte a chaves assimétricas AWS KMS .
Em segundo lugar, a política de chaves deve ser modificada para permitir que o AWS End SMS User Messaging 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 SNS tópicos da Amazon usando AWS KMS chaves, consulte Habilitar a compatibilidade entre fontes de eventos de AWS serviços e tópicos criptografados no Guia do desenvolvedor do Amazon Simple Notification Service.
Exemplo de uma carga de SMS mensagem bidirecional para tópicos da Amazon SNS
Quando seu número recebe uma SMS mensagem, o AWS End User Messaging SMS envia uma JSON carga para um SNS tópico da Amazon que você designar. A JSON carga contém a mensagem e os 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 |
---|---|
|
O número de telefone que enviou a mensagem recebida para você (em outras palavras, o número de telefone do cliente). |
|
O número de telefone para o qual o cliente enviou a mensagem (seu número de telefone dedicado). |
|
A palavra-chave registrada associada ao seu número de telefone dedicado. |
|
A mensagem que o cliente enviou para você. |
|
O identificador exclusivo da mensagem recebida. |
|
O identificador exclusivo da mensagem à qual o cliente está respondendo. |
IAMpolíticas para o Amazon Connect
Se você quiser que o AWS End SMS User Messaging use uma IAM função existente ou crie uma nova função, anexe as seguintes políticas a essa função para que o AWS End SMS User Messaging 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 IAM usuário.
Para criar novas IAM políticas, faça o seguinte:
-
Crie uma nova política de permissão seguindo as instruções em Criação de políticas usando o JSON editor no Guia IAM do usuário.
-
Na etapa 4, use a política de permissão definida abaixo.
-
-
Crie uma nova política de confiança seguindo as instruções em Criação de uma função usando políticas de confiança personalizadas no Guia IAM do usuário.
-
Na etapa 4, use a política de confiança definida abaixo.
-
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 da IAM função 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 IAM função, faça as seguintes alterações:
-
Substituir
accountId
com o 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
" } } } ] }