Olá, pessoal.
Estou testando a emissão de NFS-e Nacional via API SEFIN em ambiente de produção restrita para um prestador de Fortaleza/CE.
O prestador emite normalmente pelo Emissor Nacional Web. Baixei um XML real emitido pelo portal e usei a DPS dele como referência para montar a DPS local.
Resumo técnico do ambiente:
Endpoint: POST https://sefin.producaorestrita.nfse.gov.br/SefinNacional/nfse
Ambiente: tpAmb=2
Certificado: A1 e-CNPJ ICP-Brasil do próprio prestador
mTLS: OK
Formato do envio: JSON com dpsXmlGZipB64
DPS: XML compactado em GZip e codificado em Base64
Assinatura: XMLDSIG
Validação local da assinatura com xmlsec1: OK
Assinatura gerada sem prefixo ds:
Id da DPS validado no schema
Município emissor: Fortaleza/CE — cLocEmi=2304400
Município da prestação: cLocPrestacao=2304400
Código de tributação nacional: cTribNac=150307
NBS: 111016000
Tributação ISSQN: tribISSQN=1
Retenção ISSQN: tpRetISSQN=1
Simples Nacional: opSimpNac=2
Regime especial: regEspTrib=0
Consulta à API de parametrização municipal:
Município: 2304400
Serviço encontrado: 15.03.07.001
Incidência: SIM
Alíquota: 5.0
Vigência inicial: 2023-05-05
Regime especial para o serviço: não encontrado
Retenções municipais específicas: não encontradas
Observação: embora a parametrização aceite 15.03.07.001, a DPS real emitida pelo Emissor Web usa apenas cTribNac=150307 dentro de <cServ>, igual à DPS local.
Erros anteriores já corrigidos durante os testes:
E1235 — Id da DPS inválido
E0717 — assinatura obrigatória
E1228 — XML declarado com prefixo de namespace
E0015 — competência posterior à data de emissão
E0010 — série fora da faixa do tipo de emissor
Configuração atual da DPS local:
Série no XML: 900
Série no Id: 00900
tpAmb=2
tpEmit=1
verAplic=KDTEC-Cobrancas-0.1
Também fiz teste com dois formatos de nDPS:
nDPS baseado em timestamp
nDPS pequeno: 41
No teste com nDPS=41, o Id ficou assim:
DPS230440022941614900013800900000000000000041
A assinatura local validou:
OK
SignedInfo References (ok/all): 1/1
Retorno do POST:
HTTP 400
E999 - Erro não catalogado
Resposta resumida:
{
"tipoAmbiente": 2,
"versaoAplicativo": "SefinNacional_1.6.0",
"idDPS": "DPS230440022941614900013800900000000000000041",
"erros": [
{
"Codigo": "E999",
"Descricao": "Erro não catalogado"
}
]
}
Depois do retorno, consultei o DPS:
GET /SefinNacional/dps/{idDPS}
Resultado:
HTTP 404
E2404 - Não foi gerada uma NFS-e com o identificador de DPS informado
Comparação com DPS real do Emissor Web:
A estrutura de tags da DPS local ficou equivalente à DPS real extraída de uma NFS-e emitida pelo Emissor Web. Os blocos <cServ> e <valores> também ficaram equivalentes.
Bloco <cServ> em ambas:
cTribNac: 150307
xDescServ: descrição do serviço
cNBS: 111016000
Bloco <valores> em ambas:
vServ: 667.00
tribISSQN: 1
tpRetISSQN: 1
indTotTrib: 0
As diferenças restantes são as esperadas:
tpAmb: real=1 / local=2
verAplic: EmissorWeb / aplicação própria
serie: real=70000 / local=900
nDPS: real=sequencial do Emissor Web / local=sequencial próprio
dhEmi: horários diferentes
Minha dúvida:
Alguém já passou por esse E999 no ambiente de produção restrita da SEFIN Nacional mesmo com mTLS, XMLDSIG, schema, GZip/Base64 e DPS aparentemente corretos?
Pode ser instabilidade/bug do ambiente de produção restrita?
Ou existe alguma habilitação/credenciamento específico do CNPJ junto ao município/SEFIN para emitir via API/sistema próprio, mesmo o prestador já conseguindo emitir normalmente pelo Emissor Web?
Não estou anexando XML completo, certificado, chave privada, PFX nem payload Base64 por conterem dados sensíveis. Posso preparar um XML de homologação higienizado se for necessário para análise.
Obrigado.