Saltar al contenido principal

Consultar un Catálogo

Obtén las entradas de un catálogo específico del SAT. Soporta búsqueda por texto y paginación para catálogos grandes como c_ClaveProdServ o c_CodigoPostal.

Endpoint

GET https://api.lummy.io/v1/catalogs/{catalogName}
EntornoURL
Producciónhttps://api.lummy.io/v1/catalogs/{catalogName}
Sandboxhttps://sandbox.lummy.io/v1/catalogs/{catalogName}

Request

Path Parameters

Parámetros de ruta
{
"catalogName": stringrequerido
Nombre técnico del catálogo del SAT a consultar. Debe coincidir exactamente con uno de los nombres devueltos por el endpoint GET /catalogs. Los catálogos siguen la nomenclatura oficial del SAT (prefijo c_ seguido del nombre).
Valores permitidos: "c_FormaPago""c_MetodoPago""c_Moneda""c_UsoCFDI""c_RegimenFiscal""c_ClaveProdServ""c_ClaveUnidad""c_CodigoPostal"
Ejemplo: "c_FormaPago"
}

Query Parameters

Parámetros de consulta
{
"search": string,opcional
Texto para filtrar las entradas del catálogo. La búsqueda se realiza en todos los campos de cada entrada (clave, descripción, etc.). No distingue entre mayúsculas y minúsculas.
Ejemplo: "software"
"limit": number,opcional
Número máximo de entradas a devolver. Útil para catálogos grandes como c_ClaveProdServ (~50,000 entradas) o c_CodigoPostal (~80,000 entradas). Si no se especifica, devuelve todas las entradas.
Rango: 1 - 1000 · Valor por defecto: "todas las entradas"
Ejemplo: 50
"offset": numberopcional
Número de entradas a saltar desde el inicio. Usar junto con limit para implementar paginación. La primera página tiene offset=0.
Valor mínimo: 0 · Valor por defecto: 0
Ejemplo: 100
}

Headers

Headers requeridos
{
"Authorization": string,requerido
Token JWT de autenticación. Debe incluir el prefijo "Bearer " seguido del token.
Ejemplo: "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
"x-organization-id": stringrequerido
Identificador único de la organización.
Formato: UUID v4
Ejemplo: "550e8400-e29b-41d4-a716-446655440000"
}

Response

200 OK

Entradas del catálogo obtenidas exitosamente.

Response Body
{
"catalogName": string,requerido
Nombre del catálogo consultado.
Ejemplo: "c_FormaPago"
"entries": [requerido
Lista de entradas del catálogo. La estructura de cada entrada varía según el catálogo consultado. Cada entrada contiene al menos una clave (código) y una descripción.
"[item]": objectopcional
Entrada del catálogo con estructura variable según el tipo de catálogo.
],
"total": number,requerido
Número total de entradas en el catálogo (sin considerar paginación). Útil para calcular el número de páginas cuando se usa limit/offset.
Ejemplo: 23
"limit": number,opcional
Límite aplicado a la consulta (si se especificó).
Ejemplo: 50
"offset": numberopcional
Offset aplicado a la consulta (si se especificó).
Ejemplo: 0
}

Ejemplo de respuesta (c_FormaPago):

{
"catalogName": "c_FormaPago",
"entries": [
{ "c_FormaPago": "01", "c_Descripcion": "Efectivo" },
{ "c_FormaPago": "02", "c_Descripcion": "Cheque nominativo" },
{ "c_FormaPago": "03", "c_Descripcion": "Transferencia electrónica de fondos" },
{ "c_FormaPago": "04", "c_Descripcion": "Tarjeta de crédito" }
],
"total": 23
}

404 Not Found

El catálogo especificado no existe.

{
"statusCode": 404,
"message": "Catálogo 'c_CatalogoInvalido' no encontrado"
}

Ejemplos de Código

# Obtener formas de pago
curl -X GET "https://api.lummy.io/catalogs/c_FormaPago" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "x-organization-id: ${ORG_ID}"

# Buscar productos de software con paginación
curl -X GET "https://api.lummy.io/catalogs/c_ClaveProdServ?search=software&limit=50&offset=0" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "x-organization-id: ${ORG_ID}"

# Buscar códigos postales de Monterrey
curl -X GET "https://api.lummy.io/catalogs/c_CodigoPostal?search=Monterrey&limit=100" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" \
-H "x-organization-id: ${ORG_ID}"

Cada catálogo tiene una estructura diferente. Aquí los más comunes:

c_FormaPago

{
"c_FormaPago": "03",
"c_Descripcion": "Transferencia electrónica de fondos",
"c_BancarizadoObligatorio": "Sí"
}

c_RegimenFiscal

{
"c_RegimenFiscal": "612",
"c_Descripcion": "Personas Físicas con Actividades Empresariales y Profesionales",
"c_Fisica": "Sí",
"c_Moral": "No"
}

c_CodigoPostal

{
"c_CodigoPostal": "06600",
"c_Estado": "CMX",
"c_Municipio": "015"
}

Tamaño de Catálogos

CatálogoEntradas AproximadasRecomendación
c_FormaPago~25Sin paginación
c_MetodoPago2Sin paginación
c_UsoCFDI~25Sin paginación
c_RegimenFiscal~20Sin paginación
c_ClaveProdServ~50,000Usar paginación
c_ClaveUnidad~2,000Usar paginación
c_CodigoPostal~80,000Usar paginación
c_Colonia~100,000Usar paginación
Catálogos Grandes

Para catálogos con más de 1,000 entradas, siempre use paginación con los parámetros limit y offset para evitar timeouts y reducir el consumo de memoria.


Siguientes Pasos