Mudanças entre as edições de "Documentação API para Integradora"
Etiqueta: Reversão manual |
|||
(7 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 43: | Linha 43: | ||
Realiza a atualização do estoque do item no site da Integração. | 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. | Ex: Atualizar estoque do item de Sku: 2568 para quantidade igual a 5. | ||
Linha 51: | Linha 53: | ||
Content-Type application/json | Content-Type application/json | ||
TOKEN {{TOKEN}} | |||
</pre> | </pre> | ||
Linha 58: | 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 64: | 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. | Realiza a atualização do status do item no site da Integração tornando disponível/indisponível para venda. | ||
Linha 75: | Linha 77: | ||
Content-Type application/json | Content-Type application/json | ||
TOKEN {{TOKEN}} | |||
</pre> | </pre> | ||
Linha 82: | 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 95: | Linha 97: | ||
<pre> | <pre> | ||
TOKEN {{TOKEN}} | |||
</pre> | </pre> | ||
Linha 101: | 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 130: | 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 227: | Linha 229: | ||
Content-Type application/json | Content-Type application/json | ||
TOKEN {{TOKEN}} | |||
</pre> | </pre> | ||
Linha 234: | 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 246: | Linha 248: | ||
Content-Type application/json | Content-Type application/json | ||
TOKEN {{TOKEN}} | |||
</pre> | </pre> | ||
Linha 252: | 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 380: | Linha 382: | ||
Content-Type application/json | Content-Type application/json | ||
TOKEN {{TOKEN}} | |||
</pre> | </pre> | ||
Linha 387: | 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 ' | ||
{ | { | ||
Linha 399: | Linha 401: | ||
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. | 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. | ||
Compartilhando etiquetas da Ordem de Compra 123456. | Ex: Compartilhando etiquetas da Ordem de Compra 123456. | ||
HEADERS | HEADERS | ||
Linha 406: | Linha 408: | ||
Content-Type application/json | Content-Type application/json | ||
TOKEN {{TOKEN}} | |||
</pre> | </pre> | ||
Linha 419: | Linha 421: | ||
curl --location -g --request POST '{{LINK}}/orders/123456/shipping/label/volumes' \ | curl --location -g --request POST '{{LINK}}/orders/123456/shipping/label/volumes' \ | ||
--header 'Content-Type: application/json' \ | --header 'Content-Type: application/json' \ | ||
--header ' | --header 'TOKEN: {{TOKEN}}' \ | ||
--data-raw ' | --data-raw ' | ||
{ | { | ||
Linha 468: | Linha 470: | ||
curl --location -g --request POST '{{LINK}}/orders/123456/shipping/label/volumes/assistance' \ | curl --location -g --request POST '{{LINK}}/orders/123456/shipping/label/volumes/assistance' \ | ||
--header 'Content-Type: application/json' \ | --header 'Content-Type: application/json' \ | ||
--header ' | --header 'TOKEN: {{TOKEN}}' \ | ||
--data-raw ' | --data-raw ' | ||
{ | { |
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":"" } ] } ] } }