Gestiona contactos en WACRM con etiquetas, notas y tickets
La pantalla Contacts de WACRM Workspace te deja buscar e importar contactos, etiquetarlos, dejar notas internas y abrir tickets de soporte — incluido vincular un ticket a una de las reservas del contacto. La tarjeta Linked records muestra los pedidos y reservas de un contacto, y todo esto también funciona por la API de WACRM con claves con scopes.
Por Huy Nguyen (David), Fundador y CEO de Netbase JSC Actualizado el
Lo que aprenderás
- Qué necesitas antes de empezar
- Busca e importa contactos
- Abre un contacto: etiquetas, notas y tickets
- Linked records: pedidos y reservas
- Haz lo mismo por la API
- Qué funciona hoy y qué todavía no
Todo contacto con el que tu proyecto habla por WhatsApp vive en la pantalla Contacts de WACRM Workspace — creado automáticamente desde las conversaciones, o agregado en bloque pegando números o subiendo un CSV. Desde la página de un contacto puedes etiquetarlo, dejar notas internas que tus clientes nunca ven, y abrir tickets de soporte que pueden vincularse a una de sus reservas. Este tutorial recorre las pantallas y llamadas de API reales, y dice con claridad qué partes — como una pantalla de tickets dedicada o filtrar la lista de Contacts por etiqueta — todavía no existen.
Qué necesitas antes de empezar
- Una cuenta de WACRM Workspace con al menos un proyecto y al menos un contacto (creado desde una conversación de WhatsApp, o importado — ver abajo).
- Solo para los pasos de la API:
curl(o cualquier cliente HTTP que pueda poner encabezados), y una clave de API desde Developer / API & MCP con los scopes de contacts/labels/notes/tickets marcados.
Busca e importa contactos
Workspace → Contacts lista todos los contactos del proyecto con las columnas Nombre, Teléfono, Correo electrónico, Etiquetas y Agregado, un cuadro Buscar contactos arriba, y paginación Anterior/Siguiente abajo mostrando “n–m de total” contactos.
Haz clic en Importar contactos para agregar contactos en bloque — pega un número de teléfono por línea, o sube un archivo .csv con columnas phone,name,email,labels en cualquier orden (la columna labels separa varias etiquetas con ;, no con coma, siguiendo el mismo formato CSV sencillo que describe RFC 4180, así el propio nombre de una etiqueta nunca se confunde con una segunda etiqueta). Hasta 1000 filas por importación; el cuadro de diálogo advierte y desactiva Import por encima de ese límite. Después de importar, la lista se actualiza y muestra cuántas filas se crearon, actualizaron y omitieron, además del número de línea y el motivo de cualquier fila que haya fallado.
Una nota junto al botón Import siempre está visible, no es algo que haya que buscar: “Imported contacts are NOT opted in. WACRM never grants WhatsApp consent on import — collect opt-in before sending marketing messages.” Importar un número de teléfono no es lo mismo que tener permiso para escribirle — revisa la propia guía de Meta sobre cómo obtener el opt-in antes de enviar algo de marketing a un contacto importado.
Abre un contacto: etiquetas, notas y tickets
Haz clic en el nombre de un contacto para abrir su página. Tiene seis pestañas — Profile, Conversations, Orders, Bookings, Notes y Tickets — aunque solo Profile, Notes y Tickets muestran datos reales hoy; Conversations, Orders y Bookings todavía muestran un aviso de que ese módulo no está conectado (los pedidos y reservas reales de un contacto están en la tarjeta Linked records de la barra lateral — ver abajo).
La pestaña Profile muestra teléfono, correo electrónico (o “Sin correo registrado”), cuándo se Agregó el contacto y su Última actualización, y sus etiquetas como chips (o “Aún sin etiquetas”).
Etiquetas — haz clic en Agregar etiqueta para abrir un autocompletar (“Escribe para buscar o crear una etiqueta”) con las etiquetas que el contacto aún no tiene; elige una existente o escribe un nombre nuevo (se muestra como Crear etiqueta "nombre") para crearla y agregarla en un solo paso. Haz clic en la x de un chip para quitar (desvincular) una etiqueta solo de este contacto. Para eliminar una etiqueta de todo el catálogo del proyecto, haz clic en el pequeño ícono de papelera junto a cualquier etiqueta de esa misma lista desplegable “Agregar etiqueta” — un cuadro de confirmación advierte que la etiqueta “se quitará de todos los contactos que la tengan en este proyecto. Esta acción no se puede deshacer” antes de ejecutarse.
Notas — la pestaña Notes es una lista continua, de la más reciente a la más antigua, de notas internas (“Agrega una nota para conservar contexto interno sobre este contacto: los compradores nunca las ven”). Escribe en el cuadro y haz clic en Agregar nota.
Tickets — la pestaña Tickets lista los tickets de soporte con chips de estado (Abierto/Pendiente/Cerrado), prioridad (Baja/Normal/Alta) y tipo (Soporte/Solicitud de servicio). Haz clic en Nuevo ticket y completa Asunto y Detalles, opcionalmente Prioridad y Tipo, y — si este contacto tiene alguna — Vincular a una reserva (opcional), que por defecto es Ninguna. Haz clic en Abrir ticket para crearlo.
No existe ninguna pantalla separada de tickets en Workspace hoy: los tickets solo existen en la pestaña Tickets de cada contacto, de a un contacto a la vez. Tanto Notes como Tickets cargan una página a la vez (las 20 más recientes primero) con un botón Load more debajo de la lista para traer la página siguiente — sin recargar todo.
Linked records: pedidos y reservas
Junto a las pestañas, una tarjeta Linked records muestra las Reservas y Pedidos de este contacto — hasta tres de cada uno, el más reciente primero, con un enlace Ver reservas / Ver pedidos a la pantalla completa de Bookings o Store orders para ver el resto. Un contacto sin ninguno todavía muestra “Este contacto aún no tiene reservas registradas.” / “Este contacto aún no tiene pedidos registrados.”
Haz lo mismo por la API
Contacts, labels, notes y tickets están respaldados por estos endpoints de la Core API, cada uno con alcance por contacto:
POST /v1/contacts/import contacts:write
GET /v1/contacts contacts:read
POST /v1/contacts/{contact}/labels labels:write
DELETE /v1/contacts/{contact}/labels/{label} labels:write
GET /v1/labels labels:read
POST /v1/labels labels:write
DELETE /v1/labels/{label} labels:write
GET /v1/contacts/{contact}/notes notes:read
POST /v1/contacts/{contact}/notes notes:write
GET /v1/contacts/{contact}/tickets tickets:read
POST /v1/contacts/{contact}/tickets tickets:write Ninguno de estos scopes se otorga por defecto a una clave. Marca los que necesites en Restrict what this key can do (advanced) → WhatsApp CRM scopes al crear la clave en Developer / API & MCP — una clave sin el scope responde 403 insufficient_scope.
Importa contactos por la API
curl -s -X POST "https://api.wacrm.ai/v1/contacts/import" \
-H "Authorization: Bearer sk_live_your_scoped_key" \
-H "Content-Type: application/json" \
-d '{"contacts": [{"phone": "+15551234567", "name": "Jane Diaz", "labels": ["vip"]}]}' {
"data": {
"created": 1,
"updated": 0,
"skipped": 0,
"errors": []
}
} Hasta 1000 filas por llamada (422 too_many_contacts por encima de eso). Un teléfono que ya está en el proyecto nunca se duplica — solo se completa un name/email vacío, nada que ya esté definido se sobrescribe. Misma regla que el cuadro de Workspace: no hay ningún campo de consentimiento en este cuerpo, y enviar uno no hace nada — una importación nunca activa el opt-in de un contacto.
Agrega una etiqueta, agrega una nota, abre un ticket
curl -s -X POST "https://api.wacrm.ai/v1/contacts/your-contact-uuid/labels" \
-H "Authorization: Bearer sk_live_your_scoped_key" \
-H "Content-Type: application/json" \
-d '{"label_id": "your-label-uuid"}'
curl -s -X POST "https://api.wacrm.ai/v1/contacts/your-contact-uuid/notes" \
-H "Authorization: Bearer sk_live_your_scoped_key" \
-H "Content-Type: application/json" \
-d '{"body": "Asked about a refund on order #1042."}'
curl -s -X POST "https://api.wacrm.ai/v1/contacts/your-contact-uuid/tickets" \
-H "Authorization: Bearer sk_live_your_scoped_key" \
-H "Content-Type: application/json" \
-d '{"subject": "Refund request", "body": "Wants a refund on order #1042.", "priority": "high", "type": "support", "booking_id": "your-booking-uuid"}' booking_id es opcional y solo se acepta como un UUID real que pertenezca a una de las reservas propias de este contacto — un id de reserva que no sea de este contacto, o que no exista, responde 404. priority acepta low/normal/high; type acepta support/service_request; ambos usan un valor por defecto si se omiten.
Lista las notas o tickets de un contacto
curl -s "https://api.wacrm.ai/v1/contacts/your-contact-uuid/tickets?page=1&limit=20" \
-H "Authorization: Bearer sk_live_your_scoped_key" page/limit funcionan (limit con tope de 100), y los dos endpoints también devuelven un bloque meta con current_page, per_page, total y last_page — el mismo formato que devuelve GET /v1/contacts — así que puedes saber exactamente cuántas páginas hay en vez de adivinar por el tamaño de la página.
Qué funciona hoy y qué todavía no
| Lo que quieres hacer | ¿Funciona hoy? |
|---|---|
| Buscar, paginar e importar contactos (pegado o CSV) en Workspace | Sí — Contacts → Importar contactos |
| Ver una advertencia clara de que los contactos importados no tienen opt-in | Sí — se muestra junto al botón Import siempre |
| Agregar, quitar o eliminar una etiqueta de todo el catálogo del proyecto | Sí — desde la lista desplegable Agregar etiqueta del contacto |
| Agregar notas internas a un contacto | Sí — pestaña Notes |
| Abrir un ticket y vincularlo a una de las reservas del contacto | Sí — pestaña Tickets → Nuevo ticket → Vincular a una reserva |
| Ver los pedidos y reservas de un contacto | Sí — la tarjeta Linked records de la barra lateral (hasta 3 de cada uno) |
| Ver pedidos/reservas dentro de las pestañas Orders/Bookings de la página del contacto | Todavía no — ambas siguen mostrando un aviso de módulo no conectado; usa la tarjeta Linked records en su lugar |
| Paginar más allá de las primeras 20 notas o tickets de un contacto | Sí — haz clic en Load more en cualquiera de las dos pestañas; la API también devuelve un total meta contra el cual paginar |
| Abrir o explorar tickets desde una pantalla de tickets dedicada | Todavía no — los tickets solo existen dentro de la pestaña Tickets de cada contacto |
| Filtrar la lista de Contacts por etiqueta | Todavía no — GET /v1/contacts?label= existe en la API, pero la lista de Contacts no tiene un control de filtro por etiqueta |
¿Listo para ponerlo en práctica? Solicita acceso anticipado para tener un Workspace, o deja que el equipo de WACRM configure tu proyecto con Quick Setup.
Habla con un experto
Te responde una persona del equipo WACRM.
Consulta a David sobre «CRM de Contactos en WACRM: Etiquetas, Notas y Tickets».
Responde en un día hábil, normalmente antes por WhatsApp.
Preguntas frecuentes
¿Los contactos importados quedan con consentimiento para recibir mensajes de WhatsApp?
No. Ni pegar números ni subir un CSV otorgan nunca consentimiento de WhatsApp — Workspace muestra una nota permanente junto al botón Import que lo dice, y el cuerpo de la API de importación no tiene ningún campo de consentimiento; uno enviado de todos modos simplemente se ignora. Recoge un opt-in real, por ejemplo siguiendo la guía de Meta sobre cómo obtener el opt-in, antes de enviar algo de marketing a un contacto importado.
¿Existe una pantalla dedicada para los tickets de soporte?
No. Los tickets solo existen en la pestaña Tickets de la página de cada contacto, dentro de Workspace → Contacts — no hay una lista ni panel de tickets independiente hoy, y las pestañas Orders y Bookings de esa misma página todavía muestran un aviso de que ese módulo aún no está conectado (los datos reales de pedidos y reservas están en la tarjeta Linked records de la barra lateral).
¿Puedo ver más de la primera página de notas o tickets de un contacto?
Sí. Ambas pestañas cargan la primera página (las más recientes, 20 por defecto) y muestran un botón Load more que trae la página siguiente sin recargar todo. La API respalda esto con un bloque `meta` (`current_page`, `per_page`, `total`, `last_page`) en los dos endpoints — el mismo formato que ya devuelve `GET /v1/contacts`.
¿Qué pasa cuando elimino una etiqueta del catálogo en vez de solo quitarla de un contacto?
Se quita de todos los contactos que la tenían en todo el proyecto, no solo del que estabas viendo. El cuadro de confirmación de Workspace lo advierte antes de que el borrado se ejecute, y no se puede deshacer.
¿Mi plan limita cuántas etiquetas, notas o tickets puedo crear?
Los planes de WACRM listan un tope de contactos — 2000 en Premium, 10 000 en Advanced, ilimitados en Pro — pero nada específico para etiquetas, notas o tickets. Revisa tu plan en Settings para la cifra que aplica a tu cuenta.
¿Quieres que lo configuremos por ti?
Quick Setup conecta tu número con coexistencia en 48 horas, hecho por una persona.