Boa tarde.
Estou recebendo o seguinte erro ao enviar o json para emissão de nfs-e:
Raw response for the API
Status code 400
{
"error": {
"code": "InvalidJson",
"message": "Name expected at $.infDPS.serv.cServ.xDescServ"
}
}
Na requisição está sendo enviada uma string, com a descrição do serviço. Na documentação diz isso:
O que pode estar errado?
Obrigado!
wlandgraf
(Wagner Landgraf)
Abril 26, 2024, 6:18pm
2
O erro indica que o JSON em si está mal formatado. Não é o conteúdo das propriedades, mas o formato.
Poste aqui, por favor, o trecho do JSON que tem essa propriedade (um pouco antes e um pouco depois).
Você também pode verificar a validade do JSON nesse site também: https://jsonlint.com
Obrigado @wlandgraf . Corrigi o json.
Agora estou recebendo esse erro:
{
"error": {
"code": "ValidationFailed",
"message": "O lote possui notas de prestadores diferentes."
}
}
O que deve ser?
Grato.
arimateia
(Arimateia Jr)
Abril 27, 2024, 12:25pm
4
Bom dia, @atendimento
Já verificou se o lote não possui notas de prestadores diferentes?
Confira o CNPJ ou CPF enviado em cada nota. Eles devem ser iguais:
Boa tarde @arimateia . Fiz os ajustes na chamada e o retorno foi o seguinte:
{
"id": "nfs_3a12386791c84ee3bf6459b30d31b8fa",
"created_at": "2024-04-27T19:42:13.929Z",
"status": "processando",
"ambiente": "homologacao",
"referencia": "string",
"DPS": {},
"mensagens": []
}
Esse retorno (Status 200 OK), significa que a NFS-e foi emitida, correto? Mas o item: “ambiente”: “homologacao” quer dizer que foi apenas teste; não foi emitida de verdade? Para emitir a NFS-e para um cliente preciso mudar o “ambiente” no Console, de “homologação” para “produção”?
Pode me explicar melhor como isso funciona?
Grato!
arimateia
(Arimateia Jr)
Abril 27, 2024, 8:54pm
6
Boa tarde, @atendimento .
No caso do endpoint de emissão de NFS-e, quer dizer que o pedido de emissão foi recebido pela API da Nuvem Fiscal e será processado de forma assíncrona (atente-se à propriedade status
).
Assim, será necessário ficar consultando a nota até que sua situação se altere para alguma que indique o final do processamento.
Segue a lista de valores possíveis:
Documentação completa do endpoint para consulta da NFS-e:
https://dev.nuvemfiscal.com.br/docs/api/#tag/Nfse/operation/ConsultarNfse
Sim, é uma emissão de teste, onde a API da Nuvem Fiscal efetivamente envia o pedido de emissão para o ambiente de homologação da prefeitura.
Correto.
Veja se esse tópico lhe ajuda:
Prezados há alguns dias eu perguntei sobre um fluxo para usar com a API, alguns não tem tanta experiência com API, eu tenho alguma mais nem de longe me considero um expert, observo que existem muitos status para gerir , processando, erro, pendente entre outras.
Eu criei um registro no meu ERP e tentei simular um erro, dai informei codigo_tributacao_municipio = 100, fiz o consumo e Ok recebi um json com o status erro e um objeto mensagens um array com um elemento.
Ok consegui o que eu queria qu…
Obrigado @arimateia . Eu fiz uma chamada GET, colocando o “id” que retornou na chamada POST anterior (nfs_3a12386791c84ee3bf6459b30d31b8fa). Mas retornou o seguinte erro:
{
“error”: {
“code”: “NfseNotFound”,
“message”: “Nota não encontrada.”
}
}
Minha chamada está assim (Json):
O header está assim:
A pergunta é: Se a chamada POST retornou Status 400 OK e “status: processando”, como agora na consulta, retorna um erro (“Nota não encontrada”)? Não entendi.
Grato pela ajuda.
arimateia
(Arimateia Jr)
Abril 29, 2024, 12:24pm
8
Bom dia, @atendimento .
Sua requisição está incorreta. Em vez de enviar o parâmetro id
no corpo da requisição, você deve enviá-lo na URL:
GET /nfse/nfs_3a12386791c84ee3bf6459b30d31b8fa
Bom dia @arimateia . Obrigado pelo retorno.
Refiz a chamada e retornou esse erro:
{
“id”: “nfs_3a12386791c84ee3bf6459b30d31b8fa”,
“created_at”: “2024-04-27T19:42:13.929Z”,
“status”: “erro”,
“ambiente”: “homologacao”,
“referencia”: “string”,
“DPS”: {
“serie”: “1”,
“nDPS”: “1”
},
“mensagens”: [
{
“codigo”: “X800”,
“descricao”: “Erro de Validação: → 1824 - Element ‘{http://nfse.abase.com.br/nfse.xsd }CodigoTributacaoMunicipio’: ‘string’ is not a valid value of the atomic type ‘{http://nfse.abase.com.br/nfse.xsd }tsCodigoTributacao’.\n”
}
]
}
Será um erro com o sistema da prefeitura? Ou o quê? Alguma ideia?
Grato.
arimateia
(Arimateia Jr)
Abril 29, 2024, 1:06pm
10
@atendimento
Você enviou um valor inválido para o código de tributação do município (“string”).
atendimento
(ws40 tecnologia)
Abril 29, 2024, 1:40pm
11
Certo, obrigado. Verifiquei aqui e o código é “0”. Mas onde na documentação eu localizo esse item, isto é, no Json? Fiquei um pouco perdido aqui.
Obrigado!
arimateia
(Arimateia Jr)
Abril 29, 2024, 2:22pm
12
atendimento
(ws40 tecnologia)
Abril 29, 2024, 6:29pm
13
Boa tarde @arimateia . Fiz os ajustes e reenvie as chamadas e por fim na última retornou o seguinte:
{
“id”: “nfs_3a12426ae4c045d385dd94cbd4d1e9ac”,
“created_at”: “2024-04-29T18:22:03.952Z”,
“status”: “negada”,
“ambiente”: “producao”,
“referencia”: “string”,
“DPS”: {
“serie”: “1”,
“nDPS”: “1”
},
“mensagens”:
}
Retornou status: “negada” e nenhum motivo na mensagem. Como posso saber o motivo e como corrigir isso?
Obrigado!
atendimento
(ws40 tecnologia)
Abril 30, 2024, 11:16am
14
Olá, bom dia!
Alguém pode me ajudar com isso:
{
“id”: “nfs_3a12426ae4c045d385dd94cbd4d1e9ac”,
“created_at”: “2024-04-29T18:22:03.952Z”,
“status”: “negada”,
“ambiente”: “producao”,
“referencia”: “string”,
“DPS”: {
“serie”: “1”,
“nDPS”: “1”
},
“mensagens”:
}
Retornou status: “negada” e nenhum motivo na mensagem. Como posso saber o motivo e como corrigir isso?
Obrigado!
arimateia
(Arimateia Jr)
Abril 30, 2024, 11:20am
15
Bom dia, @atendimento .
Iremos analisar. Favor aguardar.
arimateia
(Arimateia Jr)
Abril 30, 2024, 12:43pm
16
@atendimento
Consultando agora, vimos que a nota está autorizada. Você fez alguma sincronização?
atendimento
(ws40 tecnologia)
Abril 30, 2024, 1:03pm
17
Bom dia, @arimateia . Sim, enquanto aguardava, fiz uma sincronização e depois de ajustar nrs de lote e rps, consegui a autorização da nfs-e.
Agora estou fazendo mais alguns ajustes no Json, pois alguns dados apareceram fora de lugar no layout da nf.
atendimento
(ws40 tecnologia)
Abril 30, 2024, 1:58pm
18
@arimateia , nos campos do Json, onde os dados são do tipo: “string” e não forem obrigatórios, posso enviar: “” (vazio)?
Porque quando deixo: “string”, na NFS-e está sendo impresso “string”, mas quero que fique em branco, caso o dado não tenha sido informado.
Veja como está:
Obrigado!
wlandgraf
(Wagner Landgraf)
Abril 30, 2024, 2:01pm
19
Se o campo não é obrigatório você pode simplesmente omitir ele do JSON.
atendimento
(ws40 tecnologia)
Abril 30, 2024, 2:27pm
20
Obrigado @wlandgraf . Resolveu esse ponto.
Tem mais uma coisa que não estou sabendo resolver.
No Exigibilidade da NFS-e está aparecendo a descrição: “Exigibilidade suspensa por decisão judicial”. Mas o correto seria: “Exigível” e aparecer nos campos “Alíquota” o percentual do ISS (3% no meu caso) e no campo “Valor ISS” o valor do imposto.
Veja como está saindo:
Como deveria sair:
Pode me ajudar a ver, onde no Json, eu tenho que mudar pra corrigir isso? Acredito que o problema esteja nesse trecho:
Nesse trecho, meu Json está assim:
},
“exigSusp”: {
“tpSusp”: 1,
“nProcesso”: “000000000000000000000000000000”
},
Já tentei colocar outro valor em “tpSusp”, mas retorna um erro dizendo que o valor deve ser 1, 2.
Como resolver isso?
Obrigado!