Logística

Países

Listar países

GET https://api.dooki.com.br/v2/{alias}/logistics/countries

Response

[
{
"code": "BR",
"name": "Brasil"
},
]

Armazéns

Listar armazéns

GET https://api.dooki.com.br/v2/{alias}/logistics/warehouses

Request

{
"country_code": "BR",
"name": "Doca 1",
"zipcode": "14940000",
"street": "Street Test",
"number": 200,
"neighborhood": "Centro",
"city": "Ibitinga",
"state": "SP"
}

Response

{
"data": {
"id": 1,
"country_code": "BR",
"name": "Doca 1",
"zipcode": "14940000",
"street": "Street Test",
"number": 200,
"complement": null,
"neighborhood": "Centro",
"city": "Ibitinga",
"state": "SP",
},
}

Criar armazéns

POST https://api.dooki.com.br/v2/{alias}/logistics/warehouses

Parâmetro

Tipo

Obrigatório

Descrição

country_code

string

Sim

Código do país.

name

string

Sim

Nome do armazém.

zipcode

string

Sim

CEP do armazém.

street

string

Sim

Rua do armazém.

number

string

Sim

Número do armazém.

complement

string

Não

Complemento do armazém.

neighborhood

string

Sim

Bairro do armazém.

city

string

Sim

Cidade do armazém.

state

string

Sim

Estado do armazém.

Visualizar armazém

GET https://api.dooki.com.br/v2/{alias}/logistics/warehouses/{id}

Atualizar armazém

PUT https://api.dooki.com.br/v2/{alias}/logistics/warehouses/{id}

Excluir armazém

DELETE https://api.dooki.com.br/v2/{alias}/logistics/warehouses/{id}

Estoques

O lojista pode ter um cadastro de múltiplos estoques onde ele pode associar posteriormente os SKUS com suas respectivas quantidades. Um exemplo prático é permitir que ele consiga trabalhar com estoques de fornecedores externos com diferentes prazos de entrega.

Caso um SKU estiver relacionado a um estoque, a disponibilidade final de entrega será sempre a maior.

Listar estoques

GET https://api.dooki.com.br/v2/{alias}/logistics/stocks

Request

{
"name": "Estoque pronta entrega",
"delivery_days": 1,
"warehouse_id": 4
}

Response

{
"data": {
"id": 3,
"warehouse_id": 4,
"name": "Estoque pronta entrega",
"delivery_days": 1,
"warehouse": {
"data": {
"id": 4,
"country_code": "BR",
"name": "Doca 1",
"zipcode": 14940000,
"street": "Street Test",
"number": "200",
"complement": null,
"neighborhood": "Centro",
"city": "Ibitinga",
"state": "SP",
}
}
},
}

Criar estoque

POST https://api.dooki.com.br/v2/{alias}/logistics/stocks

Parâmetro

Tipo

Obrigatório

Descrição

name

string

Sim

Nome do estoque.

delivery_days

int

Sim

Dias de entrega do estoque.

warehouse_id

int

Não

ID do armazém.

Visualizar estoque

GET https://api.dooki.com.br/v2/{alias}/logistics/stocks/{id}

Atualizar estoque

PUT https://api.dooki.com.br/v2/{alias}/logistics/stocks/{id}

Excluir estoque

DELETE https://api.dooki.com.br/v2/{alias}/logistics/stocks/{id}

Embalagens

Listar embalagens

GET https://api.dooki.com.br/v2/{alias}/logistics/boxes

Request

{
"name": "Embalagem Test",
"outer_width": 12,
"outer_length": 12,
"outer_depth": 12,
"empty_weight": 12,
"inner_width": 12,
"inner_length": 12,
"inner_depth": 12,
"max_weight": 12
}

Response

{
"data": [
{
"id": 1,
"name": "Embalagem Test",
"outer_width": 12,
"outer_length": 12,
"outer_depth": 12,
"inner_width": 12,
"inner_length": 12,
"inner_depth": 12,
"empty_weight": 12,
"max_weigth": 0,
},
]
}

Criar embalagem

POST https://api.dooki.com.br/v2/{alias}/logistics/boxes

Parâmetro

Tipo

Obrigatório

Descrição

name

string

Sim

Nome da embalagem.

outer_width

float

Sim

Largura externa da embalagem (em cm).

outer_length

float

Sim

Comprimento externo da embalagem (em cm).

outer_depth

float

Sim

Altura externa da embalagem (em cm).

inner_width

float

Sim

Largura interna da embalagem (em cm).

inner_length

float

Sim

