Olá,
Consegui resolver os problemas de validação do JSON. A nota agora está sendo aceita pela API, mas está sendo rejeitada na etapa de validação da Prefeitura de Barueri/SP com o status negada.
A Nota Fiscal que falhou tem o ID: nfs_3a1dcfb112d54bfa9ab4a33021ee4bba.
O retorno JSON completo que recebemos ao consultar a nota é:
{
“id”: “nfs_3a1dcfb112d54bfa9ab4a33021ee4bba”,
“referencia”: “reserva-1764029750179”,
“ambiente”: “producao”,
“status”: “negada”,
“mensagens”: [
{
“codigo”: “R0404”,
“descricao”: “Não há informações disponíveis com os parâmetros fornecidos”
},
{
“codigo”: “X201”,
“descricao”: “WebService retornou um XML vazio.”
}
],
“DPS”: {
“serie”: “1”,
“nDPS”: “1”
},
“created_at”: “2025-11-25T00:15:50.965Z”
}
–//–
eu envio o payload assim:
const payload = {
provedor: “padrao”,
ambiente: “producao”,
referencia: tom.id || reserva-${Date.now()},
infDPS: {
tpAmb: 1, // 1 = Produção
dhEmi: new Date().toISOString(),
dCompet: data,
prest: {
CNPJ: "meu-cnpj",
regTrib: { regEspTrib: 1 },
},
toma: {
xNome: tom.nome,
email: tom.email,
...(cpf.length === 11 ? { CPF: cpf } : {}), // Envia CPF se tiver 11 dígitos
...(tom.endereco && codigoMunicipioIbge
? {
end: {
endNac: {
cMun: codigoMunicipioIbge,
CEP: tom.endereco.cep.replace(/\D/g, ""),
},
xLgr: tom.endereco.endereco,
nro: tom.endereco.numero,
xBairro: tom.endereco.bairro,
...(tom.endereco.complemento ? { xCpl: tom.endereco.complemento } : {}),
},
}
: {}),
},
serv: {
cServ: {
cTribNac: "01.05",
cTribMun: "09020220", // Código de Atividade de Barueri
xDescServ: descricao,
},
},
valores: {
vServPrest: {
vServ: valor,
vReceb: valor,
},
trib: {
tribMun: {
tribISSQN: 1, // Inteiro: 1 = Tributável
tpRetISSQN: 1, // Não Retido pelo Tomador
vBC: valor, // Base de Cálculo é o valor total do serviço
pAliq: 2.00, // ALÍQUOTA CORRETA (2.00%)
vISSQN: 0.00, // OBRIGATÓRIO: ISSQN é zero, pois é pago via DAS
vLiq: valor, // OBRIGATÓRIO: Valor líquido é igual ao valor total (sem retenção)
},
tribFed: {
piscofins: {
CST: "08", // Sem incidência
vBCPisCofins: 0,
pAliqPis: 0,
pAliqCofins: 0,
vPis: 0,
vCofins: 0,
tpRetPisCofins: 2,
},
vRetCP: 0,
vRetIRRF: 0,
vRetCSLL: 0,
},
},
},
},
};
Como devo proceder nesse caso?
Por favor, vocês poderiam verificar nos logs de comunicação com a Prefeitura o motivo exato dessa falha R0404/X201 e nos indicar se precisamos de um campo adicional ou se a configuração do nosso WebService no município está incompleta?"