Objetivo
Este documento tem como objetivo explicar o funcionamento da integração dadas SeçãoNotas Fiscais.
Pré-Requisitos e Restrições
...
...
- 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 todas as categorias que serão utilizados no E-Commerceo 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: SECTIONS INVOICEDOCUMENT | PCSECAO PCDOCELETRONICO |
---|
API | Referência Winthor |
---|
departmentorderId | pcdeptopcpedc.codeptonumped | idtransactionId | pcsecaopcnfsaid.codsecnumtransvenda | descriptioninvoiceXml | pcsecao.descricao | id | pcdepto.codepto | name | pcdepto.descricao | fatherCategoryId | pcdepto.coddeptoprinc | title | pcdepto.titulo | description | pcdepto.descricaoecommerce | keywords | pcpalavraschave.descricao | lastChange | pcdepto.dtultalter | updateStockGeneral | pcdepto.atualizainvgeral | typeMerchandise | pcdepto.tipomerc | dtcreate | pcdepto.dtcadastro | active | pcdepto.ativo | title | pcdepto.titulo | keywords | pchave.descricao | adWordsRemarketingCode | pcdepto.codadwords | lastChange | pcsecao.dtultalter | dtcreate | pcsecao.dtcadastro | pcdoceletronico.xmlnfe |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | passo2 |
---|
| Exemplo do envio da requisição: Bloco de código |
---|
| method: 'GET',
url: '/apiwinthor/purchasesfiscal/v1/documentosfiscais/nfe/productSectionsinvoiceDocument' |
Bloco de código |
---|
| order : lastChange - ordenação
lastChange : 1900-01-01T00:00:00 - data da última alteração
page : 1 - número da página
pageSize : 10 - quantidade por página |
| Totvs custom tabs box items |
---|
default | no |
---|
referencia | passo3 |
---|
| | 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 AcceptableExemplo JSON da resposta:
Bloco de código |
---|
language | js |
---|
title | Body Response Params |
---|
| {
orderId "first": false,
"items": [
0 {
- Número do pedido referente "_expandables": [
"department"
],
"id": 0,
a nota fiscal a que se deseja consultar o xml. (Caso não preenchido deve-se preencher o transactionId);
transactionId : 0 "description": "string",
"department": {
"id": 9,
"name": "string",
"fatherCategoryId": 0,
"title": "",
"description": "",
"keywords": "",
"lastChange": "1900-01-01T00:00",
"updateStockGeneral": true,
"typeMerchandise": "string",
"dtcreate": "1900-01-01T00:00",
"active": false
},
"title": "",
"keywords": "",
"adWordsRemarketingCode": "",
"lastChange": "2020-11-16T12:29:50",
"dtcreate": "1900-01-01T00:00:00"
}
],
"hasNext": true
}
|
|
|
...
- 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 - 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> |
|
|