P&S2B
PES2B NFSe EmissorDeveloper Portal
API 0.2.0 · NFS-e nacional

Emissão de NFS-e com os campos da reforma tributária

Uma API para gerar, validar e assinar a DPS, transmitir ao Emissor Público Nacional e acompanhar o resultado com segurança.

Instalação em homologação. Produção real permanece bloqueada. A API aceita os campos declarados de IBS/CBS conforme cada leiaute; o enquadramento fiscal é informado pelo integrador.
Conferindo disponibilidade do serviço…

Primeiros passos

URL base da API (para chamadas de integração):

Site da documentação: developer.emissor.service.pes2b.com.

https://emissor.service.pes2b.com
  1. Configure sua chave na credencial protegida da integração.
  2. Consulte GET /api/v1/ambiente e confirme o ambiente esperado.
  3. Envie a DPS para POST /api/v1/nfse/validar. Essa operação não transmite ao Fisco.
  4. Após conferir os dados, emita com uma chave de idempotência estável.
  5. Guarde o identificador da solicitação e acompanhe seu status.
curl https://emissor.service.pes2b.com/api/v1/ambiente \
  -H "X-API-Key: SUA_CHAVE"

curl https://emissor.service.pes2b.com/api/v1/nfse/validar \
  -H "X-API-Key: SUA_CHAVE" \
  -H "Content-Type: application/json" \
  --data-binary @sua-dps.json

Autenticação por empresa

Envie X-API-Key nas rotas /api/. A chave identifica o cliente, seu grupo de acesso e as empresas autorizadas. Os escopos são emitir, consultar e cancelar.

O certificado A1 é resolvido pelo serviço. Não envie certificado, senha, chave privada ou identificação do cofre no JSON. Na instalação atual, o acesso de homologação está limitado à Jorgepla.

Duas formas de preencher a DPS

FormatoQuando usarEstrutura
SimplificadoIntegrações existentes e prestação nacional básica.empresa_codigo, serie, numero, prestador, servico, valores, ibs_cbs
Completo · novoTodos os grupos de entrada da DPS, incluindo os campos RTC.empresa_codigo, leiaute, dados_dps

Não misture os formatos. No completo, use os nomes e a hierarquia oficiais, incluindo maiúsculas. Códigos, decimais, percentuais, quantidades e datas são strings. Campos repetidos são arrays; campos opcionais ausentes devem ser omitidos.

{
  "empresa_codigo": "EMPRESA_AUTORIZADA",
  "leiaute": "restrita_20261020",
  "dados_dps": {
    "serie": "1",
    "nDPS": "1",
    "dhEmi": "2026-11-10T10:00:00-03:00",
    "dCompet": "2026-11-10",
    "finNFSe": "0",
    "cLocEmi": "4314902",
    "prest": { "CNPJ": "11222333000181", "regTrib": { "opSimpNac": "1", "regEspTrib": "0" } },
    "serv": { "locPrest": { "cLocPrestacao": "4314902" }, "cServ": { "cTribNac": "170101", "xDescServ": "Exemplo fictício" } },
    "valores": { "vServPrest": { "vServ": "100.00" }, "trib": { "tribMun": { "tribISSQN": "1", "tpRetISSQN": "1" }, "totTrib": { "indTotTrib": "0" } } },
    "IBSCBS": {
      "indFinal": "1", "cIndOp": "100301", "indDest": "0",
      "valores": { "trib": { "CST": "000", "cClassTrib": "000001" } }
    }
  }
}

Exemplo fictício para ilustrar a estrutura. Substitua empresa, CNPJ, datas e informações fiscais antes de validar. O serviço verifica se o prestador corresponde à empresa autorizada.

Id, tpAmb, verAplic e tpEmit são controlados pelo servidor. A emissão é feita pelo prestador. Série de 1 a 49999; número de DPS positivo, com até 15 dígitos; corpo limitado a 256.000 bytes.

Reforma tributária: IBS e CBS

A entrada completa segue os XSD oficiais de cada ambiente. Os campos são validados e serializados na ordem do leiaute, sem ignorar campos desconhecidos.

GrupoInformações recebidas
Operação e referênciasFinalidade, consumidor final, indicador da operação, tipo de operação, ente governamental e NFS-e referenciadas.
DestinatárioCNPJ, CPF ou identificação no exterior; nome, endereço nacional ou estrangeiro e contato.
Imóveis e bens móveisCadastro, endereço, locação, unidades imobiliárias e ajustes; bens móveis no perfil restrito NT009.
TributaçãoCST, classificação tributária, crédito presumido, tributação regular e diferimento estadual, municipal e federal.
Valores e documentosReembolsos, repasses, ressarcimentos ou ajustes de base nos grupos previstos em cada perfil.

