Las colecciones agrupan productos para fines comerciales — vitrinas, promociones, curaduría editorial — de forma independiente a la categorización taxonómica (Categorías). Soportan jerarquía (una colección puede tener colecciones hijas vía parentId) y orden manual de sus productos.
Base path distinto de /products
Este dominio vive bajo /collections, un recurso de API Gateway propio (fenicia-collections-{stage}) — no es un sub-recurso de /products. Usa https://api.fenicia.io/collections/... directamente, no /products/collections/....
Autenticación: igual que el resto de la API — Authorization: Bearer fkapi_..., 401 si no se resuelve el tenant, 403 si el tenant está suspendido. Todas las operaciones de escritura y lectura exigen además el permiso collections:* correspondiente.
Los parámetros de filtro están confirmados contra el código fuente (son los mismos campos que soporta CollectionsService.search). El envelope exacto de paginación (nombres de las claves) no fue verificado campo por campo — confírmalo contra una respuesta real antes de depender de su forma exacta.
Devuelve el árbol completo de colecciones, o el subárbol de una raíz dada
rootIdstring
ID de la colección raíz del subárbol. Si se omite, devuelve el árbol completo.
{ "code": "not-found", "message": "Collection not found" }
400
{ "code": "has-children", "message": "Cannot delete collection with children. Delete children first or move them." }
Permiso requerido:collections:delete
No se puede borrar una colección con hijas
Si la colección tiene colecciones hijas (parentId apuntando a ella), el borrado se rechaza con 400 has-children. Mueve o elimina primero las colecciones hijas.
collections:* es un grupo de permisos propio (read, create, update, delete), separado de products:*. Un rol con acceso de lectura a productos no necesariamente puede leer colecciones — revisa ambos si tu integración toca los dos dominios.