https://a.storyblok.com/f/270183/1368x665/b728cc4bd1/messages-api-rcs.png

O RCS Business Messaging já está disponível para uso geral na Messages API do Vonage

Publicado em November 20, 2024

Tempo de leitura: 8 minutos

Os Serviços de Comunicação Enriquecida (RCS) estão abrindo novas oportunidades para mensagens empresariais, e estou animado em anunciar que o RCS Messaging já está disponível para uso geral (GA) na Messages API for Vonage!

Com a migração para a versão GA, o sistema de mensagens RCS está agora disponível para um público mais amplo.

Ampliação da cobertura geográfica

Embora o lançamento da versão beta do RCS tenha abrangido apenas redes na Alemanha, após o lançamento geral, o Reino Unido e mais de 10 outros países já são suportados, com a cobertura sendo ampliada ainda mais no futuro.

Compatível com nossos SDKs de servidor

O fato de o RCS estar em GA também significa que a mensagem RCS agora está implementada em nossos SDKs de servidor. Assim, como desenvolvedor, você pode enviar mensagens RCS usando sua linguagem de programação preferida!

No restante deste artigo, vamos ver alguns exemplos de como implementar o RCS por meio de programação. Vamos lá!

Você você está se perguntando o que exatamente é a mensagem RCS? Ou como a mensagem RCS se compara ao SMS ou ao MMS? Confira o post que escrevi no início deste ano quando as mensagens RCS foram adicionadas à Messages API na versão beta. Esse artigo aborda algumas vantagens das mensagens RCS. Essas vantagens podem proporcionar experiências mais ricas aos clientes, o que pode aumentar o engajamento dos usuários e levar a melhores taxas de conversão

Como o RCS difere das mensagens SMS/MMS

Mensagens SMS/MMS x RCS: qual é a diferença? Todos os três canais oferecem suporte a mensagens de texto, e tanto o MMS quanto o RCS permitem o envio de mensagens com anexos, como arquivos de imagem e Video. Onde o RCS realmente se destaca é em alguns dos outros tipos de mensagem que suporta:

  • Respostas sugeridas

  • Ações sugeridas

  • Cartões Enriquecidos

No canal RCS da Messages API, esse tipo de mensagem é enviado usando o custom tipo de mensagem. Você pode ler mais sobre mensagens personalizadas RCS e como usá-las.

Vamos dar uma olhada em alguns exemplos de envio desses tipos de mensagens usando os SDKs do servidor.

Pré-requisitos

  • Um account de desenvolvedor da Vonage

Configuração

Antes de começar a enviar mensagens RCS com o SDK da Vonage que você escolheu, é preciso seguir algumas etapas preliminares.

  1. Você precisará configurar um agente RBM (RCS Business Messaging). Assim que o agente for criado, você receberá um ID de agente, que poderá ser usado como ID do remetente ao enviar mensagens RCS. No contexto da Messages API, esse será o valor do from campo no corpo da solicitação.

  • Mais uma coisa a ser mencionada aqui é que, se você estiver usando um agente de teste (ou seja, um agente RBM registrado no Modo Desenvolvedor), será necessário incluir na lista de permissões o número para o qual deseja enviar mensagens para esse agente. Você pode entrar em contato com seu gerente de contas ou ao suporte para fazer essa configuração.

  1. Criar um Aplicativo Vonage habilitado para a Messages API. Os aplicativos da Vonage são usados para armazenar configurações relacionadas às APIs da Vonage que você está utilizando, bem como para gerar credenciais para a criação de JWTs (JSON Web Tokens). Existem algumas maneiras diferentes de criar um aplicativo da Vonage:

Ao configurar o aplicativo da Vonage, você receberá um ID do aplicativo e um private.key arquivo. Você precisará deles para gerar JWTs, que serão usados para autenticação na Messages API do Vonage. Os SDKs gerarão os JWTs automaticamente para cada solicitação, mas você precisará fornecer a eles o ID do aplicativo e a chave privada.

