Chat
Listar contactos
Lista todos los contactos sincronizados o consulta un número específico
GET
Listar contactos
Auth:
TokenAccount o TokenInstance • Rate-limit: Global (100/min) • Idempotente: sí
Descripción
Devuelve la lista de contactos sincronizados en elContactStore de WhatsMeow, son los contactos provenientes de la agenda del teléfono principal: nombre, push name, nombre comercial y número telefónico parcialmente oculto.
Si se proporciona ?number=, devuelve un solo contacto. Si el número no está en la agenda, la respuesta sigue siendo 200 OK con contact.found = false.
Operación de solo lectura contra el store local, no genera tráfico de WhatsApp.
Ejemplos
Listar todos
Sin parámetros de query, devuelve todos los contactos sincronizados en elContactStore local de la instancia, con total indicando el tamaño de la lista.
Número específico
Filtra por?number=5511999999999 (teléfono internacional). Devuelve el objeto contact único, con found=false cuando el número no está en la agenda sincronizada.
JID completo
Acepta el JID completo en?number=5511999999999@s.whatsapp.net cuando ya tienes el identificador completo (de un webhook u otra respuesta de la API), evitando construir manualmente el sufijo.
Respuesta exitosa
Sin?number, devuelve contacts (array) con todos los contactos sincronizados de la agenda + total. Con ?number=..., devuelve solo contact (un único objeto). Cada item lleva jid, lid (cuando aplica), los nombres disponibles (first_name, full_name, push_name, business_name) y redacted_phone para casos donde solo conocemos el LID. El campo found indica si la entrada provino del store.
200 OK
Parámetros de ruta
Nombre de la instancia (por ejemplo,
$Instance_Name).Cabeceras
| Nombre | Requerido | Ejemplo | Descripción |
|---|---|---|---|
token | sí (o Authorization) | a1b2c3d4-... | TokenAccount o TokenInstance. |
Parámetros de consulta
Teléfono internacional (
5511999999999) o JID (5511999999999@s.whatsapp.net, ...@lid). Si se proporciona, devuelve solo este contacto.Notas y precauciones
found=falseconpush_namevacío yredacted_phonevacío usualmente significa que el número no tiene WhatsApp o nunca intercambió mensajes contigo.business_namesolo se llena para cuentas verificadas de WhatsApp Business.- Las operaciones que involucran más de mil contactos pueden tardar algunos segundos por el
context.WithTimeout(30s)aplicado aGetAllContacts.
Respuestas de error
| HTTP | error.message | Cuándo ocurre |
|---|---|---|
| 400 | Instance name is required | :instance vacío. |
| 401 | Invalid token | Ver Autenticación. |
| 404 | Instance not found | La instancia no existe en la cuenta. |
| 500 | WhatsApp client not found for instance | Cliente desasignado. |
| 500 | WhatsApp client is not connected | Instancia desconectada. |
| 500 | contact store not available (use a store that implements ContactStore, e.g. sqlstore) | Store no soportado. |
| 500 | invalid number: <...> | ?number= malformado. |
| 500 | failed to get contacts: <...> / failed to get contact: <...> | Error interno de WhatsMeow. |
Error 400