Estoka

Documentação

Seja bem vindo a nossa documentação!

Criamos esse conteúdo com bastante zelo para que você consiga aprender tudo que é necessário para utilizar Estoka.

Informações básicas

Autenticação

Todo acesso à API é feito do ponto de vista de uma conta existente no Estoka. Assim sendo, toda requisição à API deverá ser autenticada.

A autenticação é feita via token, que deve ser informado no header de cada requisição efetuada.

Exemplo:
“Authorization”: “Token token=3d12813150rd61l126216n17605zs1q4”
“Content-Type”: “application/json”

Veja o exemplo ao lado em como fazer sua autenticação ;)

Exemplo de requisição para autenticação

GET https://sandbox.estoka.com.br/api/v1/organizations \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do retorno

{
  "chave": "valor"
}

Campos do node "sale_channel"

Campo Obrig Tipo Observações
name sim Texto Nome do canal de vendas
Global sim Boleano Pertence a todas organizações
pickup_point sim Boleano Ponto de retirada
carrier_id sim Numério Id da transportadora
price_table_ids Não Array Ids das tabelas de preço
product_category_ids_ids Não Array Ids das categorias

Canais de Venda

Lista canais de venda

Retorna a lista de canais de venda.

GET
/api/v1/sale_channels

Exemplo da requisição:

curl -X GET https://sandbox.estoka.com.br/api/v1/sale_channels  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do retorno

{
  "sale_channels": [
    {
      "id": 1,
      "name": "Canal Venda Direta",
      "organization_id": 3,
      "global": true,
      "pickup_point": false,
      "price_tables": [
        {
          "id": 1,
          "name": "Table 1",
          "start_on": "2022-03-29",
          "end_on": null,
          "active": true,
          "organization_id": 1,
          "created_at": "2022-03-29T14:19:54.034-03:00",
          "updated_at": "2022-03-29T14:19:54.034-03:00",
          "account_id": 1,
          "external_id": null,
          "visible_to_all_organizations": true,
          "promotion": false
        }
      ],
      "product_categories": [
        {
          "id": 1,
          "name": "product_category_1"
        }
      ],
      "created_at": "2018-09-11T19:47:29.685-03:00",
      "updated_at": "2018-09-11T19:47:29.685-03:00"
    },
    {
      "id": 2,
      "name": "Canal Ecommerce",
      "organization_id": 3,
      "global": true,
      "pickup_point": false,
      "price_tables": [
        {
          "id": 2,
          "name": "table_2"
        }
      ],
      "product_categories": [
        {
          "id": 2,
          "name": "product_category_2"
        }
      ],
      "created_at": "2018-09-11T19:47:50.805-03:00",
      "updated_at": "2018-09-11T19:47:50.805-03:00"
    }
  ]
}

Consulta Canal de Venda (por id)

Retorna um canal de venda a partir do seu id.

GET
/api/v1/sale_channels/:id

Exemplo da requisição:

curl -X GET https://sandbox.estoka.com.br/api/v1/sale_channels/1 \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do retorno

{
  "sale_channel": {
      "id": 7,
      "name": "Zeenow",
      "organization_id": 3,
      "global": true,
      "pickup_point": false,
      "price_tables": [
        {
          "id": 1,
          "name": "Table 1",
          "start_on": "2022-03-29",
          "end_on": null,
          "active": true,
          "organization_id": 1,
          "created_at": "2022-03-29T14:19:54.034-03:00",
          "updated_at": "2022-03-29T14:19:54.034-03:00",
          "account_id": 1,
          "external_id": null,
          "visible_to_all_organizations": true,
          "promotion": false
        }
      ],
      "product_categories": [
        {
          "id": 1,
          "name": "product_category_1"
        }
      ],
      "created_at": "2018-07-11T19:47:29.685-03:00",
      "updated_at": "2018-07-11T19:47:29.685-03:00"
    }
}

Consulta Canal de Venda (por nome)

Retorna um canal de venda a partir de seu nome.

GET
/api/v1/sale_channels/search?name=:sale_channel_name

Exemplo da requisição:

curl -X GET https://sandbox.estoka.com.br/api/v1/sale_channels/search?name=Zeenow  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do retorno

{
  "sale_channels": [
    {
      "id": 7,
      "name": "Zeenow",
      "organization_id": 3,
      "global": true,
      "pickup_point": false,
      "price_tables": [
        {
          "id": 1,
                    "name": "Table 1",
                    "start_on": "2022-03-29",
                    "end_on": null,
                    "active": true,
                    "organization_id": 1,
                    "created_at": "2022-03-29T14:19:54.034-03:00",
                    "updated_at": "2022-03-29T14:19:54.034-03:00",
                    "account_id": 1,
                    "external_id": null,
                    "visible_to_all_organizations": true,
                    "promotion": false
        }
      ],
      "product_categories": [
        {
          "id": 1,
          "name": "product_category_1"
        }
      ],
      "created_at": "2018-07-11T19:47:29.685-03:00",
      "updated_at": "2018-07-11T19:47:29.685-03:00"
    }
  ]
}

Cria canal de venda

Cria um novo canal de vendas

POST
/api/v1/organizations/:id/sale_channels

Exemplo para criar um novo canal de venda

curl -X POST https://sandbox.estoka.com.br/api/v1/organizations/1/sale_channels  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

    {
        "sale_channel": {
            "name": "teste",
            "global": true,
            "pickup_point": true,
            "carrier_id": 2,
      "price_table_ids": [1],
            "product_category_ids": [1]
        }
    }

Exemplo do retorno

{
    "sale_channel": {
        "id": 4,
        "name": "teste",
        "pickup_point": true,
        "organization_id": null,
        "global": true,
        "created_at": "2022-07-14T10:06:34.812-03:00",
        "updated_at": "2022-07-14T10:06:34.812-03:00",
        "account_id": 1,
        "product_categories": [
            {
                "id": 1,
                "name": "Informática",
                "organization_id": null,
                "created_at": "2022-07-11T10:15:01.815-03:00",
                "updated_at": "2022-07-11T10:15:01.815-03:00",
                "ancestry": null,
                "account_id": 1,
                "external_id": null
            }
        ],
        "price_tables": [
            {
                "id": 1,
                "name": "teste",
                "start_on": "2022-07-14",
                "end_on": "2022-07-28",
                "active": true,
                "organization_id": 1,
                "created_at": "2022-07-14T10:05:49.104-03:00",
                "updated_at": "2022-07-14T10:06:25.033-03:00",
                "account_id": 1,
                "external_id": null,
                "visible_to_all_organizations": true,
                "promotion": false
            }
        ]
    }
}

Consulta Canal aquisição

Cria canal de aquisição

POST
/api/v1/organizations/1/customer_aquisition_channels

Exemplo de requisição para criar canal de aquisição

curl -X POST https://sandbox.estoka.com.br/api/v1/organizations/1/customer_aquisition_channels \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
    "name": "teste4",
    "active": false
}

Exemplo do retorno

{
  "customer_aquisition_channel": {
    "id": 8,
    "name": "teste4",
    "active": false
  }
}

Atualiza canal de aquisição

PUT
/api/v1/organizations/1/customer_aquisition_channels/1

Exemplo de requisição para atualizar canal de aquisição

curl -X PUT https://sandbox.estoka.com.br/api/v1/organizations/1/customer_aquisition_channels/1 \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
    "active": false
}

Exemplo do retorno

{
  "customer_aquisition_channel": {
    "id": 1 ,
    "name": "teste4",
    "active": false
  }
}

Lista de canais de aquisição vinculadas a organização

GET
/api/v1/organizations/1/customer_aquisition_channels

Exemplo de requisição para lista de canais de aquisoes vinculadas

curl -X GET https://sandbox.estoka.com.br/api/v1/organizations/1/customer_aquisition_channels \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do JSON de retorno

  {
  "customer_aquisition_channels": [
    {
      "id": 2,
      "name": "whatsapp",
      "active": true
    },
    {
      "id": 4,
      "name": "televendas",
      "active": true
    },
    {
      "id": 5,
      "name": "teste1",
      "active": true
    },
    {
      "id": 7,
      "name": "teste3",
      "active": true
    }
  ]
}

Características

Listar Caracteristícas

Lista caracteristícas.

GET
/api/v1/product_features

Exemplo de uma lista de caracteristícas

curl -X POST https://sandbox.estoka.com.br/api/v1/product_features  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do retorno

{
  "product_features": [
    {
      "id": 1,
      "name": "Tamanho",
      "applied_on": "sku",
      "variations": [
        {
          "id": 1,
          "name": "PP"
        },
        {
          "id": 2,
          "name": "P"
        },
        {
          "id": 3,
          "name": "M"
        },
        {
          "id": 4,
          "name": "G"
        },
        {
          "id": 5,
          "name": "GG"
        },
        {
          "id": 6,
          "name": "GGG"
        }
      ]
    },
    {
      "id": 2,
      "name": "Cor",
      "applied_on": "product",
      "variations": [
        {
          "id": 7,
          "name": "Preto"
        },
        {
          "id": 8,
          "name": "Branco"
        },
        {
          "id": 9,
          "name": "Prata"
        },
        {
          "id": 10,
          "name": "Verde"
        },
        {
          "id": 11,
          "name": "Vermelho"
        }
      ]
    },
    {
      "id": 3,
      "name": "Peso",
      "applied_on": "both",
      "variations": [
        {
          "id": 15,
          "name": "1kg"
        },
        {
          "id": 16,
          "name": "2kg"
        }
      ]
    }
  ]
}

Consulta uma característica

Retorna as informações de uma característica, a partir do seu id.

GET
/api/v1/product_features/:product_feature_id

Exemplo de requisição para retorno de uma característica

curl -X GET https://sandbox.estoka.com.br/api/v1/product_features/1  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do retorno

{
  "product_feature": {
    "id": 1,
    "name": "Tamanho",
    "applied_on": "sku",
    "variations": [
      {
        "id": 1,
        "name": "PP"
      },
      {
        "id": 2,
        "name": "P"
      },
      {
        "id": 3,
        "name": "M"
      },
      {
        "id": 4,
        "name": "G"
      },
      {
        "id": 5,
        "name": "GG"
      },
      {
        "id": 6,
        "name": "GGG"
      }
    ]
  }
}

Categorias

Cadastrar uma Categoria

Cadastra uma nova categoria de produtos.

POST
/api/v1/product_categories

Exemplo para criar uma nova categoria

curl -X POST https://sandbox.estoka.com.br/api/v1/product_categories  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
    "product_category": {
        "name": "Produtos de Beleza",
        "ancestry": 6,
        "organization_id": 1,
        "external_id": "prodbeleza1"
    }
}

Exemplo do retorno

{
    "product_category": {
        "id": 10,
        "organization_id": 1,
        "account_id": 1,
        "name": "Produtos de Beleza",
        "created_at": "2020-04-14T11:20:07.853-03:00",
        "updated_at": "2020-04-14T11:20:07.853-03:00",
        "parent_id": 6,
        "external_id": "prodbeleza1",
        "subcategory_ids": []
    }
}

Campos do node "product_category"

Campo Obrig Tipo Observações
organization_id Não Numérico Id da organização de origem da categoria.
name Sim Texto Nome da categoria.
ancestry Não Numérico Id da categoria ancestral.
external_id Não Texto Id externo da categoria. Máximo de 19 caracteres.

Lista categorias

Retorna as informações das categorias.

GET
/api/v1/product_categories

Exemplo de requisição para retorno da lista de categorias

curl -X GET https://sandbox.estoka.com.br/api/v1/product_categories  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do retorno

{
  "product_categories": {
    "id": 3,
    "organization_id": 1,
    "parent_id": 1,
    "name": "Alimentos",
    "external_id": "ali1",
    "created_at": "2019-05-29T13:51:29.560-03:00",
    "updated_at": "2019-05-29T13:51:29.560-03:00",
    "subcategories": {
      "id": 4,
      "organization_id": 1,
      "parent_id": 3,
      "name": "Arroz",
      "external_id": "arr1",
      "subcategories": [],
      "created_at": "2019-05-29T13:51:29.560-03:00",
      "updated_at": "2019-05-29T13:51:29.560-03:00"
    }
  }
}

Consulta uma categoria

Retorna as informações de uma categoria, a partir do seu id.

GET
/api/v1/product_categories/:category_id

Exemplo de requisição para retorno de uma categoria

curl -X GET https://sandbox.estoka.com.br/api/v1/product_categories/7  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do retorno

{
  "product_category": {
    "id": 3,
    "organization_id": 1,
    "parent_id": 1,
    "name": "Alimentos",
    "external_id": "ali1",
    "subcategory_ids": [4, 5],
    "created_at": "2019-05-29T13:51:29.560-03:00",
    "updated_at": "2019-05-29T13:51:29.560-03:00"
  }
}

Clientes

Cria Cliente Pessoa Fisica

Cria um novo Cliente Pessoa Fisica

POST
/api/v1/customers/people

Exemplo para criar um novo cliente

curl -X POST https://sandbox.estoka.com.br/api/v1/customers/people  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "person": {
    "name": "John Doe",
    "cpf": "115.072.797-80",
    "email": "john@nexaas.com",
    "phone_number": "(21) 99382-8559",
    "customer_since": "2019-09-10T20:30:42.000Z",
    "gender": "M",
    "external_id": "1",
    "organization_id": 1,
    "status": "active",
    "birthday": "14-01-1987",
    "customer_type_code": "tcode",
    "customer_job_code": "jcode",
    "addresses": [
      {
        "kind": "billing",
        "street": "Rua A",
        "street_number": "24",
        "detail": "AP 8",
        "neighborhood": "Praça Seca",
        "zip_code": "21321050",
        "city_code": 123122,
        "default": true
      },
      {
        "kind": "commercial",
        "street": "Rua B",
        "street_number": "2",
        "neighborhood": "Praça Seca",
        "zip_code": "21321050",
        "city_code": 123122
      }
    ],
    "relatives": [
      {
        "name": "Louis Lane",
        "birthday": "2000-11-18",
        "gender": "f",
        "relative_degree": "mother"
      },
      {
        "name": "Clark Kent",
        "birthday": "2000-11-20",
        "gender": "m",
        "relative_degree": "father"
      }
    ],
    "customer_contacts": [
      {
        "name": "Jane Doe",
        "phone_number": "(11) 99999-9999",
        "reference_type": "mother"
      },
    ],
    "customer_category_id": 1
  }
}

Exemplo de retorno

{
  "id": 1,
  "name": "John Doe",
  "cpf": "115.072.797-80",
  "email": "john@nexaas.com",
  "phone_number": "(21) 99382-8559",
  "gender": "M",
  "external_id": "1",
  "organization_id": 1,
  "account_id": 1,
  "customer_since": "2019-09-10T20:30:42.000Z",
  "created_at": "2020-09-10T20:30:42Z",
  "updated_at": "2020-09-10T20:30:42Z",
  "type": "Person",
  "status": "active",
  "birthday": "14-01-1987",
  "mother_name": "Louis Lane",
  "customer_type": {
      "name": "Type Name",
      "code": "tcode",
  },
  "customer_job": {
      "name": "Job Name",
      "code": "jcode",
  },
  "credit_limit_rules": [
        {
          "id": 1,
          "limit_value": "9.99",
          "due_date": null,
          "validate_time": 0,
          "reason": "MyString",
          "cancel": false,
          "status": "used",
          "cancel_observation": "",
          "order_id": 10,
        }
    ],
  "type": "Person",
  "status": "active",
  "birthday": "14-01-1987",
  "customer_type": {
      "name": "Type Name",
      "code": "tcode",
  },
  "customer_job": {
      "name": "Job Name",
      "code": "jcode",
  },
  "addresses": [
    {
      "id": 1,
      "kind": "billing",
      "street": "Rua A",
      "street_number": "24",
      "detail": "AP 8",
      "neighborhood": "Praça Seca",
      "zip_code": "21321-050",
      "city_code": 123122,
      "city": "Rio de Janeiro",
      "state": "RJ",
      "default": true
    },
    {
      "id": 2,
      "kind": "commercial",
      "street": "Rua B",
      "street_number": "2",
      "detail": null,
      "neighborhood": "Praça Seca",
      "zip_code": "21321-050",
      "city_code": 123122,
      "city": "Rio de Janeiro",
      "state": "RJ",
      "default": false
    }
  ],
  "relatives": [
    {
      "id": 1,
      "name": "Louis Lane",
      "birthday": "2000-11-18",
      "gender": "f",
      "relative_degree": "mother"
    },
    {
      "id": 2,
      "name": "Clark Kent",
      "birthday": "2000-11-20",
      "gender": "m",
      "relative_degree": "father"
    }
  ],
  "customer_contacts": [
    {
      "id": 1,
      "name": "Jane Doe",
      "phone_number": "(11) 99999-9999",
      "reference_type": "mother"
    }
  ],
  "customer_category": {
    "id": 1,
    "name": "Categoria A",
    "active": true,
    "account_id": 9
  }
}

Campos do node "person"

Campo Obrig Tipo Observações
name Sim Texto Nome do cliente
cpf Sim Texto CPF do cliente
email Não Texto Email do cliente
phone_number Não Texto Telefone do cliente
gender Não Texto Sexo do cliente (M ou F)
external_id Não Texto Id externo do cliente
organization_id Não Numérico Id da organização
birthday Não Data Data de nascimento
status Não Texto Estado do cliente
customer_job_code Não Texto Codigo da profissão do cliente
customer_type_code Não Texto Codigo do tipo do cliente
customer_since Não Data Cliente desde. Caso nenhum valor passado a data será a do horário de criação.
customer_category_id Não Numérico Id da categoria do tipo de cliente

Valores válidos para "status"

Código Descrição
active Ativo
inactive Inativo
blocked Bloqueado

Campos do node "address"

Campo Obrig Tipo Observações
kind Sim Texto Tipo do Endereço conforme tabela abaixo
street Sim Texto Rua
street_number Sim Texto Numero 10 caracteres
detail Não Texto Complemento 40 caracteres
neighborhood Não Texto Bairro
zip_code Sim Texto Código Postal
city_code Sim Numérico Código IBGE do municipio
default Não Boleano Indica se o endereço é o padrão

Valores válidos para "kind"

Código Descrição
billing Faturamento
commercial Comercial
residential Residencial

Campos do node "relatives"

Campo Obrig Tipo Observações
name Sim Texto Nome do dependente
birthday Sim Data Data de nascimento do dependente
gender Sim Texto Sexo do dependente
relative_degree Sim Texto Grau de parentesco conforme tabela abaixo

Valores válidos para "relative_degree"

Código Descrição
father Pai
mother Mãe
son Filho
daughter Filha
brother Irmão
sister Irmã
grandparent Avô
grandchild Neto
aunt Tia
uncle Tio
niece Sobrinha
nephew Sobrinho
cousin Primo
parents_in_law Sogro(a)
son_in_law Genro
daughter_in_law Nora
stepfather Padrasto
stepmother Madrasta
stepchild Enteado(a)
siblings_in_law Cunhado(a)
friend Amigo(a)
neighbor Vizinho(a)
coworker Colega de Trabalho
other Outros

Campos do node "customer_contacts"

Campo Obrig Tipo Observações
name Sim Texto Nome da pessoa de contado
phone_number Sim Texto Número de telefone da pessoa de contato
reference_type Não Texto Número de telefone da pessoa de contato

Valores válidos para "reference_type"

Código Descrição
father Pai
mother Mãe
son Filho
daughter Filha
brother Irmão
sister Irmã
grandparent Avô
grandchild Neto
aunt Tia
uncle Tio
niece Sobrinha
nephew Sobrinho
cousin Primo
parents_in_law Sogro(a)
son_in_law Genro
daughter_in_law Nora
stepfather Padrasto
stepmother Madrasta
stepchild Enteado(a)
siblings_in_law Cunhado(a)
friend Amigo(a)
neighbor Vizinho(a)
coworker Colega de Trabalho
other Outros

Cria Cliente Pessoa Jurídica

Cria um novo cliente pessoa jurídica

POST
/api/v1/customers/companies

Exemplo para criar um novo cliente

curl -X POST https://sandbox.estoka.com.br/api/v1/customers/companies \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "company": {
    "name": "Acme Corp.",
    "email": "contact@acme.com",
    "external_id": "1",
    "cnpj": "57414248000116",
    "phone_number": "21992828559",
    "customer_since": "2019-09-10T20:30:42.000Z",
    "state_inscription": "921228773644",
    "municipal_inscription": "0123456789",
    "suframa_inscription": "0123456789",
    "organization_id": 1910,
    "status": "active",
    "customer_type_code": "tcode",
    "customer_job_code": "jcode",
    "addresses": [
      {
        "kind": "residential",
        "street": "Rua A",
        "street_number": "24",
        "detail": "AP 8",
        "neighborhood": "Praça Seca",
        "zip_code": "21321050",
        "city_code": 1190201
      }
    ],
    "customer_contacts": [
      {
        "name": "Jane Doe",
        "phone_number": "(11) 99999-9999",
        "reference_type": "mother"
      }
    ],
    "customer_category_id": 1
  }
}

Exemplo de retorno

{
  "company": {
    "id": 1,
    "name": "Acme Corp.",
    "email": "contact@acme.com",
    "external_id": "1",
    "cnpj": "57414248000116",
    "phone_number": "21992828559",
    "organization_id": 1910,
    "customer_since": "2019-09-10T20:30:42.000Z",
    "state_inscription": "921228773644",
    "municipal_inscription": "0123456789",
    "suframa_inscription": "0123456789",
    "created_at": "2020-09-10T20:30:42Z",
    "updated_at": "2020-09-10T20:30:42Z",
    "type": "Company",
    "status": "active",
    "customer_type": {
        "name": "Type Name",
        "code": "tcode",
    },
    "customer_job": {
        "name": "Job Name",
        "code": "jcode",
    },
    "addresses": [
      {
        "id": 1,
        "kind": "residential",
        "street": "Rua A",
        "street_number": "24",
        "detail": "AP 8",
        "neighborhood": "Praça Seca",
        "zip_code": "21321050",
        "city_code": 1190201,
        "city": "Rio de Janeiro",
        "state": "RJ"
      }
    ],
    "customer_contacts": [
      {
        "id": 1,
        "name": "Jane Doe",
        "phone_number": "(11) 99999-9999",
        "reference_type": "mother"
      }
    ],
    "customer_category": {
      "id": 1,
      "name": "Categoria A",
      "active": true,
      "account_id": 9
    }
  }
}

Campos do node "company"

Campo Obrig Tipo Observações
name Sim Texto Nome da empresa
email Não Texto Email da empresa
cnpj Sim Texto CNPJ da empresa
phone_number Não Texto Telefone da empresa
external_id Não Texto Id externo do cliente
organization_id Não Numérico Id da organização
status Não Texto Estado do cliente
customer_job_code Não Texto Codigo da profissão do cliente
customer_type_code Não Texto Codigo do tipo do cliente
customer_since Não Data Cliente desde. Caso nenhum valor passado a data será a do horário de criação.
state_inscription Não Texto Inscrição estadual. Será considerado somente caracteres alfanuméricos como o número da inscrição ou o valor "ISENTO", caso o cliente se enquadre nessa categoria.
municipal_inscription Não Texto Inscrição municipal. Será considerado somente caracteres alfanuméricos.
suframa_inscription Não Texto Inscrição SUFRAMA (sigla para Superintendência da Zona Franca de Manaus). Será considerado somente caracteres alfanuméricos.
customer_category_id Não Numérico Id da categoria do tipo de cliente

Valores válidos para "status"

Código Descrição
active Ativo
inactive Inativo
blocked Bloqueado

Campos do node "address"

Campo Obrig Tipo Observações
kind Sim Texto Tipo do endereço conforme tabela abaixo
street Sim Texto Rua
street_number Sim Texto Numero 10 caracteres
detail Não Texto Complemento 40 caracteres
neighborhood Não Texto Bairro
zip_code Sim Texto Código Postal
city_code Sim Numérico Código IBGE do municipio
default Não Boleano Indica se o endereço é o padrão

Valores válidos para "kind"

Código Descrição
billing Faturamento
commercial Comercial
residential Residencial

Campos do node "customer_contacts"

Campo Obrig Tipo Observações
name Sim Texto Nome da pessoa de contado
phone_number Sim Texto Número de telefone da pessoa de contato
reference_type Não Texto Número de telefone da pessoa de contato

Valores válidos para "reference_type"

Código Descrição
father Pai
mother Mãe
son Filho
daughter Filha
brother Irmão
sister Irmã
grandparent Avô
grandchild Neto
aunt Tia
uncle Tio
niece Sobrinha
nephew Sobrinho
cousin Primo
parents_in_law Sogro(a)
son_in_law Genro
daughter_in_law Nora
stepfather Padrasto
stepmother Madrasta
stepchild Enteado(a)
siblings_in_law Cunhado(a)
friend Amigo(a)
neighbor Vizinho(a)
coworker Colega de Trabalho
other Outros

Atualiza Cliente Pessoa Física

Atualiza um cliente pessoa física.

Esse recurso possibilita a alteração de todos os campos de um cliente pessoa física.

PUT
/api/v1/customers/people/:id

Exemplo para atualizar o cliente

curl -X PUT https://sandbox.estoka.com.br/api/v1/customers/people/1  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "person": {
    "name": "John Doe",
    "cpf": "20228523702",
    "email": "john@nexaas.com",
    "phone_number": "(21) 99382-8559",
    "gender": "M",
    "external_id": null,
    "organization_id": null,
    "customer_since": "2019-03-10T14:58:36.004-03:00",
    "credit_limit_rules": [
        {
          "id": 1,
          "limit_value": "9.99",
          "due_date": null,
          "validate_time": 0,
          "reason": "MyString",
          "cancel": false,
          "status": "used",
          "cancel_observation": "",
          "order_id": 10,
        }
      ],
    "addresses": [
      {
        "id": 1,
        "kind": "residential",
        "street": "Rua B",
        "street_number": "25",
        "detail": "AP 9",
        "neighborhood": "Praça Seca II",
        "zip_code": "21321050",
        "city_code": 1190201
      }
    ],
    "relatives": [
      {
        "id": 15,
        "name": "Louis Lane",
        "birthday": "2000-11-18",
        "gender": "f",
        "relative_degree": "mother"
      }
    ],
    "customer_contacts": [
      {
        "id": 1,
        "name": "Louis Lane",
        "phone_number": "(11) 91234-9999",
        "reference_type": "mother"
      }
    ],
    "customer_category_id": 1
  }
}

Exemplo do retorno

{
    "person": {
        "created_at": "2020-04-22T00:00:00-03:00",
        "updated_at": "2020-04-24T15:41:34-03:00",
        "id": 108,
        "name": "John Doe",
        "email": "john@nexaas.com",
        "phone_number": "(21) 99382-8559",
        "external_id": null,
        "organization_id": null,
        "mother_name": null,
        "account_id": 2,
         "credit_limit_rules": [
          {
            "id": 1,
            "limit_value": "9.99",
            "due_date": null,
            "validate_time": 0,
            "reason": "MyString",
            "cancel": false,
            "status": "used",
            "cancel_observation": "",
            "order_id": 10,
          }
        ],
        "addresses": [
          {
            "id": 1,
            "kind": "residential",
            "street": "Rua B",
            "street_number": "25",
            "detail": "AP 9",
            "neighborhood": "Praça Seca II",
            "zip_code": "21321050",
            "city_code": 1190201,
            "city": "Rio de Janeiro",
            "state": "RJ"
          }
        ],
        "customer_since": "2019-03-10T14:58:36.004-03:00",
        "cpf": "202.285.237-02",
        "gender": "M",
        "relatives": [
          {
              "id": 15,
              "name": "Louis Lane",
              "birthday": "2000-11-18",
              "gender": "f",
              "relative_degree": "mother"
          },
          {
              "id": 16,
              "name": "Clark Kent",
              "birthday": "2000-11-20",
              "gender": "m",
              "relative_degree": "father"
          }
        ],
        "customer_contacts": [
          {
            "id": 1,
            "name": "Louis Lane",
            "phone_number": "(11) 91234-9999",
            "reference_type": "mother"
          }
        ],
        "customer_category": {
          "id": 1,
          "name": "Categoria A",
          "active": true,
          "account_id": 9
        }
    }
}

Atualiza Cliente Pessoa Jurídica

Atualiza um cliente pessoa jurídica.

Esse recurso possibilita a alteração de todos os campos de um cliente pessoa jurídica.

PUT
/api/v1/customers/companies/:id

Exemplo para atualizar o cliente