Depois que o RBM Agent e o aplicativo da Vonage estiverem configurados, resta apenas uma última etapa: vincular os dois. Você pode fazer isso pelo Painel do Desenvolvedor da Vonage, seja na página do próprio aplicativo da Vonage (na guia “Contas Externas”), seja na página “Contas Externas”.

Screenshot of the Vonage Developer Dashboard with an option to link an RCS agent to an ApplicationScreenshot of the Vonage Developer Dashboard with an option to link an RCS agent to an Application

Bom, agora que já temos tudo configurado, vamos dar uma olhada em alguns exemplos de código!

Como usar o RCS Messaging

Como instanciar o cliente da Vonage

Todos os SDKs de servidor variam em termos de sua implementação específica, mas todos compartilham alguns Concepts gerais, como a instanciação de um objeto Cliente, que pode então ser usado para interagir com as APIs da Vonage por meio da chamada de métodos nesse objeto. É aqui que você precisará do ID da aplicação e da chave privada gerados anteriormente. Veja abaixo um exemplo de como fazer isso com o SDK para Ruby, embora todos os SDKs para servidor sigam um padrão semelhante:

vonage_client = Vonage::Client.new(
   application_id: ENV['VONAGE_APPLICATION_ID'],
   private_key: File.read(ENV['VONAGE_APPLICATION_PRIVATE_KEY_PATH'])
)

Observe que, no exemplo acima, VONAGE_APPLICATION_ID e VONAGE_APPLICATION_PRIVATE_KEY_PATH estão definidos como variáveis de ambiente.

Como enviar uma mensagem de resposta sugerida do RCS

As mensagens com respostas sugeridas são um tipo de mensagem em que você pode enviar um texto acompanhado de várias opções sugeridas que o destinatário pode usar para responder. Essas opções aparecem como “chips” ou botões na interface do usuário do dispositivo, e o destinatário pode clicar nelas para selecionar a resposta desejada.

As mensagens com respostas sugeridas são ótimas para diversos casos de uso. Um exemplo é a realização de pesquisas com clientes. Limitar as respostas a valores específicos e sugeridos facilita o processamento dessas informações em seu aplicativo. Por exemplo, você poderia enviar uma mensagem RCS pedindo a um cliente que avalie seu serviço de um a cinco, com text valores de um a cinco como opções de resposta sugeridas.

Além das sugestões text, cada opção de resposta sugerida também inclui um postbackData valor. Isso permite que você, por exemplo, use uma linguagem mais acessível para o text valor, mas algo diferente para o postbackData valor a ser usado para processamento interno. Outra aplicação para postbackData seria enviar a pesquisa em diferentes regiões com o text valor em diferentes idiomas, de acordo com a região, mas mapeando para o mesmo postbackData valor.

Vamos ver um exemplo.

Veja a seguir como você enviaria essas mensagens usando os SDKs do Node e do Ruby.

Enviar uma mensagem de resposta sugerida do RCS com o Node SDK

Aqui, estamos enviando a mensagem da pesquisa em inglês.

vonageClient.messages.send(
  new RCSCustom({
    custom: {
      contentMessage: {
        text: "Vonage APIs are easy to use.",
        suggestions: [
          {
            reply: {
              text: "Strongly agree",
              postbackData: "5",
            },
          },
          {
            reply: {
              text: "Agree",
              postbackData: "4",
            },
          },
          {
            reply: {
              text: "Neither agree or disagree",
              postbackData: "3",
            },
          },
          {
            reply: {
              text: "Disagree",
              postbackData: "2",
            },
          },
          {
            reply: {
              text: "Strongly disagree",
              postbackData: "1",
            },
          },
        ],
      },
    },
    to: '447900000000',
    from: 'VonageRCSAgent',
  }),
);

Ao ser recebida, a mensagem seria exibida com uma lista rolável de sugestões para o destinatário escolher.