Comprimento interno da embalagem (em cm).

inner_depth

float

Sim

Altura interna da embalagem (em cm).

max_weight

float

Sim

Peso máximo da embalagem (em kg).

empty_weight

float

Sim

Peso da embalagem vazia (em kg).

Visualizar embalagem

GET https://api.dooki.com.br/v2/{alias}/logistics/boxes/{id}

Atualizar embalagem

PUT https://api.dooki.com.br/v2/{alias}/logistics/boxes/{id}

Excluir embalagem

DELETE https://api.dooki.com.br/v2/{alias}/logistics/boxes/{id}

Transportadoras

Listar transportadoras

GET https://api.dooki.com.br/v2/{alias}/logistics/carriers

Request

{
"active": true,
"name": "PAC",
"only_backup_use": false,
"origin_zipcode": "14940000",
"increment_percent": 0,
"max_weight": 100,
"active_cubic_weight": false,
"cubic_weight_factor": 0,
"min_cubic_weight": 10,
"weight_param": "real",
"weight_condition": ">"
}

Response

{
"data": {
"id": 1,
"active": true,
"name": "PAC",
"only_backup_use": false,
"origin_zipcode": "14940000",
"increment_percent": 0,
"max_weight": 100,
"active_cubic_weight": false,
"cubic_weight_factor": 0,
"min_cubic_weight": 10,
"weight_param": "real",
"weight_condition": ">"
},
}

Criar transportadora

POST https://api.dooki.com.br/v2/{alias}/logistics/carriers

Parâmetro

Tipo

Obrigatório

Descrição

active

boolean

Sim

Marca se a transportadora está ativa ou não.

name

string

Sim

Nome da transportadora.

only_backup_use

boolean

Sim

Marca se a transportadora será utilizada somente para backup em caso de falha de algum webservice.

origin_zipcode

string

Sim

CEP de origem.

increment_percent

float

Sim

Porcentagem adicional no preço de entrega. Valor padrão: 0

max_weight

float

Sim

Peso máximo que a transportadora suporta (em kg).

active_cubic_weight

boolean

Sim

Marca se será considerado o peso cúbico.

cubic_weight_factor

float

Sim

Fator de cubagem.

min_cubic_weight

float

Sim

Peso real mínimo para que o peso cúbico seja considerado.

weight_param

string

Sim

Marca qual o peso será considerado como parâmetro. Valores aceitos: real ou cubic

weight_condition

string

Sim

Condicional que compara os dois tipos de pesos. Valores aceitos: > ou <

Visualizar transportadora

GET https://api.dooki.com.br/v2/{alias}/logistics/carriers/{id}

Atualizar transportadora

PUT https://api.dooki.com.br/v2/{alias}/logistics/carriers/{id}

Excluir transportadora

DELETE https://api.dooki.com.br/v2/{alias}/logistics/carriers/{id}

Preços de frete (planilhas)

Request

{
"id": 117936,
"carrier_id": 42,
"description": "ACRE - CAPITAL",
"zipcode_min": 69900000,
"zipcode_max": 69920999,
"max_weight": 1,
"min_weight": 0,
"price": 66.51,
"extra_weight_price": 0,
"delivery_days": 8,
"increment_percent": 10
}

Response

{
"data": [
{
"id": 117936,
"carrier_id": 42,
"description": "ACRE - CAPITAL",
"zipcode_min": 69900000,
"zipcode_max": 69920999,
"max_weight": 1,
"min_weight": 0,
"price": 66.51,
"extra_weight_price": 0,
"delivery_days": 8,
"increment_percent": 10
},
{
"id": 117937,
"carrier_id": 42,
"description": "ACRE - CAPITAL",
"zipcode_min": 69900000,
"zipcode_max": 69920999,
"max_weight": 2,
"min_weight": 1.00,
"price": 86.62,
"extra_weight_price": 0,
"delivery_days": 8,
"increment_percent": 10
},
{
"id": 117938,
"carrier_id": 42,
"description": "ACRE - CAPITAL",
"zipcode_min": 69900000,
"zipcode_max": 69920999,
"max_weight": 3,
"min_weight": 2.00,
"price": 107.54,
"extra_weight_price": 0,
"delivery_days": 8,
"increment_percent": 10
},
]
}

Request para importar faixas de CEP

{
"file_url": "http://yoursite.com/files/shipping-spreadsheet.xls"
}

Filtros personalizados

Esse tipo de filtro não utiliza a sintaxe global. Neste caso, o parâmetro é passado individualmente via query string na URL.