curl -X PUT https://sandbox.estoka.com.br/api/v1/customers/companies/1  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "company": {
    "name": "Acme Corp. Ltda",
    "email": "contact@acme.com.br",
    "cnpj": "57414248000116",
    "phone_number": "21992828559",
    "external_id": null,
    "organization_id": null,
    "customer_since": "2020-04-27T11:06:26.968-03:00",
    "state_inscription": "921228773644",
    "municipal_inscription": "0123456789",
    "suframa_inscription": "0123456789",
    "addresses": [
      {
        "id": 2,
        "kind": "billing",
        "street": "Rua B",
        "street_number": "25",
        "detail": "AP 9",
        "neighborhood": "Praça Seca II",
        "zip_code": "21321050",
        "city_code": 1190201
      }
    ],
    "customer_contacts": [
      {
        "id": 1,
        "name": "Louis Lane",
        "phone_number": "(11) 91234-9999",
        "reference_type": "mother"
      }
    ],
    "customer_category_id": 1
  }
}

Exemplo do retorno

{
    "company": {
        "created_at": "2020-04-27T11:06:26-03:00",
        "updated_at": "2020-04-27T11:08:13-03:00",
        "id": 1,
        "name": "Acme Corp. Ltda",
        "email": "contact@acme.com.br",
        "phone_number": "(21) 99282-8559",
        "external_id": null,
        "organization_id": null,
        "account_id": 2,
        "addresses": [
          {
            "id": 2,
            "kind": "billing",
            "street": "Rua B",
            "street_number": "25",
            "detail": "AP 9",
            "neighborhood": "Praça Seca II",
            "zip_code": "21321050",
            "city_code": 1190201,
            "city": "Rio de Janeiro",
            "state": "RJ"
          },
          {
            "id": 3,
            "kind": "commercial",
            "street": "Rua B",
            "street_number": "2",
            "neighborhood": "Praça Seca",
            "zip_code": "21321050",
            "city_code": 123122,
            "city": "Rio de Janeiro",
            "state": "RJ"
          }
        ],
        "customer_since": "2020-04-27T11:06:26.968-03:00",
        "state_inscription": "921228773644",
        "municipal_inscription": "0123456789",
        "suframa_inscription": "0123456789",
        "cnpj": "57.414.248/0001-16",
        "customer_contacts": [
          {
            "id": 1,
            "name": "Louis Lane",
            "phone_number": "(11) 91234-9999",
            "reference_type": "mother"
          }
        ],
        "customer_category": {
          "id": 1,
          "name": "Categoria A",
          "active": true,
          "account_id": 9
        }
    }
}

Listagem de Clientes Pessoa Física

Retorna todos os clientes pessoa física de uma conta.

GET
/api/v1/customers/people

Também é possível(opcional) passar a paginação da listagem:

GET
/api/v1/customers/people?page=2

Também é possível(opcional) buscar um cliente por CPF:

GET
/api/v1/customers/people?search[cpf]=11507279780

Também é possível(opcional) buscar um cliente pelas datas de criação:

GET
/api/v1/customers/people?search[created_at_from]=08/06/2022T17:20:00&search[created_at_until]=08/06/2022T20:50:10

Também é possível(opcional) buscar um cliente pelas datas de atualização:

GET
/api/v1/customers/people?search[updated_at_from]=08/06/2022T17:20:00&search[updated_at_until]=08/06/2022T20:50:10

Exemplo de requisição para listagem de clientes pessoa física

curl -X GET https://sandbox.estoka.com.br/api/v1/customers/people?search[cpf]=11507279780 \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo de retorno

{
  "people": [
    {
      "id": 1,
      "name": "John Doe",
      "cpf": "115.072.797-80",
      "email": "john@nexaas.com",
      "phone_number": "(21) 99382-8559",
      "gender": "M",
      "external_id": "1",
      "organization_id": 1,
      "account_id": 1,
      "customer_since": "2019-09-10T20:30:42.000Z",
      "created_at": "2020-09-10T20:30:42Z",
      "updated_at": "2020-09-10T20:30:42Z",
      "mother_name": "Louis Lane",
      "credit_limit_rules": [
        {
          "id": 1,
          "limit_value": "9.99",
          "due_date": null,
          "validate_time": 0,
          "reason": "MyString",
          "cancel": false,
          "status": "used",
          "cancel_observation": "",
          "order_id": 10,
        }
      ],
      "addresses": [
        {
          "id": 1,
          "kind": "billing",
          "street": "Rua A",
          "street_number": "24",
          "detail": "AP 8",
          "neighborhood": "Praça Seca",
          "zip_code": "21321-050",
          "city_code": 123122,
          "city": "Rio de Janeiro",
          "state": "RJ",
          "default": true
        },
        {
          "id": 2,
          "kind": "commercial",
          "street": "Rua B",
          "street_number": "2",
          "detail": null,
          "neighborhood": "Praça Seca",
          "zip_code": "21321-050",
          "city_code": 123122,
          "city": "Rio de Janeiro",
          "state": "RJ",
          "default": false
        }
      ],
      "relatives": [
        {
          "id": 1,
          "name": "Louis Lane",
          "birthday": "2000-11-18",
          "gender": "f",
          "relative_degree": "mother"
        },
        {
          "id": 2,
          "name": "Clark Kent",
          "birthday": "2000-11-20",
          "gender": "m",
          "relative_degree": "father"
        }
      ],
      "customer_contacts": [
        {
          "id": 1,
          "name": "Jane Doe",
          "phone_number": "(11) 99999-9999",
          "reference_type": "mother"
        }
      ],
      "customer_category": {
        "id": 1,
        "name": "Categoria A",
        "active": true,
        "account_id": 9
      }
    }
  ]
}

Listagem de Clientes Pessoa Jurídica

Retorna todos os clientes pessoa jurídica de uma conta.

GET
/api/v1/customers/companies

Também é possível(opcional) passar a paginação da listagem:

GET
/api/v1/customers/companies?page=2

Também é possível(opcional) buscar um cliente por CNPJ:

GET
/api/v1/customers/companies?search[cnpj]=57414248000116

Também é possível(opcional) buscar um cliente pelas datas de criação:

GET
/api/v1/customers/companies?search[created_at_from]=08/06/2022T17:20:00&search[created_at_until]=08/06/2022T20:50:10

Também é possível(opcional) buscar um cliente pelas datas de atualização:

GET
/api/v1/customers/companies?search[updated_at_from]=08/06/2022T17:20:00&search[updated_at_until]=08/06/2022T20:50:10

Exemplo de requisição para listagem de clientes pessoa jurídica

curl -X GET https://sandbox.estoka.com.br/api/v1/customers/companies?search[cnpj]=57414248000116 \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo de retorno

{
  "companies": [
    {
      "id": 1,
      "name": "Acme Corp.",
      "email": "contact@acme.com",
      "external_id": "1",
      "cnpj": "57414248000116",
      "phone_number": "21992828559",
      "organization_id": 1910,
      "customer_since": "2019-09-10T20:30:42.000Z",
      "created_at": "2020-09-10T20:30:42Z",
      "updated_at": "2020-09-10T20:30:42Z",
      "addresses": [
        {
          "id": 1,
          "kind": "residential",
          "street": "Rua A",
          "street_number": "24",
          "detail": "AP 8",
          "neighborhood": "Praça Seca",
          "zip_code": "21321050",
          "city_code": 1190201,
          "city": "Rio de Janeiro",
          "state": "RJ"
        }
      ],
      "customer_contacts": [
        {
          "id": 1,
          "name": "Jane Doe",
          "phone_number": "(11) 99999-9999",
          "reference_type": "mother"
        }
      ],
      "customer_category": {
        "id": 1,
        "name": "Categoria A",
        "active": true,
        "account_id": 9
      }
    }
  ]
}

Cria um Vale Troca

Cria um novo vale troca para um cliente. Os coupons recebidos precisam estar com status ativo.

POST
/api/v1/customers/1/exchange_vouchers

Exemplo para criar um novo vale troca

curl -X POST https://sandbox.estoka.com.br/api/v1/customers/1/exchange_vouchers  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "exchange_voucher": {
    "coupons": ["3c559f4bd0", "fc5fda51ec"]
  }
}

Exemplo do retorno

{
   "exchange_voucher ":{
      "customer ":{
         "created_at ":"2020-08-25T20:54:22Z ",
         "updated_at ":"2020-08-25T20:54:22Z ",
         "id ":5,
         "name ":"Roslava santos ",
         "email ":"rosalva@gottlieb.ca ",
         "document_type ": "CPF",
         "document_number": "74959926970",
         "phone_number ":"(21) 12345-1234 ",
         "organization_id ":30,
         "account_id ":21,
         "addresses ":[
         ],
         "customer_since ":"2020-08-24T00:00:00.000Z "
      },
      "organization ":{
         "id ":30,
         "external_id ":"O6 ",
         "account_id ":21,
         "name ":"Empresa 30 ",
         "cnpj ":"12511411243708 ",
         "state ":null,
         "state_code ":null,
         "zip_code ":null,
         "neighborhood ":null,
         "number ":null,
         "street ":null,
         "complement ":null,
         "city ":null,
         "city_code ":null,
         "use_average_cost ":true,
         "average_withdrawal_term ":5,
         "average_withdrawal_price ":26.54,
         "created_at ":"2020-08-25T20:54:22.952Z ",
         "updated_at ":"2020-08-25T20:54:22.952Z ",
         "company_name ":"Dach-Boehm ",
         "emites_id ":701,
         "state_registration ":"254815505 ",
         "tax_regime ":"normal ",
         "kind ":"other ",
         "serie_nfe ":"688 ",
         "latitude ":null,
         "longitude ":null,
         "parent_id ":null
      },
      "vouchers ":[
         {
            "created_at ":"2020-08-25T20:54:23Z ",
            "updated_at ":"2020-08-25T20:54:23Z ",
            "id ":5,
            "code ":"WpDQSZ2F5t8F71/wAk+SHsyBvvdH5oX3UQ5kKze6BzXi8RSI0jDraW0tzE8f  nN+SmlfCvTE2DujiF/rxMoTgKj7X5iqr5KcUjLDlVD65YN5bVlJThJwQOYTpp  netMziCc/s5BfshDhj1V/pUK5sl+VtNdMtJcU865WPT0nQRHPEi+Y9F42UDYY  ng6Ha+GeTPi2moKtPduOQRjEDaeLXdutcciuH4WA3Yzy8EQFpiuPCfWSad9rx  nShaWjcu25fNDhl4UqILE7loxg0G2peh3hlOVSWO803/u6j81TL3quGkFaOBu  nRbE9qGGxj0Bi2FSIPzEaSVlQ3b40zPQui30skXF6YA==  n ",
            "value ":60.0,
            "status ":"active ",
            "product_skus ":[
               {
                  "id ":5,
                  "product_id ":5,
                  "code ":"E-9669 ",
                  "fiscal_code ":"83C7AD87-04E7-8A62-C ",
                  "ean ":"789555065561 ",
                  "description ":"E-9669 - Input Audible Controller - Preto, P ",
                  "amount ":"10.0 "
               },
               {
                  "id ":5,
                  "product_id ":5,
                  "code ":"E-9669 ",
                  "fiscal_code ":"83C7AD87-04E7-8A62-C ",
                  "ean ":"789555065561 ",
                  "description ":"E-9669 - Input Audible Controller - Preto, P ",
                  "amount ":"20.0 "
               },
               {
                  "id ":5,
                  "product_id ":5,
                  "code ":"E-9669 ",
                  "fiscal_code ":"83C7AD87-04E7-8A62-C ",
                  "ean ":"789555065561 ",
                  "description ":"E-9669 - Input Audible Controller - Preto, P ",
                  "amount ":"30.0 "
               }
            ],
            "order ":{
               "created_at ":"2020-08-25T20:54:23Z ",
               "updated_at ":"2020-08-25T20:54:23Z ",
               "order_id ":5,
               "nfes ":[
                  {
                     "type ":"sale ",
                     "description ":"Venda ",
                     "danfe_url ":"http://foo.bar ",
                     "xml_url ":"http://foo.bar ",
                     "number ":"4 ",
                     "serie ":"2 "
                  }
               ]
            }
         }
      ]
   }
}

Campos do node "exchange_voucher"

Campo Obrig Tipo Observações
coupons Sim Lista Lista de códigos de coupons a serem utilizados ao criar o vale-troca.

Possíveis status do vale troca

Status Tradução Descrição
active Ativo Vale troca ativo, disponível para ser utilizado.
cancelled Cancelado Vale troca cancalado, indisponível para ser utilizado.
expired Expirado Vale troca passou do prazo de utilização e expirou.
used Utilizado Vale troca passou já foi utilizado como pagamento para algum pedido.

Criptografia do campo "code"

Por ser uma moeda de troca, o campo code é encriptografado utilizando o sistema de criptografia assimétrica "RSA". O algoritmo utiliza a chave pública salva na conta. Apenas com a chave privada do lado do integrador é possível descriptografar. Segue um exemplo utilizando a linguagem ruby:

decoded_string = Base64.decode64(code)
key = OpenSSL::PKey::RSA.new(private_key.to_s)
decrypted_code = key.private_decrypt(decoded_string)

Consultar Cliente

Retorna um cliente a partir de seu ID.

GET
/api/v1/customers/:id

Exemplo da requisição:

curl -X GET https://sandbox.estoka.com.br/api/v1/customers/1  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do retorno Pessoa Fisica

{
    "person": {
        "created_at": "2020-10-23T18:42:51-03:00",
        "updated_at": "2020-10-23T18:42:51-03:00",
        "id": 818986,
        "name": "TesteQA",
        "email": "odinsson@asgard.co",
        "phone_number": "(11) 98952-0101",
        "organization_id": 92,
        "account_id": 1,
        "type": "Person",
        "status": "active",
        "birthday": "14-01-1987",
        "mother name": "Jane Doe",
        "customer_type": {
            "name": "Type Name",
            "code": "tcode",
        },
        "customer_job": {
            "name": "Job Name",
            "code": "jcode",
        },
        "addresses": [
            {
                "id": 898923,
                "kind": "billing",
                "street": "Rua A",
                "street_number": "666",
                "detail": "AP 13",
                "neighborhood": "Praça Seca",
                "zip_code": "09970-250",
                "city_code": "5300108",
                "default": false,
                "city": "Brasília",
                "state": "DF"
            },
            {
                "id": 898924,
                "kind": "residential",
                "street": "Rua A",
                "street_number": "666",
                "detail": "AP 13",
                "neighborhood": "Praça Seca",
                "zip_code": "09970-250",
                "city_code": "5221858",
                "default": true,
                "city": "Valparaíso de Goiás",
                "state": "GO"
            }
        ],
        "credit_limit_rules": [
          {
            "id": 1,
            "limit_value": "9.99",
            "due_date": null,
            "validate_time": 0,
            "reason": "MyString",
            "cancel": false,
            "status": "used",
            "cancel_observation": "",
            "order_id": 10,
          }
        ],
        "customer_since": "2020-10-23T18:42:51.090-03:00",
        "cpf": "134.323.130-20",
        "gender": "m",
        "customer_contacts": [
            {
                "name": "Joana",
                "phone_number": "1199999999",
                "reference_type": "mother"
            }
        ],
        "relatives": [
            {
                "id": 427447,
                "name": "Gandalf The White",
                "birthday": "1920-01-25",
                "gender": "m",
                "relative_degree": "other"
            },
            {
                "id": 427446,
                "name": "Ragnar Lothbrok",
                "birthday": "1942-12-12",
                "gender": "m",
                "relative_degree": "coworker"
            },
            {
                "id": 427445,
                "name": "Clark Kent",
                "birthday": "1925-11-20",
                "gender": "m",
                "relative_degree": "neighbor"
            },
            {
                "id": 427444,
                "name": "Louis Lane",
                "birthday": "1932-11-18",
                "gender": "f",
                "relative_degree": "friend"
            }
        ],
        "customer_category": {
          "id": 1,
          "name": "Categoria A",
          "active": true,
          "account_id": 9
        }
    }
}

Exemplo do retorno Pessoa Juridica

{
    "company": {
        "created_at": "2020-06-01T15:25:24-03:00",
        "updated_at": "2020-06-01T15:30:01-03:00",
        "id": 818852,
        "name": "Asgard Corp",
        "email": "sigmurd@asgard.co",
        "phone_number": "(11) 98952-9457",
        "organization_id": 78,
        "account_id": 1,
        "type": "Company",
        "status": "active",
        "customer_contacts": [
            {
                "name": "Joana",
                "phone_number": "1199999999",
                "reference_type": "mother"
            }
        ],
        "customer_type": {
            "name": "Type Name",
            "code": "tcode",
        },
        "customer_job": {
            "name": "Job Name",
            "code": "jcode",
        },
        "addresses": [
            {
                "id": 898867,
                "kind": "billing",
                "street": "Rua A",
                "street_number": "666",
                "detail": "AP 13",
                "neighborhood": "Praça Seca",
                "zip_code": "09970-250",
                "city_code": "5300108",
                "default": false,
                "city": "Brasília",
                "state": "DF"
            },
            {
                "id": 898868,
                "kind": "residential",
                "street": "Rua A",
                "street_number": "666",
                "detail": "AP 13",
                "neighborhood": "Praça Seca",
                "zip_code": "09970-250",
                "city_code": "5221858",
                "default": true,
                "city": "Valparaíso de Goiás",
                "state": "GO"
            }
        ],
        "customer_since": "2020-06-01T15:25:24.757-03:00",
        "cnpj": "00.438.799/0001-00",
        "state_inscription": "12345678",
        "municipal_inscription": null,
        "suframa_inscription": "1234567890",
        "customer_category": {
          "id": 1,
          "name": "Categoria A",
          "active": true,
          "account_id": 9
        }
    }
}

Consulta configuração de people

consulta as configurações para people

GET
/api/v1/customers/people/fields_configurations

Exemplo da requisição:

curl -X GET https://sandbox.estoka.com.br/api/v1/customers/people/fields_configurations  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo de retorno configuracao campos pessoa

{
  "fields_configurations": [
    {
      "text": "Endereço",
      "name": "address",
      "required": true
    },
    {
      "text": "Telefone",
      "name": "phone_number",
      "required": false
    },
    ...
  ]
}

Lista tipos de clientes

Retorna a lista de tipos de clientes por organização.

GET
/api/v1/organizations/:organization_id/customer_types

Exemplo de requisição para retorno dos tipos de clientes

curl -X GET https://sandbox.estoka.com.br/api/v1/organizations/1/customer_types  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do retorno

{
  "customer_types": [
    {
    "organization_id": 12,
    "name": "Aluno",
    "code": "ALU10",
    "created_at": "2021-08-09 17:26:56",
    "updated_at": "2021-08-09 17:26:56"
    },
    {
    "organization_id": 12,
    "name": "Aluno11",
    "code": "ALU11",
    "created_at": "2021-08-09 17:30:56",
    "updated_at": "2021-08-09 17:30:56"
    },
  ]
}

Categorias de Clientes

Cria Categoria de Clientes

Cria uma nova Categoria de Cliente

POST
/api/v1/customer_categories

Exemplo para criar uma nova categoria de cliente

curl -X POST https://sandbox.estoka.com.br/api/v1/customer_categories  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "name": "Categoria A",
  "account_id": 1,
  "active": true
}

Exemplo de retorno

{
  "name": "Categoria A",
  "account_id": 1,
  "active": true,
  "created_at": "2020-09-10T20:30:42Z",
  "updated_at": "2020-09-10T20:30:42Z"
}

Campos do node "customer_category"

Campo Obrig Tipo Observações
account_id Sim Numérico Id da conta que a categoria pertence.
name Sim Texto Nome da categoria.
active Não Boleano Se a categoria está ativa (por default é criado como true).

Lista Categorias de Clientes

Lista Categorias de Cliente

GET
/api/v1/customer_categories

Exemplo para listar categorias de cliente

curl -X GET https://sandbox.estoka.com.br/api/v1/customer_categories  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo de retorno

{
  "name": "Categoria A",
  "account_id": 1,
  "active": false,
  "created_at": "2020-09-10T20:30:42Z",
  "updated_at": "2020-09-10T20:30:42Z"
},
{
  "name": "Categoria B",
  "account_id": 1,
  "active": true,
  "created_at": "2020-09-10T20:30:42Z",
  "updated_at": "2020-09-10T20:30:42Z"
},
{
  "name": "Categoria C",
  "account_id": 1,
  "active": true,
  "created_at": "2020-09-10T20:30:42Z",
  "updated_at": "2020-09-10T20:30:42Z"
}

Consulta Categoria de Clientes

Consulta uma Categoria de Cliente

GET
/api/v1/customer_categories/:category_id

Exemplo para consultar uma categoria de cliente

curl -X GET https://sandbox.estoka.com.br/api/v1/customer_categories/1  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo de retorno

{
  "name": "Categoria B",
  "account_id": 1,
  "active": false,
  "created_at": "2020-09-10T20:30:42Z",
  "updated_at": "2020-09-10T20:30:42Z"
}

Altera Categoria de Clientes

Altera uma Categoria de Cliente

PUT
/api/v1/customer_categories/:category_id

Exemplo para alterar uma categoria de cliente

curl -X POST https://sandbox.estoka.com.br/api/v1/customer_categories/1  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "name": "Categoria B",
  "active": false
}

Exemplo de retorno

{
  "name": "Categoria B",
  "account_id": 1,
  "active": false,
  "created_at": "2020-09-10T20:30:42Z",
  "updated_at": "2020-09-10T20:30:42Z"
}

Colaboradores

Lista colaboradores

Retorna a lista de colaboradores.

GET
/api/v1/organizations/:organization_id/sellers

Também é possivel passar a paginação da listagem:

GET
/api/v1/organizations/:organization_id/sellers?page=2

Exemplo da requisição:

curl -X GET https://sandbox.estoka.com.br/api/v1/organizations/3/sellers  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do retorno

{
  "sellers": [
    {
      "id": 1,
      "name": "John Doe",
      "email": "john@nexaas.com",
      "organization_id": 3,
      "sale_channel_ids": [1, 3],
      "document_number": "123.456.789-00",
      "phone_number": "11999999123",
      "external_id": "123456",
      "status": "active",
      "registration": "ABC123",
      "profile_type": [
        "seller"
      ],
      "away": true,
      "absences": [
        {
          "reason": "Férias",
          "start_on": "2022-06-30T19:47:29.685-03:00",
          "end_on": "2022-07-30T19:47:29.685-03:00",
          "created_at": "2022-06-11T19:47:29.685-03:00",
          "updated_at": "2022-06-11T19:47:29.685-03:00"
        }
      ],
      "created_at": "2018-07-11T19:47:29.685-03:00",
      "updated_at": "2018-07-11T19:47:29.685-03:00"
    },
    {
      "id": 9,
      "name": "Jane Doe",
      "email": "jane@nexaas.com",
      "organization_id": 3,
      "sale_channel_ids": [2, 3],
      "document_number": "123.456.786-00",
      "phone_number": "11999999133",
      "external_id": "123455",
      "status": "active",
      "registration": "ABC1234",
      "profile_type": [
        "seller"
      ],
      "away": false,
      "absences": [
        {
          "reason": "Férias",
          "start_on": "2022-05-30T19:47:29.685-03:00",
          "end_on": "2022-05-30T19:47:29.685-03:00",
          "created_at": "2022-04-11T19:47:29.685-03:00",
          "updated_at": "2022-04-11T19:47:29.685-03:00"
        }
      ],
      "created_at": "2018-07-11T19:49:29.685-03:00",
      "updated_at": "2018-07-11T19:49:29.685-03:00"
    }
  ]
}

Consulta Colaborador

Retorna um colaborador a partir de seu ID.

GET
/api/v1/organizations/:organization_id/sellers/:id

Retorna um vendedor a partir de seu número de documento.

GET
/api/v1/organizations/:organization_id/sellers/:id?search[document_number]=12345678900

Exemplo da requisição:

curl -X GET https://sandbox.estoka.com.br/api/v1/organizations/3/sellers/7?search[document_number]=12345678900  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do retorno

{
  "seller": {
    "id": 7,
    "name": "John Doe",
    "email": "john@nexaas.com",
    "organization_id": 3,
    "sale_channel_ids": [1, 5, 6],
    "document_number": "123.456.789-00",
    "phone_number": "11999999123",
    "external_id": "123456",
    "status": "active",
    "registration": "ABC123",
    "profile_type": [
        "seller"
    ],
    "away": true,
    "absences": [
      {
        "reason": "Férias",
        "start_on": "2022-06-30T19:47:29.685-03:00",
        "end_on": "2022-07-30T19:47:29.685-03:00",
        "created_at": "2022-06-11T19:47:29.685-03:00",
        "updated_at": "2022-06-11T19:47:29.685-03:00"
      }
    ],
    "created_at": "2018-07-11T19:47:29.685-03:00",
    "updated_at": "2018-07-11T19:47:29.685-03:00"
  }
}

Cupons

Lista de cupons

GET
/api/v1/coupons/search?document=:document
GET
/api/v1/coupons/search?document=:document&organization_id=:organization_id
GET
/api/v1/coupons/search?document=:document&product_sku_id=:product_sku_id
GET
/api/v1/coupons/search?code=:code
GET
/api/v1/coupons/search?barcode=:barcode
GET
/api/v1/coupons/search?order_id=:order_id
GET
/api/v1/coupons/search?order_id=:order_id

Exemplo de requisição para listagem de cupons

curl -X GET https://sandbox.estoka.com.br/api/v1/coupons/search?product_sku=42634 \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do JSON de retorno

{
  "coupons": [
    {
      "id": 1,
      "code": "73hdy36st3",
      "barcode": "73hdy36st3",
      "amount": 5.00,
      "status": "active",
      "expired_at":"2019-12-20T15:11:49.132-02:00",
      "created_at":"2019-12-13T15:11:49.132-02:00",
      "product_sku":{
         "id": 42634,
         "product_id": 21321,
         "code": "87392YY9UD1",
         "fiscal_code": "42634",
         "ean": "7890000014007",
         "description": "87392YY9UD1 - ACESSORIOS P/ CABELO TIARA 452.3615"
      },
      "organization": {
        "id": 1,
        "name": "Loja 1",
        "company_name": "New Organization Ltda.",
        "full_address": "Rua Manoel Fiel Filho, 1 - 12233690 - São José dos Campos - Bosque dos Eucaliptos"
      }
    }
  ]
  }
}

Lista de cupons por skus

POST
/api/v1/coupons/search_by_sku

Exemplo de requisição para listagem de cupons

curl -X GET https://sandbox.estoka.com.br/api/v1/coupons/search_by_sku \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
    "organization_id": 1,
    "product_skus": [
        {
            "product_sku_id": 1,
            "quantity": 2
        },
        {
            "product_sku_id": 2,
            "quantity": 2
        }
    ]
}

Exemplo do JSON de retorno

{
  "product_skus": [
    {
      "product_sku_id": 1,
      "coupons": [
        {
          "id": 1,
          "code": "cfc540dc4e",
          "barcode": "cfc540dc4e",
          "amount": "-50.0",
          "status": "active",
          "expired_at": "2021-05-30",
          "created_at": "2021-03-31T13:42:20.457-03:00",
          "product_sku": {
            "id": 1,
            "product_id": 1,
            "code": "PRODUTO1",
            "fiscal_code": "11111111",
            "ean": "7909408177501",
            "description": "PRODUTO1 - Notebook Dell Inspiron"
          },
          "organization": {
            "id": 1,
            "name": "Loja 1",
            "company_name": "Loja Teste Ltda.",
            "full_address": "Rua Manoel Fiel Filho, 1 - 12233690 - São José dos Campos - SP"
          }
        },
        {
          "id": 2,
          "code": "1ec119d97f",
          "barcode": "1ec119d97f",
          "amount": "-50.0",
          "status": "active",
          "expired_at": "2021-05-30",
          "created_at": "2021-03-31T13:42:20.463-03:00",
          "product_sku": {
            "id": 1,
            "product_id": 1,
            "code": "PRODUTO1",
            "fiscal_code": "11111111",
            "ean": "7909408177501",
            "description": "PRODUTO1 - Notebook Dell Inspiron"
          },
          "organization": {
            "id": 1,
            "name": "Loja 1",
            "company_name": "Loja Teste Ltda.",
            "full_address": "Rua Manoel Fiel Filho, 1 - 12233690 - São José dos Campos - SP"
          }
        }
      ]
    }
  ]
}

Lista ampla de cupons por skus

POST
/api/v1/coupons/broad_search

Exemplo de requisição para listagem de cupons

curl -X POST https://sandbox.estoka.com.br/api/v1/coupons/broad_search \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "organization_id": 1,
  "product_skus": [
    {
        "product_sku_id": 1,
        "quantity": 3
    }
  ]
}

Exemplo do JSON de retorno

