CRM y contactos
Crea contactos, mándales mensajes de WhatsApp, etiquétalos y recorre tu base.
CRM y contactos
El dominio contacts te da acceso programático al CRM del workspace: contactos, mensajes, notas y etiquetas. Necesita los scopes contacts:read y/o contacts:write.
Las rutas son planas (/contacts/…): operan sobre el workspace al que pertenece la key, así que no hace falta pasar workspaceId.
Crear un contacto
Requiere phone o email:
const contact = await met.contacts.create({
name: 'Ada Lovelace',
phone: '+573001112233',
});
Mandar un mensaje
await met.contacts.sendMessage(contact.id, '¡Hola! Te escribo desde la API 👋');
Para plantillas de WhatsApp aprobadas:
await met.contacts.sendTemplate(contact.id, { /* ... */ });
Etiquetas y notas
await met.contacts.addTag(contact.id, 'lead-caliente');
await met.contacts.createNote(contact.id, 'Pidió una demo para el viernes.');
const tags = await met.contacts.tags(contact.id);
Recorrer la base
Usa iterate() para recorrer todos los contactos sin manejar cursores a mano:
for await (const c of met.contacts.iterate({ limit: 100 })) {
console.log(c.id, c.name ?? c.phone);
}
Para una sola página, list() acepta filtros del CRM (estado, canal, búsqueda) y devuelve { data, has_more }.
Leer conversaciones
const page = await met.contacts.messages(contact.id, { limit: 50 });
Los contactos operan sobre el workspace de la key. Una key de partner puede operar varios workspaces de sus clientes; en ese caso, mira la sección de partners en la Referencia.