Como enviar uma mensagem com mídia pelo WhatsApp em 30 segundos usando C#

February 19, 2019
Escrito por

Como enviar uma mensagem com mídia pelo WhatsApp em 30 segundos usando C#

Quando a API da Twilio para WhatsApp foi lançada em meados de 2018, ela só trabalhava com mensagens de texto.  Agora, a API pode enviar e receber mídia . Enviar uma mensagem de mídia pelo WhatsApp é tão rápido quanto enviar uma mensagem de texto. Vejamos aqui como fazer isso em apenas 30 segundos!

Para ganharmos ainda mais agilidade, veja abaixo todo o código e o link para o projeto concluído no GitHub.

Veja a integração completa das APIs Twilio em um aplicativo .NET Core, confira esta série de vídeos em cinco partes gratuita que criei. Ela é separada deste tutorial, mas tem um resumo completo de muitas APIs.

 

Para criar o código enquanto acompanha esta publicação, os seguintes itens devem estar configurados:

Depois de criar um novo aplicativo de console .NET, adicione o Pacote Twilio NuGet à solução.  Se não tiver certeza de como executar essa ação, confira esta publicação.

Abra o arquivo Program.cs e adicione a instrução using da Twilio.  Inicialize o cliente Twilio REST usando o Account SID (SID da conta) e o Auth Token (token de autenticação), que podem ser encontrados no Console da Twilio.

Esta solução tem o Account SID (SID da conta) e o Auth Token (token de autenticação) como variáveis de ambiente, mas eles também podem ser adicionados nas configurações do aplicativo e segredos do usuário.

using System;
using System.Collections.Generic;
using Twilio;
using Twilio.Rest.Api.V2010.Account;
using Twilio.Types;

namespace WhatsApp
{
   class Program
   {
       static void Main(string[] args)
       {
           TwilioClient.Init(
               Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID"),
               Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN")
           );
       }
   }
}

Para enviar uma mensagem, chame o método MessageResource.Create. Indique o número de telefone da Twilio para WhatsApp que foi usado para ativar o sandbox e um número de telefone habilitado para WhatsApp, os dois no formato E.164.

É possível enviar uma mensagem de texto usando o parâmetro body. Para enviar a mídia, crie uma nova coleção do URI para o item de mídia e defina para o parâmetro mediaUrl.

TwilioClient.Init(
               Environment.GetEnvironmentVariable("TWILIO_ACCOUNT_SID"),
               Environment.GetEnvironmentVariable("TWILIO_AUTH_TOKEN")
           );

var message = MessageResource.Create(
               from: new PhoneNumber("whatsapp:TWILIO_WHATSAPP_NUMBER"),
               to: new PhoneNumber("whatsapp:YOUR_MOBILE_NUMBER"),
               body: "Ahoy from Twilio!",
               mediaUrl: new List<Uri>{new Uri("URL_TO_IMAGE")}
           );

Console.WriteLine("Message SID: " + message.Sid);

Restaure os pacotes NuGet para garantir que todos foram baixados e, em seguida, compile e execute o projeto.

Em alguns instantes você receberá uma mensagem de mídia no telefone!

Captura de tela do WhatsApp com a imagem de um cupcake

O que vem a seguir?

Existem algumas diferenças entre as mensagens de mídia MMS e do WhatsApp. Somente é possível enviar mensagens de mídia para usuários do WhatsApp quando existe uma "sessão" de mensagens ativa estabelecida. As sessões de mensagens são criadas quando um usuário responde a uma mensagem de modelo ou quando inicia a conversa. Ele também deve estar ativo em 24 horas após a última mensagem enviada. Além disso, as mensagens de mídia do WhatsApp não são compatíveis com alguns tipos de arquivo aceitos pelo MMS. Para obter mais informações sobre os tipos de arquivo compatíveis, consulte as perguntas frequentes.

Gostaria de experimentar algo um pouco mais aprofundado? Confira este texto sobre como enviar e receber mensagens de mídia do WhatsApp.

Veja mais ideias e dicas úteis nos guias de início rápido para WhatsApp, na documentação da API Twilio REST e nas bibliotecas auxiliares do C#/.NET.

Mal posso esperar para ver o que você criou!

Este artigo foi traduzido do original "Send a WhatsApp media message with C# in 30 Seconds". Enquanto melhoramos nossos processos de tradução, adoraríamos receber seus comentários em help@twilio.com - contribuições valiosas podem render brindes da Twilio.