Objetivo
Este documento tem como objetivo explicar o funcionamento da integração das Notas Fiscais.
Pré-Requisitos e Restrições
- Necessário a instalação do serviçodo serviço winthor-fiscal. (Versão >= 1.0.32.2 )
Integração
Totvs custom tabs box |
---|
tabs | Dados integrados com Winthor, Envio Parâmetros, Resposta da Requisição, Passo 04Possíveis falhas |
---|
ids | passo1,passo2,passo3,passo4 |
---|
|
Content-Type : application/json
Accept : application/json
A integração consiste em enviar o XML da nota fiscal referente ao número do pedido e/ou da transação informados. Totvs custom tabs box items |
---|
default | yes |
---|
referencia | passo1 |
---|
| Os dados integrados são: INVOICEDOCUMENT | PCDOCELETRONICO |
---|
API | Referência Winthor |
---|
orderId | pcpedc.numped | transactionId | pcnfsaid.numtransvenda | invoiceXml | pcdoceletronico .xmlnfe |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | passo2 |
---|
| Exemplo do envio da requisição: Bloco de código |
---|
| method: 'GET',
url: '/winthor/fiscal/v1/documentosfiscais/nfe/invoiceDocument' |
Bloco de código |
---|
| Content-Type : application/json
Accept : application/json |
Atenção! Caso os Headers da requisição não estejam preenchidos conforme a configuração acima, a API irá retornar um erro HTTP 406 - Not Acceptable
Bloco de código |
---|
| orderId : 0 - Número do pedido referente a nota fiscal a que se deseja consultar o xml. (Caso não preenchido deve-se preencher o transactionId);
transactionId : 0 - Parâmetro Opcional uso interno - Número da transação referente a nota fiscal a que se deseja consultar o xml. (Caso não preenchido deve-se preencher o orderId);
returnBase64 : true/false false - Refere-se a solicitar que o retorno esteja codificado no padrão "Base 64". (Não é um parâmetro obrigatório e o padrão é "false"); |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | passo3 |
---|
| Exemplo JSON da resposta: Bloco de código |
---|
language | js |
---|
title | Body Response |
---|
| {
"invoiceXml": "string"
}
|
Caso informado o parâmetro returnBase64 : true Bloco de código |
---|
language | js |
---|
title | Body Response |
---|
| {
"invoiceXml": "<XML referente a nota fiscal codificado em Base64>"
}
|
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | passo4 |
---|
| Tratamento de Exceção ao realizar a requisição 1) Parâmetros não informados - Caso nenhum dos parâmetros (orderId e/ou transactionId) tenham sido informados, deve-se retornar o json abaixo;
Bloco de código |
---|
language | js |
---|
title | Parâmetros não informados |
---|
| { "mensagem": "Não foi possível obter o XML. Número do pedido ou da transação não informados.", "erros": [] }
|
2) Parâmetros informados, porém inválidos ou não relacionados: - Caso o número do pedido não exista na base de dados do Winthor;
- Caso o número da transação não exista na base de dados do Winthor;
- Caso o número do pedido e o número da transação tenham sido informados como parâmetro, sejam válidos, mas não estão relacionados a mesma nota fiscal;
- Caso a nota fiscal não esteja com o status 100 ou 150;
Bloco de código |
---|
language | js |
---|
title | Parâmetros informados, porém inválidos ou não relacionados |
---|
| { "mensagem": "Não foi possível encontrar uma nota fiscal vinculada ao pedido e/ou transação informados. Número do pedido: <orderId>; Número da transação: <transactionId>; ", "erros": [] }
|
3) Headers Content-Type e Accept da requisição enviados sem especificação "application/json" - Caso a resposta esteja sendo recebida com o formato HTML ao invés de JSON
- Caso a resposta recebida tenha HTTP status 406 - Not Acceptable
Bloco de código |
---|
language | xml |
---|
title | Parâmetros informados, porém inválidos ou não relacionados |
---|
| <html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Error 406 Not Acceptable</title>
</head>
<body>
<h2>HTTP ERROR 406</h2>
<p>Problem accessing /winthor/fiscal/v1/documentosfiscais/nfe/invoiceDocument. Reason:
<pre> Not Acceptable</pre>
</p>
<hr><a href="http://eclipse.org/jetty">Powered by Jetty:// 9.3.21.v20170918</a>
<hr />
</body>
</html> |
|
|