{
  "product_skus": [
    {
      "product_sku_id": 1,
      "coupons": [
        {
          "id": 4,
          "code": "b00132fd77",
          "barcode": "b00132fd77",
          "amount": "100.0",
          "status": "active",
          "expired_at": "2022-05-16",
          "created_at": "2022-03-17T15:01:42.650-03:00",
          "product_sku": {
            "id": 1,
            "product_id": 1,
            "code": "PRODUTO1",
            "fiscal_code": "11111111",
            "ean": "7909408177501",
            "description": "PRODUTO1 - Notebook Dell Inspiron"
          },
          "organization": {
            "id": 1,
            "name": "Loja 1",
            "company_name": "Loja Teste Ltda.",
            "full_address": "Rua Manoel Fiel Filho, 1 - 12233690 - São José dos Campos - SP"
          }
        },
        {
          "id": 5,
          "code": "887104fa19",
          "barcode": "887104fa19",
          "amount": "100.0",
          "status": "active",
          "expired_at": "2022-05-16",
          "created_at": "2022-03-17T15:01:42.661-03:00",
          "product_sku": {
            "id": 1,
            "product_id": 1,
            "code": "PRODUTO1",
            "fiscal_code": "11111111",
            "ean": "7909408177501",
            "description": "PRODUTO1 - Notebook Dell Inspiron"
          },
          "organization": {
            "id": 1,
            "name": "Loja 1",
            "company_name": "Loja Teste Ltda.",
            "full_address": "Rua Manoel Fiel Filho, 1 - 12233690 - São José dos Campos - SP"
          }
        },
        {
          "id": 6,
          "code": "5d91820b11",
          "barcode": "5d91820b11",
          "amount": "100.0",
          "status": "active",
          "expired_at": "2022-05-16",
          "created_at": "2022-03-17T15:01:42.669-03:00",
          "product_sku": {
              "id": 1,
              "product_id": 1,
              "code": "PRODUTO1",
              "fiscal_code": "11111111",
              "ean": "7909408177501",
              "description": "PRODUTO1 - Notebook Dell Inspiron"
          },
          "organization": {
            "id": 1,
            "name": "Loja 1",
            "company_name": "Loja Teste Ltda.",
            "full_address": "Rua Manoel Fiel Filho, 1 - 12233690 - São José dos Campos - SP"
          }
        }
      ]
    }
  ]
}

Descontos

Descontos

Retorna os descontos disponíveis por conta.

DELETE
/api/v1/organizations/:organization_id/discounts?search[sale_channel_id]=1&search[discount_type]=total_sale_amount&search[active_period]=true

Exemplo de requisição para deletar o Embarque

curl -X GET https://sandbox.estoka.com.br/api/v1/organizations/1/discounts?
search[sale_channel_id]=1&search[discount_type]=total_sale_amount&search[active_period]=true \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do retorno

{
  "discounts": [
    {
      "id": 1,
      "account_id": 1,
      "organization_id": 1,
      "sale_channel_ids": [
        2,
      ],
      "active": true,
      "optional": true,
      "target": "sale",
      "name": "Compras acima de R$ 1.000,00",
      "discount_type": "about_total_value",
      "discount_description": "Sobre o valor total da compra",
      "start_on": "2021-05-02",
      "end_on": "2021-09-10",
      "discount_rules": [
        {
          "id": 1,
          "minimum_value": 1000.0,
          "modality_type": "ModalitySaleMinimumAmount",
          "discount_form": "percentual",
          "discount_value": 15.0,
          "active": true
        }
      ]
    },
    {
      "id": 2,
      "account_id": 1,
      "organization_id": 1,
      "sale_channel_ids": [
        2,
      ],
      "active": true,
      "optional": true,
      "target": "sale",
      "name": "Compras acima de R$ 1.000,00",
      "discount_type": "about_total_value_applied_item",
      "discount_description": "Sobre o item com valor mínimo de compra",
      "start_on": "2021-05-02",
      "end_on": "2021-09-10",
      "discount_rules": [
        {
          "id": 2,
          "minimum_value": 1000.0,
          "modality_type": "ModalitySaleMinimumAmount",
          "discount_form": "percentual",
          "discount_value": 15.0,
          "active": true
        }
      ]
    },
    {
      "id": 3,
      "account_id": 1,
      "organization_id": 1,
      "sale_channel_ids": [
        2,
      ],
      "active": true,
      "optional": true,
      "target": "sale",
      "name": "Compras acima de R$ 1.000,00",
      "discount_type": "about_total_value_gift_item",
      "discount_description": "Brinde com desconto sobre o valor mínimo da compra",
      "start_on": "2021-05-02",
      "end_on": "2021-09-10",
      "discount_rules": [
        {
          "id": 3,
          "minimum_value": 1000.0,
          "modality_type": "ModalityGiftSaleMinimumAmount",
          "discount_form": "percentual",
          "discount_value": 15.0,
          "active": true,
          "free": false,
          "product_sku_ids": [110760],
          "desired_product_sku_ids": [
            {
              "name": "TIARA UNICORN",
              "product_sku_id": 110760
            }
          ],
          "desired_minimum_value": false,
          "minimum_quantity": 0
        }
      ]
    },
    {
      "id": 5,
      "account_id": 1,
      "organization_id": 1,
      "sale_channel_ids": [
        5
      ],
      "active": true,
      "optional": false,
      "target": "sale",
      "name": "Desconto de R$30,00 na primeira compra",
      "discount_type": "about_total_value_first_purchase",
      "discount_description": "Desconto na Primeira Compra",
      "start_on": "2021-11-30",
      "end_on": null,
      "discount_rules": [
        {
          "id": 40,
          "modality_type": "ModalityFirstPurchase",
          "discount_form": "percentual",
          "discount_value": "30.0",
          "active": true
        }
      ]
    },
    {
      "id": 6,
      "account_id": 1,
      "organization_id": null,
      "active": true,
      "name": "mes aniversário",
      "discount_type": "about_total_value_birthday_month",
      "start_on": "2022-01-02",
      "end_on": null,
      "discount_rules": [
        {
          "id": 3,
          "modality_type": "ModalityBirthdayMonth",
          "discount_form": "percentual",
          "discount_value": "10.0",
          "active": true
        }
      ],
      "discount_description": "Sobre o valor total da compra para o mês de aniversário",
      "sale_channel_ids": [
          1
      ],
      "optional": false,
      "target": "sale"
    }
  ]
}

Embarques

Cria um embarque

Criar novo embarque:

POST
/api/v1/organizations/:organization_id/shipments

Exemplo para criar um novo embarque

curl -X POST https://sandbox.estoka.com.br/api/v1/organizations/1/shipments  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "shipment": {
    "date": "2018-11-18T22:00:00.000-02:00",
    "shipment_type": "SEDEX",
    "stock_id": 2,
    "shipping_company": {
      "id": 12,
      "name": "TESTEDOTESTE",
      "carrier": {
        "type": "motocicleta",
        "plate": "XPT0001"
      }
    },
    "orders": [
      13
    ]
  }
}

Exemplo do retorno

{
  "id": 2,
  "organization_id": 3,
  "stock_id": 2,
  "shipment_type": "SEDEX",
  "date": "2018-11-18T22:00:00.000-02:00",
  "shipping_company": {
    "id": 12,
    "name": "TESTEDOTESTE",
    "carrier": {
      "type": "motocicleta",
      "plate": "XPT0001"
    }
  },
  "created_at": "2018-11-23T14:43:52.684-02:00",
  "updated_at": "2018-11-23T14:43:52.684-02:00",
  "status": "processing",
  "orders": [
    13
  ]
}

Campos do node "shipment"

Campo Obrig Tipo Observações
date Sim DateTime Data e hora do embarque
shipment_type Não Texto Tipo de embarque (ex: sedex, pac etc)
stock_id Não Númerico Id do estoque vinculado ao embarque
orders Sim Lista Array com Ids dos pedidos a serem incluidos no embarque

Campos do node "shipping_company"

Campo Obrig Tipo Observações
id Sim Integer ID da empresa transportadora (Fornecedor)
name Não Texto Nome da transportadora

Campos do node "carrier"

Campo Obrig Tipo Observações
type Não Texto Tipo de veiculo
plate Não Texto Placa do veiculo

Consulta Embarque

Retorna um embarque a partir de seu ID.

GET
/api/v1/organizations/:organization_id/shipments/:id

Exemplo da requisição:

curl -X GET https://sandbox.estoka.com.br/api/v1/organizations/3/shipments/1  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do retorno

{
  "shipment": {
    "id": 1,
    "organization_id": 3,
    "stock_id": 2,
    "shipment_type": "",
    "date": "2018-11-18T22:00:00.000-02:00",
    "shipping_company": {
      "id": 12,
      "name": "LOGXPTO",
      "carrier": {
        "type": "motocicleta",
        "plate": "XPT0001"
      }
    },
    "created_at": "2018-11-21T09:45:34.588-02:00",
    "updated_at": "2018-11-21T09:45:34.588-02:00",
    "status": "processing",
    "orders": [
      13
    ]
  }
}

Adiciona pedido ao Embarque

Adiciona pedidos a embarque previamente criado. Pedidos devem estar em estado de ETIQUETA GERADA

PUT
/api/v1/organizations/:organization_id/shipments/:shipment_id/orders

Exemplo de requisição para adicionar pedidos ao Embarque

curl -X PUT https://sandbox.estoka.com.br/api/v1/organizations/3/shipments/1/orders  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "shipment": {
    "orders": [
      13
    ]
  }
}

Exemplo do retorno

{
  "organization_id": 3,
  "status": "processing",
  "id": 1,
  "stock_id": 2,
  "shipment_type": "",
  "date": "2018-11-18T22:00:00.000-02:00",
  "shipping_company": {
    "id": 12,
    "name": "LOGXPTO",
    "carrier": {
      "type": "motocicleta",
      "plate": "XPT0001"
    }
  },
  "orders": [
    13
  ],
  "created_at": "2018-11-21T09:45:34.588-02:00",
  "updated_at": "2018-11-21T09:45:34.588-02:00"
}

Campos do node "shipment"

Campo Obrig Tipo Observações
orders Sim Lista Array com Ids dos pedidos

Remove pedido do Embarque

Remove pedidos do embarque.

DELETE
/api/v1/organizations/:organization_id/shipments/:shipment_id/orders

Exemplo de requisição para remover pedidos do Embarque

curl -X DELETE https://sandbox.estoka.com.br/api/v1/organizations/1/shipments/6/orders \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "shipment": {
    "orders": [
      13
    ]
  }
}

Exemplo do retorno

{
  "id": 1,
  "organization_id": 3,
  "stock_id": 2,
  "shipment_type": "",
  "date": "2018-11-18T22:00:00.000-02:00",
  "shipping_company": {
    "id": 12,
    "name": "LOGXPTO",
    "carrier": {
      "type": "motocicleta",
      "plate": "XPT0001"
    }
  },
  "created_at": "2018-11-21T09:45:34.588-02:00",
  "updated_at": "2018-11-21T09:45:34.588-02:00",
  "status": "processing",
  "orders": []
}

Campos do node "shipment"

Campo Obrig Tipo Observações
orders Sim Lista Array com Ids dos pedidos

Deleta o Embarque

Deletar o embarque.

DELETE
/api/v1/organizations/:organization_id/shipments/:id

Exemplo de requisição para deletar o Embarque

curl -X DELETE https://sandbox.estoka.com.br/api/v1/organizations/1/shipments/6 \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

  Esta requisição não possui body

Exemplo do retorno

{
  "organization_id": 3,
  "status": "processing",
  "id": 2,
  "stock_id": 2,
  "shipment_type": "SEDEX",
  "date": "2018-11-18T22:00:00.000-02:00",
  "shipping_company": {
    "id": 12,
    "name": "TESTEDOTESTE",
    "carrier": {
      "type": "motocicleta",
      "plate": "XPT0001"
    }
  },
  "created_at": "2018-11-23T14:43:52.684-02:00",
  "updated_at": "2018-11-23T15:25:10.257-02:00"
}

Finaliza o Embarque

Finalizar o embarque.

POST
/api/v1/organizations/:organization_id/shipments/:shipment_id/finish

Exemplo de requisição para finalizar o Embarque

curl -X POST https://sandbox.estoka.com.br/api/v1/organizations/1/shipments/6/finish \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

  Esta requisição não possui body

Exemplo do retorno

{
  "organization_id": 3,
  "status": "finished",
  "id": 2,
  "stock_id": 2,
  "shipment_type": "SEDEX",
  "date": "2018-11-18T22:00:00.000-02:00",
  "shipping_company": {
    "id": 12,
    "name": "TESTEDOTESTE",
    "carrier": {
      "type": "motocicleta",
      "plate": "XPT0001"
    }
  },
  "created_at": "2018-11-23T14:43:52.684-02:00",
  "updated_at": "2018-11-23T15:25:10.257-02:00"
}

Estoques

Consulta um estoque

Retorna as informações de um estoque, a partir do seu id.

GET
/api/v1/stocks/:stock_id

Exemplo de requisição para retorno de estoque(s)

curl -X GET https://sandbox.estoka.com.br/api/v1/stocks/7  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do retorno

{
  "stock": {
    "id": 7,
    "organization_id": 3,
    "name": "R2C Matriz",
    "active": true,
    "zip_code": "05348-030 ",
    "street": "Avenida Onófrio Milano",
    "number": 1207,
    "complement": "",
    "city": "São Paulo",
    "neighborhood": "Jaguaré",
    "state": "SP",
    "city_code": "12345",
    "created_at": "2018-09-17T13:26:10.179-03:00",
    "sale_channels": [],
    "kind": "normal",
    "description": "Depósito Matriz",
    "modality": "pickup_on_store",
    "default_safety_margin": 1
  }
}

SKUs de produto vinculados a estoque

Retorna a quantidade disponível de um SKU em um estoque específico, a partir do id da associação entre SKU e Estoque (stock_sku).

GET
/api/v1/stock_skus/:stock_sku_id

Exemplo da requisição:

curl -X GET https://sandbox.estoka.com.br/api/v1/stock_skus/1  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do retorno

{
  "stock_sku": {
    "id": 1,
    "stock_id": 1,
    "product_sku_id": 1,
    "in_stock_quantity": 86,
    "reserved_quantity": null,
    "available_quantity": 86,
    "in_transit_quantity": null,
    "batch": "A00102303LXML",
    "batch_expiration_date": "2018-09-27",
    "created_at": "2018-09-17T13:32:02.432-03:00",
    "updated_at": "2018-10-03T15:43:53.000-03:00",
    "safety_margin": 1
  }
}

Listagem de estoque por estabelecimento

Retorna todos os estoques de um estabelecimento:

GET
/api/v1/organizations/1/stocks

Exemplo de requisição para listagem de todos os estoques

curl -X GET https://sandbox.estoka.com.br/api/v1/organizations/4/stocks \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do JSON de retorno

{
  "stocks": [
    {
      "id": 6,
      "organization_id": 1,
      "name": "Centro de distribuição 1",
      "active": true,
      "zip_code": "20011-020",
      "street": "Rua do Carmo",
      "number": 19999,
      "complement": "Conjunto 22",
      "city": "Rio de Janeiro",
      "neighborhood": "Centro",
      "state": "RJ",
      "city_code": "12345",
      "created_at": "2018-06-01T18:23:07.959-03:00",
      "sale_channels": [],
      "kind": "normal",
      "description": "Depósito normal",
      "modality": "pickup_on_store",
      "default_safety_margin": 0
    },
    {
      "id": 9,
      "organization_id": 1,
      "name": "Depósito dois",
      "active": true,
      "zip_code": "06900000",
      "street": "Rua Camassari",
      "number": 56,
      "complement": "",
      "city": "Embu-Guaçu",
      "neighborhood": "Jardim das Oliveiras",
      "state": "SP",
      "city_code": "09876",
      "created_at": "2018-06-05T09:45:13.405-03:00",
      "sale_channels": [],
      "kind": "reversa",
      "description": "Depósito reversa",
      "modality": "pickup_on_store",
      "default_safety_margin": 1
    }
  ]
}

Listagem de skus por estoque

Retorna uma lista paginada com os skus de um estoque:

GET
/api/v1/stocks/3/stock_skus

Para acessar outra página:

GET
/api/v1/stocks/3/stock_skus?page=1

Também é possível(opcional) buscar os skus de um estoque pelas datas de criação:

GET
/api/v1/stocks/3/stock_skus?search[created_at_from]=08/06/2022T17:20:00&search[created_at_until]=08/06/2022T20:50:10

Também é possível(opcional) buscar os skus de um estoque pelas datas de atualização:

GET
/api/v1/stocks/3/stock_skus?search[updated_at_from]=08/06/2022T17:20:00&search[updated_at_until]=08/06/2022T20:50:10

Exemplo de requisição para listagem dos skus

curl -X GET https://sandbox.estoka.com.br/api/v1/stocks/3/stock_skus?page=1 \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do JSON de retorno

{
  "stock_skus": [
    {
      "id": 5,
      "stock_id": 3,
      "product_sku_id": 60,
      "in_stock_quantity": 6,
      "reserved_quantity": null,
      "available_quantity": 6,
      "in_transit_quantity": null,
      "negative_stock": false,
      "replacement_cost": "0.0",
      "minimum_limit": null,
      "batch": null,
      "batch_expiration_date": null,
      "safety_margin": 1,
      "created_at": "2018-05-28T14:56:04.830-03:00",
      "updated_at": "2018-05-29T18:34:08.861-03:00",
      "product_sku": {
        "id": 60,
        "product_id": 22,
        "code": "456",
        "fiscal_code": "DELL6792",
        "ean": "789000000123101",
        "name": "456 - Eptom - Longo, 7SX, 10 cm",
        "width": 0.2,
        "height": 0.3,
        "length": 0.2,
        "weight": 1.2,
        "active": true,
        "description": "Dell I5 Preto",
        "created_at": "2018-05-17T13:18:26.200-03:00",
        "updated_at": "2018-05-24T18:03:08.324-03:00",
        "product_features": {
          "default": [
            {
              "id": 1,
              "name": "Tamanho",
              "feature_variant": {
                "id": 1,
                "name": "15"
              }
            }
          ],
          "additional": [
            {
              "id": 1,
              "name": "Cor",
              "feature_variant": {
                "id": 2,
                "name": "Preto"
              }
            }
          ]
        },
        "provider_skus": [
          {
            "code": "dell-7628-5",
            "provider_id": 5
          },
          {
            "code": "dell-7628-6",
            "provider_id": 6
          }
        ]
      },
      "stock": {
        "id": 3,
        "organization_id": 60,
        "name": "Estoque Nexaas",
        "active": true,
        "zip_code": "20011-020",
        "street": "Rua do Carmo",
        "number": 199,
        "complement": "",
        "city": "Rio de Janeiro",
        "neighborhood": "Centro",
        "state": "RJ",
        "created_at": "2018-05-28T13:36:39.325-03:00",
        "default_safety_margin": 1,
        "sale_channels": [
          {
            "id": 1,
            "name": "Zeenow Commerce",
            "organization_id": 1,
            "global": true,
            "created_at": "2018-04-19T12:22:04.653-03:00",
            "updated_at": "2018-04-19T12:22:04.653-03:00"
          }
        ],
        "kind": "normal",
        "description": "Depósito Matriz",
        "modality": "pickup_on_store"
      }
    }
  ]
}

Busca de SKUs de produtos vinculados a estoques

Retorna uma lista paginada com os SKUs de produtos vinculados a estoques:

POST
/api/v1/stock_skus/search

Para acessar outra página:

POST
/api/v1/stock_skus/search?page=2

Essa requisição retornará uma coleção de SKUs de produtos ordernados por quantidade disponível, que possuam o product_sku_id requisitado e com a quantidade mínima informada no min_quantity.

Exemplo de requisição buscar para SKUs de produtos vinculados a estoques


curl -X POST https://sandbox.estoka.com.br/api/v1/stock_skus/search  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "search": {
    "organization": 1,
    "stock_skus": [
      {
        "product_sku_id": 1,
        "min_quantity": 10
      },
      {
        "product_sku_id": 6,
        "min_quantity": 5
      }
    ]
  }
}

Exemplo do retorno

{
  "stock_skus": [
    {
      "id": 1,
      "stock_id": 1,
      "product_sku_id": 1,
      "in_stock_quantity": 11423,
      "reserved_quantity": null,
      "available_quantity": 10,
      "negative_stock": false,
      "minimum_limit": null,
      "batch": "A1",
      "batch_expiration_date": null,
      "replacement_cost": "0.0",
      "created_at": "2019-01-11T15:44:47.877-02:00",
      "updated_at": "2019-01-11T15:44:47.877-02:00",
      "safety_margin": 1,
      "product_sku": {
        "id": 1,
        "product_id": 1,
        "code": "CAI74",
        "fiscal_code": "DELL6792",
        "ean": "653341157577",
        "additional_eans": ["563341157577"],
        "name": "CAI74 - Notebook Dell Inspiron - 15, Preto",
        "features": [],
        "width": 0.0,
        "height": 0.0,
        "length": 0.0,
        "weight": 0.0,
        "active": true,
        "created_at": "2018-04-16T14:58:27.031-03:00",
        "updated_at": "2019-04-04T10:04:54.995-03:00",
        "description": "Product Sku Description",
        "product_features": {
          "default": [
            {
              "id": 1,
              "name": "Tamanho",
              "feature_variant": {
                "id": 1,
                "name": "15"
              }
            }
          ],
          "additional": [
            {
              "id": 1,
              "name": "Cor",
              "feature_variant": {
                "id": 2,
                "name": "Preto"
              }
            }
          ]
        },
        "provider_skus": [
          {
            "code": "dell-7628-5",
            "provider_id": 5
          },
          {
            "code": "dell-7628-6",
            "provider_id": 6
          }
        ]
      },
      "stock": {
        "id": 1,
        "organization_id": 1,
        "name": "Depósito Nexaas",
        "active": true,
        "zip_code": "20011-020",
        "street": "Rua do Carmo",
        "number": 199,
        "complement": "",
        "city": "Rio de Janeiro",
        "neighborhood": "Centro",
        "state": "RJ",
        "created_at": "2018-05-28T13:36:39.325-03:00",
        "default_safety_margin": 1,
        "sale_channels": [
          {
            "id": 1,
            "name": "Zeenow Commerce",
            "organization_id": 1,
            "global": true,
            "created_at": "2018-04-19T12:22:04.653-03:00",
            "updated_at": "2018-04-19T12:22:04.653-03:00"
          }
        ],
        "kind": "normal",
        "description": "Depósito Nexaas"
      }
    },
    {
      "id": 50,
      "stock_id": 1,
      "product_sku_id": 6,
      "in_stock_quantity": 11423,
      "reserved_quantity": null,
      "available_quantity": 100,
      "negative_stock": false,
      "minimum_limit": null,
      "batch": "A09",
      "batch_expiration_date": null,
      "replacement_cost": "0.0",
      "created_at": "2019-01-11T15:44:47.877-02:00",
      "updated_at": "2019-01-11T15:44:47.877-02:00",
      "safety_margin": 0,
      "product_sku": {
        "id": 1,
        "product_id": 6,
        "code": "CAI76",
        "fiscal_code": "DELL8739",
        "ean": "653341157574",
        "additional_eans": ["563341157574"],
        "name": "CAI76 - Notebook Dell Inspiron - 15, Preto",
        "features": [],
        "width": 0.0,
        "height": 0.0,
        "length": 0.0,
        "weight": 0.0,
        "active": true,
        "created_at": "2018-04-16T14:58:27.031-03:00",
        "updated_at": "2019-04-04T10:04:54.995-03:00",
        "description": "Product Sku Description",
        "product_features": {
          "default": [
            {
              "id": 1,
              "name": "Tamanho",
              "feature_variant": {
                "id": 1,
                "name": "15"
              }
            }
          ],
          "additional": [
            {
              "id": 1,
              "name": "Cor",
              "feature_variant": {
                "id": 2,
                "name": "Preto"
              }
            }
          ]
        },
        "provider_skus": []
      },
      "stock": {
        "id": 2,
        "organization_id": 1,
        "name": "Depósito Nexaas",
        "document": "87189496000252",
        "active": true,
        "zip_code": "20011-020",
        "emites_id": 67,
        "serie_nfe": "1",
        "street": "Rua do Carmo",
        "number": 199,
        "complement": "",
        "city": "Rio de Janeiro",
        "neighborhood": "Centro",
        "state": "RJ",
        "latitude": "-22.9038552",
        "longitude": "-43.1758692",
        "created_at": "2018-05-28T13:36:39.325-03:00",
        "default_safety_margin": 1,
        "sale_channels": [
          {
            "id": 1,
            "name": "Zeenow Commerce",
            "organization_id": 1,
            "global": true,
            "created_at": "2018-04-19T12:22:04.653-03:00",
            "updated_at": "2018-04-19T12:22:04.653-03:00"
          }
        ],
        "kind": "normal",
        "description": "Depósito Nexaas"
      }
    }
  ]
}

Filtra estoques disponíveis por product_sku_id

Retorna os estoques com produtos disponiveis pelo sku.

POST
/api/v1/stocks/infinite_shelf

Este endpoint tem por finalidade listar todos os estoques para cada SKU, quantidade disponível e seu preço filtrados por modalidade e canal de venda.

Exemplo de requisição para listar todos os estoques com quantidades disponíveis para cada SKU


curl -X POST https://sandbox.estoka.com.br/api/v1/stocks/infinite_shelf   \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "product_sku_ids": [2, 1],
  "sale_channel_id": 1,
  "modality": 0
}

Exemplo do retorno

{
    "product_skus": [
        {
            "product_sku_id": 2,
            "sale_channel_id": 1,
            "sku_price": "50.0",
            "safety_margin": 1,
            "stocks": [
                {
                    "id": 4,
                    "organization_id": 1,
                    "name": "Estoque-Teste",
                    "active": true,
                    "zip_code": "04563-010",
                    "street": "Avenida Padre Antônio José dos Santos",
                    "number": "100",
                    "complement": "",
                    "city": "São Paulo",
                    "neighborhood": "Cidade Monções",
                    "state": "SP",
                    "created_at": "2021-07-14T15:33:58.938-03:00",
                    "kind": "reversa",
                    "description": "",
                    "modality": "disabled",
                    "available_quantity": 1033
                }
            ]
        },
        {
            "product_sku_id": 1,
            "sale_channel_id": 1,
            "sku_price": "50.0",
            "safety_margin": 1,
            "stocks": [
                {
                    "id": 1,
                    "organization_id": 1,
                    "name": "Estoque Central",
                    "active": true,
                    "zip_code": "04552-000",
                    "street": "Rua do Rocio",
                    "number": "19999",
                    "complement": "",
                    "city": "São Paulo",
                    "neighborhood": "Vila Oímpia",
                    "state": "SP",
                    "created_at": "2021-07-06T16:20:23.848-03:00",
                    "kind": "normal",
                    "description": null,
                    "modality": "disabled",
                    "available_quantity": 198
                }
            ]
        }
    ]
}

Campos do node "consulta de estoques disponíveis"

Campo Obrig Tipo Observações
product_sku_id Sim Lista Ids dos skus.
sale_channel_id Sim Numérico Id do canal de venda.
modality Não Numérico Modalidade do estoque (Códigos válidos na tabela abaixo )

Códigos válidos em "Modalidade" (modality)

Código Descrição
1 ship_from_store
2 pickup_on_store
3 both

Busca estoques consolidados por product_sku_code

Retorna os estoques com produtos disponiveis pelo sku.

POST
/api/v1/stocks/consolidated_by_sku

Este endpoint tem por finalidade listar todos os estoques com quantidades disponíveis para cada SKU.

Exemplo de requisição buscar para listar todos os estoques com quantidades disponíveis para cada SKU


curl -X POST https://sandbox.estoka.com.br/api/v1/stocks/consolidated_by_sku   \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "product_sku_codes": ["sku123", "UKLO-9874NB"],
  "sale_channel_id": 5
}

Exemplo do retorno

{
  "product_skus": [
    {
      "product_sku_code": "sku123",
      "quantity_total": 141,
      "sale_channel_id": 5,
      "stocks": [
        {
          "organization_id": 2,
          "stock_id": 1,
          "available_quantity": 1,
          "safety_margin": 3
        },
        {
          "organization_id": 2,
          "stock_id": 2,
          "available_quantity": 20,
          "safety_margin": 3
        },
        {
          "organization_id": 6,
          "stock_id": 3,
          "available_quantity": 120,
          "safety_margin": 3
        }
      ]
    },
    {
      "product_sku_code": "UKLO-9874NB",
      "quantity_total": 89,
      "sale_channel_id": 5,
      "stocks": [
        {
          "organization_id": 2,
          "stock_id": 1,
          "available_quantity": 1,
          "safety_margin": 3
        },
        {
          "organization_id": 6,
          "stock_id": 3,
          "available_quantity": 88,
          "safety_margin": 3
        }
      ]
    }
  ]
}

Ajuste de quantidade em estoque

Ajusta a quantidade disponivel em estoque do item.

POST
/api/v1/stock_movements/adjust_available_stock

Este endpoint tem por finalidade ajustar a quatindade disponivel em estoque alterando imediatamente a quantidade disponivel

Exemplo de requisição para ajuste de estoque


