speicep
v0.1.0
Published
SDK oficial de SPEICEP: valida transferencias SPEI/SPID contra el CEP de Banxico.
Maintainers
Readme
speicep
SDK oficial de SPEICEP para Node.js. Valida transferencias SPEI/SPID contra el CEP de Banxico con una sola llamada.
La API key es secreta. Usa este SDK solo en tu backend, nunca en el navegador.
Instalacion
npm install speicepRequiere Node 18+ (usa fetch nativo, sin dependencias).
Uso
const { SpeiCep } = require('speicep');
// o: import { SpeiCep } from 'speicep';
const speicep = new SpeiCep('sk_live_...');
// 1) Validar un comprobante (imagen o PDF)
const res = await speicep.validate('./comprobante.pdf');
console.log(res.status); // "valid" | "not_found" | "failed"
console.log(res.cep); // CEP oficial completo (si es valido)
// 2) Validar con datos a mano (sin archivo)
const res2 = await speicep.validateManual({
operationDate: '28-08-2026',
trackingKey: '058-28/08/2026/28-084ZUZW879',
senderBank: 'BANORTE',
amount: 12876.00,
});
// 3) Consultar una validacion previa
const v = await speicep.getValidation('9cad30ac-...');Otras formas de pasar el archivo
// Buffer (requiere filename)
await speicep.validate(buffer, { filename: 'comprobante.jpg' });
// Elegir una cuenta receptora especifica
await speicep.validate('./comprobante.pdf', { receiverAccountId: 'ee7480a3-...' });Manejo de errores
const { SpeiCep, SpeiCepError } = require('speicep');
try {
await speicep.validate('./comprobante.pdf');
} catch (e) {
if (e instanceof SpeiCepError) {
console.error(e.status, e.message, e.data); // ej. 401 invalid_api_key
}
}Opciones
new SpeiCep('sk_live_...', { baseUrl: 'https://speicep.com/api' });Respuesta
{
"id": "…",
"status": "valid",
"message": "The payment was found in Banxico records. Amount and destination account match.",
"credits": { "charged": 1, "remaining": 799 },
"ocr": { "fecha": "…", "clave_rastreo": "…", "banco_emisor": "…", "monto": "…" },
"cep": { "trackingKey": "…", "amount": 12876, "currency": "MXN", "…": "…" }
}Documentacion completa: https://speicep.com/docs
