Listar Catálogos del SAT
Obtén la lista de todos los catálogos del SAT disponibles para consulta. Este endpoint es útil para descubrir qué catálogos están disponibles antes de consultarlos individualmente.
Endpoint
GET https://api.lummy.io/v1/catalogs
| Entorno | URL |
|---|---|
| Producción | https://api.lummy.io/v1/catalogs |
| Sandbox | https://sandbox.lummy.io/v1/catalogs |
Request
Headers
Headers requeridos
{
"Authorization": string,requerido
↳Token JWT de autenticación. Debe incluir el prefijo "Bearer " seguido del token obtenido en el login.
↳Ejemplo:
"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." "x-organization-id": stringrequerido
↳Identificador único de la organización. Debe ser un UUID válido de una organización a la que el usuario autenticado tenga acceso.
↳Formato: UUID v4
↳Ejemplo:
"550e8400-e29b-41d4-a716-446655440000"}
Response
200 OK
Lista de catálogos obtenida exitosamente.
Response Body
{
"catalogs": [requerido
↳Lista de catálogos del SAT disponibles para consulta. Cada catálogo contiene claves y valores que se utilizan en los campos del CFDI según las especificaciones del Anexo 20.
{
"name": string,requerido
↳Nombre técnico del catálogo según la nomenclatura del SAT. Utilice este nombre para consultar las entradas del catálogo en el endpoint GET /catalogs/:catalogName.
↳Ejemplo:
"c_FormaPago" "description": stringrequerido
↳Descripción legible del contenido del catálogo.
↳Ejemplo:
"Formas de pago" }
]
}
Ejemplo de respuesta:
{
"catalogs": [
{ "name": "c_FormaPago", "description": "Formas de pago" },
{ "name": "c_MetodoPago", "description": "Métodos de pago (PUE, PPD)" },
{ "name": "c_Moneda", "description": "Monedas" },
{ "name": "c_TipoDeComprobante", "description": "Tipos de comprobante (I, E, T, N, P)" },
{ "name": "c_UsoCFDI", "description": "Usos del CFDI" },
{ "name": "c_RegimenFiscal", "description": "Regímenes fiscales" },
{ "name": "c_ClaveProdServ", "description": "Claves de producto o servicio" },
{ "name": "c_ClaveUnidad", "description": "Claves de unidad de medida" },
{ "name": "c_CodigoPostal", "description": "Códigos postales" }
]
}
401 Unauthorized
Token de autenticación inválido o expirado.
{
"requestId": "req_abc123",
"error": {
"message": "Token inválido o expirado",
"code": "UnauthorizedException",
"status": 401
}
}
Ejemplos de Código
- cURL
- Node.js
- Python
curl -X GET "https://api.lummy.io/catalogs" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "x-organization-id: ${ORG_ID}"
const response = await fetch('https://api.lummy.io/catalogs', {
headers: {
'Authorization': `Bearer ${ACCESS_TOKEN}`,
'x-organization-id': ORG_ID,
},
});
const data = await response.json();
console.log(`Se encontraron ${data.catalogs.length} catálogos`);
data.catalogs.forEach(catalog => {
console.log(`- ${catalog.name}: ${catalog.description}`);
});
import requests
response = requests.get(
'https://api.lummy.io/catalogs',
headers={
'Authorization': f'Bearer {ACCESS_TOKEN}',
'x-organization-id': ORG_ID,
}
)
data = response.json()
print(f"Se encontraron {len(data['catalogs'])} catálogos")
for catalog in data['catalogs']:
print(f"- {catalog['name']}: {catalog['description']}")
Catálogos Más Utilizados
| Catálogo | Uso en CFDI |
|---|---|
c_FormaPago | Campo FormaPago - Cómo se realizó o realizará el pago |
c_MetodoPago | Campo MetodoPago - PUE (pago en una exhibición) o PPD (pago en parcialidades o diferido) |
c_UsoCFDI | Campo UsoCFDI - Para qué utilizará el receptor la factura |
c_RegimenFiscal | Campo RegimenFiscal - Régimen fiscal del emisor y receptor |
c_ClaveProdServ | Campo ClaveProdServ en conceptos - Clasificación del producto o servicio |
c_ClaveUnidad | Campo ClaveUnidad en conceptos - Unidad de medida (pieza, servicio, kg, etc.) |
Siguientes Pasos
- Consultar un catálogo específico - Obtener las entradas de un catálogo
- Validar datos contra catálogos - Verificar que los valores sean válidos