Actualizar un contacto
Cambia campos de un contacto. Solo se modifican los campos que pasas; el resto queda igual. Sirve para moverlo de fase, asignarlo a un agente, marcarlo como resuelto, agregar o quitar etiquetas, o cambiar cualquier otro campo.
01plazbot contacts update <contactId> [opciones]
Parámetros
| Parámetro | Flag | Requerido | Descripción |
|---|---|---|---|
| ID del contacto | <contactId> | Sí | ID del contacto (con_...) |
| Nombre | --name <name> | No | Nombre |
| Apellido | --lastname <lastname> | No | Apellido |
-e, --email <email> | No | ||
| Fase | --stage <stageId> | No | ID de la fase (IDs con plazbot workspace show stages) |
| Agente | --agent <userId> | No | Asigna el contacto a ese usuario (IDs con plazbot team list). none lo deja sin asignar |
| Resuelto | --solved / --no-solved | No | Marca la conversación como resuelta, o la reabre |
| Agregar etiqueta | --add-tag <tagId> | No | Agrega una etiqueta. Se puede repetir |
| Quitar etiqueta | --remove-tag <tagId> | No | Quita una etiqueta. Se puede repetir |
| Otro campo | --set <field=value> | No | Cualquier otro campo del contacto. Se puede repetir |
| JSON | --json | No | Imprime la respuesta de la API en JSON |
| Confirmar | -y, --yes | No | Omite la confirmación |
| Workspace | -w, --workspace <id> | No | Otro de tus workspaces |
| Zona | -z, --zone <zone> | No | LA o EU |
Pasa al menos una opción. Antes de enviar, el CLI pide confirmación con la lista de campos que va a cambiar; sin terminal interactiva necesitas --yes.
Etiquetas
La API reemplaza la lista completa de etiquetas del contacto. Por eso, con --add-tag o --remove-tag el CLI lee primero las etiquetas actuales del contacto, aplica tus cambios y envía la lista completa: las etiquetas que no mencionas se conservan.
Cada --add-tag debe ser una etiqueta activa del workspace. Consulta los IDs con plazbot tags list.
Valores de --set
El valor se interpreta como JSON cuando es JSON válido (números, true/false, listas, objetos) y como texto en cualquier otro caso:
| Ejemplo | Valor enviado |
|---|---|
--set company="ACME" | Texto "ACME" |
--set documentNumber=12345678 | Número 12345678 |
--set isBotEnabled=false | Booleano false |
--set documentNumber='"00123"' | Texto "00123" (para conservar ceros a la izquierda) |
No se pueden cambiar el ID, el workspace, el número de WhatsApp ni el canal del contacto.
Ejemplos
01# Mover a otra fase y etiquetar02plazbot contacts update con_AbcDef123 --stage mos_AbcDef123 --add-tag mot_AbcDef1230304# Asignar a un agente y reabrir la conversación05plazbot contacts update con_AbcDef123 --agent usr_AbcDef123 --no-solved0607# Quitar la asignación y una etiqueta08plazbot contacts update con_AbcDef123 --agent none --remove-tag mot_AbcDef1230910# Cambiar otros campos sin preguntar11plazbot contacts update con_AbcDef123 --set company="ACME" --set documentNumber=12345678 --yes
Resultado
01? Update stageId, tags of contact con_AbcDef123? Yes0203 Contact con_AbcDef123 updated (stageId, tags)
Salida JSON
Con --json se imprime la respuesta de la API:
01{02 "success": true,03 "code": 200,04 "message": "Successfully updated.",05 "data": { "id": "con_AbcDef123" }06}
Errores comunes
| Mensaje | Causa | Solución |
|---|---|---|
Nothing to update. | No pasaste ninguna opción | Pasa al menos una, ej. --stage o --add-tag |
Unknown tag mot_.... | La etiqueta no existe o está inactiva | Consulta los IDs con plazbot tags list |
Invalid --set "..." | Falta el = | Usa --set campo=valor |
Contact con_... not found in workspace wok_.... | El ID no existe en ese workspace | Revisa el ID o pasa -w |
This action needs confirmation and there is no interactive terminal. | Sin terminal y sin --yes | Agrega --yes |
This session is read-only: it cannot change data. | Sesión creada con --read-only | Inicia sesión sin --read-only |