Enviar mensajes de WhatsApp desde CSV usando C NET

8 de julio de 2024

¿Quieres que la comunicación de tu negocio en WhatsApp sea más eficaz? Este tutorial te mostrará cómo enviar mensajes a números de teléfono almacenados usando C#, la librería RestSharp y la Wassenger API. Aprenderás a leer los números de teléfono y los mensajes desde un archivo CSV y enviarlos automáticamente con Wassenger.

Este artículo te ofrece una vista rápida de las funciones de la Wassenger API.

🫣 ¿No quieres usar programación? ¡No hay problema! Explora nuestra nueva función de Campañas de WhatsApp sin código. Importa tus contactos, define un mensaje, establece una fecha de entrega y relájate! 🥳 🥳

Requisitos

  • Conocimientos básicos de C# y .NET
  • .NET SDK instalado en tu equipo
  • Un editor de texto para escribir código (por ejemplo: Visual Studio, Visual Studio Code)
  • Un token de API de Wassenger API token (puedes obtenerlo registrándote aquí)

🤩 🤖 Wassenger es una plataforma de comunicación y solución de API completa para WhatsApp. Explora más de 100+ casos de uso de la API y automatiza cualquier cosa en WhatsApp registrándote ¡para una prueba gratuita y comenzares en minutos!

Crear una nueva Aplicación de Consola

Crea un nuevo directorio para tu proyecto y navega hasta él en tu terminal. Luego, ejecuta los siguientes comandos para crear una nueva Aplicación de Consola:

dotnet new console

Instalar los paquetes requeridos

Ejecuta el siguiente comando en tu terminal para instalar las librerías necesarias:

dotnet add package RestSharp
dotnet add package CsvHelper

Crear el archivo CSV

Crea un nuevo archivo llamado numbers.csv en el directorio de tu proyecto con dos columnas:

  1. Primera columna: número de teléfono en formato E164 con el prefijo del país.
  2. Segunda columna: mensaje de texto para enviar al número de teléfono objetivo.

El documento de la hoja de cálculo debería verse así:

El documento equivalente exportado como CSV debería verse así:

(+1234567890,
  '👋 Welcome to {{your-business-name}}! Thanks for signing up.We are just a message away!' +
    1234567890,
  "💐 Your order has been shipped.Tracking number is {{tracking-number}}.Don't hesitate to reach out to if you need help! 🤗");

Puedes exportar cualquier documento de Office Excel o Google Sheets como un archivo CSV siguiendo estas instrucciones:

🤩 🤖 Wassenger es una plataforma de comunicación y solución de API completa para WhatsApp. Explora más de 100+ casos de uso de la API y automatiza cualquier cosa en WhatsApp registrándote ¡para una prueba gratuita y comenzares en minutos!

Crear un archivo con el código

Crea un nuevo archivo llamado SendMessages.cs en el directorio de tu proyecto y añade el siguiente código:

using System;
using System.IO;
using CsvHelper;
using RestSharp;
namespace SendMessage
{
class Program
{
static void Main(string[] args)
{
string csvFile = "numbers.csv";
// Replace this with your Wassenger API token
// Get your API token here: https://app.wassenger.com/apikeys
string apiToken = "ENTER API KEY HERE";
// Optionally specify the target WhatsApp device ID connected to Wassenger
// you want to use for messages delivery(24 characters hexadecimal value)
string device = "DEVICE ID GOES HERE";
RestClient client = new RestClient("https://api.wassenger.com/v1/messages");
using(StreamReader reader = new StreamReader(csvFile))
using(CsvReader csv = new CsvReader(reader, System.Globalization.CultureInfo.InvariantCulture))
{
while(csv.Read())
{
string phone = csv.GetField<string>(0);
string message = csv.GetField<string>(1);
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", $"{apiToken}");
request.AddJsonBody(new { phone, message, device });
IRestResponse response = client.Execute(request);
if(response.IsSuccessful)
{
Console.WriteLine($"=> Message created: {phone}");
}
else
{
Console.WriteLine($"Failed to create message to {phone}: {response.ErrorMessage}");
}
}
}
}
}
}

Ejecuta y prueba código en la nube sin instalar nada en tu ordenador. Crea una cuenta gratuita en Replit y comienza en minutos

Reemplazar el token de la API

En el archivo SendMessages.cs, asegúrate de haber definido el token de API de tu cuenta real de Wassenger:

string apiToken = "ENTER API KEY HERE";

Opcionalmente, si tienes múltiples números de WhatsApp conectados a tu cuenta de Wassenger, puedes especificar cuál número de WhatsApp quieres usar para la entrega de mensajes añadiendo el ID único del dispositivo de Wassenger (valor hexadecimal de 24 caracteres) en la siguiente línea:

// Optionally specify the target WhatsApp device ID connected to Wassenger
// you want to use for messages delivery(24 characters hexadecimal value)
string device = "DEVICE ID GOES HERE";

Ejecutar el programa

Antes de ejecutar el programa, si planeas enviar cientos de mensajes seguidos, recomendamos definir una velocidad de entrega más baja por minuto, no más de 2–3 mensajes, para evitar problemas de bloqueo por políticas anti-spam de WhatsApp. Aprende más sobre las mejores prácticas y cómo reducir el riesgo aquí.

Abre una terminal en el directorio de tu proyecto y ejecuta el siguiente comando para correr el script SendMessages.cs:

dotnet run

Si todo está configurado correctamente, deberías ver una salida indicando que los mensajes se han creado con éxito:

=> Message created: +1234567890
=> Message created: +1234567890
=> Message created: +1234567890

Ten en cuenta que los mensajes se añadirán a la cola de entrega de tu número y se entregarán de forma asincrónica en segundo plano con el tiempo, según el límite de velocidad de entrega de mensajes por minuto de la suscripción de tu número o la velocidad de entrega configurada manualmente en la configuración de tu número.

Los mensajes pueden tardar varios minutos u horas, dependiendo de la cantidad que hayas creado, en entregarse efectivamente a los números de teléfono objetivo a través de WhatsApp. Puedes monitorizar el progreso de la entrega de los mensajes en el panel web o automáticamente usando eventos de webhook.

Conclusión

En este tutorial aprendiste cómo enviar mensajes a números de teléfono almacenados en un archivo CSV usando C#, la librería RestSharp y la Wassenger API.

Puedes actualizar el archivo numbers.csv y ejecutar el programa en cualquier momento que quieras enviar nuevos mensajes a través de tu número de WhatsApp conectado a Wassenger.

Puedes personalizar aún más el script para manejar columnas adicionales, crear diferentes tipos de mensajes o integrarlo con tu software según lo necesites.

🤩 🤖 Wassenger es una plataforma de comunicación y solución de API completa para WhatsApp. Explora más de 100+ casos de uso de la API y automatiza cualquier cosa en WhatsApp registrándote ¡para una prueba gratuita y comenzares en minutos!

Ready to transform your WhatsApp communication?

Start automating your customer interactions today with Wassenger

Get Started Free