> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cucu.bo/llms.txt
> Use this file to discover all available pages before exploring further.

# Catalogos

> Sincroniza y consulta catalogos del SIAT (actividades, productos, leyendas, etc.).

Los catalogos contienen los codigos oficiales del SIAT que se usan en las facturas (actividades economicas, productos, unidades de medida, metodos de pago, etc.). Los catalogos son especificos por NIT y se sincronizan desde el SIAT.

<Warning>
  **Todos los endpoints de catalogos requieren autenticacion via `X-API-Key`.** Los catalogos son multi-tenant y cada NIT tiene su propio conjunto de datos sincronizados.
</Warning>

<Note>
  **No hardcodear codigos.** Los codigos de metodos de pago, unidades de medida, actividades economicas, etc. provienen del catalogo SIAT sincronizado. El catalogo tiene **308 metodos de pago**, **154 monedas**, **126 unidades de medida**, y cientos de actividades y productos. Siempre consultar el catalogo sincronizado para obtener los codigos correctos.
</Note>

## Sincronizar todos los catalogos

`POST /api/v1/siat/sync/all`

Sincroniza todos los catalogos del SIAT con la base de datos local. Ejecutar al menos una vez al inicio y se recomienda ejecutar diariamente.

La sincronizacion es **atomica**: si algun catalogo falla, todos se revierten para evitar estado parcial. Incluye proteccion contra ejecucion concurrente por tenant.

| Parametro   | Ubicacion | Tipo   | Req | Descripcion                                          |
| ----------- | --------- | ------ | --- | ---------------------------------------------------- |
| `X-API-Key` | Header    | string | Si  | Tu API Key                                           |
| `posId`     | Query     | string | No  | UUID del punto de venta (usa el default si se omite) |

<CodeGroup>
  ```bash cURL theme={"system"}
  curl -X POST https://sandbox.cucu.bo/api/v1/siat/sync/all \
    -H "X-API-Key: YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={"system"}
  const response = await fetch('https://sandbox.cucu.bo/api/v1/siat/sync/all', {
    method: 'POST',
    headers: { 'X-API-Key': 'YOUR_API_KEY' }
  });
  ```
</CodeGroup>

***

## Sincronizar catalogo especifico

`POST /api/v1/siat/sync/{catalog}`

Catalogos disponibles: `activities`, `products`, `legends`, `cancellation-reasons`, `document-types`, `payment-methods`, `currencies`, `unit-measures`, `significant-events`.

| Parametro   | Ubicacion | Tipo   | Req | Descripcion                       |
| ----------- | --------- | ------ | --- | --------------------------------- |
| `X-API-Key` | Header    | string | Si  | Tu API Key                        |
| `catalog`   | Path      | string | Si  | Nombre del catalogo a sincronizar |
| `posId`     | Query     | string | No  | UUID del punto de venta           |

***

## Consultar actividades economicas

`GET /api/v1/siat/sync/catalogs/activities`

| Parametro   | Ubicacion | Tipo   | Req | Descripcion |
| ----------- | --------- | ------ | --- | ----------- |
| `X-API-Key` | Header    | string | Si  | Tu API Key  |

<CodeGroup>
  ```bash cURL theme={"system"}
  curl -X GET https://sandbox.cucu.bo/api/v1/siat/sync/catalogs/activities \
    -H "X-API-Key: YOUR_API_KEY"
  ```
</CodeGroup>

***

## Consultar productos por actividad

`GET /api/v1/siat/sync/catalogs/products?activityCode=620100`

| Parametro      | Ubicacion | Tipo   | Req | Descripcion                                         |
| -------------- | --------- | ------ | --- | --------------------------------------------------- |
| `X-API-Key`    | Header    | string | Si  | Tu API Key                                          |
| `activityCode` | Query     | string | No  | Filtrar productos por codigo de actividad economica |

***

## Consultar leyendas

`GET /api/v1/siat/sync/catalogs/legends`

| Parametro      | Ubicacion | Tipo   | Req | Descripcion                              |
| -------------- | --------- | ------ | --- | ---------------------------------------- |
| `X-API-Key`    | Header    | string | Si  | Tu API Key                               |
| `activityCode` | Query     | string | No  | Filtrar leyendas por actividad economica |

***

## Consultar catalogo generico

`GET /api/v1/siat/sync/catalogs/{type}`

Tipos disponibles: `document-types`, `payment-methods`, `currencies`, `unit-measures`, `cancellation-reasons`, `significant-events`.

| Parametro   | Ubicacion | Tipo   | Req | Descripcion      |
| ----------- | --------- | ------ | --- | ---------------- |
| `X-API-Key` | Header    | string | Si  | Tu API Key       |
| `type`      | Path      | string | Si  | Tipo de catalogo |

```json theme={"system"}
{
  "success": true,
  "data": [
    { "code": "1", "description": "EFECTIVO", "catalogType": "PAYMENT_METHOD" },
    { "code": "2", "description": "TARJETA DE CREDITO", "catalogType": "PAYMENT_METHOD" },
    { "code": "5", "description": "TRANSFERENCIA BANCARIA", "catalogType": "PAYMENT_METHOD" },
    { "code": "27", "description": "GIFT-CARD", "catalogType": "PAYMENT_METHOD" },
    { "code": "35", "description": "EFECTIVO-GIFT CARD", "catalogType": "PAYMENT_METHOD" }
  ]
}
```

<Tip>
  El catalogo de metodos de pago tiene **308 codigos** que incluyen combinaciones (ej: Efectivo + Tarjeta, Efectivo + Gift Card, etc.). Consultar el catalogo completo para ver todas las opciones disponibles para tu NIT.
</Tip>

```
```