Escolha o perfil do ambiente

restrita_20261020: finalidade em dados_dps.finNFSe; CST e classificação diretamente em IBSCBS.valores.trib.

producao_20260209: finalidade dentro de IBSCBS; CST e classificação em IBSCBS.valores.trib.gIBSCBS. Esse perfil exige uma instalação em produção, que permanece bloqueada nesta implantação.

Entrada e resultado têm papéis diferentes. Alíquotas, bases e totais calculados pela SEFIN são recebidos no XML autorizado. Não são parâmetros de entrada da DPS. A validação do leiaute não substitui as regras fiscais do ambiente nacional.

Catálogo completo dos campos

Consulte os caminhos disponíveis em cada perfil, incluindo todos os grupos de entrada da reforma tributária. Uma ocorrência 0..1 significa opcional no XSD; a operação pode exigir o campo pelas regras fiscais. Identificadores alternativos e outros grupos do tipo escolha são exclusivos.

Carregando catálogo…

Caminho JSONTipo / ocorrênciaDescrição oficial

Baixar catálogo JSON · Abrir contrato OpenAPI

Operações da API

MétodoRotaFinalidade
GET/api/v1/ambienteConferir ambiente e efeito fiscal.
POST/api/v1/nfse/validarValidar a DPS, sem abrir certificado ou transmitir.
POST/api/v1/nfse/emitirGerar, validar, assinar e transmitir.
POST/api/v1/nfse/cancelarSolicitar cancelamento pelo evento 101101.
GET/api/v1/solicitacoes/{id}Consultar resultado persistido.
POST/api/v1/solicitacoes/{id}/reconciliarConsultar a SEFIN sem novo envio.
GET/api/v1/solicitacoes/{id}/xmlRecuperar XML fiscal integral.
GET/api/v1/solicitacoes/{id}/danfseRecuperar representação em PDF.
GET/api/v1/solicitacoes/{id}/eventosRecuperar eventos do documento.

Idempotência e resultados

Em emissão e cancelamento, envie Idempotency-Key com 8 a 200 caracteres. Preserve o corpo, o número, a data e a chave ao repetir uma tentativa. Não troque o formato simplificado pelo completo em uma solicitação já existente.

AUTORIZADA confirma autorização. REJEITADA informa rejeição conhecida. Em PENDENTE ou RESULTADO_DESCONHECIDO, consulte e reconcilie; não gere outra DPS automaticamente.

{
  "solicitacao_id": "UUID_DA_SOLICITACAO",
  "status": "AUTORIZADA",
  "idDPS": "DPS...",
  "chaveAcesso": "CHAVE_NACIONAL_DE_50_DIGITOS",
  "httpStatus": 201,
  "requestId": "UUID_DA_REQUISICAO"
}

O HTTP 200 da API também pode conter rejeição. Avalie sempre o campo status. HTTP 202 indica uma solicitação pendente ou de resultado desconhecido. httpStatus dentro da resposta é o retorno do provedor nacional.

Integração com n8n

Use HTTP Request com credencial Header Auth (X-API-Key) e permita o domínio emissor.service.pes2b.com. Confira o ambiente, valide a DPS e só então transmita. Desative retry automático no nó de emissão e preserve a chave de idempotência.

O formato simplificado anterior continua disponível. No Simples Nacional ME/EPP, preencha valores.total_tributos com tipo simples e o percentual informado pelo responsável fiscal. O percentual fictício usado na homologação não define o enquadramento da empresa.

Erros e diagnóstico

400 dados ou XSD inválidos · 401 autenticação · 403 acesso ou CNPJ · 409 conflito ou ambiente · 413 tamanho · 429 limite de requisições · 503 dependências indisponíveis.

Os erros contêm status, mensagem e requestId. Guarde o identificador para diagnóstico. Limite padrão: 60 requisições por minuto.

/health verifica o processo; /ready verifica as dependências da instalação.

Downloads para integração

Leiautes, fontes e compatibilidade

Base oficial conferida em 10/11/2026: homologação NT009 de 20/10/2026 e produção de 09/02/2026. Os pacotes originais e seus hashes são preservados no repositório.

A emissão básica da Jorgepla foi autorizada em homologação. A expansão dos campos RTC é testada localmente com os XSD e assinatura; cada cenário ainda depende das regras nacionais e dos dados reais da operação. Novos leiautes publicados exigem atualização.