Mudanças entre as edições de "Documentação API para Integradora"
Etiqueta: Reversão manual |
|||
(18 revisões intermediárias por 2 usuários não estão sendo mostradas) | |||
Linha 8: | Linha 8: | ||
Content-Type:application/json | Content-Type:application/json | ||
TOKEN: {{TOKEN}} </pre> | |||
O token de acesso deverá ser disponibilizado pela plataforma onde será enviado um e-mail com token ao vendedor. | O token de acesso deverá ser disponibilizado pela plataforma onde será enviado um e-mail com token ao vendedor. | ||
Linha 14: | Linha 14: | ||
== Códigos de erros == | == Códigos de erros == | ||
401 Ausência de um dos Tokens no header ou token não existe | 401 - Ausência de um dos Tokens no header ou token não existe. | ||
403 Token revogado ou inválido | 403 - Token revogado ou inválido. | ||
405 Método de requisição, inválido. | 405 - Método de requisição, inválido. | ||
400 Erro no JSON enviado | 400 - Erro no JSON enviado. | ||
500 Erro interno de servidor. | 500 - Erro interno de servidor. | ||
== Ambiente == | == Ambiente == | ||
Link para Ambiente em Produção. | Link para <b>Ambiente em Produção</b>. | ||
Link para Ambiente em Homologação. | Link para <b>Ambiente em Homologação</b>. | ||
O Ambiente em Homologação será utilizado para simulação e validação dos processos da integração. | |||
Deverá ser disponibilizado pedidos/assistências com dados fictícios para homologação das rotinas: | |||
* Importação de Documentos; | |||
* Solicitação de Faturamento de notas fiscais em homologação; | |||
* Download dos dados de faturamento; | |||
* Verificar liberação do faturamento; | |||
* Envio das nota fiscais emitidas em homologação; | |||
* Envido dos dados para emissão de etiquetas. | |||
== Atualizar Estoque == | == Atualizar Estoque == | ||
Atualizar estoque do item de Sku: 2568 para quantidade igual a 5. | Realiza a atualização do estoque do item no site da Integração. | ||
A integração deve realizar um mapeamento dos códigos entre o sistema da Integradora e o sistema Tek-System, umas vez que estes códigos podem ser diferentes. | |||
Ex: Atualizar estoque do item de Sku: 2568 para quantidade igual a 5. | |||
HEADERS | HEADERS | ||
Linha 39: | Linha 53: | ||
Content-Type application/json | Content-Type application/json | ||
TOKEN {{TOKEN}} | |||
</pre> | </pre> | ||
Linha 46: | Linha 60: | ||
curl --location -g --request PUT '{{LINK}}/items/2568/stock' \ | curl --location -g --request PUT '{{LINK}}/items/2568/stock' \ | ||
--header 'Content-Type: application/json' \ | --header 'Content-Type: application/json' \ | ||
--header ' | --header 'TOKEN: {{TOKEN}}' \ | ||
--data-raw '{ | --data-raw '{ | ||
"quantity":"5" | "quantity":"5" | ||
Linha 52: | Linha 66: | ||
</pre> | </pre> | ||
== Atualizar Status == | == Atualizar Status de Itens == | ||
Realiza a atualização do status do item no site da Integração tornando disponível/indisponível para venda. | |||
Atualizar status do item Sku: 2568 para status igual a 0 - Ativo. | Ex: Atualizar status do item Sku: 2568 para status igual a 0 - Ativo. | ||
HEADERS | HEADERS | ||
Linha 61: | Linha 77: | ||
Content-Type application/json | Content-Type application/json | ||
TOKEN {{TOKEN}} | |||
</pre> | </pre> | ||
Linha 68: | Linha 84: | ||
curl --location -g --request PUT '{{LINK}}/items/2568/status' \ | curl --location -g --request PUT '{{LINK}}/items/2568/status' \ | ||
--header 'Content-Type: application/json' \ | --header 'Content-Type: application/json' \ | ||
--header ' | --header 'TOKEN: {{TOKEN}}' \ | ||
--data-raw '{ | --data-raw '{ | ||
"active":"0" | "active":"0" | ||
Linha 81: | Linha 97: | ||
<pre> | <pre> | ||
TOKEN {{TOKEN}} | |||
</pre> | </pre> | ||
Linha 87: | Linha 103: | ||
<pre> | <pre> | ||
curl --location -g --request GET '{{LINK}}/orders/status/new/?limit=250' \ | curl --location -g --request GET '{{LINK}}/orders/status/new/?limit=250' \ | ||
--header ' | --header 'TOKEN: {{TOKEN}}' | ||
</pre> | </pre> | ||
Linha 116: | Linha 132: | ||
"product_id":"000000", | "product_id":"000000", | ||
"sku":"0000.000", | "sku":"0000.000", | ||
"description":" | "description":"", | ||
"quantity":0, | "quantity":0, | ||
"unity":"UN", | "unity":"UN", | ||
Linha 208: | Linha 224: | ||
Autoriza à Integração a emissão da nota fiscal de venda para o destinatário final. Somente serão autorizados documentos em carga e que estejam totalmente reservados. | Autoriza à Integração a emissão da nota fiscal de venda para o destinatário final. Somente serão autorizados documentos em carga e que estejam totalmente reservados. | ||
Solicitar liberação do pedido com Ordem de Compra 123456. | Ex: Solicitar liberação do pedido com Ordem de Compra 123456. | ||
<pre> | <pre> | ||
Content-Type application/json | Content-Type application/json | ||
TOKEN {{TOKEN}} | |||
</pre> | </pre> | ||
Linha 220: | Linha 236: | ||
curl --location -g --request PUT '{{LINK}}/orders/123456/billing/authorize' \ | curl --location -g --request PUT '{{LINK}}/orders/123456/billing/authorize' \ | ||
--header 'Content-Type: application/json' \ | --header 'Content-Type: application/json' \ | ||
--header ' | --header 'TOKEN: {{TOKEN}}' \ | ||
</pre> | </pre> | ||
Linha 227: | Linha 243: | ||
Faz a importação da nota fiscal emitida pela Integração para o consumidor final e atualiza os dados do transportador inserindo-o na carga, atualiza o valor unitário e valor total dos itens para destinatário final no documento(pedido/assistência), importa o transportador redespacho e o inclui nas observações para nota fiscal de venda à ordem no documento(pedido/assistência), atualiza os dados do destinatário final e inseri no documento da carga o número, modelo, série, data de emissão e chave da nota fiscal para ser impressa na nota fiscal de venda à ordem destinada ao consumidor final. | Faz a importação da nota fiscal emitida pela Integração para o consumidor final e atualiza os dados do transportador inserindo-o na carga, atualiza o valor unitário e valor total dos itens para destinatário final no documento(pedido/assistência), importa o transportador redespacho e o inclui nas observações para nota fiscal de venda à ordem no documento(pedido/assistência), atualiza os dados do destinatário final e inseri no documento da carga o número, modelo, série, data de emissão e chave da nota fiscal para ser impressa na nota fiscal de venda à ordem destinada ao consumidor final. | ||
Verificar liberação do pedido com Ordem de Compra 123456. | Ex: Verificar liberação do pedido com Ordem de Compra 123456. | ||
<pre> | <pre> | ||
Content-Type application/json | Content-Type application/json | ||
TOKEN {{TOKEN}} | |||
</pre> | </pre> | ||
Linha 238: | Linha 254: | ||
<pre> | <pre> | ||
curl --location -g --request GET '{{LINK}}/orders/123456/billing/invoice' \ | curl --location -g --request GET '{{LINK}}/orders/123456/billing/invoice' \ | ||
--header ' | --header 'TOKEN: {{TOKEN}}' | ||
</pre> | </pre> | ||
Linha 359: | Linha 375: | ||
Compartilha as notas fiscais emitidas através de Venda a Ordem com o Ecommerce. | Compartilha as notas fiscais emitidas através de Venda a Ordem com o Ecommerce. | ||
Compartilhando notas fiscais da Ordem de Compra 123456. | Ex: Compartilhando notas fiscais da Ordem de Compra 123456. | ||
HEADERS | HEADERS | ||
Linha 366: | Linha 382: | ||
Content-Type application/json | Content-Type application/json | ||
TOKEN {{TOKEN}} | |||
</pre> | </pre> | ||
Linha 373: | Linha 389: | ||
curl --location -g --request POST '{{LINK}}/orders/123456/billing/invoices' \ | curl --location -g --request POST '{{LINK}}/orders/123456/billing/invoices' \ | ||
--header 'Content-Type: application/json' \ | --header 'Content-Type: application/json' \ | ||
--header ' | --header 'TOKEN: {{TOKEN}}' \ | ||
--data-raw ' | --data-raw ' | ||
{ | { | ||
"remittance":"Dados XML Notas Fiscal Remessa", | "remittance":"Dados XML Notas Fiscal Remessa", | ||
"symbolic":"Dados Xml Nota Fiscal Simbólica" | "symbolic":"Dados Xml Nota Fiscal Simbólica" | ||
} | |||
</pre> | |||
== Enviar Dados Etiqueta == | |||
Faz o envio dos volumes dos produtos de documentos que já tiveram as notas fiscais compartilhadas. Dessa forma libera a emissão das etiquetas de remessa pelo portal da Integração. | |||
Ex: Compartilhando etiquetas da Ordem de Compra 123456. | |||
HEADERS | |||
<pre> | |||
Content-Type application/json | |||
TOKEN {{TOKEN}} | |||
</pre> | |||
Serão enviados as etiquetas em dois formatos. | |||
<b>Pedido de Venda</b>. | |||
Envia produto e volume para emissão de etiqueta pedido. | |||
Exemplo Request | |||
<pre> | |||
curl --location -g --request POST '{{LINK}}/orders/123456/shipping/label/volumes' \ | |||
--header 'Content-Type: application/json' \ | |||
--header 'TOKEN: {{TOKEN}}' \ | |||
--data-raw ' | |||
{ | |||
"data":{ | |||
"items":[ | |||
{ | |||
"sku":"0000.000", | |||
"volumes":[ | |||
{ | |||
"fields":[ | |||
{ | |||
"content":"REF. PROD: " | |||
}, | |||
{ | |||
"content":"VOL: " | |||
}, | |||
{ | |||
"content":"DOC: " | |||
}, | |||
{ | |||
"content":"CARGA: " | |||
}, | |||
{ | |||
"content":"" | |||
} | |||
], | |||
"barcodes":[ | |||
{ | |||
"type":"ean13", | |||
"content":"9999999999999" | |||
} | |||
] | |||
} | |||
] | |||
} | |||
] | |||
} | |||
} | |||
</pre> | |||
<b>Assistência Técnica</b>. | |||
Envia produto e volume para emissão de etiqueta assistência. | |||
Exemplo Request | |||
<pre> | |||
curl --location -g --request POST '{{LINK}}/orders/123456/shipping/label/volumes/assistance' \ | |||
--header 'Content-Type: application/json' \ | |||
--header 'TOKEN: {{TOKEN}}' \ | |||
--data-raw ' | |||
{ | |||
"data":{ | |||
"volumes":[ | |||
{ | |||
"sku":[ | |||
"0000.000" | |||
], | |||
"fields":[ | |||
{ | |||
"content":"REF. PROD: " | |||
}, | |||
{ | |||
"content":"VOL: " | |||
}, | |||
{ | |||
"content":"DOC: " | |||
}, | |||
{ | |||
"content":"CARGA: " | |||
}, | |||
{ | |||
"content":"SEQ: " | |||
} | |||
], | |||
"barcodes":[ | |||
{ | |||
"type":"ean13", | |||
"content":"" | |||
} | |||
] | |||
} | |||
] | |||
} | |||
} | } | ||
</pre> | </pre> |
Edição atual tal como às 16h18min de 21 de julho de 2023
Autenticação
Todas as requisições para recursos da API irão conter o token de autorização presente no header da request.
Devem ser enviados da seguinte forma:
Content-Type:application/json TOKEN: {{TOKEN}}
O token de acesso deverá ser disponibilizado pela plataforma onde será enviado um e-mail com token ao vendedor.
Códigos de erros
401 - Ausência de um dos Tokens no header ou token não existe.
403 - Token revogado ou inválido.
405 - Método de requisição, inválido.
400 - Erro no JSON enviado.
500 - Erro interno de servidor.
Ambiente
Link para Ambiente em Produção.
Link para Ambiente em Homologação.
O Ambiente em Homologação será utilizado para simulação e validação dos processos da integração.
Deverá ser disponibilizado pedidos/assistências com dados fictícios para homologação das rotinas:
- Importação de Documentos;
- Solicitação de Faturamento de notas fiscais em homologação;
- Download dos dados de faturamento;
- Verificar liberação do faturamento;
- Envio das nota fiscais emitidas em homologação;
- Envido dos dados para emissão de etiquetas.
Atualizar Estoque
Realiza a atualização do estoque do item no site da Integração.
A integração deve realizar um mapeamento dos códigos entre o sistema da Integradora e o sistema Tek-System, umas vez que estes códigos podem ser diferentes.
Ex: Atualizar estoque do item de Sku: 2568 para quantidade igual a 5.
HEADERS
Content-Type application/json TOKEN {{TOKEN}}
Exemplo Request
curl --location -g --request PUT '{{LINK}}/items/2568/stock' \ --header 'Content-Type: application/json' \ --header 'TOKEN: {{TOKEN}}' \ --data-raw '{ "quantity":"5" }
Atualizar Status de Itens
Realiza a atualização do status do item no site da Integração tornando disponível/indisponível para venda.
Ex: Atualizar status do item Sku: 2568 para status igual a 0 - Ativo.
HEADERS
Content-Type application/json TOKEN {{TOKEN}}
Exemplo Request
curl --location -g --request PUT '{{LINK}}/items/2568/status' \ --header 'Content-Type: application/json' \ --header 'TOKEN: {{TOKEN}}' \ --data-raw '{ "active":"0" }
Importar Documentos
Buscar novos pedidos no site da Integração respeitando o limite de 250 ordens.
HEADERS
TOKEN {{TOKEN}}
Exemplo Request
curl --location -g --request GET '{{LINK}}/orders/status/new/?limit=250' \ --header 'TOKEN: {{TOKEN}}'
{ "order_id":0000000, "pedido_venda":"A0000000", "supplier_id":0000, "status":1, "priority":null, "created_at":"2022-06-15 00:00:00", "approved_at":"2022-06-15 00:00:00", "assistence":0, "items": [ { "item":"0001", "product_id":"000000", "sku":"0000.000", "description":"", "quantity":0, "unity":"UN", "price_unity":000.00000000000000, "price_total":000.00000000000000, "cst":"000" }, { "item":"0002", "product_id":"000000", "sku":"0000.000", "description":"", "quantity":0, "unity":"UN", "price_unity":000.00000000000000, "price_total":000.00000000000000, "cst":"000" } ], "data_retorno_nf":"2022-06-27", "data_estimada_entrega_cd":"2022-06-27 00:00:00", "prazo_para_faturamento":"2022-06-27", "filial": [ { "nome":"", "filial":"", "cnpj":"", "incricaoestadual":"", "cep":"", "endereco":"", "bairro":"", "cidade":"", "uf":"", "telefone":"" } ], "cliente": [ { "bairro":" ", "cep":"", "cidade":"", "cpfcnpj":"", "email":"", "endereco":"", "ibge":"", "ibgecompleto":"", "incricaoestadual":"", "nome":"", "telefone":"", "tipocli":"", "tipocontrib":"", "uf":"" } ], "transportadoras": { "coleta": { "bairro":"", "cep":"", "cidade":"", "cnpj":"", "endereco":"", "incricaoestadual":"", "nome":"", "nreduzido":"", "uf":"" }, "entrega": { "bairro":"", "cep":"", "cidade":"", "cnpj":"", "endereco":"", "incricaoestadual":"", "nome":"", "nreduzido":"", "uf":"" } } }
Definição de alguns campos:
order_id: Ordem de compra;
invoice_status: Status de faturamento classificados em PENDING, DELETED,ORDER_CANCELED;
tipocli: F - Pessoa Física e J - Pessoa Jurídica;
product_id: Código do item no site da integradora;
sku: Código do item no site Tek-System. Formado pela concatenação do código do item, variação, cor e acabamento. Ex: 1000.123.23.12;
supplier_id: Código de identificação no site da integradora;
assistence: Informar se é pedido ou assistência. 0 - Pedido de Venda, 1 - Assistência;
Solicitar Faturamento
Autoriza à Integração a emissão da nota fiscal de venda para o destinatário final. Somente serão autorizados documentos em carga e que estejam totalmente reservados.
Ex: Solicitar liberação do pedido com Ordem de Compra 123456.
Content-Type application/json TOKEN {{TOKEN}}
Exemplo Request
curl --location -g --request PUT '{{LINK}}/orders/123456/billing/authorize' \ --header 'Content-Type: application/json' \ --header 'TOKEN: {{TOKEN}}' \
Verificar Se Faturamento Liberado
Faz a importação da nota fiscal emitida pela Integração para o consumidor final e atualiza os dados do transportador inserindo-o na carga, atualiza o valor unitário e valor total dos itens para destinatário final no documento(pedido/assistência), importa o transportador redespacho e o inclui nas observações para nota fiscal de venda à ordem no documento(pedido/assistência), atualiza os dados do destinatário final e inseri no documento da carga o número, modelo, série, data de emissão e chave da nota fiscal para ser impressa na nota fiscal de venda à ordem destinada ao consumidor final.
Ex: Verificar liberação do pedido com Ordem de Compra 123456.
Content-Type application/json TOKEN {{TOKEN}}
Exemplo Request
curl --location -g --request GET '{{LINK}}/orders/123456/billing/invoice' \ --header 'TOKEN: {{TOKEN}}'
Deverá ser retornado no consulta o JSON:
{ "data":{ "order_id":0000000, "invoice_status":"", "invoice_body":{ "chave":"", "cliente":[ { "bairro":"", "cep":"", "cidade":"", "cpfcnpj":"", "email":"", "endereco":"", "ibge":"", "ie":"", "incricaoestadual":"", "nome":"", "telefone":"", "tipocli":"", "uf":"" } ], "condpag":"", "despesa":"", "doc":"", "emissao":"", "especievolume":"", "filial":[ { "bairro":"", "cep":"", "cidade":"", "cnpj":"", "endereco":"", "filial":"", "ie":"", "incricaoestadual":"", "nome":"", "telefone":"", "uf":"" } ], "frete":"", "hora":"", "items":[ { "cf":"", "cst":"", "custo":"", "descricao":"", "entrega":"", "item":"", "peso":"", "preco":0000.00, "prod":"", "qtd":"", "total":"", "um":"" } ], "mensagem":"", "origem":"", "peso":"", "redespacho":[ { "bairro":"", "cep":"", "cidade":"", "cnpj":"", "endereco":"", "incricaoestadual":"", "nome":"", "nreduzido":"", "uf":"" } ], "serie":"", "tpfrete":"", "transportadora":[ { "bairro":"", "cep":"", "cidade":"", "cnpj":"", "endereco":"", "incricaoestadual":"", "nome":"", "nreduzido":"", "uf":"" } ], "volume":"" } }, "status_code":200 }
Definição de alguns campos:
order_id: Ordem de compra;
invoice_status: Status de faturamento classificados em PENDING, DELETED,ORDER_CANCELED;
tipocli: F - Pessoa Física e J - Pessoa Jurídica;
prod: Código do item no site da integradora;
status_code: Status da requisição. Ex: 200 - Indica que a solicitação foi bem-sucedida.
Compartilhar Notas Fiscais
Compartilha as notas fiscais emitidas através de Venda a Ordem com o Ecommerce.
Ex: Compartilhando notas fiscais da Ordem de Compra 123456.
HEADERS
Content-Type application/json TOKEN {{TOKEN}}
Exemplo Request
curl --location -g --request POST '{{LINK}}/orders/123456/billing/invoices' \ --header 'Content-Type: application/json' \ --header 'TOKEN: {{TOKEN}}' \ --data-raw ' { "remittance":"Dados XML Notas Fiscal Remessa", "symbolic":"Dados Xml Nota Fiscal Simbólica" }
Enviar Dados Etiqueta
Faz o envio dos volumes dos produtos de documentos que já tiveram as notas fiscais compartilhadas. Dessa forma libera a emissão das etiquetas de remessa pelo portal da Integração.
Ex: Compartilhando etiquetas da Ordem de Compra 123456.
HEADERS
Content-Type application/json TOKEN {{TOKEN}}
Serão enviados as etiquetas em dois formatos.
Pedido de Venda.
Envia produto e volume para emissão de etiqueta pedido.
Exemplo Request
curl --location -g --request POST '{{LINK}}/orders/123456/shipping/label/volumes' \ --header 'Content-Type: application/json' \ --header 'TOKEN: {{TOKEN}}' \ --data-raw ' { "data":{ "items":[ { "sku":"0000.000", "volumes":[ { "fields":[ { "content":"REF. PROD: " }, { "content":"VOL: " }, { "content":"DOC: " }, { "content":"CARGA: " }, { "content":"" } ], "barcodes":[ { "type":"ean13", "content":"9999999999999" } ] } ] } ] } }
Assistência Técnica.
Envia produto e volume para emissão de etiqueta assistência.
Exemplo Request
curl --location -g --request POST '{{LINK}}/orders/123456/shipping/label/volumes/assistance' \ --header 'Content-Type: application/json' \ --header 'TOKEN: {{TOKEN}}' \ --data-raw ' { "data":{ "volumes":[ { "sku":[ "0000.000" ], "fields":[ { "content":"REF. PROD: " }, { "content":"VOL: " }, { "content":"DOC: " }, { "content":"CARGA: " }, { "content":"SEQ: " } ], "barcodes":[ { "type":"ean13", "content":"" } ] } ] } }