curl -X POST https://sandbox.estoka.com.br/api/v1/stock_movements/adjust_available_stock   \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
   "stock_id":1,
   "organization_id": 1,
   "product_skus":[
      {
         "id":108786,
         "code":"CAI7556",
         "quantity":103,
         "batch":"TETESTE***##$#"
      }
   ]
}

Exemplo do retorno

{
   "organization_id":1,
   "stock_id":1,
   "moved_at":"2022-07-20T08:41:24.848-03:00",
   "operation_type":"adjust_available_stock",
   "stock_movements":[
      {
         "id":5,
         "product_sku_id":1,
         "type":"entry",
         "quantity":10000,
         "batch":null
      }
   ]
}

Campos do node "ajuste estoque"

Campo Obrig Tipo Observações
stock_id Sim Númerico Id do estoque.
organization_id Sim Númerico Id da organização.
product_skus Sim Lista Sku que serão ajustado.

Campos do node "product_skus"

Campo Obrig Tipo Observações
id Sim Númerico Id do sku.
code Sim Texto Código do sku.
quantity Sim Númerico quantide em estoque.
batch Sim Númerico Lote do sku.

Entrada de mercadorias

Cria uma entrada de mercadoria

Cria um nova entrada de mercadorias

POST
/api/v1/receivements

Exemplo da requisição:

curl -X POST https://sandbox.estoka.com.br/api/v1/receivements  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
   "organization_id": 1,
   "responsible": "Roger Bispo",
   "general_data":{
      "number":"27886", 
      "serie":"6",
      "nfe_code":"NFe33180756794084000641550060000278861144439179",
      "access_key":"NFe33180756794084000641550060000278861144439179",
      "total_nfe":"360.15",
      "emission_date":"2018-07-17T14:43:34-03:00",
      "natureza_operacao":"Devolucao Simbolica de Mercadoria Recebida em Consignacao",
      "shipment":{
         "codigo_modalidade":"0"
      }
   },
   "provider":{
      "document":"56794084000641",
      "name":"Dufry do Brasil Duty Free Shop LTDA.",
      "state_inscription":"75866577",
      "address":{
         "street":"Rua da Assembleia",
         "number":"51",
         "detail":"ap 208",
         "zipcode":"20011001",
         "neighborhood":"Centro",
         "city_code":"3304557",
         "city":"Rio de janeiro",
         "state":"RJ",
         "country":"1058"
      }
   },
   "products":[
      {
         "index":"1",
         "code":"6956666",
         "description":"PRODUTO1 - Notebook Dell Inspiron",
         "ncm":"63079090",
         "cfop":"6102",
         "measure":"6102",
         "taxable_measure":"EA",
         "quantity":"100.0000",
         "ean":"789500740431",
         "taxable_quantity":"1.0000",
         "order_number":"345678",
         "order_item_number":"0",
         "unit_value":"206.3400",
         "taxable_unit_value":"120.3400",
         "discount_value":"2.20",
         "freight":"0",
         "insurance":"0",
         "incidental_expenses":"0",
         "total_cost":"360.15",
         "scale_production":"S",
         "taxation":{
            "icms":{
               "situacao_tributaria":"90",
               "codigo_origem_produto":"2",
               "valor_uf_remetente_interestadual":"0",
               "valor_uf_destinatario_interestadual":"0",
               "valor_fcp_interestadual":"0",
               "valor_icms_substituto":"0",
               "valor_fcp_st_retido":"0",
               "valor_efetivo":"0",
               "valor_fcp":"0",
               "valor_fcp_st":"0",
               "situacao_simples_nacional":"0",
               "motivo_desoneracao":"0",
               "uf_icmsst_devido":"0",
               "credito_icms_simples_nacional":"0",
               "valor_icms_desonerado":"0",
               "valor_icms_diferido":"0",
               "valor_icms_operacao":"0",
               "valor_icmsst_retido_destino":"0",
               "valor_icms":"0",
               "valor_icms_st":"0",
               "valor_base_calculo_uf_dest":"0",
               "valor_base_calculo_fcp_st_retido":"0",
               "valor_base_calculo_efetivo":"0",
               "valor_base_calculo":"200.00",
               "valor_base_calculo_st":"0",
               "valor_base_calculo_fcp":"0",
               "valor_base_calculo_fcp_st":"0",
               "base_calculo_icmsst_destino":"0",
               "base_calculo_operacao_propria":"0",
               "base_calculo_icmsst_remetente":"0",
               "valor_icmsst_retido_remetente":"0",
               "aliquota_interna_interestadual":"0",
               "aliquota_interestadual":"0",
               "aliquota_consumidor_final":"0",
               "aliquota_fcp_st_retido":"0",
               "aliquota_efetiva":"0",
               "aliquota_fcp":"0",
               "aliquota_fcp_st":"0",
               "aliquota_icms":"1.0",
               "aliquota_icms_st":"0",
               "aliquota_icms_simples_nacional":"0",
               "perc_provisorio_interestadual":"0",
               "perc_fcp_interestadual":"0",
               "perc_reducao_base_calculo_efetivo":"0",
               "perc_diferimento":"0",
               "perc_mva_icms_st":"0",
               "perc_reducao_base_calculo":"0",
               "perc_reducao_base_calculo_st":"0",
               "modalidade_base_calculo":"3",
               "modalidade_base_calculo_st":"0"
            },
            "ipi":{
               "valor_base_calculo":"200.00",
               "aliquota_ipi":"5.0",
               "valor_ipi":"20.0",
               "codigo_enquadramento":"0",
               "cnpj_produtor":"0",
               "codigo_selo_controle":"0",
               "quantidade_selo_controle":"0",
               "valor_unidade":"0",
               "quantidade_unidade":"0"
            },
            "pis":{
               "valor_base_calculo":"200",
               "aliquota_pis":"10.0",
               "valor_pis":"20.0",
               "quantidade_vendida":"2",
               "aliquota_pis_reais":"200.0"
            },
            "cofins":{
               "valor_base_calculo":"0",
               "aliquota_cofins":"0",
               "valor_cofins":"0",
               "quantidade_vendida":"0",
               "aliquota_cofins_reais":"0"
            },
            "importacao":{
               "base_calculo_importacao":"0",
               "valor_despesas_aduaneiras":"0",
               "valor_imposto_importacao":"0",
               "valor_iof":"0"
            }
         },
         "traceability":{
            "numero_lote":"0",
            "quantidade_lote":"200",
            "data_fabricacao":"2018-11-13",
            "data_validade":"2020-11-30",
            "codigo_agregacao":"989909"
         }
      },
      {
         "index":"1",
         "code":"6956666",
         "description":"PRODUTO1 - Notebook Dell Inspiron",
         "ncm":"63079090",
         "cfop":"6102",
         "measure":"6102",
         "taxable_measure":"EA",
         "quantity":"100.0000",
         "ean":"789500740431",
         "taxable_quantity":"1.0000",
         "order_number":"345678",
         "order_item_number":"0",
         "unit_value":"206.3400",
         "taxable_unit_value":"120.3400",
         "discount_value":"2.20",
         "freight":"0",
         "insurance":"0",
         "incidental_expenses":"0",
         "total_cost":"360.15",
         "scale_production":"S",
         "taxation":{
            "icms":{
               "situacao_tributaria":"90",
               "codigo_origem_produto":"2",
               "valor_uf_remetente_interestadual":"0",
               "valor_uf_destinatario_interestadual":"0",
               "valor_fcp_interestadual":"0",
               "valor_icms_substituto":"0",
               "valor_fcp_st_retido":"0",
               "valor_efetivo":"0",
               "valor_fcp":"0",
               "valor_fcp_st":"0",
               "situacao_simples_nacional":"0",
               "motivo_desoneracao":"0",
               "uf_icmsst_devido":"0",
               "credito_icms_simples_nacional":"0",
               "valor_icms_desonerado":"0",
               "valor_icms_diferido":"0",
               "valor_icms_operacao":"0",
               "valor_icmsst_retido_destino":"0",
               "valor_icms":"0",
               "valor_icms_st":"0",
               "valor_base_calculo_uf_dest":"0",
               "valor_base_calculo_fcp_st_retido":"0",
               "valor_base_calculo_efetivo":"0",
               "valor_base_calculo":"200.00",
               "valor_base_calculo_st":"0",
               "valor_base_calculo_fcp":"0",
               "valor_base_calculo_fcp_st":"0",
               "base_calculo_icmsst_destino":"0",
               "base_calculo_operacao_propria":"0",
               "base_calculo_icmsst_remetente":"0",
               "valor_icmsst_retido_remetente":"0",
               "aliquota_interna_interestadual":"0",
               "aliquota_interestadual":"0",
               "aliquota_consumidor_final":"0",
               "aliquota_fcp_st_retido":"0",
               "aliquota_efetiva":"0",
               "aliquota_fcp":"0",
               "aliquota_fcp_st":"0",
               "aliquota_icms":"1.0",
               "aliquota_icms_st":"0",
               "aliquota_icms_simples_nacional":"0",
               "perc_provisorio_interestadual":"0",
               "perc_fcp_interestadual":"0",
               "perc_reducao_base_calculo_efetivo":"0",
               "perc_diferimento":"0",
               "perc_mva_icms_st":"0",
               "perc_reducao_base_calculo":"0",
               "perc_reducao_base_calculo_st":"0",
               "modalidade_base_calculo":"3",
               "modalidade_base_calculo_st":"0"
            },
            "ipi":{
               "valor_base_calculo":"200.00",
               "aliquota_ipi":"5.0",
               "valor_ipi":"20.0",
               "codigo_enquadramento":"0",
               "cnpj_produtor":"0",
               "codigo_selo_controle":"0",
               "quantidade_selo_controle":"0",
               "valor_unidade":"0",
               "quantidade_unidade":"0"
            },
            "pis":{
               "valor_base_calculo":"200",
               "aliquota_pis":"10.0",
               "valor_pis":"20.0",
               "quantidade_vendida":"2",
               "aliquota_pis_reais":"200.0"
            },
            "cofins":{
               "valor_base_calculo":"0",
               "aliquota_cofins":"0",
               "valor_cofins":"0",
               "quantidade_vendida":"0",
               "aliquota_cofins_reais":"0"
            },
            "importacao":{
               "base_calculo_importacao":"0",
               "valor_despesas_aduaneiras":"0",
               "valor_imposto_importacao":"0",
               "valor_iof":"0"
            }
         },
         "traceability":{
            "numero_lote":"0",
            "quantidade_lote":"200",
            "data_fabricacao":"2018-11-13",
            "data_validade":"2020-11-30",
            "codigo_agregacao":"989909"
         }
      }
   ],
   "recipient":{
      "name":"Zeenow - Botafogo",
      "document":"96833622000170",
      "address":{
         "street":"Rua Doutor Alencar Lima",
         "number":"KM 71",
         "detail":"GALPAO09 LOTE B DO LOG JUNDIAI BUS",
         "zipcode":"25620050",
         "neighborhood":"CENTRO",
         "city_code":"3303906",
         "city":"PETRÓPOLIS",
         "state":"RJ",
         "country":"1058"
      }
   },
   "shipping":{
      "codigo_modalidade":"0",
      "transportadora":{
         "cnpj":"99171171000191",
         "nome":"Distribuidora de Bebidas Fazenda de SP Ltda.",
         "inscricao_estadual":"171999999119",
         "endereco":"Rua Central 100 - Fundos - Distrito Industrial",
         "municipio":"SAO PAULO",
         "uf":"SP"
      },
      "retencao":{
         "valor_servico":"0",
         "base_retencao_icms":"0",
         "aliquota_icms":"0",
         "valor_icms":"0",
         "cfop":"6102"
      },
      "volume":{
         "quantidade":"10000",
         "especie":"CAIXA",
         "peso_liquido":"1000000000.000",
         "peso_bruto":"1200000000.000"
      }
   },
   "total":{
      "valor_total":"360.15",
      "base_calculo_icms":"200.00",
      "valor_icms":"2.00",
      "base_calculo_icms_st":"0.0",
      "valor_icms_st":"0.00",
      "valor_ipi":"0.0",
      "valor_pis":"0.0",
      "valor_cofins":"0.0",
      "valor_seguro":"0.0",
      "valor_frete":"0.0",
      "outras_despesas":"0.0",
      "desconto":"0.0"
   }
}

Exemplo do retorno

{
  "id": 10,
  "status": "opened",
  "stock_xml_import_id": 9,
  "created_at": "2021-01-28T12:14:40.442-03:00",
  "updated_at": "2021-01-28T12:14:40.442-03:00",
  "user_id": null,
  "provider_id": 1,
  "stage": "documentary",
  "from": "api"
}

Campos de entrada de mercadorias

Campo Obrig Tipo Observações
organization_id Sim Numérico Id da organização
responsible Sim String Nome do usuario criador
general_data Sim Object node 'ide' do xml
provider Sim Object node 'emit' do xml
products Sim Object node 'det' do xml
recipient Sim Object node 'dest' do xml
shipping Sim Object node 'transp' do xml
total Sim Object node 'total' dentro de 'ICMSTot' do xml

Object general_data

Campo Obrig Tipo Observações
number Sim string node 'nNF' dentro de 'ide' do xml
serie Sim string node 'serie' dentro de 'ide' do xml
nfe_code Sim string node 'cNF' dentro de 'ide' do xml
access_key Sim string node attribute 'id' do node 'infNFe' do xml
total_nfe Sim string node 'vNF' dentro de 'total' do xml
emission_date Sim string node 'dhEmi' dentro de 'ide' do xml
natureza_operacao Sim string node 'natOp' dentro de 'ide' do xml
shipment Sim Object node 'transp' do xml

general_data data shipping object

Campo Obrig Tipo Observações
codigo_modalidade Sim string node 'modFrete' dentro de 'transp' do xml

object provider

Campo Obrig Tipo Observações
document Sim string node 'CNPJ' dentro de 'emit' do xml
name Sim string node 'xNome' dentro de 'emit' do xml
state_inscription Sim string node 'IE' dentro de 'emit' do xml
address Sim object node 'enderEmit' dentro de 'emit' do xml

object address

Campo Obrig Tipo Observações
street Não string node 'xLgr' do xml
number Não string node 'nro' do xml
detail Não string node 'xCpl' do xml
zipcode Não string node 'CEP' do xml
neighborhood Não string node 'xBairro' do xml
city_code Não string node 'cMun' do xml
city Não string node 'xMun' do xml
state Não string node 'UF' do xml
country Não string node 'cPais' do xml

object products

Campo Obrig Tipo Observações
index Sim string node 'det' attribute 'nItem' do xml
code Sim string node 'det>prod>cProd' do xml
description Sim string node 'det>prod>xProd' do xml
ncm Sim string node 'det>prod>NCM' do xml
cfop Sim string node 'det>prod>CFOP' do xml
measure Sim string node 'det>prod>uCom' do xml
taxable_measure Sim string node 'det>prod>uTrib' do xml
quantity Sim string node 'det>prod>qCom' do xml
ean Não string node 'det>prod>cEAN' do xml
taxable_quantity Sim string node 'det>prod>qTrib' do xml
order_number Não string node 'det>prod>xPed' do xml
order_item_number Não string node 'det>prod>nItemPed' do xml
unit_value Sim string node 'det>prod>vUnCom' do xml
taxable_unit_value Sim string node 'det>prod>vUnTrib' do xml
discount_value Sim string node 'det>prod>vDesc' do xml
freight Sim string node 'det>prod>vFrete' do xml
insurance Sim string node 'det>prod>vSeg' do xml
incidental_expenses Sim string node 'det>prod>vOutro' do xml
total_cost Sim string node 'det>prod>vProd' do xml
scale_production Sim string node 'det>prod>indEscala' do xml
traceability Sim object node 'det>prod>cProd' do xml
taxation Sim object node 'det>prod>cProd' do xml

Object traceability of products

Campo Obrig Tipo Observações
numero_lote Não string node 'rastro>nLote' do xml
quantidade_lote Não string node 'rastro>qLote' do xml
data_fabricacao Não string node 'rastro>dFab' do xml
data_validade Não string node 'rastro>dVal' do xml
codigo_agregacao Não string node 'rastro>cAgreg' do xml

Object taxation of products

Campo Obrig Tipo Observações
icms Sim object node 'imposto>ICMS' do xml
ipi Sim object node 'imposto>IPI' do xml
pis Sim object node 'imposto>PIS' do xml
cofins Sim object node 'imposto>COFINS' do xml
importacao Sim object node 'imposto>II' do xml

Object products>taxation>icms

Campo Obrig Tipo Observações
codigo_origem_produto Sim string node 'imposto>ICMS>orig' do xml
valor_uf_remetente_interestadual Sim string node 'imposto>ICMS>vICMSUFRemet' do xml
valor_uf_destinatario_interestadual Sim string node 'imposto>ICMS>vICMSUFDest' do xml
valor_fcp_interestadual Sim string node 'imposto>ICMS>vFCPUFDest' do xml
valor_icms_substituto Sim string node 'imposto>ICMS>vICMSSubstituto' do xml
valor_fcp_st_retido Sim string node 'imposto>ICMS>vFCPSTRet' do xml
valor_efetivo Sim string node 'imposto>ICMS>vICMSEfet' do xml
valor_fcp Sim string node 'imposto>ICMS>vFCP' do xml
valor_fcp_st Sim string node 'imposto>ICMS>vFCPST' do xml
situacao_Simples_nacional Sim string node 'imposto>ICMS>CSOSN' do xml
motivo_desoneracao Sim string node 'imposto>ICMS>motDesICMS' do xml
uf_icmsst_devido Sim string node 'imposto>ICMS>UFST' do xml
credito_icms_Simples_nacional Sim string node 'imposto>ICMS>vCredICMSSN' do xml
valor_icms_desonerado Sim string node 'imposto>ICMS>vICMSDeson' do xml
valor_icms_diferido Sim string node 'imposto>ICMS>vICMSDif' do xml
valor_icms_operacao Sim string node 'imposto>ICMS>vICMSOp' do xml
valor_icmsst_retido_destino Sim string node 'imposto>ICMS>vICMSSTDest' do xml
valor_icms Sim string node 'imposto>ICMS>vICMS' do xml
valor_icms_st Sim string node 'imposto>ICMS>vICMSST' do xml
base_calculo_icmsst_remetente Sim string node 'imposto>ICMS>vBCSTRet' do xml
valor_icmsst_retido_remetente Sim string node 'imposto>ICMS>vICMSSTRet' do xml
base_icmsst_retido Sim string node 'imposto>ICMS>vBCSTRet' do xml
valor_icmsst_retido Sim string node 'imposto>ICMS>vICMSSTRet' do xml
valor_base_calculo_uf_dest Sim string node 'imposto>ICMS>vBCUFDest' do xml
valor_base_calculo_fcp_st_retido Sim string node 'imposto>ICMS>vBCFCPSTRet' do xml
valor_base_calculo_efetivo Sim string node 'imposto>ICMS>vBCEfet' do xml
valor_base_calculo Sim string node 'imposto>ICMS>vBC' do xml
valor_base_calculo_st Sim string node 'imposto>ICMS>vBCST' do xml
valor_base_calculo_fcp Sim string node 'imposto>ICMS>vBCFCP' do xml
valor_base_calculo_fcp_st Sim string node 'imposto>ICMS>vBCFCPST' do xml
base_calculo_icmsst_destino Sim string node 'imposto>ICMS>vBCSTDest' do xml
base_calculo_operacao_propria Sim string node 'imposto>ICMS>pBCOp' do xml
aliquota_interna_interestadual Sim string node 'imposto>ICMS>pICMSUFDest' do xml
aliquota_interestadual Sim string node 'imposto>ICMS>pICMSInter' do xml
aliquota_consumidor_final Sim string node 'imposto>ICMS>pST' do xml
aliquota_fcp_st_retido Sim string node 'imposto>ICMS>pFCPSTRet' do xml
aliquota_efetiva Sim string node 'imposto>ICMS>pICMSEfet' do xml
aliquota_fcp Sim string node 'imposto>ICMS>pFCP' do xml
aliquota_fcp_st Sim string node 'imposto>ICMS>pFCPST' do xml
aliquota_icms Sim string node 'imposto>ICMS>pICMS' do xml
aliquota_icms_st Sim string node 'imposto>ICMS>pICMSST' do xml
aliquota_icms_Simples_nacional Sim string node 'imposto>ICMS>pCredSN' do xml
perc_provisorio_interestadual Sim string node 'imposto>ICMS>pICMSInterPart' do xml
perc_fcp_interestadual Sim string node 'imposto>ICMS>pFCPUFDest' do xml
perc_reducao_base_calculo_efetivo Sim string node 'imposto>ICMS>pRedBCEfet' do xml
perc_diferimento Sim string node 'imposto>ICMS>pDif' do xml
perc_mva_icms_st Sim string node 'imposto>ICMS>pMVAST' do xml
perc_reducao_base_calculo Sim string node 'imposto>ICMS>pRedBC' do xml
perc_reducao_base_calculo_st Sim string node 'imposto>ICMS>pRedBCST' do xml
modalidade_base_calculo Sim string node 'imposto>ICMS>modBC' do xml
modalidade_base_calculo_st Sim string node 'imposto>ICMS>modBCST' do xml

Object products>taxation>ipi

Campo Obrig Tipo Observações
valor_base_calculo Sim string node 'imposto>IPI>vBC' do xml
aliquota_ipi Sim string node 'imposto>IPI>pIPI' do xml
valor_ipi Sim string node 'imposto>IPI>vIPI' do xml
codigo_enquadramento Sim string node 'imposto>IPI>cEnq' do xml
cnpj_produtor Sim string node 'imposto>IPI>CNPJProd' do xml
codigo_selo_controle Sim string node 'imposto>IPI>cSelo' do xml
quantidade_selo_controle Sim string node 'imposto>IPI>qSelo' do xml
valor_unidade Sim string node 'imposto>IPI>vUnid' do xml
quantidade_unidade Sim string node 'imposto>IPI>qUnid' do xml

Object products>taxation>pis

Campo Obrig Tipo Observações
valor_base_calculo Sim string node 'imposto>PIS>vBC' do xml
aliquota_pis Sim string node 'imposto>PIS>pPIS' do xml
valor_pis Sim string node 'imposto>PIS>vPIS' do xml
quantidade_vendida Sim string node 'imposto>PIS>qBCProd' do xml
aliquota_pis_reais Sim string node 'imposto>PIS>vAliqProd' do xml

Object products>taxation>cofins

Campo Obrig Tipo Observações
valor_base_calculo Sim string node 'imposto>cofins>vBC' do xml
aliquota_cofins Sim string node 'imposto>cofins>pCOFINS' do xml
valor_cofins Sim string node 'imposto>cofins>vCOFINS' do xml
quantidade_vendida Sim string node 'imposto>cofins>qBCProd' do xml
aliquota_cofins_reais Sim string node 'imposto>cofins>vAliqProd' do xml

Object products>taxation>cofins

Campo Obrig Tipo Observações
base_calculo_importacao Sim string node 'imposto>import>vBC' do xml
valor_despesas_aduaneiras Sim string node 'imposto>import>vDespAdu' do xml
valor_imposto_importacao Sim string node 'imposto>import>vII' do xml
valor_iof Sim string node 'imposto>import>vIOF' do xml

Object recipient

Campo Obrig Tipo Observações
name Sim string node 'imposto>import>xNome' do xml
document Sim string node 'recipient>CPF OU CNPJ' do xml
address Sim object node 'recipient>address' do xml

Object shipping

Campo Obrig Tipo Observações
codigo_modalidade Sim string node 'transp>modFrete' do xml
transportadora Sim object node 'transp>transporta' do xml
retencao Sim object node 'transp>retTransp' do xml
volume Sim object node 'transp>vol' do xml

Object shipping transportadora

Campo Obrig Tipo Observações
cnpj Não string node 'transp>transporta>CNPJ' do xml
nome Não string node 'transp>transporta>xNome' do xml
inscricao_estadual Não string node 'transp>transporta>IE' do xml
endereco Não string node 'transp>transporta>xEnder' do xml
municipio Não string node 'transp>transporta>xMun' do xml
uf Não string node 'transp>transporta>UF' do xml

Object shipping retencao

Campo Obrig Tipo Observações
valor_servico Não string node 'transp>retTransp>vServ' do xml
base_retencao_icms Não string node 'transp>retTransp>vBCRet' do xml
aliquota_icms Não string node 'transp>retTransp>pICMSRet' do xml
valor_icms Não string node 'transp>retTransp>vICMSRet' do xml
cfop Não string node 'transp>retTransp>CFOP' do xml

Object shipping volume

Campo Obrig Tipo Observações
quantidade Não string node 'transp>vol>qVol' do xml
especie Não string node 'transp>vol>esp' do xml
peso_liquido Não string node 'transp>vol>pesoL' do xml
peso_bruto Não string node 'transp>vol>pesoB' do xml

Object total

Campo Obrig Tipo Observações
valor_total Sim string node 'total>ICMSTot>vProd' do xml
base_calculo_icms Sim string node 'total>ICMSTot>vBC' do xml
valor_icms Sim string node 'total>ICMSTot>vICMS' do xml
base_calculo_icms_st Sim string node 'total>ICMSTot>vBCST' do xml
valor_icms_st Sim string node 'total>ICMSTot>vST' do xml
valor_ipi Sim string node 'total>ICMSTot>vIPI' do xml
valor_pis Sim string node 'total>ICMSTot>vPIS' do xml
valor_cofins Sim string node 'total>ICMSTot>vCOFINS' do xml
valor_seguro Sim string node 'total>ICMSTot>vSeg' do xml
valor_frete Sim string node 'total>ICMSTot>vFrete' do xml
outras_despesas Sim string node 'total>ICMSTot>vOutro' do xml
desconto Sim string node 'total>ICMSTot>vDesc' do xml

Cria uma entrada de mercadoria simplificada

Cria um nova entrada de mercadorias

POST
/api/v1/stock_movements/entry

Exemplo da requisição:

curl -X POST https://sandbox.estoka.com.br/api/v1/stock_movements/entry \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
   "stock_id":"1",
   "organization_id":"1",
   "operation_type":"manually",
   "note":"observação qualquer",
   "product_skus":[
      {
         "code": "code_A",
         "safety_margin": 10,
         "minimum_limit": 3,
         "negative_stock": false,
         "quantity":1
      },
      {
         "code": "code_B",
         "safety_margin": 30,
         "minimum_limit": 5,
         "negative_stock": true,
         "quantity":1
      }
   ]
}

Exemplo do retorno

{
  "id": 13,
  "user_id": null,
  "stock_id": 1,
  "moved_at": "2021-03-19T21:41:00.000-03:00",
  "operation_type": "manually",
  "note": "observação qualquer",
  "created_at": "2021-03-19T21:42:14.685-03:00",
  "updated_at": "2021-03-19T21:42:14.685-03:00",
  "stock_movement_type": "entry",
  "order_id": null,
  "provider_return_id": null,
  "nfe_access_key": null,
  "requester_type": null,
  "requester_id": null,
  "stock_xml_import_id": null,
  "status": "processed"
}

Campos de entrada de mercadorias simplificada

Campo Obrig Tipo Observações
stock_id Sim Numérico Id do estoque
organization_id Sim Numérico Id da organização
operation_type Sim String Motivo da entrada
note Não String Observação
product_skus Sim Object Skus para entrada

Object product_skus

Campo Obrig Tipo Observações
code Sim String Codigo do sku
safety_margin Não Numérico Margem de segurança
negative_stock Não Booleano Permite estoque negativo
minimum_limit Não Numérico Estoque mínimo
quantity Sim Numérico Quantidade da entrada

Valores válidos para operation_type

Código Descrição
manually Entrada Manual
buy Compra
return Devolução
stock_adjust Ajuste de inventário

Fabricantes

Criar um fabricante

Cria um novo fabricante para ser relacionado a uma Marca.

POST
/api/v1/manufacturers

Exemplo da requisição:

curl -X POST https://sandbox.estoka.com.br/api/v1/manufacturers  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
    "manufacturer": {
        "name": "Ferrari",
        "organization_id": 1,
        "external_id": "fer1"
    }
}

Exemplo do retorno

{
    "manufacturer": {
        "id": 7,
        "external_id": "fer1",
        "name": "Ferrari",
        "created_at": "2020-04-07T10:58:43.330-03:00",
        "updated_at": "2020-04-07T10:58:43.330-03:00",
        "organization_id": 1,
        "account_id": 1
    }
}

Campos do node "manufacturer"

Campo Obrig Tipo Observações
organization_id Não Numérico Id da organização de origem do fabricante
name Sim Texto Nome do fabricante
external_id Não Texto Id externo do fabricante. Máximo de 19 caracteres

Consulta um fabricante

Retorna um fabricante a partir do seu id.

GET
/api/v1/manufacturers/:manufacturer_id
curl -X GET https://sandbox.estoka.com.br/api/v1/manufacturers/1  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do retorno

