Guías / CRM y contactos

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.