Screenshot of an RCS suggested reply message in EnglishScreenshot of an RCS suggested reply message in English

Screenshot of an RCS suggested reply message in EnglishScreenshot of an RCS suggested reply message in English

Enviar uma mensagem de resposta sugerida do RCS com o SDK do Ruby

Aqui, estamos enviando a mensagem da pesquisa em francês.

message = vonage_client.messaging.rcs(
  type: 'custom',
  message: {
    contentMessage: {
      text: "Les APIs de Vonage sont simple a utilizer",
      suggestions: [
        {
          reply: {
            text: "Fortement en accord",
            postbackData: "5"
          }
        },
        {
          reply: {
            text: "En accord",
            postbackData: "4"
          }
        },
        {
          reply: {
            text: "Neutre",
            postbackData: "3"
          }
        },
        {
          reply: {
            text: "En désaccord",
            postbackData: "2"
          }
        },
        {
          reply: {
            text: "Fortement en  désaccord",
            postbackData: "1"
          }
        }
      ]
    }
  }
)

vonage_client.messaging.send(
  from: 'VonageRCSAgent',
  to: '447900000000',
  **message
)

O que seria exibido da mesma forma, mas com os text :

Screenshot of an RCS suggested reply message in FrenchScreenshot of an RCS suggested reply message in FrenchScreenshot of an RCS suggested reply message in FrenchScreenshot of an RCS suggested reply message in French

Observe que, em ambas as versões do idioma, os postbackData valores são os mesmos.

Quando o destinatário responder com uma das opções, essa resposta será recebida por meio do seu webhook de mensagens recebidas como uma rcs mensagem com um message_type de reply. A carga JSON da reply mensagem incluirá um reply objeto com duas propriedades: title, que contém o valor da text da opção de resposta selecionada; e id, que contém o valor do postbackData da opção de resposta selecionada.

Como enviar uma mensagem de ação sugerida do RCS

As mensagens de “Ação Sugerida” permitem que você sugira ao destinatário uma ação que irá interagir com um aplicativo nativo ou instalado no dispositivo no qual a mensagem é recebida. Por exemplo, abrir um URL em um navegador, visualizar um local em um mapa ou aplicativo de localização e assim por diante. Assim como nas respostas sugeridas, há inúmeros casos de uso para os diversos tipos de mensagens de ação sugerida. De maneira semelhante às respostas sugeridas, as ações sugeridas aparecem como “chips” ou botões na interface do usuário do dispositivo, nos quais o destinatário pode clicar para acionar a ação.

As ações disponíveis são:

  • openUrlAction

  • dialAction

  • viewLocationAction

  • shareLocationAction

  • createCalendarEventAction

Com todos os tipos de ação sugeridos, você pode incluir alguns text que aparecerão na mensagem principal, bem como algumas text dentro da própria ação, que aparecerão no “chip”/botão.

Todas as ações contêm uma postbackData propriedade, cujo valor será recebido como o valor da payload propriedade em uma rcs do tipo button.

Vamos ver alguns exemplos.

Como enviar uma mensagem “Criar um evento no calendário” com o SDK do Python

Vamos começar com a ação “Criar evento no calendário”. Essa ação permite que sua mensagem interaja com o aplicativo de calendário no celular do destinatário para criar um evento nesse calendário. Um possível caso de uso para essa ação seria a confirmação de um compromisso, por exemplo, uma consulta médica ou odontológica.

A mensagem seria exibida no aplicativo de mensagens com uma opção para criar um evento no calendário.

Screenshot of an RCS suggested action message to create a calendar eventScreenshot of an RCS suggested action message to create a calendar eventSe essa opção for selecionada, isso abre o aplicativo de calendário padrão do dispositivo e permite que o usuário salve o evento em seu calendário.

Screenshot of a calendar appliction with a option to save an eventScreenshot of a calendar appliction with a option to save an event

