Nuevo Safe Mode calienta los números nuevos para reducir el riesgo de bloqueo en WhatsApp. Más información →

Maytapi/Documentación/Guía de C#

Guía de C#Unos 10 minutos

Cómo enviar un mensaje de WhatsApp con C#

Envía mensajes de texto y multimedia desde C# con una sola petición HTTP y recibe las respuestas en tu propio webhook. REST y JSON puros: sin SDK ni aprobación de plantillas.

Última actualización:

  • C#
  • REST + JSON
  • sin SDK
  • respuestas por webhook
C#
// .NET 6+ (System.Net.Http.Json)
using System.Net.Http.Json;

var pid = "your-pid";
var phoneId = "your-phone-id";
var token = "your-token";

using var http = new HttpClient();
http.DefaultRequestHeaders.Add("x-maytapi-key", token);

var res = await http.PostAsJsonAsync(
    $"https://api.maytapi.com/api/{pid}/{phoneId}/sendMessage",
    new { to_number = "3461xxxxx67", type = "text", message = "Hello from C#!" });

Console.WriteLine(await res.Content.ReadAsStringAsync());
Antes de empezar

Qué necesitas

Cuatro cosas, todas disponibles en la consola en pocos minutos.

  • cuenta

    Una cuenta de Maytapi

    Regístrate e inicia la prueba gratuita, sin tarjeta.

  • teléfono

    Un número vinculado

    Escanea el código QR con WhatsApp en tu teléfono. Tu número sigue funcionando como siempre.

  • token

    pid y token

    Cópialos de la página de token de la consola; el phone_id aparece junto a tu número.

  • C#

    Un entorno de C#

    Basta con una versión reciente de C# y su cliente HTTP estándar.

Enviar texto

Envía un mensaje de texto con C#

Haz un POST con un cuerpo JSON a /sendMessage con tu token en la cabecera x-maytapi-key. El mensaje se encola en tu teléfono y la respuesta llega al instante.

  • ✓to_number en formato internacional, p. ej. 3461xxxxx67
  • ✓type: text y el texto del mensaje
  • ✓La respuesta incluye el id del mensaje
curl -X POST "https://api.maytapi.com/api/$PID/$PHONE_ID/sendMessage" \
  -H "x-maytapi-key: $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"to_number": "3461xxxxx67", "type": "text", "message": "Hello from C#!"}'
Enviar multimedia

Envía una imagen, un video o un documento

Usa el mismo endpoint con type media y una URL pública o un data URI en base64. Añade un pie de foto y un nombre de archivo opcionales.

  • ✓Imágenes, video, audio, PDF y otros documentos
  • ✓Pie de foto en el campo text
  • ✓Los data URI en base64 funcionan igual que las URL
C#
await http.PostAsJsonAsync(
    $"https://api.maytapi.com/api/{pid}/{phoneId}/sendMessage",
    new
    {
        to_number = "3461xxxxx67",
        type = "media",
        message = "https://example.com/invoice-10482.pdf",
        text = "Your invoice for order #10482",
        filename = "invoice-10482.pdf"
    });
Recibir

Recibe respuestas con un webhook en C#

Registra la URL del webhook una vez. Los mensajes entrantes y las confirmaciones de entrega y lectura llegan en JSON; responde con la URL reply incluida en cada evento.

  • ✓Devuelve 200 rápido y luego procesa el evento
  • ✓Omite tus propios mensajes con fromMe
  • ✓Usa event.reply para responder en el mismo chat
await http.PostAsJsonAsync(
    $"https://api.maytapi.com/api/{pid}/setWebhook",
    new { webhook = "https://example.com/maytapi/webhook" });
FAQ

FAQ de WhatsApp API con C#

Pregunta lo que quieras a nuestro equipo de soporte por WhatsApp. El tiempo medio de respuesta es inferior a 24 horas.

Centro de ayuda →
¿Hay un SDK oficial para C#?

No hace falta. La API es REST con JSON, así que basta con el cliente HTTP estándar de C#, como muestran los ejemplos de esta página.

¿Puedo enviar mensajes a grupos desde C#?

Sí. Usa el id del grupo (termina en @g.us) como to_number; los endpoints de grupos están disponibles en todos los planes.

¿Por qué no llegó mi mensaje?

Comprueba que el estado del teléfono esté activo y revisa la cola y los registros en la consola. Los números nuevos deben calentarse antes de enviar en volumen.

Empieza a usar la API de WhatsApp

Consigue tu clave y envía tu primer mensaje en diez minutos

Sin aprobación, sin plantillas, sin tarjeta. Todos los endpoints abiertos durante tres días.