Mensajes
Enviar contacto
Envía uno o varios contactos como vCard
POST
Enviar contacto
Auth:
TokenAccount o TokenInstance • Rate-limit: Global (100/min) • Idempotente: no
Descripción
Envía uno o más contactos como vCard. El destinatario recibe una tarjeta clicable que puede agregar el contacto directamente a su libreta de direcciones. El campovcard acepta un array de objetos VCard (envío múltiple) o un único objeto (compatibilidad hacia atrás, el servidor acepta ambos formatos). Soporta replyTo, replyPrivate, delay (en segundos) y source. No soporta menciones.
Ejemplos
Contacto único
Envía un vCard con lo mínimo (fullName y phone). El destinatario recibe una única tarjeta clicable con el contacto “João Silva” listo para ser agregado a su libreta de direcciones.
Múltiples contactos
Pasa tres contactos en el arrayvcard. El servidor envía todo como un único ContactsArrayMessage; el destinatario ve una tarjeta agrupada y elige qué nombres agregar a su libreta de direcciones.
Contacto con organización, email y sitio web
Incluye los campos opcionalesorganization, email y url en el vCard. La tarjeta resultante muestra la empresa, el email de contacto y el sitio web debajo del nombre, ideal para presentar contactos comerciales completos.
Respuesta exitosa
El arrayvcard en la respuesta refleja exactamente lo que enviaste (con todos los contactos). Cuando hay más de un contacto, message se vuelve "X contacts sent successfully in one message".
200 OK
Cuando
vcard contiene un solo elemento, el servidor lo envía como ContactMessage. Para múltiples elementos, se envía como ContactsArrayMessage (un único mensaje agrupando varias tarjetas).Parámetros de ruta
string
requerido
Nombre de la instancia (p. ej.,
$Instance_Name).Cabeceras
string
requerido
TokenAccount o TokenInstance.string
requerido
application/jsonCuerpo de la solicitud
string
requerido
Destino: teléfono (
5511999999999) o JID (@s.whatsapp.net, @lid, @g.us, @newsletter).VCard[]
requerido
Array de contactos a enviar. Cada elemento sigue la estructura abajo. El handler también acepta un único objeto
VCard (sin array) por compatibilidad hacia atrás, convirtiéndolo internamente a un array de un solo elemento. Se requiere al menos un contacto.string
requerido
Nombre completo del contacto. Aparece como la etiqueta principal de la tarjeta.
string
requerido
Número de teléfono del contacto (con código de país, p. ej.,
5511888888888).string
Organización/empresa del contacto (opcional).
string
Email del contacto (opcional).
string
URL/sitio web del contacto (opcional).
int
predeterminado:"0"
Tiempo en segundos a esperar antes de enviar. Durante el intervalo, el servidor envía el indicador “escribiendo…” al destinatario y dispara “pausado” antes del envío real.
string
ID del mensaje a citar (respuesta). El mensaje original debe pertenecer a la misma instancia y haber sido guardado en la base de datos.
boolean
predeterminado:"false"
Cuando es
true y replyTo apunta a un mensaje originado en un grupo, la respuesta se redirige al chat privado del autor original (manteniendo la cita). Ignorado si el mensaje original no es de un grupo. Aviso: este campo está definido en la struct pero el handler de contactos hace parsing manual del JSON y no está extrayendo replyPrivate del payload, por lo que actualmente se trata como false.string
predeterminado:"api"
Identificador de origen para trazabilidad (p. ej.,
crm, bot-suporte, n8n). Guardado en el registro del mensaje en la base de datos y propagado a los webhooks. Cuando se omite, el default es "api".Notas
delayes en segundos, no milisegundos.- El campo
vcardacepta tanto un array como un objeto único. Recomendamos usar siempre un array ([ {...} ]) para evitar ambigüedad. - Cada contacto requiere
fullNameyphone.organization,emailyurlson opcionales. - Para envíos múltiples, WhatsApp agrupa los contactos en una única tarjeta en el chat, el destinatario puede elegir cuáles agregar.
- Los mensajes de contacto no soportan
mentionnimentionAll. - Para números BR (que comienzan con
55), el servicio prueba automáticamente variaciones con y sin el 9° dígito. - Cada contacto en el array pasa por validación individual; si el elemento
Nfalla, la respuesta es400 Contact full name is required for contact No400 Contact phone number is required for contact N.
Errores
Envoltorio de error: