Editar
Actualiza parcialmente una sucursal existente.
Descripcion general
Este endpoint permite actualizar parcialmente una sucursal. Todos los campos del cuerpo son opcionales y la semántica de presencia importa:
- Omitido → el campo no se toca.
null→ el campo se limpia (o se desvincula, paraparent_branch_code).""(string vacío) → se trata comonull.
El identificador en la URL es el branch_number de la sucursal dentro de tu organización. Una solicitud exitosa devuelve 200 con la forma completa de la sucursal actualizada.
No se exige un permiso granular para este endpoint todavía: basta con que la API key sea válida y esté vinculada a la organización. Las sucursales eliminadas se tratan como no encontradas (404).
Endpoint
https://app.integranom.com/api/v1/branches/{branch_number}Path param: branch_number — entero positivo, el número de sucursal dentro de la organización.
Actualizacion minima
Envía solo los campos que quieras cambiar. El resto de la sucursal queda intacto.
{ "name": "Sucursal Norte (renombrada)" }Reparentar bajo otra sucursal
Para mover una sucursal bajo otro padre, envía parent_branch_code con el código del nuevo padre. La API verifica que no se forme un ciclo (la sucursal no puede moverse bajo sí misma ni bajo un descendiente) y recalcula path y depth para la sucursal y todos sus descendientes dentro de la misma transacción.
{ "parent_branch_code": "GDL" }Convertir en raiz
Para desanclar una sucursal y convertirla en raíz del árbol, envía parent_branch_code: null. La sucursal queda con parent_id: null y depth: 0, y los path/depth de sus descendientes se recalculan en la misma transacción.
{ "parent_branch_code": null }Campos del cuerpo
| Campo | Tipo | Notas |
|---|---|---|
name | string | No vacío tras recortar. |
code | string | null | null o "" limpian el código. Se almacena en mayúsculas; debe ser único por organización. |
description | string | null | null o "" limpian la descripción. |
parent_branch_code | string | null | Código (en mayúsculas) del nuevo padre. null convierte la sucursal en raíz. El nuevo padre debe existir y no puede ser la propia sucursal ni un descendiente (sino 400 con CYCLE_DETECTED). |
is_active | boolean | Flag activo controlado por el usuario. Independiente del borrado — una sucursal puede estar inactiva y seguir apareciendo en GET. Al ponerlo en false, se desvincula la sucursal de cada empleo (branch_code → null). |
sort_order | integer ≥ 0 |
Reparenting
Si parent_branch_code cambia:
- Primero corre una verificación de ciclos: el nuevo padre no puede ser la propia sucursal ni un descendiente suyo.
- Se actualizan
pathydepthde la sucursal, y se recalculanpath/depthpara todos los descendientes del subárbol en la misma transacción.
Forma de la respuesta
200 OK — la sucursal actualizada:
{
"id": "5d3a...",
"branch_number": 7,
"parent_id": "1a2b...",
"path": "/1a2b.../5d3a.../",
"depth": 1,
"name": "Sucursal Norte (renombrada)",
"code": "NORTE",
"description": null,
"is_active": false,
"sort_order": 10,
"created_at": "2026-05-24T12:34:56.000Z",
"updated_at": "2026-05-24T13:00:00.000Z"
}Errores
| Status | Causa |
|---|---|
400 | branch_number inválido en la URL; falla de validación del cuerpo; parent_branch_code no encontrado; intento de poner el padre en sí mismo o en un descendiente (CYCLE_DETECTED). |
404 | La sucursal con ese branch_number no existe (o fue eliminada) en esta organización. |
409 | El code enviado ya está en uso por otra sucursal de la organización. |

