Sudrel API
Painel Criar chave de API

Documentação › Ferramentas

Guias

SDKs

SDKs de TypeScript e PHP e o que cada um cobre.

SDKs oficiais

Linguagem Pacote Situação
Node.js / TypeScript @sudrel/sdk (com a CLI sudrel) npm: npm install @sudrel/sdk
PHP 8.1+ sudrel/sdk Packagist: composer require sudrel/sdk

A API é REST simples e não exige SDK. O guia Sua primeira nota tem exemplos em curl, C# e Delphi, e Webhooks tem a verificação da assinatura em TypeScript, PHP, Python e C#. Não há SDK de C#, Delphi, Python ou Ruby.

O que cada SDK cobre

Recurso TypeScript PHP Sem SDK (REST)
Emitir, validar, consultar e listar NFS-e Sim Sim Sim
Esperar a nota sair de transmitindo Sim (nfse.esperar) Sim (esperar) Consultando GET /v1/nfse/{id}
Cancelar, confirmar, XML, PDF Sim Sim Sim
Substituir Pelo bloco substituicao em emitir Pelo bloco substituicao em emitir Sim
Lotes: criar (JSON ou planilha), consultar, itens, emitir, reprocessar Sim Sim Sim
Lotes: listar e relatório Sim Não Sim
Empresas: listar e prontidão Sim Sim Sim
Empresas: detalhar Sim Não Sim
Empresas: criar, certificado, pausar, retomar, remover Não Não Sim
Webhooks: criar, listar, alterar, remover, trocar segredo, testar, entregas, reenviar Sim Sim Sim
Webhooks: detalhar um Sim Não Sim
Verificar a assinatura do webhook Sim Sim Exemplos em Webhooks
Log de eventos Sim Sim Sim
Documentos recebidos, conta, consumo, NBS, parâmetros do município Não Não Sim

Os SDKs geram e reaproveitam a Idempotency-Key sozinhos, seguem a paginação por cursor e devolvem a nota também quando o Sistema Nacional rejeita (o 422 com 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);

A CLI do mesmo pacote encaminha os eventos da conta para um recebedor local, assinados como uma entrega de verdade, sem expor porta e sem cadastrar webhook:

npx -p @sudrel/sdk sudrel eventos seguir --encaminhar http://localhost:3000/webhook