CRM v1 vigente
crm. stage_ moved
Mueve el negocio abierto de un cliente a otra etapa del pipeline, diciendo el nombre del cliente y el de la etapa. No crea negocios: sin uno abierto se niega, y con varios se niega con la lista.
Última actualización
POST /api/v1/actions/crm.stage_moved- Alcance de la llave
crm.stage_moved@1- Permiso del workspace
api.crm.stage_movedapagado por defecto
Dos permisos, no uno
Hacen falta las dos cosas: una llave con ese alcance, y que el dueño del workspace haya encendido el permiso. Tener la llave no basta — son dos decisiones de personas distintas.
Petición
| campo | tipo | reglas | |
|---|---|---|---|
client | string | obligatorio | min 1 · max 200 |
stage | string | obligatorio | min 1 · max 120 |
lostReason | string | opcional | max 500 |
Respuesta — output cuando status es done
| campo | tipo | reglas | |
|---|---|---|---|
dealId | string | obligatorio | |
clientId | string | obligatorio | |
clientName | string | obligatorio | |
stageName | string | obligatorio | |
won | boolean | obligatorio | |
firstWon | boolean | obligatorio |
Ejemplo
# One request, one idempotency key: retrying with the same key never runs twice.
curl -X POST https://niiko.org/api/v1/actions/crm.stage_moved \
-H "Authorization: Bearer nk_…" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"client": "…",
"stage": "…"
}'
# 200 → done · 202 → pending_approval (a person signs later) · 4xx → refused, with a named reasonPor qué puede negarse
Cada motivo dice quién puede arreglarlo y cómo. Con motivo stale, detail.message dice qué hacer.
cliente_no_encontradocliente_ambiguodemasiados_clientessin_negocio_abiertovarios_negociosetapa_no_encontradanegocio_cerradoya_en_esa_etapasin_permiso
En los clientes
| @vorluno/niiko-sdk | niiko.movedStage() |
| niiko (Python) | niiko.moved_stage() |
| niiko-cli | niiko run crm.stage_moved |
| n8n-nodes-niiko | crmStageMoved |
| niiko-mcp-server | crm_stage_moved |