Skip to main content
POST

Autorizaciones

token
string
header
requerido

Cuerpo

application/json
number
string
requerido

ID del chat al que se enviará el mensaje. Puede ser un número de teléfono en formato internacional, un ID de grupo (@g.us), un ID de usuario (con @s.whatsapp.net o @lid).

Ejemplo:

"5511999999999"

type
enum<string>
requerido

Tipo del menú. Use button para el formato actual y button_legacy solo para botones de respuesta en el formato anterior.

Opciones disponibles:
button,
button_legacy,
list,
poll,
carousel
Ejemplo:

"list"

text
string
requerido

Texto principal (acepta placeholders)

Ejemplo:

"Elija una opción:"

choices
string[]
requerido

Lista de opciones. Use [Título] para secciones en listas

Ejemplo:

Texto del pie de página (opcional)

Ejemplo:

"Menú de servicios"

listButton
string

Texto del botón principal

Ejemplo:

"Ver opciones"

selectableCount
integer

Número máximo de opciones seleccionables (para encuestas)

Ejemplo:

1

file
string

Medio del encabezado (type: button): imagen, video o documento, por URL o base64, como en /send/media. El audio devuelve 400.

Ejemplo:

"https://exemplo.com/produto1.jpg"

mimetype
string

Fuerza el tipo del file (opcional): image, video, document o el MIME type del archivo, como video/mp4. Sin él, el tipo se obtiene del archivo; cualquier otro valor responde 400.

Ejemplo:

"video/mp4"

docName
string

Nombre del archivo cuando el file es un documento. Sin él, el nombre del archivo.

Ejemplo:

"Lista de precios.pdf"

replyid
string

ID del mensaje al que se responderá

Ejemplo:

"3EB0538DA65A59F6D8A251"

mentions
string

Números a mencionar (separados por coma)

Ejemplo:

"5511999999999,5511888888888"

readchat
boolean

Marca la conversación como leída después del envío

Ejemplo:

true

readmessages
boolean

Marca los últimos mensajes recibidos como leídos

Ejemplo:

true

delay
integer

Retraso en milisegundos antes del envío; durante el retraso aparecerá 'Escribiendo...'

Ejemplo:

1000

track_source
string

Origen de rastreo del mensaje

Ejemplo:

"chatwoot"

track_id
string

ID para el seguimiento del mensaje (acepta valores duplicados)

Ejemplo:

"msg_123456789"

async
boolean

Si es true, envía el mensaje de forma asíncrona mediante la cola interna

Ejemplo:

false

Respuesta

Menú enviado correctamente

Representa un mensaje intercambiado en el sistema

id
string<uuid>

ID único interno del mensaje (formato r + 7 caracteres hex aleatorios)

messageid
string

ID original del mensaje en el proveedor

chatid
string

ID de la conversación relacionada

sender
string

ID del remitente del mensaje

senderName
string

Nombre visible del remitente

isGroup
boolean
predeterminado:false

Indica si es un mensaje de grupo

fromMe
boolean
predeterminado:false

Indica si el mensaje fue enviado por el usuario

messageType
string

Tipo de contenido del mensaje

source
string

Plataforma de origen del mensaje

messageTimestamp
integer
predeterminado:0

Timestamp original del mensaje en milisegundos

status
string

Estado del ciclo de vida del mensaje. Ejemplos comunes: Queued, Canceled, Failed, Sent, Delivered, Read. En mensajes de grupo, sigue al participante más avanzado: Delivered cuando al menos uno lo recibió, Read cuando al menos uno lo leyó y Played cuando al menos uno lo escuchó.

text
string
predeterminado:""

Texto original del mensaje

quoted
string
predeterminado:""

ID del mensaje citado/respondido

edited
string
predeterminado:""

Historial de ediciones del mensaje

reaction
string
predeterminado:""

ID del mensaje al que se reaccionó

vote
string
predeterminado:""

Datos de votación de encuestas y listas

convertOptions
string
predeterminado:""

Conversión de opciones del mensaje, lista, encuesta y botones

buttonOrListid
string
predeterminado:""

ID del botón o elemento de lista seleccionado

owner
string
predeterminado:""

Propietario del mensaje

error
string
predeterminado:""

Mensaje de error en caso de que el envío haya fallado

content

Contenido bruto del mensaje (JSON serializado o texto)

wasSentByApi
boolean

Indica si el mensaje fue enviado vía API

pinned
boolean

Mensaje fijado en la conversación (fijar y desfijar también llegan en messages_update, tipos Pinned y Unpinned)

sendFunction
string

Función usada para enviar el mensaje (cuando se envía vía API)

sendPayload

Payload utilizado en el envío cuando está disponible. Los datos de medios en base64 se omiten.

fileURL
string

URL o referencia de archivo del mensaje

callPeer
object

Contacto conocido asociado a una llamada, cuando está disponible en messageType: call.

send_folder_id
string

Carpeta asociada al envío (cuando corresponda)

track_source
string

Origen de rastreo

track_id
string

ID de seguimiento (puede repetirse)

ai_metadata
object

Registro de una ronda de la IA. El completo (solicitud al modelo, respuesta y outcome) queda una sola vez, en el último mensaje del contacto al que respondió la ronda, incluso cuando no salió nada (error, respuesta descartada). Cada mensaje enviado por la IA lleva solo agent_id y turn (el id de ese mensaje del contacto).

sender_pn
string | null

JID PN resuelto del remitente (cuando esté disponible)

sender_lid
string | null

LID original del remitente (cuando esté disponible)

sender_image_preview_url
string<uri>

URL temporal de vista previa del remitente, cuando se conoce. La hidratación de esta versión completa los mensajes recibidos en grupos; el campo puede omitirse. No provoca consulta de foto a WhatsApp en el listado.

response
object