{
  "manufacturer": {
    "id": 1,
    "name": "Comercio de Componentes Eletrônicos",
    "created_at": "2018-09-11T19:58:21.534-03:00",
    "updated_at": "2018-09-11T19:58:21.534-03:00",
    "organization_id": 3
  }
}

Faturas

Status Documento Fiscal (NFc-e) em Contingência

Muda status do documento fiscal em contingência

PUT
/api/v1/invoices/update_by_access_key

Exemplo para criar um novo cliente

curl -X PUT https://sandbox.estoka.com.br/api/v1/invoices/update_by_access_key  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "access_key": "11234567890123456789012345678901434967890123",
  "authorization_status": "Inutilizada"
}

Exemplo do json de resposta da requisição

{
  "access_key": "11234567890123456789012345678901434967890123",
  "authorization_status": "Inutilizada",
  "type": "sale",
  "description": "Venda",
  "number": "Número da NFe",
  "serie": "Série da NFe"
}

Campos da requisição

Campo Obrig Tipo Observações
access_key Sim Texto chave de acesso da nota fiscal
authorization_status Sim Númerico status selecionado

Fornecedores

Cadastrar um Fornecedor

Cadastra um novo fornecedor.

POST
/api/v1/providers

Exemplo para criar um novo fornecedor

curl -X POST https://sandbox.estoka.com.br/api/v1/providers  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
   "provider":{
      "document":"17799377000236",
      "organization_id": 1,
      "name":"Myfinance Consultoria e Informática LTDA",
      "trading_name":"Nexaas",
      "state_inscription_type":"icms",
      "state_inscription":"633570664810",
      "provider_type": "carrier",
      "street": "Rua do rocio",
      "number": "199",
      "detail":  "10 andar",
      "zipcode": "01001000",
      "neighborhood": "Vila olimpia",
      "city": "Sao Paulo",
      "city_code": "01001000",
      "state": "SP",
      "country": "BR"
   }
}

Exemplo do retorno

{
    "provider": {
        "id": 13,
        "organization_id": 1,
        "document": "17799377000236",
        "name":"Myfinance Consultoria e Informática LTDA",
        "trading_name": "Nexaas",
        "state_inscription_type": "icms",
        "state_inscription":"633570664810",
        "provider_type": "carrier",
        "street": "Rua do rocio",
        "number": "199",
        "detail":  "10 andar",
        "zipcode": "01001000",
        "neighborhood": "Vila olimpia",
        "city": "Sao Paulo",
        "city_code": "01001000",
        "state": "SP",
        "country": "BR",
        "created_at": "2020-03-31T16:15:35.647-03:00",
        "updated_at": "2020-03-31T16:15:35.647-03:00"
    }
}

Campos do node "provider"

Campo Obrig Tipo Observações
document Sim Texto CNPJ do fornecedor, sem pontuação
organization_id Não Númerico Código da organização ao qual deseja relacionar o fornecedor
name Sim Texto Razão social do fornecedor
trading_name Sim Texto Nome fantasia do fornecedor
state_inscription_type Sim Texto Tipo de inscrição no ICMS (ver tabela abaixo)
street Sim Texto Rua do fornecedor
number Sim Texto Numero do fornecedor
detail Sim Texto Observaçoes sobre o endereço
zipcode Sim Texto Cep do fornecedor
neighborhood Sim Texto Bairro do fornecedor
city Sim Texto Cidade do fornecedor
state Sim Texto Estado do fornecedor
country Sim Texto Pais do fornecedor
state_inscription Não Texto Inscrição estadual do fornecedor

Opções possíveis para state_inscription_type

Valor Tradução Descrição
icms Contribuinte do ICMS 1 - Contribuinte do ICMS
free Contribuinte isento 2 - Contribuinte isento
non_taxpayer Não contribuinte 9 - Não contribuinte

Opções possíveis para provider_type

Valor Tradução
manufacturer Fabricante
importer Importador
distributor Distribuidor
carrier Transportadora

Marcas

Criar uma marca

Cria uma nova marca para ser relacionada a um Produto.

POST
/api/v1/product_brands

Exemplo da requisição:

curl -X POST https://sandbox.estoka.com.br/api/v1/product_brands  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "product_brand": {
    "external_id": "ggrc1",
    "name": "GG RC",
    "organization_id": 1,
    "manufacturer_id": 1
  }
}

Exemplo do retorno

{
  "product_brand": {
    "id": 1,
    "external_id": "ggrc1",
    "account_id": 1,
    "organization_id": 1,
    "manufacturer_id": 1,
    "name": "GG RC",
    "created_at": "2020-04-02T11:18:07.066-03:00",
    "updated_at": "2020-04-02T11:18:07.066-03:00"
  }
}

Campos do node "product_brand"

Campo Obrig Tipo Observações
organization_id Não Numérico Id da organização de origem da marca
manufacturer_id Não Numérico Id do fabricante
name Sim Texto Nome da marca
external_id Não Texto Id externo da marca. Máximo de 19 caracteres

Consulta uma marca

Retorna uma marca a partir do seu id.

GET
/api/v1/product_brands/:product_brand_id

Exemplo da requisição:

curl -X GET https://sandbox.estoka.com.br/api/v1/product_brands/1  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do retorno

{
  "product_brand": {
    "id": 1,
    "external_id": "cgrc1",
    "account_id": 1,
    "organization_id": 1,
    "manufacturer_id": 1,
    "name": "CG RC",
    "created_at": "2018-09-11T20:05:32.687-03:00",
    "updated_at": "2018-09-11T20:05:32.687-03:00"
  }
}

Organizações

Cria organização

Cria uma nova organização/estabelecimento na conta.

POST
/api/v1/organizations

Exemplo de requisição para cadastro de Organização

curl -X GET https://sandbox.estoka.com.br/api/v1/organizations  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "organization": {
    "external_id": "10U-1980",
    "name": "Nome da Organização",
    "cnpj": "00.100.200/0001-00",
    "state": "SP",
    "zip_code": "10000-100",
    "neighborhood": "Morumbi",
    "number": 2000,
    "street": "Av. Morumbi",
    "complement": "Shopping Morumbi",
    "city": "São Paulo",
    "city_code": 12345,
    "use_average_cost": true,
    "average_withdrawal_term": 5,
    "average_withdrawal_price": 19.90,
    "company_name": "Razão Social S/A",
    "emites_id": 12355,
    "state_registration": "38217382732",
    "tax_regime": 1,
    "kind": 4,
    "serie_nfe": "1",
    "latitude": "-23.622093",
    "longitude": "-46.698969",
    "parent_id": null,
    "delivery_radius_max": "ahundred",
    "additional_nfe_info": "informacoes adicionais para nota fiscal",
    "auto_invoice": true,
    "auto_generate_label": true

  }
}

Exemplo do retorno

{
  "organization": {
    "id": 4,
    "external_id": "10U-1980",
    "account_id": 1,
    "name": "Nome da Organização",
    "cnpj": "00100200000100",
    "state": "SP",
    "state_code": 35,
    "zip_code": "10000-100",
    "neighborhood": "Morumbi",
    "number": "2000",
    "street": "Av. Morumbi",
    "complement": "Shopping Morumbi",
    "city": "São Paulo",
    "city_code": "12345",
    "use_average_cost": true,
    "average_withdrawal_term": 5,
    "average_withdrawal_price": 19.9,
    "created_at": "2020-04-14T12:31:31.045-03:00",
    "updated_at": "2020-04-14T12:31:31.045-03:00",
    "company_name": "Razão Social S/A",
    "emites_id": 12355,
    "state_registration": "38217382732",
    "tax_regime": "simples_nacional",
    "kind": "other",
    "serie_nfe": "1",
    "latitude": "-23.622093",
    "longitude": "-46.698969",
    "parent_id": null,
    "delivery_radius_max": "ahundred",
    "additional_nfe_info": "informacoes adicionais para nota fiscal",
    "auto_invoice": true,
    "auto_generate_label": true
  }
}

Campos do node "organization"

Campo Obrig Tipo Observações
external_id Não Texto Id externo da organização. Máximo de 19 caracteres
name Sim Texto Nome Fantasia da loja / organização
cnpj Sim Texto CNPJ da empresa
state Não Texto Sigla do estado
zip_code Não Texto Código Postal (CEP)
neighborhood Não Texto Bairro
street Não Texto Rua
number Não Texto Número
complement Não Texto Complemento
city Não Texto Município
city_code Não Numérico Código IBGE do municipio
use_average_cost Sim Boleano Indica se deve usar o custo médio dos produtos/estoque
average_withdrawal_term Não Inteiro Prazo médio em horas para retirada de produtos diretamente na loja
average_withdrawal_price Não Decimal Preço medio para retirada de produtos diretamente na loja
company_name Sim Texto Razão Social na qual a organização está associada
emites_id Sim Numérico ID do emites na qual a organização está associada
state_registration Sim Texto Inscrição Estadual da organização
tax_regime Sim Numérico Código do Regime Tributário: 1 - Simples Nacional; 3 - Regime Normal
kind Sim Numérico Tipo da organização/estabelecimento: 1 - Loja Própria; 2 - Franquia; 3 - Centro de Distribuição; 4 - Outros
serie_nfe Sim Texto Série da Nota Fiscal
latitude Não Texto Latitude da localização do estabelecimento
longitude Não Texto Longitude da localização do estabelecimento
parent_id Não Numérico ID da organização pai
delivery_radius_max Não String Raio maximo para entrega da organização 'unliminted' - ilimitado, 'thirty' - 30km, 'sixty' - 60km, 'ahundred' - 100km
additiona_nfe_info Não String informações adicionais para nota fiscal
auto_invoice Sim Boleano Geração automática de invoice ao empacotar
auto_generate_label Sim Boleano Geração automática de etiquetas ao empacotar

Lista organizações

Retorna a lista de organizações/estabelecimentos cadastrados na conta.

GET
/api/v1/organizations

Exemplo de requisição para retorno de Organização

curl -X GET https://sandbox.estoka.com.br/api/v1/organizations  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do retorno

{
  "organizations": [
    {
      "id": 4,
      "external_id": "10U-1980",
      "account_id": 1,
      "name": "Nome da Organização",
      "cnpj": "69979284000106",
      "state": "SP",
      "state_code": 35,
      "zip_code": "10000-100",
      "neighborhood": "Morumbi",
      "number": "2000",
      "street": "Av. Morumbi",
      "complement": "Shopping Morumbi",
      "city": "São Paulo",
      "city_code": "12345",
      "use_average_cost": true,
      "average_withdrawal_term": 5,
      "average_withdrawal_price": 19.9,
      "created_at": "2020-04-14T12:31:31.045-03:00",
      "updated_at": "2020-04-14T12:31:31.045-03:00",
      "company_name": "New Organization S/A",
      "emites_id": 12355,
      "state_registration": "38217382732",
      "tax_regime": "simples_nacional",
      "kind": "other",
      "serie_nfe": "1",
      "latitude": "-23.622093",
      "longitude": "-46.698969",
      "parent_id": null,
      "delivery_radius_max": "ahundred",
      "additional_nfe_info": "informacoes adicionais para nota fiscal",
      "auto_invoice": true,
      "auto_generate_label": true
    },
    {
      "id": 1,
      "external_id": null,
      "account_id": 1,
      "name": "Loja 1",
      "cnpj": "55492986000156",
      "state": "SP",
      "state_code": 35,
      "zip_code": "12233690",
      "neighborhood": "Bosque dos Eucaliptos",
      "number": "1",
      "street": "Rua Manoel Fiel Filho",
      "complement": null,
      "city": "São José dos Campos",
      "city_code": "3549904",
      "use_average_cost": false,
      "average_withdrawal_term": 3,
      "average_withdrawal_price": 12.0,
      "created_at": "2020-04-13T11:47:46.002-03:00",
      "updated_at": "2020-04-13T11:47:46.002-03:00",
      "company_name": "New Organization S/A",
      "emites_id": 12356,
      "state_registration": "38217382732",
      "tax_regime": "normal",
      "kind": "franchise",
      "serie_nfe": "2",
      "latitude": "-23.440329",
      "longitude": "-46.807494",
      "parent_id": null,
      "delivery_radius_max": "sixty",
      "additional_nfe_info": "informacoes adicionais para nota fiscal",
      "auto_inoivce": false,
      "auto_generate_label": true
    }
  ]
}

Pedido

Cria um Pedido

Cria um novo pedido para um estabelecimento.

POST
/api/v1/orders

Exemplo para criar um novo pedido

curl -X POST https://sandbox.estoka.com.br/api/v1/orders  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "order": {
    "sale_channel_id": 1,
    "organization_id": 1,
    "source_organization_id": 2,
    "withdrawal_channel_id": null,
    "code": "0929282736151622",
    "nexaas_orders_code": "30582f82-7778-493d-9960-9670551ab912",
    "split": false,
    "splited_count": 3,
    "stock_id": 6,
    "placed_at": "2019-02-27T15:11:06.000-03:00",
    "discount": 30.0,
    "pre_order": false,
    "shipping": 20,
    "partner_fee": 0.0,
    "total_value": 90,
    "pickup_on_store": false,
    "seller_external_id": "464844e4-b13a-4efe-a20d-665df840be1e",
    "payment_status": "approved",
    "fulfillment": false,
    "transfer_ids": [],
    "label_file_url": "http://etiqueta-url-example.pdf",
    "observation": "some observation",
    "items": [
      {
        "product_sku_id": 1,
        "quantity": 1,
        "unit_price": 100,
        "discount": 0.0,
        "item_value": 100,
        "serial_numbers": ["KJIHUG"],
        "free_gift": true
      }
    ],
    "metadata": { "any object": 1 },
    "customer": {
      "name": "Acme Corp. Ltda",
      "email": "acme.corp@email.com.br",
      "document": "57414248000116",
      "state_inscription": "921228773644",
      "municipal_inscription": "0123456789",
      "suframa_inscription": "0123456789",
      "phones": [
        "21 999999999"
      ]
    },
    "billing_address": {
      "street": "Rua São Francisco Xavier",
      "number": "999",
      "detail": "ap 99",
      "zipcode": "20550012",
      "neighborhood": "Tijuca",
      "city": "Rio de Janeiro",
      "city_code": "3304557",
      "state": "RJ",
      "country": "BR"
    },
    "shipping_address": {
      "street": "Rua São Francisco Xavier",
      "number": "999",
      "detail": "ap 99",
      "zipcode": "20550012",
      "neighborhood": "Tijuca",
      "city": "Rio de Janeiro",
      "city_code": "3304557",
      "state": "RJ",
      "country": "BR"
    },
    "payments": [
      {
        "method": "3",
        "card_brand": "1",
        "acquirer_response_code": "0000",
        "acquirer_name": "cielo",
        "acquirer_id": "5969170917bce0bf099",
        "processed_at": "2020-01-17T19:53:02.965Z",
        "authorization_code": "12648033",
        "nsu": "3424099",
        "installments": 2,
        "value": 90.0,
        "taxes": 7.0,
        "total": 97.0,
        "external_id": "produto01"
      }
    ],
    "shipping_service": {
       "name": "Sedex",
       "carrier_external_id": 1,
       "estimated_due_date": "2020-05-30",
       "carrier_estimated_due_date": "2020-05-30"
    },
    "nexaas_promo_discounts": [
      {
        "discount_id": 1,
        "discount_rule_id": 1,
        "product_sku_ids": [1],
        "applied_discount_value": 12.0,
        "product_skus": [
          {
            "id": 1,
            "applied_discount_value": 13.5
          }
        ]
      }
    ]
  }
}

Exemplo do retorno

{
  "order": {
    "id": 4006,
    "code": "0929282736151622",
    "nexaas_orders_code": "30582f82-7778-493d-9960-9670551ab912",
    "split": false,
    "splited_count": 3,
    "organization_id": 1,
    "source_organization_id": 2,
    "organization_name": "Nome do Estabelecimento",
    "emission_options": {
            "customer_document": "10254571701",
            "document_on_invoice": false
    },
    "transfer_ids": [],
    "metadata": {},
    "observation": "some observation",
      "customer": {
                "id": 100,
                "name": "Lakin-Parisian",
                "email": "morris@brakus.us",
                "phone_number": "(21) 12345-1234",
                "organization_id": 1,
                "account_id": 1,
                "type": "Company",
                "status": "active",
                "document_number": "92.270.088/6331-15"
        },
    "pdf_tag_file": "http://order_tags_28.pdf",
    "data": {
      "code": "0929282736151622",
      "comments": null,
      "customer": {
        "name": "Acme Corp. Ltda",
        "email": "acme.corp@email.com.br",
        "document": "57414248000116",
        "state_inscription": "921228773644",
        "municipal_inscription": "0123456789",
        "suframa_inscription": "0123456789",
        "phones": [
          "21 999999999"
        ]
      },
      "discount": 30.0,
      "payments": [
        {
          "method": "03",
          "method_name": "credit_card",
          "installments": 2,
          "value": 90.0,
          "external_id": "produto01"
        }
      ],
      "shipping": 20,
      "placed_at": "2019-02-27T15:11:06.000-03:00",
      "pre_order": true,
      "total_value": 90,
      "billing_address": {
        "street": "Rua São Francisco Xavier",
        "number": "999",
        "detail": "ap 99",
        "zipcode": "20550012",
        "neighborhood": "Tijuca",
        "city_code": "3304557",
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR"
      },
      "emission_status": null,
      "shipping_address": {
        "street": "Rua São Francisco Xavier",
        "number": "999",
        "detail": "ap 99",
        "zipcode": "20550012",
        "neighborhood": "Tijuca",
        "city_code": "3304557",
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR"
      },
      "items": [
        {
          "quantity": 1,
          "item_value": 100,
          "unit_price": 100,
          "discount": 30.0,
          "stock_sku": {
            "id": 240,
            "stock_id": 6,
            "product_sku_code": 1,
            "in_stock_quantity": 2837,
            "reserved_quantity": 72,
            "available_quantity": 2765,
            "in_transit_quantity": null,
            "created_at": "2018-11-23T15:15:54.458-02:00",
            "updated_at": "2019-03-13T10:25:32.515-03:00",
            "replacement_cost": "0.0",
            "minimum_limit": null,
            "negative_stock": false,
            "batch": "123",
            "batch_expiration_date": null
          },
          "serial_numbers": ["KJIHUG"],
          "free_gift": true,
          "product_sku": {
            "id": 1,
            "product_id": 1,
            "code": "CAI74",
            "ean": "653341157577",
            "additional_eans": ["563341157577"],
            "name": "CAI74 - Notebook Dell Inspiron",
            "features": null,
            "provider_skus": [
              {
                "code": "dell-7628-5",
                "provider_id": 5
              },
              {
                "code": "dell-7628-6",
                "provider_id": 6
              }
            ],
            "width": null,
            "height": null,
            "length": null,
            "weight": null,
            "active": null,
            "product_images": [],
            "created_at": "2018-04-16T14:58:27.031-03:00",
            "updated_at": "2018-05-23T18:05:15.313-03:00"
          }
        }
      ],
      "channel": null,
      "invoices": [],
      "interest": 0.2,
      "shipments": [],
      "updated_at": null,
      "shipping_cost": 20.0,
      "total_ordered": 97.0,
      "shipping_method": null,
      "calculation_type": null,
      "estimated_delivery": null,
      "estimated_delivery_shift": null
    },
    "created_at": "2019-03-13T10:25:32.595-03:00",
    "updated_at": "2019-03-13T10:25:32.612-03:00",
    "pickup_on_store": false,
    "status": "waiting_picking",
    "payment_status": "approved",
    "sale_channel_id": 1,
    "sale_channel_name": "Nome do Canal de Vendas",
    "partner_fee": 0.0,
    "total_items_value": 100.0,
    "withdrawal_channel_id": null,
    "nfes": [],
    "audit_logs": [],
    "order_volumes": [],
    "order_returns": [],
    "payments": [
      {
        "created_at": "2020-05-20T10:23:17-03:00",
        "updated_at": "2020-05-20T10:23:17-03:00",
        "id": 9,
        "method": "03",
        "method_name": "credit_card",
        "billet_barcode": null,
        "billet_expiration_date": null,
        "billet_url": null,
        "card_brand": "1",
        "card_brand_name": "Visa",
        "acquirer_response_code": "0034",
        "acquirer_name": "cielo",
        "acquirer_id": "5969170917bce0bf099",
        "processed_at": "2020-01-17T19:53:02.965Z",
        "authorization_code": "12648033",
        "nsu": "3424099",
        "installments": 2,
        "value": 90.0,
        "taxes": 10.0,
        "total": 100.0,
        "external_id": "produto01"
      }
    ],
    "stock": {
      "id": 6,
      "organization_id": 1,
      "name": "Centro de distribuição 1",
      "active": true,
      "zip_code": "20011-020",
      "street": "Rua do Carmo",
      "number": 19999,
      "complement": "Conjunto 22",
      "city": "Rio de Janeiro",
      "neighborhood": "Centro",
      "state": "RJ",
      "created_at": "2018-06-01T18:23:07.959-03:00",
      "sale_channels": [
        {
          "id": 1,
          "name": "Zeenow Commerce",
          "organization_id": 1,
          "global": true,
          "created_at": "2018-04-19T12:22:04.653-03:00",
          "updated_at": "2018-04-19T12:22:04.653-03:00"
        }
      ],
      "kind": "normal",
      "description": "Depósito Matriz"
    },
    "shipping_service": {
       "id": 191013,
       "name": "Sedex",
       "carrier": "Correios",
       "carrier_external_id": 1,
       "tracking_code": null,
       "tracking_url": null,
       "estimated_due_date": "2020-05-30",
       "carrier_estimated_due_date": "2020-05-30"
    },
    "carrier": {
      "id": 2,
      "organization_id": null,
      "document": "52723924000110",
      "name": "Correios LTDA.",
      "trading_name": "Correios",
      "state_inscription_type": "icms",
      "provider_type": "carrier",
      "external_id": null,
      "created_at": "2021-04-08T11:59:32.866-03:00",
      "updated_at": "2021-04-08T11:59:32.866-03:00"
    },
    "nexaas_promo_discounts": [
      {
        "discount_id": 1,
        "discount_rule_id": 1,
        "product_sku_ids": [1],
        "applied_discount_value": 12.0,
        "product_skus": [
          {
            "id": 1,
            "applied_discount_value": 13.5
          }
        ]
      }
    ]
  }
}

Possíveis status do pedido

Status Tradução Descrição
new Pedido incluído Novo pedido incluído
waiting_transfer Aguardando transferência Status inicial para pedidos com transferência.
waiting_withdrawal Aguardando retirada Após chegada da transferência no estoque de destino.
pre_order Pré pedido Executa reserva dos produtos.
waiting_picking Aguardando coleta Aguardando coleta dos produtos no estoque
picked Coletado Produtos recolhidos.
packed Empacotado Produtos empacatados.
nfe_issued Faturado Nota fiscal gerada.
pack_label_generated Etiqueta gerada Etiqueta para transporte gerada.
separated Separado Separado para envio.
transporting Em trânsito Em trânsito ao cliente.
delivered Entregue Status final.
cancelled Cancelado Status final.

Possíveis situações de pagamento do pedido

Status Tradução Descrição
pending Aguardando aprovação Aguardando a aprovação de pagamentos
approved Pagamento aprovado Pedido teve os todos os pagamentos realizados
rejected Pagamento reprovado Pedido teve rejeição de um ou mais pagamentos

Campos do node "order"

Campo Obrig Tipo Observações
organization_id Não Numérico Id da organização de origem do pedido. Obrigatório caso o stock_id é recebido. Caso vazio, a organização será definida automaticamente pela mais próxima do cliente que possua os itens em seu estoque.
sale_channel_id Sim Numérico Id do canal de vendas
withdrawal_channel_id Cond Numérico Id do canal de retirada (Canal de Venda). Obrigatório se houverem transfer_ids.
stock_id Não Numérico Id do estoque. Obrigatório caso o organization_id é recebido. Caso vazio, o estoque será definido automaticamente pelo mais próximo do cliente que possua seus itens disponíveis.
code Sim Texto Código do pedido
placed_at Sim Data Data de criação do pedido
discount Sim Numérico Desconto. Não pode ser informado junto ao desconto do item. É proporcionado nos items.
shipping Sim Numérico Frete
partner_fee Não Numérico Comissão
total_value Sim Numérico Valor total do pedido
pre_order Não Boolean Verdadeiro se pré pedido
comments Não Texto Observações
transfer_ids Não Lista Lista de Ids de transferências relacionadas ao pedido
fulfillment Não Boolean Verdadeiro se o pedido é da modalidade fulfillment
payment_status Não Texto Situação de pagemnto do pedido
pickup_on_store Não Boolean Verdadeiro se “comprei online e vou retirar na loja”.
split Não Boolean pedido divido em diversos.
splited_count Não Numérico pedido numero "n" de um pedido divido em diversos
nexaas_orders_code Não Texto code utilizado para agrupar pedidos dividido
seller_external_id Não Texto code cadastrado para o colaborador
label_file_url Nâo Texto url para upload de etiqueta
observation Nâo Texto observações acerca do pedido.

Campos do node "item"

Campo Obrig Tipo Observações
product_sku_id Sim Numérico Id do sku do produto
product_sku_code Sim Numérico code do sku do produto
quantity Sim Numérico Quantidade vendida
unit_price Sim Numérico Valor unitário do SKU
item_value Sim Numérico Valor total do item
discount Não Numérico Desconto do item. Não pode ser informado junto ao desconto do pedido.
serial_numbers Não Lista Números de série (EANs) do SKU
free_gift Não Booleano Indicador de Brinde

Campos do node "Cliente"

Campo Obrig Tipo Observações
name Sim Texto Nome
email Sim Texto E-mail
document Sim Texto CPF ou CNPJ
phones Sim Texto Telefones
state_inscription Não Texto (somente para clientes pessoa jurídica) Inscrição estadual. Será considerado somente caracteres alfanuméricos como o número de inscrição ou o valor "ISENTO", caso o cliente se enquadre nessa categoria.
municipal_inscription Não Texto (somente para clientes pessoa jurídica) Inscrição municipal. Será considerado somente caracteres alfanuméricos.
suframa_inscription Não Texto (somente para clientes pessoa jurídica) Inscrição SUFRAMA, sigla para Superintendência da Zona Franca de Manaus. Será considerado somente caracteres alfanuméricos.

Campos do node "Endereço de cobrança"

Campo Obrig Tipo Observações
street Sim Texto Rua
number Sim Texto Número 10 caracteres
detail Não Texto Complemento 40 caracteres
zipcode Sim Texto CEP (Sem Traços)
neighborhood Sim Texto Bairro
city_code Não Texto Código do município (IBGE)
city Sim Texto Município
state Sim Texto Estado (somente a sigla)
country Sim Texto Pais

Campos do node "Endereço de entrega"

Opcional: Só deve ser informado se os campos withdrawal_channel_id e transfer_ids não forem informados.

Campo Obrig Tipo Observações
street Sim Texto Rua
number Sim Texto Número 10 caracteres
detail Não Texto Complemento 40 caracteres
zipcode Sim Texto CEP (Sem Traços)
neighborhood Sim Texto Bairro
city_code Não Texto Código do município (IBGE)
city Sim Texto Município
state Sim Texto Estado (somente a sigla)
country Sim Texto Pais

Campos do node "pagamentos"

Campo Obrig Tipo Observações
method Sim Texto Tipo de pagamento ( Códigos válidos na tabela abaixo )
method_name Não Texto Descrição do tipo de pagamento (Retornado somente na resposta da requisição)
installments Sim Numérico Número de parcelas
value Sim Numérico Valor dos itens
taxes Sim Numérico Taxas
total Sim Numérico Soma total do valor mais as taxas do pagamento

Para os metodos de pagamento "03" e "04" (Cartão de Crédito e Cartão de Débito)

Campo Obrig Tipo Observações
card_brand Não Texto Bandeira do cartão ( Códigos válidos na tabela abaixo )
acquirer_response_code Não Texto Codigo de resposta do adquirente
acquirer_name Não Texto Nome do adquirente
acquirer_id Não Texto Id do adquirente
processed_at Não Texto Data e hora do processamento do pagamento
authorization_code Não Texto Codigo de autorização
nsu Não Texto Numero Sequencial Unico

Para o metodo de pagamento "15" (Boleto Bancário)

Campo Obrig Tipo Observações
billet_barcode Não Texto Codigo do boleto
billet_expiration_date Não Texto Data de expiração do boleto
billet_url Não Texto Url do boleto

Para o metodo de pagamento "16" (Vale-Troca)

Campo Obrig Tipo Observações
code Sim Texto Código do Vale-Troca a ser utilizado

Para o metodo de pagamento "18" (Crediário)

Campo Obrig Tipo Observações
creditor_contract_id Sim Texto Identificação do contrato de crediário

Campos do node "serviço de entrega"

