Skip to main content
Con tu propia API Key puedes dar de alta y listar sucursales y puntos de venta de tu empresa. No necesitas esperar al equipo CUCU ni una llave de administrador: la API resuelve el tenant dueño del recurso y solo te deja operar sobre lo tuyo.
El alta de tenant y company sigue siendo una operación administrativa de CUCU (nivel plataforma). Este flujo self-service cubre lo que administras día a día: sucursales y puntos de venta.

Modelo de acceso

Todos los endpoints viven bajo /api/v1/admin/onboarding. El acceso a los de sucursales y POS se concede por cualquiera de estos tres caminos:
Anti-IDOR. La API resuelve el tenant dueño de la sucursal/POS y solo autoriza si coincide con el de tu key. Si intentas operar sobre un recurso de otra empresa recibes 403 Forbidden. Un recurso inexistente también responde 403 (no 404) con tu key de tenant, para no filtrar su existencia.

Jerarquía

Al crear una sucursal se genera automáticamente su POS por defecto (siatCode = 0, “POS Principal”). Los POS adicionales se registran ante el SIAT en el momento de crearlos.

Crear sucursal

POST /api/v1/admin/onboarding/companies/{companyId}/branches Crea una sucursal y su POS por defecto (siatCode = 0).
201

Listar sucursales

GET /api/v1/admin/onboarding/companies/{companyId}/branches Lista las sucursales de tu empresa.
cURL

Crear punto de venta

POST /api/v1/admin/onboarding/branches/{branchId}/pos Crea un punto de venta y lo registra ante el SIAT (registrarPuntoVenta). Requiere que la company tenga token SIAT configurado y que la sucursal tenga su POS por defecto (siatCode = 0).
201
Si el SIAT asigna un codigoPuntoVenta distinto al correlativo local, la API sincroniza el siatCode del POS automáticamente en la respuesta.

Listar puntos de venta

GET /api/v1/admin/onboarding/branches/{branchId}/pos
cURL

Marcar POS como configurado

PUT /api/v1/admin/onboarding/pos/{posId}/configure Marca un punto de venta como listo para facturar (configured = true), tras sincronizar CUIS/CUFD y catálogos.
cURL

Sincronizar POS desde SIAT

POST /api/v1/admin/onboarding/branches/{branchId}/sync-pos Replica en CUCU los puntos de venta que el SIAT ya tiene registrados para esa sucursal (por ejemplo, POS creados en la Oficina Virtual del SIN). Ideal para clientes multi-sector o migraciones. Requiere el POS por defecto (siatCode = 0) de la sucursal.
cURL
200
Estos endpoints tocan el SIAT (registrarPuntoVenta, consultarPuntosVenta) y pueden responder 502 si el SIAT rechaza o no responde. La creación de sucursales y el listado son operaciones locales.