Saltar al contenido principal

Envio de mensajes

Todos los mensajes se envian a traves de un unico endpoint. El campo type determina que tipo de mensaje se envia, y los demas campos cambian en consecuencia. Endpoint:
POST https://api.wappfy.io/api/instances/{instanceId}/messages/send
Headers:
HeaderValor
X-Api-KeyTu clave API
Content-Typeapplication/json

Mensaje de texto

Envia un mensaje de texto plano.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "text",
    "text": "Hello from Wappfy!"
  }'
Respuesta:
{
  "data": {
    "message_id": "BAE5F2C4D3B2A1",
    "status": "sent"
  }
}

Mensaje de imagen

Envia una imagen con una descripcion opcional.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "image",
    "media_url": "https://example.com/photo.jpg",
    "caption": "Check out this photo!"
  }'

Mensaje de video

Envia un archivo de video con una descripcion opcional.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "video",
    "media_url": "https://example.com/clip.mp4",
    "caption": "Watch this!"
  }'

Mensaje de audio

Envia un archivo de audio. Los mensajes de audio aparecen como mensajes de voz en WhatsApp.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "audio",
    "media_url": "https://example.com/voice-note.ogg"
  }'
Para mejor compatibilidad, usa archivos .ogg codificados con el codec Opus para mensajes de voz.

Mensaje de documento

Envia un archivo como adjunto de documento.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "document",
    "media_url": "https://example.com/report.pdf",
    "filename": "Q1-Report.pdf",
    "caption": "Here is the quarterly report"
  }'

Mensaje de ubicacion

Envia un pin de ubicacion geografica.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "location",
    "latitude": -23.5505,
    "longitude": -46.6333,
    "name": "Sao Paulo",
    "address": "Sao Paulo, SP, Brazil"
  }'

Mensaje de encuesta

Crea una encuesta interactiva. Los destinatarios pueden votar las opciones directamente en WhatsApp.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "poll",
    "poll_name": "What day works best for the meeting?",
    "poll_options": ["Monday", "Wednesday", "Friday"],
    "poll_allow_multiple": false
  }'

Mensaje de contacto / vCard

Comparte una tarjeta de contacto.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "contact",
    "contact_name": "Maria Silva",
    "contact_phone": "+5511988887777"
  }'

Reenviar mensaje

Reenvia un mensaje existente a otro chat.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "forward",
    "forward_message_id": "BAE5F2C4D3B2A1",
    "forward_chat_id": "[email protected]"
  }'

Reaccion

Reacciona a un mensaje con un emoji.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "reaction",
    "reaction_message_id": "BAE5F2C4D3B2A1",
    "reaction": "\ud83d\udc4d"
  }'
Para eliminar una reaccion, envia una cadena vacia como valor de reaction.

Funcionalidades avanzadas

Responder a un mensaje

Cita un mensaje anterior incluyendo quoted_message_id. Esto funciona con cualquier tipo de mensaje.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "text",
    "text": "Yes, I agree with this!",
    "quoted_message_id": "BAE5F2C4D3B2A1"
  }'

Editar un mensaje enviado

Edita un mensaje que enviaste previamente proporcionando edit_message_id.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "text",
    "text": "Updated message content",
    "edit_message_id": "BAE5F2C4D3B2A1"
  }'
Solo puedes editar mensajes que tu enviaste. La edicion tiene una ventana de tiempo limitada impuesta por WhatsApp (aproximadamente 15 minutos despues del envio).

Menciones

Menciona contactos especificos en un mensaje de grupo. Los contactos mencionados recibiran una notificacion.
curl -X POST https://api.wappfy.io/api/instances/inst_abc123/messages/send \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chat_id": "[email protected]",
    "type": "text",
    "text": "Hey @Maria and @Carlos, please review this.",
    "mentions": [
      "[email protected]",
      "[email protected]"
    ]
  }'

Formatos de Chat ID

FormatoDescripcionEjemplo
{phone}@s.whatsapp.netChat individual[email protected]
{id}@g.usChat grupal[email protected]

Numeros de telefono brasilenhos

Wappfy maneja automaticamente el problema del 9no digito brasilenho. Si un mensaje falla con un error “no LID found”, el sistema reintentara automaticamente con el formato alternativo (agregando o quitando el 9no digito).Por ejemplo, si 5511999998888 falla, se reintentara con 551199998888, y viceversa. Esto ocurre de forma transparente — no necesitas manejarlo tu mismo.

Referencia de tipos de mensaje

TipoCampos obligatoriosCampos opcionales
texttextquoted_message_id, edit_message_id, mentions
imagemedia_urlcaption, quoted_message_id
videomedia_urlcaption, quoted_message_id
audiomedia_urlquoted_message_id
documentmedia_urlfilename, caption, quoted_message_id
locationlatitude, longitudename, address, quoted_message_id
pollpoll_name, poll_optionspoll_allow_multiple
contactcontact_name, contact_phonequoted_message_id
forwardforward_message_id, forward_chat_id
reactionreaction_message_id, reaction

Manejo de errores

Codigo de estadoDescripcion
400Payload de mensaje invalido (por ejemplo, faltan campos obligatorios para el tipo dado).
404Instancia no encontrada o no conectada.
422La validacion del mensaje fallo (por ejemplo, formato de numero de telefono invalido).
429Limite de tasa excedido. Consulta Limites de tasa.
502El proveedor de WhatsApp devolvio un error. Revisa el mensaje de error para mas detalles.