/pipelines/{pipelineId}Actualizar pipeline
Actualiza un pipeline de ventas por ID.
PATCH https://api.getincloud.ai/v1/pipelines/{pipelineId}Actualiza un pipeline de ventas por ID.
Las etapas se combinan por su id estable: una etapa que coincide con un id almacenado hereda todos los campos omitidos, a las etapas nuevas se les asigna un id nuevo y las etapas almacenadas que faltan en el payload se eliminan, salvo que queden negocios abiertos en ellas (409: muévelos, ciérralos o archívalos primero). El pipeline siempre debe conservar al menos una etapa abierta, una ganada y una perdida.
El orden de las etapas es el orden del array. Las etapas ganada y perdida deben ir después de todas las abiertas, o la actualización se rechaza con un 400: un negocio avanza a la siguiente etapa abierta por posición, así que una etapa terminal en medio sería omitida. Un pipeline que ya está almacenado en desorden queda exento, de modo que sigue siendo editable mientras se corrige.
Envía archived: true para archivar el pipeline. Archivar está permitido con negocios abiertos y deja intactos todos ellos: el pipeline sale de la lista por defecto, registra archivedAt, mantiene todo su historial legible y deja de aceptar nuevos negocios (POST /deals responde 409) y análisis de IA. Envía archived: false para restaurarlo, lo cual vuelve a comprobar el límite de pipelines del plan (429, pipelines:quota_exceeded) y la unicidad del nombre frente a los pipelines activos (409, pipelines:name_in_use), porque un pipeline archivado no consume ninguno de los dos mientras está archivado. Un cambio de nombre enviado en la misma solicitud es el nombre sobre el que se comprueba la unicidad, y así se resuelve una colisión desde una pantalla sin campo de nombre.
Prueba este endpoint en el probador de API en vivo
>¿Necesitas ayuda? Explora todos los tutoriales, más de 100 ejemplos de casos de uso y juega con el probador de API en vivo con ejemplos de código listos para usar en más de 15 lenguajes de programación, incluidos JavaScript/Node.js, PHP, Python, C#, Java, Ruby, Swift, Kotlin, Powershell, cURL y más.
Autenticación
Envía tu API key en el encabezado Token en cada petición.
Cuerpo de la petición
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
pipeline | string | Sí | ID único del pipeline a actualizar. Obligatorio minLength: 24 · maxLength: 24 · pattern: ^[0-9A-Fa-f]{24}$ |
name | string | No | Nombre del pipeline minLength: 2 · maxLength: 30 |
description | string | No | Descripción del pipeline minLength: 0 · maxLength: 300 |
color | string | No | Nombre del color del pipeline minLength: 1 · maxLength: 30 |
icon | string | No | Identificador del icono del pipeline enum: ['funnel-dollar', 'filter', 'chart-line', 'handshake', 'money-bill-wave', 'bullseye', 'flag-checkered', 'coins', 'chart-pie', 'briefcase'] |
devices | array<string> | No | Dispositivos que alimentan este pipeline. Vacío significa todos los dispositivos de la cuenta |
currency | ['string', 'null'] | No | Código de moneda ISO 4217 para los importes de los negocios, o null para volver a la moneda predeterminada de la cuenta minLength: 3 · maxLength: 3 |
entry | object | No | Configuración de la regla de entrada |
entry.mode | string | No | Cómo entran los chats a este pipeline: manual, filter o all. Si se omite, se conserva el valor almacenado enum: ['manual', 'filter', 'all'] |
entry.filters | object | No | Filtros de entrada, solo se usan cuando mode es filter |
stages | array<object> | No | Etapas del pipeline, en orden. Las etapas que coinciden con un id almacenado se combinan conservando los campos omitidos. Las etapas ganada y perdida deben ir después de todas las abiertas |
lostReasons | array<string> | No | Motivos de pérdida predefinidos |
settings | object | No | Ajustes de comportamiento del pipeline |
settings.closeChatOnWon | boolean | No | Resolver el chat cuando el negocio se gana |
settings.closeChatOnLost | boolean | No | Resolver el chat cuando el negocio se pierde |
settings.ai | object | No | Ajustes del análisis de IA |
archived | boolean | No | Archivar el pipeline (true) o restaurarlo (false). Archivar deja intactos todos los negocios; restaurar vuelve a comprobar el límite de pipelines del plan y la unicidad del nombre frente a los pipelines activos |
Respuestas
| Código | Descripción |
|---|---|
200 | Pipeline actualizado |
400 | Configuración de pipeline no válida, o etapas desordenadas |
401 | No autorizado - Token de API no válido o ausente |
403 | Faltan los permisos necesarios |
404 | Pipeline no encontrado |
409 | El nombre del pipeline ya está en uso (pipelines:name_in_use), o quedan negocios abiertos en una etapa eliminada |
429 | Se alcanzó el máximo de pipelines permitidos (pipelines:quota_exceeded): la cuenta no puede restaurar un pipeline archivado por encima del límite de su plan |
500 | Error inesperado |
501 | No implementado |
503 | Servicio no disponible temporalmente - Inténtalo de nuevo más tarde |