Campo Obrig Tipo Observações
name Sim Texto Nome do serviço de entrega, por exemplo "Sedex"
carrier_external_id Não Integer id externo da transportadora
tracking_code Não Texto Código de rastreio da encomenda
tracking_url Não Texto Url fornecida pelo transportador para restraio da encomenda
estimated_due_date Não Data Data estimada de entrega inicial da encomenda
carrier_estimated_due_date Não Data Data estimada de entrega da encomenda pela transportadora

Códigos válidos em "Tipo de Pagamento" (method)

Código Descrição
1 Dinheiro
2 Cheque
3 Cartão de Crédito
4 Cartão de Débito
5 Crédito Loja
10 Vale Alimentação
11 Vale Refeição
12 Vale Presente
13 Vale Combustível
14 Duplicada Mercantil
15 Boleto Bancário
16 Vale-Troca
17 Fidelidade
18 Crediário
19 PIX
20 PayPal
21 AME
90 Sem pagamento
99 Outros

Códigos válidos em "Bandeira do Cartão" (card_brand)

Código Descrição
1 Visa
2 Mastercard
3 Amex
4 Diners
5 Redeshop
6 Elo
7 Hipercard
8 Banrisul
9 Aura
10 Valecard
11 Redecard
12 Convênio Loja
13 Outros

Associar um Documento Fiscal para um Pedido Entregue

Associa um documento fiscal para um pedido com status 'Entregue' sem outros documentos atrelados.

POST
/api/v1/orders/:order_id/delivered/invoices

Exemplo de requisição para criar um novo documento fiscal

curl -X POST https://sandbox.estoka.com.br/api/v1/orders/100/delivered/invoices \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "invoice_attributes": {
    "status": "succeeded",
    "danfe_url": "http://danfe_url.pdf",
    "xml_url": "http://xml_url.xml",
    "kind": "nfe",
    "data": {
      "dados_gerais": {
        "codigo_natureza_operacao": "002",
        "serie": "1",
        "nfe_numero": "593"
      }
    }
  }
}

Exemplo do retorno

{
  "invoice": {
    "id": 6,
    "status": "succeeded",
    "serie": "1",
    "number": "593",
    "access_key": null,
    "errors": [],
    "danfe_url": "http://danfe_url.pdf",
    "xml_url": "http://xml_url.xml"
  }
}

Cria um Pedido Entregue

Cria um novo pedido para um estabelecimento com status 'Entregue'.

Nesse método de criação não há necessidade de realizar o ciclo de coleta, empacotamento, embarque e finalização de entrega. Portanto, esse pedido já estará entregue ao cliente, e também com estoque deduzido no Estoka.

POST
/api/v1/orders/delivered

Exemplo para criar um novo pedido entregue

curl -X POST https://sandbox.estoka.com.br/api/v1/orders/delivered  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "order": {
    "stock_id": 6,
    "placed_at": "2019-06-13T17:56:23.121+00:00",
    "discount": 30.0,
    "shipping": 20,
    "partner_fee": 0.0,
    "total_value": 90,
    "seller_extenal_id": "464844e4-b13a-4efe-a20d-665df840be1e",
    "emission_options": {
            "customer_document": "10254571701",
            "document_on_invoice": false
    },
    "metadata": { "any object": 1 },
    "observation": "some observation",
    "customer": {
                "id": 100,
                "name": "Lakin-Parisian",
                "email": "morris@brakus.us",
                "phone_number": "(21) 12345-1234",
                "organization_id": 1,
                "account_id": 1,
                "type": "Company",
                "status": "active",
                "document_number": "92.270.088/6331-15"
        },
    "sale_channel_id": 1,
    "organization_id": 1,
    "code": "0929282736151622",
    "source_organization_id": 2,
    "nexaas_orders_code": "30582f82-7778-493d-9960-9670551ab912",
    "split": false,
    "splited_count": 3,
    "items": [
      {
        "product_sku_id": 45,
        "stock_sku_id": 341,
        "quantity": 1,
        "unit_price": 100,
        "discount": 0.0,
        "item_value": 100,
        "serial_numbers": ["DKWSHU"],
        "free_gift": true
      }
    ],
    "customer": {
      "name": "Matheus Carlos Santino",
      "email": "17653481612@email.com.br",
      "document": "75434852737",
      "state_inscription": null,
      "municipal_inscription": null,
      "suframa_inscription": null,
      "phones": [
        "21 999999999"
      ]
    },
    "billing_address": {
      "street": "Rua São Francisco Xavier",
      "number": "999",
      "detail": "ap 99",
      "zipcode": "20550012",
      "neighborhood": "Tijuca",
      "city": "Rio de Janeiro",
      "state": "RJ",
      "country": "BR"
    },
    "shipping_address": {
      "street": "Rua São Francisco Xavier",
      "number": "999",
      "detail": "ap 99",
      "zipcode": "20550012",
      "neighborhood": "Tijuca",
      "city": "Rio de Janeiro",
      "state": "RJ",
      "country": "BR"
    },
    "payments": [
      {
        "method": "4",
        "card_brand": "1",
        "acquirer_response_code": "0000",
        "acquirer_name": "cielo",
        "acquirer_id": "5969170917bce0bf099",
        "processed_at": "2020-01-17T19:53:02.965Z",
        "authorization_code": "12648033",
        "nsu": "3424099",
        "installments": 2,
        "value": 90.00,
        "taxes": 20.00,
        "total": 110.00,
        "external_id": "d12227b3-548f-41b1-a6d5-88a12e83bb85"
      }
    ],
    "invoice_attributes": {
      "status": "succeeded",
      "danfe_url": "http://danfe_url.pdf",
      "xml_url": "http://xml_url.xml",
      "kind": "nfe",
      "data": {
        "dados_gerais": {
          "codigo_natureza_operacao": "002",
          "serie": "1",
          "nfe_numero": "593"
        },
        "resposta_emissao": {
          "chave_acesso": "11234567890123456789012345678901234567890123",
          "data_emissao": "2019-06-25 10:22"
        }
      }
    },
    "nexaas_promo_discounts": [
      {
        "discount_id": 1,
        "discount_rule_id": 1,
        "product_sku_ids": [1],
        "applied_discount_value": 12.0,
        "product_skus": [
          {
            "id": 1,
            "applied_discount_value": 13.5
          }
        ]
      }
    ]
  }
}

Exemplo do retorno

{
  "order": {
    "id": 2110,
    "code": "0929282736151622",
    "nexaas_orders_code": "30582f82-7778-493d-9960-9670551ab912",
    "split": false,
    "splited_count": 3,
    "organization_id": 1,
    "source_organization_id": 2,
    "organization_name": "Nome do Estabelecimento",
    "pickup_on_store": false,
    "metadata": {},
    "observation": "some observation",
    "data": {
      "code": "9369934617",
      "comments": null,
      "customer": {
        "name": "Matheus Carlos Santino",
        "email": "17653481612@email.com.br",
        "document": "75434852737",
        "phones": [
          "21 999999999"
        ]
      },
      "discount": 30.0,
      "shipping": 20.0,
      "placed_at": "2019-06-13T17:56:23.121+00:00",
      "pre_order": null,
      "total_value": 90.0,
      "billing_address": {
        "street": "Rua São Francisco Xavier",
        "number": "999",
        "detail": "ap 99",
        "zipcode": "20550012",
        "neighborhood": "Tijuca",
        "city_code": null,
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR"
      },
      "emission_status": null,
      "shipping_address": {
        "street": "Rua São Francisco Xavier",
        "number": "999",
        "detail": "ap 99",
        "zipcode": "20550012",
        "neighborhood": "Tijuca",
        "city_code": null,
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR"
      },
      "items": [
        {
          "quantity": 1,
          "item_value": 100.0,
          "unit_price": 100.0,
          "discount": 30.0,
          "stock_sku": {
            "id": 341,
            "stock_id": 6,
            "product_sku_id": 45,
            "product_sku_code": "CAI74",
            "in_stock_quantity": 27,
            "reserved_quantity": null,
            "available_quantity": 27,
            "in_transit_quantity": null,
            "created_at": "2019-04-03T16:05:09.903-03:00",
            "updated_at": "2019-04-03T16:19:46.822-03:00",
            "replacement_cost": "0.0",
            "minimum_limit": null,
            "negative_stock": false,
            "batch": null,
            "batch_expiration_date": null
          },
          "serial_numbers": ["DKWSHU"],
          "free_gift": true,
          "product_sku": {
            "id": 45,
            "product_id": 20,
            "code": "Barato",
            "ean": "",
            "additional_eans": [],
            "name": "Barato - Arroz Amil",
            "features": [],
            "provider_skus": [],
            "width": 0.0,
            "height": 0.0,
            "length": 0.0,
            "weight": 0.0,
            "active": true,
            "created_at": "2018-05-17T12:49:34.141-03:00",
            "updated_at": "2018-07-26T15:26:03.325-03:00"
          }
        }
      ],
      "channel": null,
      "invoices": [],
      "interest": 0.0,
      "shipments": [],
      "updated_at": null,
      "shipping_cost": 0.0,
      "total_ordered": 0.0,
      "shipping_method": null,
      "calculation_type": null,
      "estimated_delivery": null,
      "estimated_delivery_shift": null
    },
    "created_at": "2019-06-13T14:56:23.220-03:00",
    "updated_at": "2019-06-13T14:56:23.227-03:00",
    "pickup_on_store": false,
    "status": "delivered",
    "payment_status": "approved",
    "sale_channel_id": 1,
    "sale_channel_name": "Nome do Canal de Vendas",
    "partner_fee": 0.0,
    "total_items_value": 70.0,
    "nfes": [
      {
        "type": "sale",
        "description": "Venda",
        "danfe_url": "url",
        "xml_url": "url",
        "number": "Número da NFe",
        "serie": "Série da NFe",
        "cancel_xml_url": "Url do xml de cancelamento"
      }
    ],
    "audit_logs": [
      {
        "id": 2969,
        "user_id": null,
        "order_id": 2110,
        "reported_at": "2019-06-13T14:56:23.336-03:00",
        "status": "confirmed",
        "message": "",
        "created_at": "2019-06-13T14:56:23.354-03:00",
        "updated_at": "2019-06-13T14:56:23.354-03:00"
      }
    ],
    "order_volumes": [],
    "order_returns": [],
    "payments": [
      {
        "created_at": "2020-07-21T17:06:36-03:00",
        "updated_at": "2020-07-21T17:06:36-03:00",
        "id": 16,
        "method": "4",
        "method_name": "debit_card",
        "billet_barcode": null,
        "billet_expiration_date": null,
        "billet_url": null,
        "card_brand": "1",
        "card_brand_name": "visa",
        "acquirer_response_code": "0000",
        "acquirer_name": "cielo",
        "acquirer_id": "5969170917bce0bf099",
        "processed_at": "2020-01-17T16:53:02.965-03:00",
        "authorization_code": "12648033",
        "nsu": "3424099",
        "installments": 2,
        "value": 90.0,
        "taxes": 20.0,
        "total": 110.0,
        "external_id": "d12227b3-548f-41b1-a6d5-88a12e83bb85"
      }
    ],
    "stock": {
      "id": 6,
      "organization_id": 1,
      "name": "Centro de distribuição 1",
      "active": true,
      "zip_code": "20011-020",
      "street": "Rua do Carmo",
      "number": 19999,
      "complement": "Conjunto 22",
      "city": "Rio de Janeiro",
      "neighborhood": "Centro",
      "state": "RJ",
      "created_at": "2018-06-01T18:23:07.959-03:00",
      "sale_channels": [
        {
          "id": 1,
          "name": "Zeenow Commerce",
          "organization_id": 1,
          "created_at": "2018-04-19T12:22:04.653-03:00",
          "updated_at": "2018-04-19T12:22:04.653-03:00"
        }
      ],
      "seller": {
        "id":2,
        "name":"Seller 2",
        "email":"seller-2@nexaas.com",
        "organization_id":2,
        "sale_channel_ids":[],
        "created_at":"2020-10-19T19:05:28.921Z",
        "updated_at":"2020-10-19T19:05:28.921Z"
      },
      "kind": "normal",
      "description": "Depósito Matriz"
    },
    "nexaas_promo_discounts": [
      {
        "discount_id": 1,
        "discount_rule_id": 1,
        "product_sku_ids": [1],
        "applied_discount_value": 12.0,
        "product_skus": [
          {
            "id": 1,
            "applied_discount_value": 13.5
          }
        ]
      }
    ]
  }
}

Campos do node "order"

Campo Obrig Tipo Observações
organization_id Sim Numérico Id da organização de origem do pedido
sale_channel_id Sim Numérico Id do canal de vendas
stock_id Não Numérico Id do estoque
code Sim Texto Código do pedido
placed_at Sim Data Data de criação do pedido
discount Sim Numérico Desconto
shipping Sim Numérico Frete
total_value Sim Numérico Valor total do pedido
pre_order Não Boolean Verdadeiro se pré pedido
comments Não Texto Observações
seller_external_id Não Texto code cadastrado para o colaborador

Campos do node "item"

Campo Obrig Tipo Observações
product_sku_id Sim Numérico Id do sku do produto (não deve ser usado mais de uma vez por requisição)
product_sku_code Não Numérico code do sku do produto
quantity Sim Numérico Quantidade vendida
unit_price Sim Numérico Valor unitário do SKU
item_value Sim Numérico Valor total do item
stock_sku_id Sim Numérico Id do sku no estoque
serial_numbers Não Lista Números de série (EANs) do SKU
free_gift Não Booleano Indicador de Brinde

Campos do node "Cliente"

Campo Obrig Tipo Observações
name Sim Texto Nome
email Sim Texto E-mail
document Sim Texto CPF ou CNPJ
phones Sim Texto Telefones
state_inscription Não Texto (somente para clientes pessoa jurídica) Inscrição estadual. Será considerado somente caracteres alfanuméricos como o número de inscrição ou o valor "ISENTO", caso o cliente se enquadre nessa categoria.
municipal_inscription Não Texto (somente para clientes pessoa jurídica) Inscrição municipal. Será considerado somente caracteres alfanuméricos.
suframa_inscription Não Texto (somente para clientes pessoa jurídica) Inscrição SUFRAMA, sigla para Superintendência da Zona Franca de Manaus. Será considerado somente caracteres alfanuméricos.

Campos do node "Endereço de cobrança"

Campo Obrig Tipo Observações
street Sim Texto Rua
number Sim Texto Número 10 caracteres
detail Não Texto Complemento 40 caracteres
zipcode Sim Texto CEP (Sem Traços)
neighborhood Sim Texto Bairro
city_code Não Texto Código do município (IBGE)
city Sim Texto Município
state Sim Texto Estado (somente a sigla)
country Sim Texto Pais

Campos do node "Endereço de entrega"

Campo Obrig Tipo Observações
street Sim Texto Rua
number Sim Texto Número 10 caracteres
detail Não Texto Complemento 40 caracteres
zipcode Sim Texto CEP (Sem Traços)
neighborhood Sim Texto Bairro
city_code Não Texto Código do município (IBGE)
city Sim Texto Município
state Sim Texto Estado (somente a sigla)
country Sim Texto Pais

Campos do node "pagamentos"

Campo Obrig Tipo Observações
method Sim Texto Tipo de pagamento ( Códigos válidos na tabela abaixo )
method_name Não Texto Descrição do tipo de pagamento (Retornado somente na resposta da requisição)
installments Sim Numérico Número de parcelas
value Sim Numérico Valor dos itens
taxes Sim Numérico Taxas
total Sim Numérico Soma total do valor mais as taxas do pagamento
external_id Não Texto Id externo para integração

Para os metodos de pagamento "03" e "04" (Cartão de Crédito e Cartão de Débito)

Campo Obrig Tipo Observações
card_brand Não Texto Bandeira do cartão ( Códigos válidos na tabela abaixo )
acquirer_response_code Não Texto Codigo de resposta do adquirente
acquirer_name Não Texto Nome do adquirente
acquirer_id Não Texto Id do adquirente
processed_at Não Texto Data e hora do processamento do pagamento
authorization_code Não Texto Codigo de autorização
nsu Não Texto Numero Sequencial Unico

Para o metodo de pagamento "15" (Boleto Bancário)

Campo Obrig Tipo Observações
billet_barcode Não Texto Codigo do boleto
billet_expiration_date Não Texto Data de expiração do boleto
billet_url Não Texto Url do boleto

Para o metodo de pagamento "16" (Vale-Troca)

Campo Obrig Tipo Observações
code Sim Texto Código do Vale-Troca a ser utilizado

Para o metodo de pagamento "18" (Crediário)

Campo Obrig Tipo Observações
creditor_contract_id Sim Texto Identificação do contrato de crediário

Códigos válidos em "Tipo de Pagamento"

Código Descrição
01 Dinheiro
02 Cheque
03 Cartão de Crédito
04 Cartão de Débito
05 Crédito Loja
10 Vale Alimentação
11 Vale Refeição
12 Vale Presente
13 Vale Combustível
14 Duplicada Mercantil
15 Boleto Bancário
16 Vale-Troca
17 Fidelidade
18 Crediário
19 PIX
20 PayPal
21 AME
90 Sem pagamento
99 Outros

Campos do node "invoice_attributes"

Campo Obrig Tipo Observações
status Sim Texto Status da nota (succeeded ou cancelled)
danfe_url Não Texto Url do PDF da nota
xml_url Não Texto Url do XML da nota
kind Não Texto Tipo de documento (nfce, nfe, cfe, cte) *valor inferido caso não enviado: nfce
codigo_natureza_operacao Não Texto Código da natureza de operação
serie Não Texto Série da nota
nfe_numero Não Texto Número da nota
chave_acesso Não Texto Chave de acesso da nota
data_emissao Não Texto Data da emissão

[Obsoleto] Cria um Pedido Aguardando Retirada

Atenção: Este endpoint está obsoleto. Recomendamos que faça a migração para o endpoint apropriado assim que possível.

Cria um novo pedido para um estabelecimento com status 'Aguardando Retirada'.

Nesse método de criação não há necessidade de realizar o ciclo de coleta, empacotamento e embarque. Portanto, esse cenário exemplifica um pedido que estará no canal de retirada ou endereço de entrega, e também com estoque deduzido no Estoka. Esse pedido também estará disponível para finalização de entrega.

POST
/api/v1/orders/waiting_withdrawal

Exemplo para criar um novo pedido aguardando retirada

curl -X POST https://sandbox.estoka.com.br/api/v1/orders/waiting_withdrawal  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "order": {
    "sale_channel_id": 1,
    "organization_id": 1,
    "withdrawal_channel_id": 1,
    "code": "9369934617",
    "stock_id": 6,
    "placed_at": "2019-06-13T17:56:23.121+00:00",
    "discount": 30.0,
    "shipping": 20,
    "total_value": 65,
    "metadata": { "any object": 1 },
    "customer": {
                "id": 100,
                "name": "Lakin-Parisian",
                "email": "morris@brakus.us",
                "phone_number": "(21) 12345-1234",
                "organization_id": 1,
                "account_id": 1,
                "type": "Company",
                "status": "active",
                "document_number": "92.270.088/6331-15"
            },
     "data": {
      "code": "0929282736151622",
      "comments": null,
      "customer": {
        "name": "Acme Corp. Ltda",
        "email": "acme.corp@email.com.br",
        "document": "57414248000116",
        "state_inscription": "921228773644",
        "municipal_inscription": "0123456789",
        "suframa_inscription": "0123456789",
        "phones": [
          "21 999999999"
        ]
      },
    "items": [
      {
        "product_sku_id": 45,
        "stock_sku_id": 341,
        "quantity": 1,
        "unit_price": 100,
        "discount": 0.0,
        "item_value": 100
      }
    ],
    "customer": {
      "name": "Matheus Carlos Santino",
      "email": "17653481612@email.com.br",
      "document": "75434852737",
      "state_inscription": null,
      "municipal_inscription": null,
      "suframa_inscription": null,
      "phones": [
        "21 999999999"
      ]
    },
    "billing_address": {
      "street": "Rua São Francisco Xavier",
      "number": "999",
      "detail": "ap 99",
      "zipcode": "20550012",
      "neighborhood": "Tijuca",
      "city": "Rio de Janeiro",
      "state": "RJ",
      "country": "BR"
    },
    "shipping_address": {},
    "payments": [
      {
        "method": "4",
        "card_brand": "1",
        "acquirer_response_code": "0000",
        "acquirer_name": "cielo",
        "acquirer_id": "5969170917bce0bf099",
        "processed_at": "2020-01-17T19:53:02.965Z",
        "authorization_code": "12648033",
        "nsu": "3424099",
        "installments": 2,
        "value": 90.00,
        "taxes": 20.00,
        "total": 110.00
      }
    ],
  }
}

Exemplo do retorno

{
  "order": {
    "id": 2110,
    "code": "0929282736151622",
    "organization_id": 1,
    "organization_name": "Nome do Estabelecimento",
    "metadata": {},
    "data": {
      "code": "9369934617",
      "comments": null,
      "customer": {
        "name": "Matheus Carlos Santino",
        "email": "17653481612@email.com.br",
        "document": "75434852737",
        "phones": [
          "21 999999999"
        ]
      },
      "discount": 30.0,
      "payments": [
        {
          "method": "4",
          "method_name": "debit_card",
          "installments": 1,
          "value": 110.0
        }
      ],
      "shipping": 20.0,
      "placed_at": "2019-06-13T17:56:23.121+00:00",
      "pre_order": null,
      "total_value": 90.0,
      "billing_address": {
        "street": "Rua São Francisco Xavier",
        "number": "999",
        "detail": "ap 99",
        "zipcode": "20550012",
        "neighborhood": "Tijuca",
        "city_code": null,
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR"
      },
      "emission_status": null,
      "shipping_address": {},
      "items": [
        {
          "quantity": 1,
          "item_value": 100.0,
          "unit_price": 100.0,
          "discount": 30.0,
          "stock_sku": {
            "id": 341,
            "stock_id": 6,
            "product_sku_id": 45,
            "in_stock_quantity": 27,
            "reserved_quantity": null,
            "available_quantity": 27,
            "in_transit_quantity": null,
            "created_at": "2019-04-03T16:05:09.903-03:00",
            "updated_at": "2019-04-03T16:19:46.822-03:00",
            "replacement_cost": "0.0",
            "minimum_limit": null,
            "negative_stock": false,
            "batch": null,
            "batch_expiration_date": null
          },
          "product_sku": {
            "id": 45,
            "product_id": 20,
            "code": "Barato",
            "ean": "",
            "name": "Barato - Arroz Amil",
            "features": [],
            "provider_skus": [],
            "width": 0.0,
            "height": 0.0,
            "length": 0.0,
            "weight": 0.0,
            "active": true,
            "product_images": [],
            "created_at": "2018-05-17T12:49:34.141-03:00",
            "updated_at": "2018-07-26T15:26:03.325-03:00"
          }
        }
      ],
      "channel": null,
      "invoices": [],
      "interest": 0.0,
      "shipments": [],
      "updated_at": null,
      "shipping_cost": 0.0,
      "total_ordered": 0.0,
      "shipping_method": null,
      "calculation_type": null,
      "estimated_delivery": null,
      "estimated_delivery_shift": null
    },
    "created_at": "2019-06-13T14:56:23.220-03:00",
    "updated_at": "2019-06-13T14:56:23.227-03:00",
    "status": "waiting_withdrawal",
    "payment_status": "approved",
    "pickup_on_store": true,
    "sale_channel_id": 1,
    "sale_channel_name": "Nome do Canal de Vendas",
    "partner_fee": 0.0,
    "total_items_value": 100.0,
    "withdrawal_channel_id": 5,
    "nfes": [],
    "audit_logs": [
      {
        "id": 2969,
        "user_id": null,
        "order_id": 2110,
        "reported_at": "2019-06-13T14:56:23.336-03:00",
        "status": "waiting_withdrawal_created",
        "message": "",
        "created_at": "2019-06-13T14:56:23.354-03:00",
        "updated_at": "2019-06-13T14:56:23.354-03:00"
      }
    ],
    "order_volumes": [],
    "order_returns": [],
    "stock": {
      "id": 6,
      "organization_id": 1,
      "name": "Centro de distribuição 1",
      "active": true,
      "zip_code": "20011-020",
      "street": "Rua do Carmo",
      "number": 19999,
      "complement": "Conjunto 22",
      "city": "Rio de Janeiro",
      "neighborhood": "Centro",
      "state": "RJ",
      "created_at": "2018-06-01T18:23:07.959-03:00",
      "sale_channels": [
        {
          "id": 1,
          "name": "Zeenow Commerce",
          "organization_id": 1,
          "created_at": "2018-04-19T12:22:04.653-03:00",
          "updated_at": "2018-04-19T12:22:04.653-03:00"
        }
      ],
      "kind": "normal",
      "description": "Depósito Matriz"
    }
  }
}

Campos do node "order"

Campo Obrig Tipo Observações
organization_id Sim Numérico Id da organização de origem do pedido
sale_channel_id Sim Numérico Id do canal de vendas
withdrawal_channel_id Cond Numérico Id do canal de retirada (Canal de Venda). Obrigatório se 'shipping_address' não for informado.
stock_id Não Numérico Id do estoque
code Sim Texto Código do pedido
placed_at Sim Data Data de criação do pedido
discount Sim Numérico Desconto
shipping Sim Numérico Frete
total_value Sim Numérico Valor total do pedido
pre_order Não Boolean Verdadeiro se pré pedido
comments Não Texto Observações

Campos do node "item"

Campo Obrig Tipo Observações
product_sku_id Sim Numérico Id do sku do produto (não deve ser usado mais de uma vez por requisição)
quantity Sim Numérico Quantidade vendida
unit_price Sim Numérico Valor unitário do SKU
item_value Sim Numérico Valor total do item
stock_sku_id Sim Numérico Id do sku no estoque

Campos do node "Cliente"

Campo Obrig Tipo Observações
name Sim Texto Nome
email Sim Texto E-mail
document Sim Texto CPF ou CNPJ
phones Sim Texto Telefones
state_inscription Não Texto (somente para clientes pessoa jurídica) Inscrição estadual. Será considerado somente caracteres alfanuméricos como o número de inscrição ou o valor "ISENTO", caso o cliente se enquadre nessa categoria.
municipal_inscription Não Texto (somente para clientes pessoa jurídica) Inscrição municipal. Será considerado somente caracteres alfanuméricos.
suframa_inscription Não Texto (somente para clientes pessoa jurídica) Inscrição SUFRAMA, sigla para Superintendência da Zona Franca de Manaus. Será considerado somente caracteres alfanuméricos.

Campos do node "Endereço de cobrança"

Campo Obrig Tipo Observações
street Sim Texto Rua
number Sim Texto Número 10 caracteres
detail Não Texto Complemento 40 caracteres
zipcode Sim Texto CEP (Sem Traços)
neighborhood Sim Texto Bairro
city_code Não Texto Código do município (IBGE)
city Sim Texto Município
state Sim Texto Estado (somente a sigla)
country Sim Texto Pais

Campos do node "Endereço de entrega"

Opcional: Só deve ser informado se o campo withdrawal_channel_id não for informado.

Campo Obrig Tipo Observações
street Sim Texto Rua
number Sim Texto Número 10 caracteres
detail Não Texto Complemento 40 caracteres
zipcode Sim Texto CEP (Sem Traços)
neighborhood Sim Texto Bairro
city_code Não Texto Código do município (IBGE)
city Sim Texto Município
state Sim Texto Estado (somente a sigla)
country Sim Texto Pais

Campos do node "pagamentos"

Campo Obrig Tipo Observações
method Sim Texto Tipo de pagamento ( Códigos válidos na tabela abaixo )
installments Sim Numérico Número de parcelas
value Sim Numérico Valor do pagamento

Códigos válidos em "Tipo de Pagamento"

Código Descrição
01 Dinheiro
02 Cheque
03 Cartão de Crédito
04 Cartão de Débito
05 Crédito Loja
10 Vale Alimentação
11 Vale Refeição
12 Vale Presente
13 Vale Combustível
14 Duplicada Mercantil
15 Boleto Bancário
16 Vale-Troca
17 Fidelidade
18 Crediário
19 PIX
20 PayPal
21 AME
90 Sem pagamento
99 Outros

Consulta de Pedido

Retorna as informações de um pedido, a partir do seu id.

GET
/api/v1/orders/:order_id

Exemplo de requisição para consultar um pedido

curl -X GET https://sandbox.estoka.com.br/api/v1/orders/109  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do retorno

