Los catálogos son listas de referencia mantenidas por el SRI o por la plataforma. Son de solo lectura desde la API. Úsalos para poblar selects en tu UI y para resolver IDs estables a partir de códigos SRI.
/catalogs/{catalog} API KeyLista los items de un catálogo.
Path
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| catalog | string | Sí | Nombre del catálogo (ver tabla más abajo). |
/catalogs/{catalog}/{id} API KeyObtiene un item específico de un catálogo por su ID.
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| catalog | string | Sí | Nombre del catálogo. |
| id | int | Sí | ID del item dentro del catálogo. |
Catálogos disponibles
| Nombre | Contenido |
|---|---|
document-states | Estados posibles de un documento (borrador, firmado, recibido, autorizado, rechazado). |
document-types | Tipos SRI: 01 Factura, 03 Liquidación, 04 Nota de Crédito, 05 Nota de Débito, 06 Guía de Remisión, 07 Comprobante de Retención. |
emission-types | Tipos de emisión (normal, indisponibilidad del sistema, …). |
environments | Ambientes SRI: 1 = Pruebas, 2 = Producción. |
identification-types | Tipos de identificación: cédula, RUC, pasaporte, consumidor final, identificación del exterior. |
item-types | Tipos de producto/servicio. |
payment-locations | Tipo de pago de una retención (ATS pagoLocExt): 01 local (residente), 02 al exterior (no residente). |
payment-methods | Formas de pago aceptadas por el SRI. |
retention-codes | Códigos de retención (codigoRetencion). Cada item conserva percentage e incluye allowedPercentages, requiresExplicitPercentage y su retentionTaxType. |
retention-tax-types | Impuesto que retiene una línea de retención: 1 Renta, 2 IVA, 6 ISD. |
sustain-codes | Sustento tributario del documento sustento en una retención (Tabla 5 ATS): 01–10. |
taxes | Impuestos disponibles: IVA 15 %, IVA 0 %, ICE, … |
tax-types | Tipos de impuesto: IVA, ICE, IRBPNR. |
Porcentajes de retención
Todos los elementos de retention-codes incluyen los campos allowedPercentages y requiresExplicitPercentage. Si el segundo es true, tu integración debe elegir y enviar explícitamente uno de los valores admitidos en retention_percentage; no utilices percentage como selección automática.
json
{
"data": {
"id": 13,
"retentionTaxType": { "id": 1, "name": "RENTA", "code": "1" },
"code": "310",
"name": "Servicio de transporte privado de pasajeros o transporte público o privado de carga",
"percentage": 0,
"current": true,
"allowedPercentages": [0, 1],
"requiresExplicitPercentage": true
}
}Ejemplos
bash
curl -X GET https://www.factura-tor.com/api/catalogs/payment-methods \
-H "X-API-Key: tu_api_key"bash
curl -X GET https://www.factura-tor.com/api/catalogs/document-types/1 \
-H "X-API-Key: tu_api_key"