Parâmetro

Tipo

Descrição

zipcode

string

Faz o filtro de registros de acordo com o CEP informado.

Listar preços de uma transportadora

GET https://api.dooki.com.br/v2/{alias}/logistics/carriers/{carrierId}/prices

Criar preço para uma transportadora

POST https://api.dooki.com.br/v2/{alias}/logistics/carriers/{carrierId}/prices

Parâmetro

Tipo

Obrigatório

Descrição

carrier_id

int

Sim

ID da transportadora.

description

string

Sim

Descrição da faixa de CEP.

zipcode_min

string

Sim

CEP inicial.

zipcode_max

string

Sim

CEP final.

price

float

Sim

Preço do frete.

delivery_days

int

Sim

Dias para entrega.

extra_weight_price

float

Sim

Valor extra por kilo adicional.

increment_percent

float

Não

Porcentagem adicional no valor do frete.

Visualizar preço

GET https://api.dooki.com.br/v2/{alias}/logistics/carriers/{carrierId}/prices/{id}

Atualizar preço

PUT https://api.dooki.com.br/v2/{alias}/logistics/carriers/{carrierId}/prices/{id}

Excluir preço

DELETE https://api.dooki.com.br/v2/{alias}/logistics/carriers/{carrierId}/prices/{id}

Exportar preços

GET https://api.dooki.com.br/v2/{alias}/logistics/carriers/{carrierId}/prices/export

Dica: os filtros de busca também estão disponíveis no endpoint de exportação.

O sistema enviará para o usuário um e-mail com o link para download da planilha com os registros.

Importar preços

POST https://api.dooki.com.br/v2/{alias}/logistics/services/{carrierId}/prices/import

Para importar os faixas de CEP, é necessário o envio do parâmetro file_url com a URL do arquivo. Extensões de arquivos aceitas: .xls.

Consulta de CEP

Response de consulta de CEP

{
"data": {
"zipcode": "01505010",
"street": "Rua Anita Ferraz",
"neighborhood": "Sé",
"city": "São Paulo",
"uf": "SP",
"source": "database",
"city_id": 173
}
}

Consultar CEP

GET https://api.dooki.com.br/v2/{alias}/logistics/zipcode/{zipcode}

Calcular frete

Request

{
"zipcode": "14940000",
"total": 430.00,
"origin": "product_page",
"utm_email": "john@snow.com",
"skus_ids": [1233, 2123, 3423, 41233, 54423],
"quantities": [1, 1, 1, 2, 2]
}

Response de cálculo de frete

{
"data": {
"INTELIPOST_CORREIOS_PAC_1": {
"id": "INTELIPOST_CORREIOS_PAC_1",
"service_id": 1,
"service_name": "Correios PAC",
"service_display_name": "Correios PAC",
"service_type_id": 1,
"service_type_name": "Correios",
"price": 0,
"delivery_time": 18,
"quote_id": 3517956284,
"gateway": "intelipost",
"zipcode": "14940000",
"street": null,
"neighborhood": null,
"city": "Ibitinga",
"uf": "SP",
"source": "database",
"city_id": 3,
"formated_delivery_time": "até 18 dias úteis",
"formated_price": "Grátis",
"free_shipment": true,
"real_price": 0
},
"INTELIPOST_CORREIOS_SEDEX_2": {
"id": "INTELIPOST_CORREIOS_SEDEX_2",
"service_id": 2,
"service_name": "Correios Sedex",
"service_display_name": "Correios Sedex",
"service_type_id": 2,
"service_type_name": "Correios",
"price": 24.32,
"delivery_time": 13,
"quote_id": 3517956284,
"gateway": "intelipost",
"zipcode": "14940000",
"street": null,
"neighborhood": null,
"city": "Ibitinga",
"uf": "SP",
"source": "database",
"city_id": 3,
"formated_delivery_time": "até 13 dias úteis",
"formated_price": "R$ 24,32",
"free_shipment": false,
"real_price": 24.32
},
}
}

Calcular frete

POST https://api.dooki.com.br/v2/{alias}/logistics/shipping-costs

Parâmetro

Tipo

Obrigatório

Descrição

zipcode

string

Sim

CEP de entrega.

total

float

Sim

Valor total da compra.

origin

string

Não

Origem da consulta. Exemplo: product_page, cart

utm_email

string

Não

E-mail do cliente que está consultando o frete.

skus_ids

array

Sim

IDs dos SKUS.

quantities

array

Sim

Quantidades dos SKUS (precisa seguir a ordem que os skus_ids foram declarados)