{
  "order": {
    "id": 109,
    "code": "0929282736151622",
    "nexaas_orders_code": "30582f82-7778-493d-9960-9670551ab912",
    "split": false,
    "organization_id": 2,
    "source_organization_id": 1,
    "organization_name": "Nome do Estabelecimento",
    "emission_options": {
            "customer_document": "10254571701",
            "document_on_invoice": false
    },
    "metadata": {},
    "observation": "some observation",
    "customer": {
      "id": 100,
      "name": "Lakin-Parisian",
      "email": "morris@brakus.us",
      "phone_number": "(21) 12345-1234",
      "organization_id": 1,
      "account_id": 1,
      "type": "Company",
      "status": "active",
      "document_number": "92.270.088/6331-15"
        },
    "pdf_tag_file": "http://order_tags_28.pdf",
    "data": {
      "code": "0929282736151622",
      "comments": null,
      "customer": {
        "name": "Acme Corp. Ltda",
        "email": "acme.corp@email.com.br",
        "document": "57414248000116",
        "state_inscription": "921228773644",
        "municipal_inscription": "0123456789",
        "suframa_inscription": "0123456789",
        "phones": [
          "21 999999999"
        ]
      },
      "discount": 30.0,
      "payments": [
        {
          "method": "18",
          "method_name": "debit_card",
          "installments": 1,
          "value": 207,
          "creditor_contract_id": "1"
        }
      ],
      "shipping": 20,
      "placed_at": "2019-02-27T15:11:06.000-03:00",
      "pre_order": true,
      "total_value": 190,
      "billing_address": {
        "street": "Rua São Francisco Xavier",
        "number": "999",
        "detail": "ap 99",
        "zipcode": "20550012",
        "neighborhood": "Tijuca",
        "city_code": null,
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR"
      },
      "shipping_address": {
        "street": "Rua São Francisco Xavier",
        "number": "999",
        "detail": "ap 99",
        "zipcode": "20550012",
        "neighborhood": "Tijuca",
        "city_code": null,
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR"
      },
      "items": [
        {
          "quantity": 1,
          "item_value": 100,
          "unit_price": 100,
          "discount": 15.0,
          "stock_sku": {
            "id": 1,
            "stock_id": 1,
            "product_sku_id": 1,
            "in_stock_quantity": 1,
            "reserved_quantity": 1,
            "available_quantity": 0,
            "in_transit_quantity": null,
            "created_at": "2018-08-07T19:05:36.676-03:00",
            "updated_at": "2019-03-12T18:03:56.828-03:00",
            "replacement_cost": "0.0",
            "minimum_limit": null,
            "negative_stock": false,
            "batch": "1",
            "batch_expiration_date": "2018-08-24"
          },
          "serial_numbers": ["MXCGSU"],
          "product_sku": {
            "id": 1,
            "product_id": 1,
            "code": "1",
            "ean": "",
            "additional_eans": [],
            "name": "1 - HPHONE - Vermelho",
            "features": {
              "default": [
                {
                  "id": "1",
                  "key": "Cor",
                  "value": "Vermelho"
                }
              ]
            },
            "provider_skus": [],
            "width": null,
            "height": null,
            "length": null,
            "weight": null,
            "active": true,
            "product_images": [],
            "created_at": "2018-08-07T18:42:57.160-03:00",
            "updated_at": "2018-08-07T18:42:57.160-03:00"
          }
        },
        {
          "quantity": 1,
          "item_value": 100,
          "unit_price": 100,
          "discount": 15.0,
          "stock_sku": {
            "id": 2,
            "stock_id": 1,
            "product_sku_id": 2,
            "in_stock_quantity": 1,
            "reserved_quantity": 1,
            "available_quantity": 0,
            "created_at": "2018-08-07T19:05:36.687-03:00",
            "updated_at": "2019-03-12T18:03:56.844-03:00",
            "replacement_cost": "0.0",
            "minimum_limit": null,
            "negative_stock": false,
            "batch": "1",
            "batch_expiration_date": "2018-08-27"
          },
          "serial_numbers": ["JHAPOH"],
          "product_sku": {
            "id": 2,
            "product_id": 1,
            "code": "2",
            "ean": "",
            "additional_eans": [],
            "name": "2 - HPHONE - Verde",
            "features": {
              "default": [
                {
                  "id": "1",
                  "key": "Cor",
                  "value": "Verde"
                }
              ]
            },
            "provider_skus": [],
            "width": null,
            "height": null,
            "length": null,
            "weight": null,
            "active": true,
            "product_images": [
              {
                "id": 2,
                "caption": "",
                "name": "Antipulgas_Bravector.jpg",
                "dataURL": "http://localhost:3000/uploads/product_image/2/Antipulgas_Bravector.jpg",
                "size": 67259,
                "main_image": true
              }
            ],
            "created_at": "2018-08-07T18:42:57.176-03:00",
            "updated_at": "2018-08-07T18:42:57.176-03:00"
          }
        }
      ],
      "channel": null,
      "invoices": [],
      "interest": 0.2,
      "shipments": [],
      "updated_at": null,
      "shipping_cost": 15.0,
      "total_ordered": 207.6,
      "shipping_method": null,
      "calculation_type": null,
      "estimated_delivery": null,
      "estimated_delivery_shift": null
    },
    "created_at": "2019-03-12T18:03:56.853-03:00",
    "updated_at": "2019-03-12T18:03:56.858-03:00",
    "pickup_on_store": false,
    "status": "pre_order",
    "payment_status": "pending",
    "fulfillment": false,
    "sale_channel_id": 1,
    "sale_channel_name": "Nome do Canal de Vendas",
    "partner_fee": 0.0,
    "total_items_value": 300.0,
    "seller": {
      "created_at": "2019-11-01T15:12:59.563-03:00",
      "email": "joão.silva@wtestbaz.com",
      "id": 4,
      "name": "João da Silva",
      "organization_id": 2,
      "updated_at": "2019-11-01T15:12:59.563-03:00"
    },
    "emission_status": null,
    "nfes": [
      {
        "type": "sale",
        "description": "Venda",
        "danfe_url": "url",
        "xml_url": "url",
        "number": "Número da NFe",
        "serie": "Série da NFe",
        "cancel_xml_url": "Url da xml cancelada"
      },
      {
        "type": "return",
        "description": "Devolução",
        "danfe_url": "url",
        "xml_url": "url",
        "number": "Número da NFe",
        "serie": "Série da NFe",
        "cancel_xml_url": "Url da xml cancelada"
      }
    ],
    "audit_logs": [],
    "order_volumes": [
      {
        "id": 977,
        "order_id": 109,
        "number": 1,
        "specie": "CX",
        "width": "2.0",
        "height": "2.0",
        "depth": "1.0",
        "weight": "1.0",
        "tracking_code": "PTABCXYZ"
      }
    ],
    "order_returns": [],
    "payments": [
      {
        "created_at": "2020-05-20T10:23:17-03:00",
        "updated_at": "2020-05-20T10:23:17-03:00",
        "id": 9,
        "method": "04",
        "method_name": "debit_card",
        "billet_barcode": null,
        "billet_expiration_date": null,
        "billet_url": null,
        "card_brand": "1",
        "card_brand_name": "Visa",
        "acquirer_response_code": "0034",
        "acquirer_name": "cielo",
        "acquirer_id": "5969170917bce0bf099",
        "processed_at": "2020-01-17T19:53:02.965Z",
        "authorization_code": "12648033",
        "nsu": "3424099",
        "installments": 1,
        "value": 207.0,
        "taxes": 10.0,
        "total": 217.0,
        "creditor_contract_id": "1"
      }
    ],
    "stock": {
      "id": 1,
      "organization_id": 2,
      "name": "Centro de distribuição 1",
      "active": true,
      "zip_code": "20011-020",
      "street": "Rua do Carmo",
      "number": 19999,
      "complement": "Conjunto 22",
      "city": "Rio de Janeiro",
      "neighborhood": "Centro",
      "state": "RJ",
      "created_at": "2018-08-07T19:04:16.604-03:00",
      "sale_channels": [
        {
          "id": 1,
          "name": "Primeiro canal",
          "organization_id": 2,
          "global": true,
          "created_at": "2018-08-07T15:11:22.053-03:00",
          "updated_at": "2018-08-07T15:11:22.053-03:00"
        }
      ],
      "kind": "normal",
      "description": "Depósito Matriz"
    },
    "seller": {
      "id":2,
      "name":"Seller 2",
      "email":"seller-2@nexaas.com",
      "organization_id":2,
      "sale_channel_ids":[],
      "created_at":"2020-10-19T19:05:28.921Z",
      "updated_at":"2020-10-19T19:05:28.921Z"
    },
    "shipping_service": {
       "id": 191013,
       "name": "Sedex",
       "carrier": "Correios",
       "carrier_external_id": "code1",
       "tracking_code": "PTABCXYZ",
       "tracking_url": "https://correios.com.br/tracking/PTABCXYZ",
       "estimated_due_date": "2020-05-30",
       "carrier_estimated_due_date": "2020-05-30"
    },
    "carrier": {
      "id": 2,
      "organization_id": null,
      "document": "52723924000110",
      "name": "Correios LTDA.",
      "trading_name": "Correios",
      "state_inscription_type": "icms",
      "provider_type": "carrier",
      "external_id": null,
      "created_at": "2021-04-08T11:59:32.866-03:00",
      "updated_at": "2021-04-08T11:59:32.866-03:00"
    }
  }
}

Atualiza um pedido

Atualiza um pedido ou pré pedido.

Esse recurso possibilita a alteração de todos os campos do pedido, com exceção dos itens.

PUT
/api/v1/orders/:id

Exemplo para atualizar o pedido

curl -X PUT https://sandbox.estoka.com.br/api/v1/orders/1  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

{
  "order": {
    "code" : "32516136000146",
    "split": false,
    "placed_at" : "2018-06-12T17:11:06.000-03:00",
    "organization_id" : 3,
    "source_organization_id": 2,
    "discount" : 0.0,
    "shipping" : 0.0,
    "partner_fee": 0.0,
    "total_value" : 69.0,
    "seller_external_id": "464844e4-b13a-4efe-a20d-665df840be1e",
    "comments" : "Observações",
    "label_file_url": "http://etiqueta-url-example.pdf",
    "observation": "some observation",
    "customer" : {
      "name": "Acme Corp. Ltda",
      "email": "acme.corp@email.com.br",
      "document": "57414248000116",
      "state_inscription": "921228773644",
      "municipal_inscription": "0123456789",
      "suframa_inscription": "0123456789",
      "phones" : ["21 999999999", "21 999999999"]
    },
    "billing_address" : {
      "street" :"Rua São Francisco Xavier",
      "number" :"999",
      "detail" :"ap 99",
      "zipcode" :"20550012",
      "neighborhood" :"Tijuca",
      "city_code" : "3304557",
      "city" :"Rio de Janeiro",
      "state" :"RJ",
      "country" :"BR"
    },
    "shipping_address": {
      "street": "Rua São Francisco Xavier",
      "number": "999",
      "detail": "ap 99",
      "zipcode": "20550012",
      "neighborhood": "Tijuca",
      "city": "Rio de Janeiro",
      "state": "RJ",
      "country": "BR"
    },
    "payment_status": "approved",
    "metadata": { "any object": 1 },
    "pickup_on_store": true,
    "shipping_service": {
       "name": "Sedex",
       "carrier_external_id": "code1",
       "tracking_code": "PTABCXYZ",
       "tracking_url": "https://correios.com.br/tracking/PTABCXYZ",
       "estimated_due_date": "2020-05-30",
       "carrier_estimated_due_date": "2020-05-30"
     },
    "order_volumes": [
      {
        "id": 977,
        "tracking_code": "PTABCXYZ"
      }
    ]
  }
}

Exemplo do retorno

{
  "order": {
    "id": 28,
    "code": "0929282736151622",
    "split": false,
    "organization_id": 3,
    "organization_name": "Nome do Estabelecimento",
    "emission_options": {
            "customer_document": "10254571701",
            "document_on_invoice": false
    },
    "source_organization_id": 2,
    "pdf_tag_file": "http://order_tags_28.pdf",
    "observation": "some observation",
    "customer": {
                "id": 100,
                "name": "Lakin-Parisian",
                "email": "morris@brakus.us",
                "phone_number": "(21) 12345-1234",
                "organization_id": 1,
                "account_id": 1,
                "type": "Company",
                "status": "active",
                "document_number": "92.270.088/6331-15"
            },
    "data": {
      "code": "32516136000162",
      "placed_at": "2018-09-17T13:45:41.000-03:00",
      "discount": 0.0,
      "shipping": 0.0,
      "total_value": 5040,
      "pre_order": false,
      "items": [
        {
          "quantity": 1,
          "unit_price": 55.55,
          "item_value": 55.55,
          "discount" : 0.0,
          "stock_sku": null,
          "product_sku": {
            "id": 1,
            "product_id": 2,
            "code": "coleira-gummy-pp",
            "ean": "7898482431923",
            "additional_eans": ["8798482431923"],
            "name": "coleira-gummy-pp - Coleira para cachorros Gummy - PP",
            "features": {
              "default": [
                {
                  "id": "2",
                  "key": "Tamanho",
                  "value": "PP"
                }
              ]
            },
            "provider_skus": [],
            "width": null,
            "height": null,
            "length": null,
            "weight": null,
            "active": true,
            "created_at": "2018-08-07T20:49:05.106-03:00",
            "updated_at": "2018-08-07T20:49:05.106-03:00"
          }
        },
        {
          "quantity": 1,
          "unit_price": 150.0,
          "item_value": 150.0,
          "product_sku": {
            "id": 1,
            "product_id": 2,
            "code": "coleira-gummy-p",
            "ean": "7898482431923",
            "additional_eans": ["7898482431923"],
            "name": "coleira-gummy-p - Coleira para cachorros Gummy - P",
            "features": {
              "default": [
                {
                  "id": "2",
                  "key": "Tamanho",
                  "value": "P"
                }
              ]
            },
            "provider_skus": [
              {
                "code": "dell-7628-5",
                "provider_id": 5
              },
              {
                "code": "dell-7628-6",
                "provider_id": 6
              }
            ],
            "width": null,
            "height": null,
            "length": null,
            "weight": null,
            "active": true,
            "product_images": [],
            "created_at": "2018-08-07T20:49:05.106-03:00",
            "updated_at": "2018-08-07T20:49:05.106-03:00"
          }
        }
      ],
      "customer": {
        "name": "Acme Corp. Ltda",
        "email": "acme.corp@email.com.br",
        "document": "57414248000116",
        "state_inscription": "921228773644",
        "municipal_inscription": "0123456789",
        "suframa_inscription": "0123456789",
        "phones": [
          "11 912377717",
          "11 923064129"
        ]
      },
      "billing_address": {
        "street": "Rua São Rafael Del Angelis",
        "number": "999",
        "detail": "ap 99",
        "zipcode": "20550012",
        "neighborhood": "Tijuca",
        "city_code": "3304557",
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR"
      },
      "shipping_address": {
        "street": "Rua São Francisco Xavier",
        "number": "999",
        "detail": "ap 99",
        "zipcode": "20550012",
        "neighborhood": "Tijuca",
        "city_code": null,
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR"
      },
      "payments": [
        {
          "method": "1",
          "method_name": "money",
          "installments": 2,
          "value": 5040.0
        }
      ],
      "emission_status": null,
      "comments": null
    },
    "created_at": "2018-11-05T16:34:07.086-02:00",
    "updated_at": "2018-11-05T16:34:07.086-02:00",
    "pickup_on_store": false,
    "status": "waiting_picking",
    "pickup_on_store": true,
    "payment_status": "approved",
    "stock": {
      "id": 1,
      "organization_id": 3,
      "name": "numero dois",
      "active": true,
      "zip_code": "29060-300",
      "street": "Rua José Neves Cypreste",
      "number": 3,
      "complement": "Conjunto 22",
      "city": "Vitória",
      "neighborhood": "Jardim da Penha",
      "state": "ES",
      "created_at": "2018-09-17T14:05:12.450-03:00",
      "sale_channels": [
        {
          "id": 3,
          "name": "Canal tres",
          "organization_id": 3,
          "global": true,
          "created_at": "2018-09-06T18:19:17.082-03:00",
          "updated_at": "2018-09-06T18:19:17.082-03:00"
        }
      ],
      "kind": "normal",
      "description": "Depósito Matriz"
    },
    "payments": [
      {
        "created_at": "2020-05-20T10:23:17-03:00",
        "updated_at": "2020-05-20T10:23:17-03:00",
        "id": 9,
        "method": "1",
        "method_name": "money",
        "billet_barcode": null,
        "billet_expiration_date": null,
        "billet_url": null,
        "card_brand": null,
        "card_brand_name": null,
        "acquirer_response_code": null,
        "acquirer_name": null,
        "acquirer_id": null,
        "processed_at": null,
        "authorization_code": null,
        "nsu": null,
        "installments": 2,
        "value": 5040.0,
        "taxes": 10.0,
        "total": 5050.0
      }
    ],
    "sale_channel_id": 1,
    "sale_channel_name": "Nome do Canal de Vendas",
    "partner_fee": 0.0,
    "total_items_value": 300.0,
    "audit_logs": [],
    "order_volumes": [
      {
        "id": 977,
        "order_id": 109,
        "number": 1,
        "specie": "CX",
        "width": "2.0",
        "height": "2.0",
        "depth": "1.0",
        "weight": "1.0",
        "tracking_code": "PTABCXYZ"
      }
    ],
    "order_returns": [],
    "seller": {
      "id":2,
      "name":"Seller 2",
      "email":"seller-2@nexaas.com",
      "organization_id":2,
      "sale_channel_ids":[],
      "created_at":"2020-10-19T19:05:28.921Z",
      "updated_at":"2020-10-19T19:05:28.921Z"
    },
    "shipping_service": {
       "id": 191013,
       "name": "Sedex",
       "carrier": "Correios",
       "carrier_external_id": "code1",
       "tracking_code": "PTABCXYZ",
       "tracking_url": "https://correios.com.br/tracking/PTABCXYZ",
       "estimated_due_date": "2020-05-30",
       "carrier_estimated_due_date": "2020-05-30"
    }
  }
}

Adiciona itens ao Pré Pedido

Adicionar itens ao Pré Pedido.

POST
/api/v1/orders/:id/add_items

Exemplo para adicionar itens ao pré pedido

curl -X POST
https://sandbox.estoka.com.br/api/v1/orders/111/add_items  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição (product_sku_id é opcional)

{
  "order": {
    "items": [
      {
        "product_sku_code": "CODE123",
        "product_sku_id": 1,
        "quantity": 1,
        "unit_price": 69.0,
        "item_value": 69.0
      }
    ]
  }
}

Exemplo do retorno

{
  "order": {
    "id": 111,
    "code": "0929282736151622",
    "organization_id": 2,
    "organization_name": "Nome do Estabelecimento",
    "emission_options": {
            "customer_document": "10254571701",
            "document_on_invoice": false
    },
    "metadata": {},
        "customer": {
                "id": 100,
                "name": "Lakin-Parisian",
                "email": "morris@brakus.us",
                "phone_number": "(21) 12345-1234",
                "organization_id": 1,
                "account_id": 1,
                "type": "Company",
                "status": "active",
                "document_number": "92.270.088/6331-15"
            },
    "data": {
      "code": "0929282736151622",
      "comments": null,
      "customer": {
        "name": "Matheus Carlos Santino",
        "email": "17653481612@email.com.br",
        "document": "75434852737",
        "state_inscription": null,
        "municipal_inscription": null,
        "suframa_inscription": null,
        "phones": [
          "21 999999999"
        ]
      },
      "discount": 30.0,
      "payments": [],
      "shipping": 20.0,
      "placed_at": "2019-02-27T15:11:06.000-03:00",
      "pre_order": true,
      "total_value": 59.0,
      "billing_address": {
        "street": "Rua São Francisco Xavier",
        "number": "999",
        "detail": "ap 99",
        "zipcode": "20550012",
        "neighborhood": "Tijuca",
        "city_code": null,
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR"
      },
      "emission_status": null,
      "shipping_address": {
        "street": "Rua São Francisco Xavier",
        "number": "999",
        "detail": "ap 99",
        "zipcode": "20550012",
        "neighborhood": "Tijuca",
        "city_code": null,
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR"
      },
      "items": [
        {
          "quantity": 1,
          "item_value": 69.0,
          "unit_price": 69.0,
          "discount": 30.0,
          "stock_sku": {
            "id": 3,
            "stock_id": 1,
            "product_sku_id": 1,
            "in_stock_quantity": 3,
            "reserved_quantity": 2,
            "available_quantity": 1,
            "in_transit_quantity": null,
            "created_at": "2018-08-07T19:23:31.968-03:00",
            "updated_at": "2019-03-12T18:27:55.071-03:00",
            "replacement_cost": "0.0",
            "minimum_limit": null,
            "negative_stock": false,
            "batch": "6",
            "batch_expiration_date": "2018-08-31"
          },
          "product_sku": {
            "id": 1,
            "product_id": 1,
            "code": "CODE123",
            "ean": "",
            "additional_eans": [],
            "name": "1 - HPHONE - Vermelho",
            "features": {
              "default": [
                {
                  "id": "1",
                  "key": "Cor",
                  "value": "Vermelho"
                }
              ]
            },
            "provider_skus": [],
            "width": null,
            "height": null,
            "length": null,
            "weight": null,
            "active": true,
            "product_images": [],
            "created_at": "2018-08-07T18:42:57.160-03:00",
            "updated_at": "2018-08-07T18:42:57.160-03:00"
          }
        }
      ],
      "channel": null,
      "invoices": [],
      "interest": 0.0,
      "shipments": [],
      "updated_at": null,
      "shipping_cost": 0.0,
      "total_ordered": 0.0,
      "shipping_method": null,
      "calculation_type": null,
      "estimated_delivery": null,
      "estimated_delivery_shift": null
    },
    "created_at": "2019-03-12T18:22:42.498-03:00",
    "updated_at": "2019-03-12T18:27:55.086-03:00",
    "status": "pre_order",
    "sale_channel_id": 1,
    "sale_channel_name": "Nome do Canal de Vendas",
    "partner_fee": 0.0,
    "payment_status": "pending",
    "total_items_value": 300.0,
    "nfes": [],
    "audit_logs": [],
    "order_volumes": [],
    "order_returns": [],
    "payments": [],
    "stock": {
      "id": 1,
      "organization_id": 2,
      "name": "Centro de distribuição 1",
      "active": true,
      "zip_code": "20011-020",
      "street": "Rua do Carmo",
      "number": 19999,
      "complement": "Conjunto 22",
      "city": "Rio de Janeiro",
      "neighborhood": "Centro",
      "state": "RJ",
      "created_at": "2018-08-07T19:04:16.604-03:00",
      "sale_channels": [
        {
          "id": 1,
          "name": "Primeiro canal",
          "organization_id": 2,
          "global": true,
          "created_at": "2018-08-07T15:11:22.053-03:00",
          "updated_at": "2018-08-07T15:11:22.053-03:00"
        }
      ],
      "kind": "normal",
      "description": "Depósito Matriz"
    },
     "order_items": [
      {
        "id": 8,
        "order_id": 3,
        "product_sku_id": 1,
        "stock_sku_id": 1,
        "product_sku_code": "code",
        "quantity": 1,
        "unit_price": "69.0",
        "item_value": "69.0",
        "discount": "20.0",
        "available": true,
        "created_at": "2021-02-03T18:22:18.507-03:00",
        "updated_at": "2021-02-03T18:22:18.507-03:00"
      }
    ]
  }
}

Remove itens do Pré Pedido

Remover itens do Pré Pedido.

DELETE
/api/v1/orders/:id/remove_items

Exemplo para remover itens do pré pedido

curl -X DELETE
https://sandbox.estoka.com.br/v1/orders/111/remove_items  \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição (product_sku_id é opcional)

{
  "order": {
    "items": [
      {
        "product_sku_code": "CODE123",
        "product_sku_id": 1
      }
    ]
  }
}

Exemplo do retorno

{
  "order": {
    "id": 111,
    "code": "0929282736151622",
    "organization_id": 2,
    "organization_name": "Nome do Estabelecimento",
    "emission_options": {
            "customer_document": "10254571701",
            "document_on_invoice": false
    },
    "metadata": {},
    "customer": {
                "id": 100,
                "name": "Lakin-Parisian",
                "email": "morris@brakus.us",
                "phone_number": "(21) 12345-1234",
                "organization_id": 1,
                "account_id": 1,
                "type": "Company",
                "status": "active",
                "document_number": "92.270.088/6331-15"
        },
    "data": {
      "code": "0929282736151622",
      "comments": null,
      "customer": {
        "name": "Matheus Carlos Santino",
        "email": "17653481612@email.com.br",
        "document": "75434852737",
        "state_inscription": null,
        "municipal_inscription": null,
        "suframa_inscription": null,
        "phones": [
          "21 999999999"
        ]
      },
      "discount": 30.0,
      "payments": [
        {
          "method": "4",
          "method_name": "debit_card",
          "installments": 1,
          "value": 207
        }
      ],
      "shipping": 20,
      "placed_at": "2019-02-27T15:11:06.000-03:00",
      "pre_order": true,
      "total_value": -10,
      "billing_address": {
        "street": "Rua São Francisco Xavier",
        "number": "999",
        "detail": "ap 99",
        "zipcode": "20550012",
        "neighborhood": "Tijuca",
        "city_code": null,
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR"
      },
      "emission_status": null,
      "shipping_address": {
        "street": "Rua São Francisco Xavier",
        "number": "999",
        "detail": "ap 99",
        "zipcode": "20550012",
        "neighborhood": "Tijuca",
        "city_code": null,
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR"
      },
      "items": [],
      "channel": null,
      "invoices": [],
      "interest": 0.2,
      "shipments": [],
      "updated_at": null,
      "shipping_cost": 15.0,
      "total_ordered": 207.3,
      "shipping_method": null,
      "calculation_type": null,
      "estimated_delivery": null,
      "estimated_delivery_shift": null
    },
    "created_at": "2019-03-12T18:22:42.498-03:00",
    "updated_at": "2019-03-12T18:24:07.272-03:00",
    "pickup_on_store": false,
    "status": "pre_order",
    "payment_status": "pending",
    "sale_channel_id": 1,
    "sale_channel_name": "Nome do Canal de Vendas",
    "partner_fee": 0.0,
    "total_items_value": 300.0,
    "nfes": [],
    "audit_logs": [],
    "order_volumes": [],
    "order_returns": [],
    "stock": {
      "id": 1,
      "organization_id": 2,
      "name": "Centro de distribuição 1",
      "active": true,
      "zip_code": "20011-020",
      "street": "Rua do Carmo",
      "number": 19999,
      "complement": "Conjunto 22",
      "city": "Rio de Janeiro",
      "neighborhood": "Centro",
      "state": "RJ",
      "created_at": "2018-08-07T19:04:16.604-03:00",
      "sale_channels": [
        {
          "id": 1,
          "name": "Primeiro canal",
          "organization_id": 2,
          "global": true,
          "created_at": "2018-08-07T15:11:22.053-03:00",
          "updated_at": "2018-08-07T15:11:22.053-03:00"
        }
      ],
      "kind": "normal",
      "description": "Depósito Matriz"
    },
    "order_items": []
  }
}

Deleta o Pré Pedido

Deletar o pré pedido.

DELETE
/api/v1/orders/:id

Exemplo de requisição para deletar o pré pedido

curl -X DELETE https://sandbox.estoka.com.br/api/v1/orders/6 \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

  Esta requisição não possui body

Exemplo do retorno

Status: 204

Conclui o Pré Pedido

Concluir o pré pedido.

POST
/api/v1/orders/:id/confirm

Exemplo de requisição para concluir o pré pedido

curl -X POST https://sandbox.estoka.com.br/api/v1/orders/106/confirm \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

  Esta requisição não possui body

Exemplo do retorno