Nesta ação, você define um title e description de evento do calendário, bem como o startTime e endTime (que representam a hora e a data em que o evento começa e termina). Observe o deslocamento em relação ao UTC.

vonage_client.messages.send_message(
    {
        "channel": "rcs",
        "message_type": "custom",
        "to": '447900000000',
        "from": 'VonageRCSAgent',
        "custom": {
            "contentMessage": {
                "text": "Dear Mr Smith, we're happy to confirm your appointment at 14:30h on Tuesday the 1st of October at Healthy Smile Dental Co.",
                "suggestions": [
                    {
                        "action": {
                            "text": "Save to calendar",
                            "postbackData": "postback_data_1234",
                            "fallbackUrl": "https://www.google.com/calendar",
                            "createCalendarEventAction": {
                                "startTime": "2024-10-01T14:30:00+01:00",
                                "endTime": "2024-10-01T15:00:00+01:00",
                                "title": "Dental Appointment",
                                "description": "Dental Appointment at Healthy Smile Dental Co.",
                            },
                        }
                    }
                ],
            }
        },
    }
)

Como enviar uma mensagem “Compartilhar localização” com o SDK do Java

A ação “Compartilhar localização”, quando selecionada, solicita que o destinatário da mensagem compartilhe uma localização geográfica, abrindo o aplicativo padrão de mapas ou localização do dispositivo. Depois que o destinatário selecionar uma localização, ele poderá enviá-la em resposta à mensagem recebida. A resposta do destinatário será recebida por meio do seu webhook de mensagens recebidas como uma rcs mensagem com um message_type de location. A carga útil JSON nessa mensagem conterá um location objeto com lat e long propriedades que especificam o local compartilhado.

Um possível caso de uso para esse tipo de mensagem seria um serviço de táxi em que o cliente precisasse indicar um ponto de embarque.

A mensagem recebida teria a opção de compartilhar uma localização.

Screenshot of an RCS suggested action message to share a locationScreenshot of an RCS suggested action message to share a locationSe selecionada, essa opção abriria o aplicativo de mapas padrão do dispositivo, permitindo que o destinatário marque um ponto no mapa e, em seguida, compartilhe sua localização.

Screenshot of a map application with a pin and option to send locationScreenshot of a map application with a pin and option to send location

var response = vonageClient.getMessagesClient().sendMessage(
	RcsCustomRequest.builder()
		.from('VonageRCSAgent').to('447900000000')
		.custom(Map.of("contentMessage", Map.of(
				"text", "Your driver will come and meet you at your specified location.",
				"suggestions", List.of(
					Map.of(
						"action", Map.of(
							"text", "Share your pickup location",
							"postbackData", "postback_data_1234",
							"shareLocationAction", Map.of()
						)
					)
				)
			))
		).build()
);

Conclusão e próximos passos

Neste artigo, vimos alguns exemplos de envio de diferentes tipos de mensagens RCS usando os SDKs de servidor da Vonage. Na verdade, isso é apenas uma introdução, e há inúmeros casos de uso em potencial para mensagens RCS. Abordaremos mais exemplos de mensagens RCS em futuras postagens do blog, então não deixe de conferir em breve!

Se você se inspirou para criar algo incrível com o canal RCS da Messages API da Vonage, não deixe de conferir a documentação da Messages API e trechos de código.

Obrigado pela leitura! Você pode nos seguir no X para mais notícias sobre o Vonage Dev ou se juntar a nós no nosso espaço de trabalho da Comunidade Vonage no Slack.

Compartilhar:

https://a.storyblok.com/f/270183/373x376/e8d3211236/karl-lingiah.png
Karl LingiahDefensor da Comunidade de Desenvolvedores Ruby

Karl é um Developer Advocate da Vonage, com foco na manutenção de nossos SDKs de servidor em Ruby e na melhoria da experiência dos desenvolvedores da nossa comunidade. Ele adora aprender, criar coisas, compartilhar conhecimento e tudo o que esteja relacionado à tecnologia da web em geral.