Enviar Mensagens para Canais do WhatsApp Usando C NET

28 de outubro de 2024

Aprenda como enviar mensagens automatizadas e agendadas para seus WhatsApp Channels para manter seu público engajado e atualizado usando C# (.NET) em passos simples com exemplos de código prontos para uso.

🤩 🤖 Wassenger é uma plataforma de comunicação completa e solução de API para WhatsApp. Explore mais de 100+ casos de uso da API e automatize qualquer coisa no WhatsApp inscrevendo-se em um teste gratuito e comece em minutos!

Isto nos permitirá realizar os seguintes envios

  • Enviar mensagens de texto
  • Enviar mensagens de texto agendadas
  • Enviar imagens
  • Enviar vídeos
  • Enviar enquetes
  • Enviar enquetes agendadas

Requisitos

  • Ter um número do WhatsApp já vinculado à plataforma e online.
  • ID do Canal WhatsApp (WID) que você pode encontrar de duas formas:
  1. No seu painel de gerenciamento do número do WhatsApp, vá em “Grupos”. A partir daí você verá os canais aos quais seu número tem acesso.
  2. Utilizando a API, consulte os canais disponíveis no seu dispositivo por meio deste endpoint.

Endpoint da API

Neste tutorial usaremos o seguinte endpoint da API:

Explore como usar o código no seu navegador sem instalar qualquer software.

Além disso, você pode encontrar diferentes linguagens que pode testar no Replit.com:

# Enviar mensagens de texto usando C# (RestClient)

