Documentación › Herramientas
SDKs
SDK de TypeScript y PHP y qué cubre cada uno.
SDKs oficiales
| Lenguaje | Paquete | Situación |
|---|---|---|
| Node.js / TypeScript | @sudrel/sdk (con la CLI sudrel) |
npm: npm install @sudrel/sdk |
| PHP 8.1+ | sudrel/sdk |
Packagist: composer require sudrel/sdk |
La API es REST simple y no exige SDK. La
guía Tu primera nota tiene ejemplos en curl, C# y
Delphi, y Webhooks tiene la verificación de la firma en
TypeScript, PHP, Python y C#. No hay SDK de C#, Delphi, Python ni Ruby.
Qué cubre cada SDK
| Recurso | TypeScript | PHP | Sin SDK (REST) |
|---|---|---|---|
| Emitir, validar, consultar y listar NFS-e | Sí | Sí | Sí |
Esperar a que la nota salga de transmitindo |
Sí (nfse.esperar) |
Sí (esperar) |
Consultando GET /v1/nfse/{id} |
| Cancelar, confirmar, XML, PDF | Sí | Sí | Sí |
| Sustituir | Con el bloque substituicao en emitir |
Con el bloque substituicao en emitir |
Sí |
| Lotes: crear (JSON u hoja de cálculo), consultar, elementos, emitir, reprocesar | Sí | Sí | Sí |
| Lotes: listar e informe | Sí | No | Sí |
| Empresas: listar y preparación | Sí | Sí | Sí |
| Empresas: detallar | Sí | No | Sí |
| Empresas: crear, certificado, pausar, reanudar, eliminar | No | No | Sí |
| Webhooks: crear, listar, modificar, eliminar, cambiar secreto, probar, entregas, reenviar | Sí | Sí | Sí |
| Webhooks: detallar uno | Sí | No | Sí |
| Verificar la firma del webhook | Sí | Sí | Ejemplos en Webhooks |
| Registro de eventos | Sí | Sí | Sí |
| Documentos recibidos, cuenta, consumo, NBS, parámetros del municipio | No | No | Sí |
Los SDKs generan y reutilizan la Idempotency-Key por sí solos, siguen la
paginación por cursor y devuelven la nota también cuando el Sistema Nacional
la rechaza (el 422 con nfse).
TypeScript
import { Sudrel } from '@sudrel/sdk';
const sudrel = new Sudrel(); // lê SUDREL_API_KEY
const nota = await sudrel.nfse.emitir({
empresa_id: process.env.EMPRESA!,
referencia: 'PED-1001',
tomador: { documento: '11222333000181' },
valor: '1500.00',
servico: { descricao: 'Consultoria em sistemas' },
});
console.log((await sudrel.nfse.esperar(nota.id!)).status);
La CLI del mismo paquete reenvía los eventos de la cuenta a un receptor local, firmados como una entrega real, sin exponer puertos y sin registrar webhook:
npx -p @sudrel/sdk sudrel eventos seguir --encaminhar http://localhost:3000/webhook