Nodo de n8n para Catamex – Catálogos SAT y SEPOMEX
  • TypeScript 99.4%
  • JavaScript 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Uziel Garcia 5e77aa0fc9 Ignora las notas locales del agente
`doc.md` es un archivo de contexto que vive sólo en la copia de trabajo, no
en el repositorio. Se añade al .gitignore para que no se cuele en un push,
además de la exclusión explícita en el flujo de robocopy.

No afecta al paquete: npm nunca incluye .gitignore en el tarball.
2026-10-17 15:49:01 -06:00
.agents Nodo comunitario de n8n para Catamex (v0.1.0) 2026-10-17 13:42:14 -06:00
.vscode Nodo comunitario de n8n para Catamex (v0.1.0) 2026-10-17 13:42:14 -06:00
credentials Nodo comunitario de n8n para Catamex (v0.1.0) 2026-10-17 13:42:14 -06:00
icons Nodo comunitario de n8n para Catamex (v0.1.0) 2026-10-17 13:42:14 -06:00
nodes/Catamex Selector de catálogo: sólo Product and Service Code y Postal Code, más Custom (v0.1.2) 2026-10-17 14:23:21 -06:00
.gitignore Ignora las notas locales del agente 2026-10-17 15:49:01 -06:00
.prettierrc.js Nodo comunitario de n8n para Catamex (v0.1.0) 2026-10-17 13:42:14 -06:00
AGENTS.md Nodo comunitario de n8n para Catamex (v0.1.0) 2026-10-17 13:42:14 -06:00
CHANGELOG.md La caché de TypeScript deja de publicarse (v0.1.4) 2026-10-17 15:15:29 -06:00
CLAUDE.md Nodo comunitario de n8n para Catamex (v0.1.0) 2026-10-17 13:42:14 -06:00
eslint.config.mjs Nodo comunitario de n8n para Catamex (v0.1.0) 2026-10-17 13:42:14 -06:00
LICENSE Nodo comunitario de n8n para Catamex (v0.1.0) 2026-10-17 13:42:14 -06:00
package-lock.json La caché de TypeScript deja de publicarse (v0.1.4) 2026-10-17 15:15:29 -06:00
package.json La caché de TypeScript deja de publicarse (v0.1.4) 2026-10-17 15:15:29 -06:00
README.md README y CHANGELOG con voz de desarrollador (v0.1.3) 2026-10-17 14:30:43 -06:00
tsconfig.json La caché de TypeScript deja de publicarse (v0.1.4) 2026-10-17 15:15:29 -06:00

n8n-nodes-catamex

Nodo de n8n para consultar los catálogos del SAT y los códigos postales de SEPOMEX desde tus workflows.

Instalación · Operaciones · Credenciales · Compatibilidad · Desarrollo

Instalación

cd ~/.n8n && npm install n8n-nodes-catamex

Desde la interfaz: Settings → Community nodes → Install e introduce n8n-nodes-catamex. Si despliegas con contenedores puedes fijarlo con N8N_COMMUNITY_PACKAGES=n8n-nodes-catamex.

Operaciones

SAT Catalog

Operación Qué hace Endpoint
Search Busca por clave o descripción en el catálogo elegido GET /api/v1/search
Get Many Lista un catálogo página por página GET /api/v1/catalogs/{slug}

El desplegable trae los dos de siempre:

Opción Slug
Product and Service Code c_claveprodserv
Postal Code cp_sepomex

La API expone bastantes más: unidades, impuestos, regímenes fiscales, usos del CFDI, formas de pago… Para cualquiera de ellos elige Custom y escribe su slug en Custom Catalog Slug, por ejemplo c_claveunidad o c_impuesto. Los slugs disponibles los lista /api/v1/catalogs.

Search pide al menos 2 caracteres; para códigos postales, los 5 dígitos.

Postal Code

Operación Qué devuelve
Get Neighborhoods Un item por colonia del CP
Validate Un item con postalCode, valid y neighborhoodCount

Validate va directo a un IF:

Catamex (Validate) → IF $json.valid → ...

SEPOMEX hace búsqueda parcial, así que el nodo filtra por coincidencia exacta de d_codigo antes de devolver nada.

Salida de Get Neighborhoods:

{
  "neighborhood": "Aguascalientes Centro",
  "type": "Colonia",
  "municipality": "Aguascalientes",
  "state": "Aguascalientes",
  "zone": "Urbano",
  "postalCode": "20000"
}

Account

Operación Qué devuelve
Get Usuario, token y cuota mensual restante

Útil para vigilar el consumo del plan desde un workflow con Schedule Trigger.

Credenciales

Necesitas un token de catamex.cc:

  1. Crea una cuenta
  2. Genera un token en tu panel
  3. En n8n crea una credencial Catamex API y pégalo

Viaja como Authorization: Bearer en cada petición y n8n lo inyecta desde la credencial cifrada, así que no acaba en el workflow. La prueba de credencial pega contra /api/v1/me: si el token está mal o caducó, te enteras al guardar.

Compatibilidad

  • n8n 1.60.0 o superior
  • Node.js 20.19+ / 22.12+

Desarrollo

npm install
npm run build    # TypeScript -> dist/
npm run lint     # linter de n8n
npm run dev      # n8n con el nodo cargado

npm run dev levanta n8n en un contenedor, así que necesita Docker o Podman. Con tu propia instancia:

N8N_DEV_RELOAD=true n8n start   # en la instancia
npm run dev -- --external-n8n   # aquí

Publicar

El prepublishOnly del scaffold espera a release-it, que además crea su release en GitHub y aquí no aplica. El flujo real:

npm run build
npm run lint
npm publish --ignore-scripts

La versión queda en staging y hay que aprobarla con 2FA (npm stage approve <id> o el botón en npmjs.com) antes de que salga al registro.

Recursos


Hecho por Catamex