Documentação API para Integradora

De Tek-System Wiki
Ir para navegação Ir para pesquisar

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":""
               }
            ]
         }
      ]
   }
}