// This code requires you to have installed RestSharp package.
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp
var client = new RestClient("https://api.wassenger.com/v1/messages");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE");
request.AddParameter("application/json", "{\"channel\":\"{{channel}}\", \"message\":\"This is a sample message sent to a channel\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);

# Enviar mensagens de texto usando C# (HttpClient)

// This code uses the built-in HttpClient package in the.NET framework.
// Documentation: https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-6.0
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post, 
RequestUri = new Uri("https://api.wassenger.com/v1/messages"), 
Headers =
{
{ "Token", "ENTER API KEY HERE" }, 
}, 
Content = new StringContent("{\"channel\":\"{{channel}}\", \"message\":\"This is a sample message sent to a channel\"}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using(var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}

# Enviar mensagens de texto agendadas usando C# (RestClient)

// This code requires you to have installed RestSharp package.
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp
var client = new RestClient("https://api.wassenger.com/v1/messages");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE");
request.AddParameter("application/json", "{\"channel\":\"{{channel}}\", \"message\":\"This is a sample message sent to a channel\", \"deliverAt\":\"2024-10-08T16:51:52.830Z\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);

# Enviar mensagens de texto agendadas usando C# (HttpClient)

// This code uses the built-in HttpClient package in the.NET framework.
// Documentation: https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-6.0
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post, 
RequestUri = new Uri("https://api.wassenger.com/v1/messages"), 
Headers =
{
{ "Token", "ENTER API KEY HERE" }, 
}, 
Content = new StringContent("{\"channel\":\"{{channel}}\", \"message\":\"This is a sample message sent to a channel\", \"deliverAt\":\"2024-10-08T16:51:52.830Z\"}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using(var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}

🤩 🤖 Wassenger é uma solução completa de API para WhatsApp. Inscreva-se para um teste gratuito de 7 dias e comece em minutos!

# Enviar uma imagem para canais usando C# (RestClient)

// This code requires you to have installed RestSharp package.
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp
var client = new RestClient("https://api.wassenger.com/v1/messages");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE");
request.AddParameter("application/json", "{\"channel\":\"$channel_ID@newsletter\", \"message\":\"This is a caption for an image message\", \"media\":{\"url\":\"https://picsum.photos/seed/picsum/600/400\", \"viewOnce\":false}}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);

# Enviar uma imagem para canais usando C# (HttpClient)

// This code uses the built-in HttpClient package in the.NET framework.
// Documentation: https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-6.0
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post, 
RequestUri = new Uri("https://api.wassenger.com/v1/messages"), 
Headers =
{
{ "Token", "ENTER API KEY HERE" }, 
}, 
Content = new StringContent("{\"channel\":\"$channel_ID@newsletter\", \"message\":\"This is a caption for an image message\", \"media\":{\"url\":\"https://picsum.photos/seed/picsum/600/400\", \"viewOnce\":false}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using(var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}

# Enviar um vídeo para canais usando C# (RestClient)

// This code requires you to have installed RestSharp package.
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp
var client = new RestClient("https://api.wassenger.com/v1/messages");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE");
request.AddParameter("application/json", "{\"channel\":\"$channel_ID@newsletter\", \"message\":\"This is a caption for a video message\", \"media\":{\"url\":\"https://download.samplelib.com/mp4/sample-5s.mp4\", \"viewOnce\":false}}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);

# Enviar um vídeo para canais usando C# (HttpClient)

// This code uses the built-in HttpClient package in the.NET framework.
// Documentation: https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-6.0
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post, 
RequestUri = new Uri("https://api.wassenger.com/v1/messages"), 
Headers =
{
{ "Token", "ENTER API KEY HERE" }, 
}, 
Content = new StringContent("{\"channel\":\"$channel_ID@newsletter\", \"message\":\"This is a caption for a video message\", \"media\":{\"url\":\"https://download.samplelib.com/mp4/sample-5s.mp4\", \"viewOnce\":false}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using(var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}

# Enviar enquetes usando C# (RestClient)

// This code requires you to have installed RestSharp package.
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp
var client = new RestClient("https://api.wassenger.com/v1/messages");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE");
request.AddParameter("application/json", "{\"channel\":\"$channel_ID@newsletter\", \"poll\":{\"name\":\"Vote for your favorite color\", \"options\":[\"Red\", \"Green\", \"Blue\", \"Yellow\", \"Grey\", \"Black\", \"Orange\", \"Purple\", \"White\"]}}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);

# Enviar uma enquete usando C# (HttpClient)

// This code uses the built-in HttpClient package in the.NET framework.
// Documentation: https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-6.0
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post, 
RequestUri = new Uri("https://api.wassenger.com/v1/messages"), 
Headers =
{
{ "Token", "ENTER API KEY HERE" }, 
}, 
Content = new StringContent("{\"channel\":\"$channel_ID@newsletter\", \"poll\":{\"name\":\"Vote for your favorite color\", \"options\":[\"Red\", \"Green\", \"Blue\", \"Yellow\", \"Grey\", \"Black\", \"Orange\", \"Purple\", \"White\"]}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using(var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}

🤩 🤖 Wassenger é uma solução completa de API para WhatsApp. Inscreva-se para um teste gratuito de 7 dias e comece em minutos!

# Enviar uma enquete agendada usando C# (RestClient)

// This code requires you to have installed RestSharp package.
// Documentation: https://restsharp.dev
// Installation: https://www.nuget.org/packages/RestSharp
var client = new RestClient("https://api.wassenger.com/v1/messages");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Token", "ENTER API KEY HERE");
request.AddParameter("application/json", "{\"channel\":\"$channel_ID@newsletter\", \"deliverAt\":\"2024-10-23T13:26:35.176Z\", \"poll\":{\"name\":\"Vote for your favorite color\", \"options\":[\"Red\", \"Green\", \"Blue\", \"Yellow\", \"Grey\", \"Black\", \"Orange\", \"Purple\", \"White\"]}}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);

# Enviar uma enquete agendada usando C# (HttpClient)

// This code uses the built-in HttpClient package in the.NET framework.
// Documentation: https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?view=net-6.0
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post, 
RequestUri = new Uri("https://api.wassenger.com/v1/messages"), 
Headers =
{
{ "Token", "ENTER API KEY HERE" }, 
}, 
Content = new StringContent("{\"channel\":\"$channel_ID@newsletter\", \"deliverAt\":\"2024-10-23T13:26:35.176Z\", \"poll\":{\"name\":\"Vote for your favorite color\", \"options\":[\"Red\", \"Green\", \"Blue\", \"Yellow\", \"Grey\", \"Black\", \"Orange\", \"Purple\", \"White\"]}}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using(var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}

Teste da API ao vivo

Você pode testar ao vivo e experimentar a API diretamente do seu navegador.

Quando terminar de testar, obtenha o exemplo de código gerado automaticamente na sua linguagem de programação preferida e você estará pronto para começar.

Experimente nosso testador API-Live agora

🤩 🤖 Wassenger é uma plataforma de comunicação completa e solução de API para WhatsApp. Explore mais de 100+ casos de uso da API e automatize qualquer coisa no WhatsApp inscrevendo-se para um teste gratuito e comece em minutos**!**

Perguntas frequentes

Como envio mensagens para vários canais?

Você precisa enviar múltiplas requisições à API, uma por canal de destino.

Por exemplo, se você quiser enviar uma mensagem para 10 canais, deve enviar 10 requisições HTTPS independentes para a API.

Não existe opção para enviar várias mensagens em uma única requisição à API.

Que tipo de mensagens podem ser enviadas?

Você só pode enviar diferentes tipos de mensagens de texto e imagem para canais.

Confira outros tutoriais para mais informações.

Procurando mais respostas? Confira as FAQs estendidas.

Recursos úteis adicionais

Documentação da API

Para mais detalhes sobre o endpoint da API, por favor verifique a documentação onde você encontrará todos os detalhes sobre os parâmetros de requisição aceitos, possíveis respostas de sucesso ou erro e exemplos de código prontos para uso em múltiplas linguagens de programação.

https://app.wassenger.com/docs/#operation/createMessage

Ready to transform your WhatsApp communication?

Start automating your customer interactions today with Wassenger

Get Started Free