{
  "order": {
    "id": 109,
    "code": "0929282736151622",
    "organization_id": 2,
    "organization_name": "Nome do Estabelecimento",
    "emission_options": {
            "customer_document": "10254571701",
            "document_on_invoice": false
    },
    "customer": {
                "id": 100,
                "name": "Lakin-Parisian",
                "email": "morris@brakus.us",
                "phone_number": "(21) 12345-1234",
                "organization_id": 1,
                "account_id": 1,
                "type": "Company",
                "status": "active",
                "document_number": "92.270.088/6331-15"
        },
    "data": {
      "code": "0929282736151622",
      "comments": null,
      "customer": {
        "name": "Matheus Carlos Santino",
        "email": "17653481612@email.com.br",
        "document": "75434852737",
        "state_inscription": null,
        "municipal_inscription": null,
        "suframa_inscription": null,
        "phones": [
          "21 999999999"
        ]
      },
      "discount": 30.0,
      "payments": [
        {
          "method": "4",
          "method_name": "debit_card",
          "installments": 1,
          "value": 207
        }
      ],
      "shipping": 20,
      "placed_at": "2019-02-27T15:11:06.000-03:00",
      "pre_order": true,
      "total_value": 190,
      "billing_address": {
        "street": "Rua São Francisco Xavier",
        "number": "999",
        "detail": "ap 99",
        "zipcode": "20550012",
        "neighborhood": "Tijuca",
        "city_code": null,
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR"
      },
      "emission_status": null,
      "shipping_address": {
        "street": "Rua São Francisco Xavier",
        "number": "999",
        "detail": "ap 99",
        "zipcode": "20550012",
        "neighborhood": "Tijuca",
        "city_code": null,
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR"
      },
      "items": [
        {
          "quantity": 1,
          "item_value": 100,
          "unit_price": 100,
          "discount": 30.0,
          "stock_sku": {
            "id": 1,
            "stock_id": 1,
            "product_sku_id": 1,
            "in_stock_quantity": 1,
            "reserved_quantity": 1,
            "available_quantity": 0,
            "in_transit_quantity": null,
            "created_at": "2018-08-07T19:05:36.676-03:00",
            "updated_at": "2019-03-12T18:03:56.828-03:00",
            "replacement_cost": "0.0",
            "minimum_limit": null,
            "negative_stock": false,
            "batch": "1",
            "batch_expiration_date": "2018-08-24"
          },
          "product_sku": {
            "id": 1,
            "product_id": 1,
            "code": "1",
            "ean": "",
            "additional_eans": [],
            "name": "1 - HPHONE - Vermelho",
            "features": {
              "default": [
                {
                  "id": "1",
                  "key": "Cor",
                  "value": "Vermelho"
                }
              ]
            },
            "provider_skus": [],
            "width": null,
            "height": null,
            "length": null,
            "weight": null,
            "active": true,
            "product_images": [],
            "created_at": "2018-08-07T18:42:57.160-03:00",
            "updated_at": "2018-08-07T18:42:57.160-03:00"
          }
        },
        {
          "quantity": 1,
          "item_value": 100,
          "unit_price": 100,
          "stock_sku": {
            "id": 2,
            "stock_id": 1,
            "product_sku_id": 2,
            "in_stock_quantity": 1,
            "reserved_quantity": 1,
            "available_quantity": 0,
            "in_transit_quantity": null,
            "created_at": "2018-08-07T19:05:36.687-03:00",
            "updated_at": "2019-03-12T18:03:56.844-03:00",
            "replacement_cost": "0.0",
            "minimum_limit": null,
            "negative_stock": false,
            "batch": "1",
            "batch_expiration_date": "2018-08-27"
          },
          "product_sku": {
            "id": 2,
            "product_id": 1,
            "code": "2",
            "ean": "",
            "additional_eans": [],
            "name": "2 - HPHONE - Verde",
            "features": {
              "default": [
                {
                  "id": "1",
                  "key": "Cor",
                  "value": "Verde"
                }
              ]
            },
            "provider_skus": [],
            "width": null,
            "height": null,
            "length": null,
            "weight": null,
            "active": true,
            "product_images": [],
            "created_at": "2018-08-07T18:42:57.176-03:00",
            "updated_at": "2018-08-07T18:42:57.176-03:00"
          }
        }
      ],
      "channel": null,
      "invoices": [],
      "interest": 0.20,
      "shipments": [],
      "updated_at": null,
      "shipping_cost": 15.0,
      "total_ordered": 207.0,
      "shipping_method": null,
      "calculation_type": null,
      "estimated_delivery": null,
      "estimated_delivery_shift": null
    },
    "created_at": "2019-03-12T18:03:56.853-03:00",
    "updated_at": "2019-03-12T18:19:49.710-03:00",
    "pickup_on_store": false,
    "status": "waiting_picking",
    "payment_status": "approved",
    "sale_channel_id": 1,
    "sale_channel_name": "Nome do Canal de Vendas",
    "partner_fee": 0.0,
    "total_items_value": 300.0,
    "nfes": [],
    "audit_logs": [],
    "order_volumes": [],
    "order_returns": [],
    "payments": [
      {
        "created_at": "2020-05-20T10:23:17-03:00",
        "updated_at": "2020-05-20T10:23:17-03:00",
        "id": 9,
        "method": "03",
        "method_name": "credit_card",
        "billet_barcode": null,
        "billet_expiration_date": null,
        "billet_url": null,
        "card_brand": null,
        "card_brand_name": null,
        "acquirer_response_code": "0000",
        "acquirer_name": "cielo",
        "acquirer_id": "5969170917bce0bf099",
        "processed_at": "2020-01-17T19:53:02.965Z",
        "authorization_code": "12648033",
        "nsu": "3424099",
        "installments": 2,
        "value": 207.0,
        "taxes": 10.0,
        "total": 217.0
      }
    ],
    "stock": {
      "id": 1,
      "organization_id": 2,
      "name": "Centro de distribuição 1",
      "active": true,
      "zip_code": "20011-020",
      "street": "Rua do Carmo",
      "number": 19999,
      "complement": "Conjunto 22",
      "city": "Rio de Janeiro",
      "neighborhood": "Centro",
      "state": "RJ",
      "created_at": "2018-08-07T19:04:16.604-03:00",
      "sale_channels": [
        {
          "id": 1,
          "name": "Primeiro canal",
          "organization_id": 2,
          "global": true,
          "created_at": "2018-08-07T15:11:22.053-03:00",
          "updated_at": "2018-08-07T15:11:22.053-03:00"
        }
      ],
      "kind": "normal",
      "description": "Depósito Matriz"
    }
  }
}
Status: 204

Listagem de Pedidos

Retorna todos os pedidos de uma conta:

GET
/api/v1/orders

Também é possivel passar a paginação da listagem:

GET
/api/v1/orders?page=2

Opções de filtros

Filtrar a listagem por data:

A combinção dos dois campos cria um range (pedidos realizados entre data X e data Y).
Os formatos de data aceitos são o pt-BR 20/02/2019 ou URL encoded, tambem pt-BR 20%2F02%2F2019.
Também é possível pesquisar por data e hora, por exemplo: 20/02/2019T12:30.

GET
/api/v1/orders?search[end_at]=20%2F02%2F2019&page=1
GET
/api/v1/orders?search[start_at]=20/02/2019&search[end_at]=20/03/2019&page=1
GET
/api/v1/orders?search[start_at]=20/02/2019T12:30&search[end_at]=20/03/2019T23:30&page=1

Filtrar a listagem por status:

GET
/api/v1/orders?search[status]=delivered&page=1

Filtrar a listagem por estabelecimento:

GET
/api/v1/orders?search[organization_id]=123&page=1

Filtrar a listagem por número do pedido de venda:

GET
/api/v1/orders?search[code]=code123&page=1

Filtrar a listagem por número da nota fiscal:

GET
/api/v1/orders?search[nfe_number]=536

Filtrar a listagem por CPF/CNPJ:

GET
/api/v1/orders?search[customer_document]=73861009064&page=1

Filtrar a listagem por 'status diferente de':

GET
/api/v1/orders?search[status_not_equal]=delivered&page=1

Filtrar a listagem por 'criado em':

GET
/api/v1/orders?search[created_at_from]=2022/06/08&search[created_at_until]=2022/06/09

Filtrar a listagem por 'atualizado em':

GET
/api/v1/orders?search[updated_at_from]=2022/06/08&search[updated_at_until]=2022/06/09

Exemplo de requisição para listagem de todos os pedidos

curl -X GET https://sandbox.estoka.com.br/api/v1/orders \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do JSON de retorno

{
  "orders": [
    {
      "id": 85,
      "code": "0929282736151622",
      "nexaas_orders_code": "30582f82-7778-493d-9960-9670551ab912",
      "split": false,
      "splited_count": 3,
      "organization_id": 3,
      "source_organization_id": 1,
      "organization_name": "Nome do Estabelecimento",
      "emission_options": {
            "customer_document": "10254571701",
            "document_on_invoice": false
    },
      "transfer_ids": [],
      "metadata": {},
      "observation": "some observation",
      "customer": {
                "id": 100,
                "name": "Lakin-Parisian",
                "email": "morris@brakus.us",
                "phone_number": "(21) 12345-1234",
                "organization_id": 1,
                "account_id": 1,
                "type": "Company",
                "status": "active",
                "document_number": "92.270.088/6331-15"
            },
      "data": {
        "code": "1928354",
        "comments": null,
        "customer": {
          "name": "Pedro Paulo Souza",
          "email": "17653481612@email.com.br",
          "document": "75434852737",
          "state_inscription": null,
          "municipal_inscription": null,
          "suframa_inscription": null,
          "phones": [
            "21 999999999"
          ]
        },
        "discount": 10.0,
        "payments": [
          {
            "method": "18",
            "method_name": "debit_card",
            "installments": 1,
            "value": 69,
            "creditor_contract_id": "1",
            "external_id": "produto01"
          }
        ],
        "shipping": 10,
        "placed_at": "2019-01-15T15:11:06.000-03:00",
        "pre_order": true,
        "total_value": 207,
        "billing_address": {
          "street": "Rua São Francisco Xavier",
          "number": "999",
          "detail": "ap 99",
          "zipcode": "20550012",
          "neighborhood": "Tijuca",
          "city_code": null,
          "city": "Rio de Janeiro",
          "state": "RJ",
          "country": "BR"
        },
        "emission_status": null,
        "shipping_address": {
          "street": "Rua São Francisco Xavier",
          "number": "999",
          "detail": "ap 99",
          "zipcode": "20550012",
          "neighborhood": "Tijuca",
          "city_code": null,
          "city": "Rio de Janeiro",
          "state": "RJ",
          "country": "BR"
        },
        "items": [
          {
            "quantity": 3,
            "item_value": 207,
            "unit_price": 69,
            "discount": 10.0,
            "stock_sku": {
              "id": 23,
              "stock_id": 2,
              "product_sku_id": 9,
              "in_stock_quantity": 1978,
              "reserved_quantity": 0,
              "available_quantity": 1978,
              "in_transit_quantity": null,
              "created_at": "2018-09-03T19:00:58.285-03:00",
              "updated_at": "2019-03-11T11:03:08.590-03:00",
              "replacement_cost": "0.0",
              "minimum_limit": null,
              "negative_stock": false,
              "batch": "11",
              "batch_expiration_date": "2018-10-12"
            },
            "serial_numbers": ["KJIHUG", "SKGSSO", "DKWSHU"],
            "product_sku": {
              "id": 9,
              "product_id": 3,
              "code": "coleira-gummy-m ",
              "ean": "7896291802910",
              "additional_eans": ["8796291802910"],
              "name": "coleira-gummy-m  - cóleira para cachorro - casa, M",
              "features": {
                "default": [
                  {
                    "id": "6",
                    "key": "local",
                    "value": "casa"
                  },
                  {
                    "id": "3",
                    "key": "TAMANHO",
                    "value": "M"
                  }
                ]
              },
              "provider_skus": [
                {
                  "code": "dell-7628-5",
                  "provider_id": 5
                },
                {
                  "code": "dell-7628-6",
                  "provider_id": 6
                }
              ],
              "width": null,
              "height": null,
              "length": null,
              "weight": null,
              "active": true,
              "product_images": [
                {
                  "id": 2,
                  "caption": "",
                  "name": "Antipulgas_Bravector.jpg",
                  "dataURL": "http://localhost:3000/uploads/product_image/2/Antipulgas_Bravector.jpg",
                  "size": 67259,
                  "main_image": true
                }
              ],
              "created_at": "2018-08-08T14:55:46.491-03:00",
              "updated_at": "2019-02-06T15:53:14.300-02:00"
            }
          }
        ],
        "channel": null,
        "invoices": [],
        "interest": 0.2,
        "shipments": [],
        "updated_at": null,
        "shipping_cost": 15.0,
        "total_ordered": 207.3,
        "shipping_method": null,
        "calculation_type": null,
        "estimated_delivery": null,
        "estimated_delivery_shift": null
      },
      "created_at": "2019-01-16T15:29:14.400-02:00",
      "updated_at": "2019-01-16T15:48:53.152-02:00",
      "pickup_on_store": false,
      "status": "cancelled",
      "payment_status": "rejected",
      "sale_channel_id": 2,
      "sale_channel_name": "Nome do Canal de Vendas",
      "partner_fee": 0.0,
      "total_items_value": 300.0,
      "nfes": [
        {
          "type": "sale",
          "description": "Venda",
          "danfe_url": "http:/foo/danfe.pdf?1547660799",
          "xml_url": "http://foo/nfe.xml?1547660799",
          "number": "123456",
          "serie": "1",
          "cancel_xml_url": "http://foo/nfe.xml?1547660799"
        }
      ],
      "audit_logs": [
        {
          "id": 12,
          "user_id": null,
          "order_id": 85,
          "reported_at": "2019-01-16T15:48:27.476-02:00",
          "status": "pending_cancel",
          "message": "Solicitação de devolução dos produtos: <strong>coleira-gummy-m  - Coleira para cachorro - M</strong> (3 UN)",
          "created_at": "2019-01-16T15:48:27.477-02:00",
          "updated_at": "2019-01-16T15:48:27.477-02:00"
        },
        {
          "id": 13,
          "user_id": 4,
          "order_id": 85,
          "reported_at": "2019-01-16T15:48:53.134-02:00",
          "status": "completed_cancel",
          "message": "Itens devolvidos ao estoque: <strong>coleira-gummy-m  - Coleira para cachorro - M</strong> (3 UN)",
          "created_at": "2019-01-16T15:48:53.135-02:00",
          "updated_at": "2019-01-16T15:48:53.135-02:00"
        }
      ],
      "order_volumes": [
        {
          "id": 26,
          "order_id": 85,
          "number": 1,
          "specie": "UN",
          "width": "200.0",
          "height": "10.0",
          "depth": "10.0",
          "weight": "1.0",
          "order_volume_items": [
            {
              "id": 40,
              "order_volume_id": 26,
              "product_sku_id": 9,
              "quantity": 3,
              "created_at": "2019-01-16T15:31:42.465-02:00",
              "updated_at": "2019-01-16T15:31:42.465-02:00"
            }
          ]
        }
      ],
      "order_returns": [
        {
          "id": 7,
          "order_id": 85,
          "status": "pending_issue",
          "returned_products": [
            {
              "id": 12,
              "total": 3,
              "comments": null
            }
          ]
        }
      ],
      "payments": [
        {
          "created_at": "2020-05-20T10:23:17-03:00",
          "updated_at": "2020-05-20T10:23:17-03:00",
          "id": 9,
          "method": "04",
          "method_name": "debit_card",
          "billet_barcode": null,
          "billet_expiration_date": null,
          "billet_url": null,
          "card_brand": "1",
          "card_brand_name": "Visa",
          "acquirer_response_code": "0034",
          "acquirer_name": "cielo",
          "acquirer_id": "5969170917bce0bf099",
          "processed_at": "2020-01-17T19:53:02.965Z",
          "authorization_code": "12648033",
          "nsu": "3424099",
          "installments": 1,
          "value": 69.0,
          "taxes": 10.0,
          "total": 79.0,
          "creditor_contract_id": "1",
          "external_id": "produto01"
        }
      ],
      "stock": {
        "id": 2,
        "organization_id": 3,
        "name": "ZEE NOW COMERCIO DE PRODUTOS PARA ANIMAIS S.A.",
        "active": true,
        "zip_code": "20011903",
        "street": "Rua do Carmo",
        "number": 461,
        "complement": "",
        "city": "Rio de Janeiro",
        "neighborhood": "Centro",
        "state": "RJ",
        "created_at": "2018-08-08T15:00:02.203-03:00",
        "sale_channels": [
          {
            "id": 2,
            "name": "Canal Um",
            "organization_id": 3,
            "global": true,
            "created_at": "2018-08-08T14:36:50.957-03:00",
            "updated_at": "2018-08-08T14:36:50.957-03:00"
          },
          {
            "id": 4,
            "name": "ASASA",
            "organization_id": 3,
            "global": true,
            "created_at": "2018-09-17T18:56:32.259-03:00",
            "updated_at": "2018-09-17T18:56:32.259-03:00"
          },
          {
            "id": 3,
            "name": "Canal tres",
            "organization_id": 3,
            "global": true,
            "created_at": "2018-09-06T18:19:17.082-03:00",
            "updated_at": "2018-09-06T18:19:17.082-03:00"
          }
        ],
        "kind": "normal",
        "description": "Depósito Matriz"
      },
      "seller": {
        "id":2,
        "name":"Seller 2",
        "email":"seller-2@nexaas.com",
        "organization_id":2,
        "sale_channel_ids":[

        ],
        "created_at":"2020-10-19T19:05:28.921Z",
        "updated_at":"2020-10-19T19:05:28.921Z"
      },
      "shipping_service": {
         "id": 191013,
         "name": "Sedex",
         "carrier": "Correios",
         "tracking_code": "PTABCXYZ",
         "tracking_url": "https://correios.com.br/tracking/PTABCXYZ",
         "estimated_due_date": "2020-05-30",
         "carrier_estimated_due_date": "2020-05-30"
      },
      "carrier": {
        "id": 2,
        "organization_id": null,
        "document": "52723924000110",
        "name": "Correios LTDA.",
        "trading_name": "Correios",
        "state_inscription_type": "icms",
        "provider_type": "carrier",
        "external_id": null,
        "created_at": "2021-04-08T11:59:32.866-03:00",
        "updated_at": "2021-04-08T11:59:32.866-03:00"
      }
    }
  ]
}

Confirma entrega de um pedido

Confirma a entrega de um pedido, alterando seu status para “Entregue”.

POST
/api/v1/orders/:order_id/deliver

Exemplo de requisição para confirmação da entrega do pedido

curl -X POST https://sandbox.estoka.com.br/api/v1/orders/100/deliver \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

  Esta requisição não possui body

Exemplo de retorno

{
  "order": {
    "id": 349,
    "code": "0929282736151622",
    "organization_id": 1,
    "organization_name": "Nome do Estabelecimento",
    "emission_options": {
            "customer_document": "10254571701",
            "document_on_invoice": false
    },
    "metadata": {},
    "customer": {
                "id": 100,
                "name": "Lakin-Parisian",
                "email": "morris@brakus.us",
                "phone_number": "(21) 12345-1234",
                "organization_id": 1,
                "account_id": 1,
                "type": "Company",
                "status": "active",
                "document_number": "92.270.088/6331-15"
        },
    "data": {
      "code": "32516136000145",
      "items": [
        {
          "quantity": 2,
          "item_value": 138,
          "unit_price": 69,
          "product_sku_id": 167,
          "discount": 0.08
        },
        {
          "quantity": 2,
          "item_value": 138,
          "unit_price": 69,
          "product_sku_id": 168,
          "discount": 0.08
        },
        {
          "quantity": 1,
          "item_value": 89,
          "unit_price": 89,
          "product_sku_id": 111,
          "discount": 0.04
        }
      ],
      "comments": "Cliente preferencial, priorizar a entrega deste pedido.",
      "customer": {
        "name": "João da Silva",
        "email": "joao@email.com.br",
        "state_inscription": null,
        "municipal_inscription": null,
        "suframa_inscription": null,
        "phones": [
          "21 999999999",
          "21 999999999"
        ],
        "document": "67166379588"
      },
      "discount": 0.2,
      "payments": [
        {
          "value": 365,
          "method": "4",
          "method_name": "debit_card",
          "installments": 1
        }
      ],
      "shipping": 15.0,
      "stock_id": 6,
      "placed_at": "2018-08-22T17:11:06.000-03:00",
      "total_value": 365,
      "billing_address": {
        "city": "Rio de Janeiro",
        "state": "RJ",
        "detail": "ap 99",
        "number": "999",
        "street": "Rua São Francisco Xavier",
        "country": "BR",
        "zipcode": "20550012",
        "city_code": "3304557",
        "neighborhood": "Tijuca"
      },
      "emission_status": null,
      "sale_channel_id": 1,
      "shipping_address": {
        "city": "Rio de Janeiro",
        "state": "RJ",
        "detail": "ap 99",
        "number": "999",
        "street": "Rua São Francisco Xavier",
        "country": "BR",
        "zipcode": "20550012",
        "city_code": null,
        "neighborhood": "Tijuca"
      }
    },
    "created_at": "2018-08-22T13:25:53.056-03:00",
    "updated_at": "2018-11-13T17:06:47.910-02:00",
    "pickup_on_store": false,
    "status": "delivered",
    "payment_status": "approved",
    "stock_id": 6,
    "sale_channel_id": 1,
    "sale_channel_name": "Nome do Canal de Vendas",
    "partner_fee": 0.0,
    "total_items_value": 300.0,
    "audit_logs": [],
    "payments": [
      {
        "created_at": "2020-05-20T10:23:17-03:00",
        "updated_at": "2020-05-20T10:23:17-03:00",
        "id": 9,
        "method": "04",
        "method_name": "debit_card",
        "billet_barcode": null,
        "billet_expiration_date": null,
        "billet_url": null,
        "card_brand": "1",
        "card_brand_name": "Visa",
        "acquirer_response_code": "0034",
        "acquirer_name": "cielo",
        "acquirer_id": "5969170917bce0bf099",
        "processed_at": "2020-01-17T19:53:02.965Z",
        "authorization_code": "12648033",
        "nsu": "3424099",
        "installments": 1,
        "value": 365.0,
        "taxes": 5.0,
        "total": 370.0
      }
    ],
    "order_volumes": [
      {
        "id": 580,
        "order_id": 349,
        "number": 1,
        "specie": "",
        "width": null,
        "height": null,
        "depth": null,
        "weight": null,
        "order_volume_items": [
          {
            "id": 847,
            "order_volume_id": 580,
            "product_sku_id": 167,
            "quantity": 2,
            "created_at": "2018-09-13T16:17:43.534-03:00",
            "updated_at": "2018-09-13T16:17:43.534-03:00"
          },
          {
            "id": 848,
            "order_volume_id": 580,
            "product_sku_id": 168,
            "quantity": 2,
            "created_at": "2018-09-13T16:17:43.541-03:00",
            "updated_at": "2018-09-13T16:17:43.541-03:00"
          },
          {
            "id": 849,
            "order_volume_id": 580,
            "product_sku_id": 111,
            "quantity": 1,
            "created_at": "2018-09-13T16:17:43.547-03:00",
            "updated_at": "2018-09-13T16:17:43.547-03:00"
          }
        ]
      }
    ],
    "order_returns": []
  }
}
´´´

Coloca pedido em rota de entrega

Coloca o pedido em rota de entrega

POST
/api/v1/orders/:order_id/delivery_route

Exemplo de requisição para colocar o pedido em rota de entrega

curl -X POST https://sandbox.estoka.com.br/api/v1/orders/100/delivery_route \
-H 'authorization: Token token=3d12813150rd61l126216n17605zs1q4' \
-H 'content-type: application/json'

Exemplo do json de envio da requisição

  Esta requisição não possui body

Exemplo de retorno

{
  "order": {
    "id": 3,
    "code": "d41d8cd98f00b204e9800998ecf8427e abcavfaaaaaaaaaaaaaaa",
    "organization_id": 1,
    "organization_name": "Loja 1",
    "emission_options": {
            "customer_document": "10254571701",
            "document_on_invoice": false
    },
    "organization_external_id": "ASD-23",
    "customer": {
                "id": 100,
                "name": "Lakin-Parisian",
                "email": "morris@brakus.us",
                "phone_number": "(21) 12345-1234",
                "organization_id": 1,
                "account_id": 1,
                "type": "Company",
                "status": "active",
                "document_number": "92.270.088/6331-15"
        },
    "data": {
      "code": "d41d8cd98f00b204e9800998ecf8427e abcavfaaaaaaaaaaaaaaa",
      "comments": null,
      "customer": {
        "name": "Matheus Carlos Santino",
        "email": "17653481612@email.com.br",
        "document": "36402834572",
        "state_inscription": null,
        "municipal_inscription": null,
        "suframa_inscription": null,
        "external_id": null,
        "phones": [
          "21 999999999"
        ]
      },
      "discount": 0.0,
      "shipping": 0.0,
      "placed_at": "2021-05-13T12:16:04.632+00:00",
      "pre_order": false,
      "total_value": 125.0,
      "billing_address": {
        "street": "Rua São Francisco Xavier",
        "number": "999",
        "detail": "ap 99",
        "zipcode": "20550012",
        "neighborhood": "Tijuca",
        "city_code": "3304557",
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR",
        "complement": null
      },
      "emission_status": null,
      "shipping_address": {
        "street": "Rua São Francisco Xavier",
        "number": "999",
        "detail": "ap 99",
        "zipcode": "20550012",
        "neighborhood": "Tijuca",
        "city_code": "3304557",
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR",
        "complement": null
      },
      "items": [
        {
          "quantity": 1,
          "item_value": "125.0",
          "unit_price": "125.0",
          "discount": "0.0",
          "stock_sku": null,
          "product_sku": {
            "id": 1,
            "product_id": 1,
            "code": "PRODUTO1",
            "fiscal_code": "11111111",
            "ean": "7909408177501",
            "additional_eans": [],
            "name": "PRODUTO1 - Notebook Dell - Preto",
            "width": null,
            "height": null,
            "length": null,
            "weight": null,
            "active": true,
            "created_at": "2021-05-13T08:53:56.638-03:00",
            "updated_at": "2021-05-13T08:53:56.638-03:00",
            "description": "PRODUTO1 - Notebook Dell Inspiron",
            "product_features": {
              "default": [
                {
                  "id": 2,
                  "name": "Cor",
                  "feature_variant": {
                    "id": 7,
                    "name": "Preto"
                  }
                }
              ],
              "additional": []
            },
            "product_images": [],
            "provider_skus": [
              {
                "code": "6956666",
                "provider_id": 1
              }
            ]
          },
          "is_kit": false
        }
      ],
      "channel": null,
      "invoices": [],
      "interest": 0.0,
      "shipments": [],
      "updated_at": null,
      "shipping_cost": 0.0,
      "total_ordered": 0.0,
      "shipping_method": null,
      "calculation_type": null,
      "estimated_delivery": null,
      "estimated_delivery_shift": null,
      "payments": [
        {
          "method": "18",
          "method_name": "creditor",
          "installments": null,
          "value": 125.0
        }
      ]
    },
    "created_at": "2021-05-13T09:16:05.029-03:00",
    "updated_at": "2021-05-13T09:54:31.313-03:00",
    "pickup_on_store": false,
    "status": "delivery_route",
    "payment_status": "approved",
    "sale_channel_id": 1,
    "sale_channel_name": "Marketplace",
    "withdrawal_channel_id": null,
    "price_table_id": null,
    "nfes": [],
    "transfer_ids": [],
    "partner_fee": 0.0,
    "total_items_value": 125.0,
    "metadata": null,
    "fulfillment": false,
    "shipping_service": null,
    "stock": {
      "id": 1,
      "organization_id": 1,
      "name": "Estoque Central",
      "active": true,
      "zip_code": "04552-000",
      "street": "Rua do Rocio",
      "number": "19999",
      "complement": "",
      "neighborhood": "Vila Oímpia",
      "city": "São Paulo",
      "state": "SP",
      "created_at": "2021-05-13T08:53:56.812-03:00",
      "sale_channels": [],
      "city_code": "3550308",
      "kind": "normal",
      "description": null
    },
    "seller": null,
    "carrier": {
      "id": 2,
      "organization_id": null,
      "document": "52723924000110",
      "name": "Correios LTDA.",
      "trading_name": "Correios",
      "state_inscription_type": "icms",
      "provider_type": "carrier",
      "external_id": null,
      "created_at": "2021-05-13T08:53:56.285-03:00",
      "updated_at": "2021-05-13T08:53:56.285-03:00"
    },
    "audit_logs": [
      {
        "id": 5,
        "user_id": null,
        "order_id": 3,
        "reported_at": "2021-05-13T09:16:05.199-03:00",
        "status": "confirmed",
        "message": "",
        "created_at": "2021-05-13T09:16:05.201-03:00",
        "updated_at": "2021-05-13T09:16:05.201-03:00",
        "provider_return_id": null,
        "transfer_id": null,
        "auditable_type": null,
        "auditable_id": null
      },
      {
        "id": 6,
        "user_id": null,
        "order_id": 3,
        "reported_at": "2021-05-13T09:16:16.783-03:00",
        "status": "updated",
        "message": "",
        "created_at": "2021-05-13T09:16:16.784-03:00",
        "updated_at": "2021-05-13T09:16:16.784-03:00",
        "provider_return_id": null,
        "transfer_id": null,
        "auditable_type": null,
        "auditable_id": null
      },
      {
        "id": 10,
        "user_id": null,
        "order_id": 3,
        "reported_at": "2021-05-13T09:54:31.317-03:00",
        "status": "delivery_route",
        "message": "",
        "created_at": "2021-05-13T09:54:31.318-03:00",
        "updated_at": "2021-05-13T09:54:31.318-03:00",
        "provider_return_id": null,
        "transfer_id": null,
        "auditable_type": null,
        "auditable_id": null
      }
    ],
    "order_volumes": [],
    "order_returns": [],
    "payments": [
      {
        "created_at": "2021-05-13T09:16:05-03:00",
        "updated_at":