GET https://api.dooki.com.br/v2/{alias}/logistics/countries
Response
[{"code": "BR","name": "Brasil"},]
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",},}
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. |
GET https://api.dooki.com.br/v2/{alias}/logistics/warehouses/{id}
PUT https://api.dooki.com.br/v2/{alias}/logistics/warehouses/{id}
DELETE https://api.dooki.com.br/v2/{alias}/logistics/warehouses/{id}
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.
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",}}},}
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. |
GET https://api.dooki.com.br/v2/{alias}/logistics/stocks/{id}
PUT https://api.dooki.com.br/v2/{alias}/logistics/stocks/{id}
DELETE https://api.dooki.com.br/v2/{alias}/logistics/stocks/{id}
Acesso as informações de reserva de estoque criada para pedidos. Includes disponíveis: orders.
GET https://api.dooki.com.br/v2/{alias}/logistics/stock-reservation
Também é possível acessar as informações de uma reserva de estoque em específico
GET https://api.dooki.com.br/v2/{alias}/logistics/stock-reservation/{id}
Response ao listar reservas de estoque
{"id": 17,"order_id": 04,"sku_id": 2020,"stock_id": 19,"sku": "170800-111202","sku_name": "Jogo","order_status": "handling_products","order_status_name": "Produtos em separação","order_number": 3329438969873,"customer_name": "John Doe","quantity": 1,"previous_quantity": 999992,"authorized_at": "2020-05-20 03:33:04","cancelled_at": null,"created_at": {"date": "2020-05-19 17:07:25.000000","timezone_type": 3,"timezone": "America/Sao_Paulo"},"updated_at": {"date": "2020-05-20 03:33:04.000000","timezone_type": 3,"timezone": "America/Sao_Paulo"},"stock": {"data": {"id": 11,"warehouse_id": 92,"priority": false,"auto_refill": true,"name": "Estoque","delivery_days": 5,"created_at": {"date": "2018-05-28 12:45:46.000000","timezone_type": 3,"timezone": "America/Sao_Paulo"},"updated_at": {"date": "2020-05-04 18:46:39.000000","timezone_type": 3,"timezone": "America/Sao_Paulo"},"warehouse": {"data": {"id": 29,"country_code": "BR","name": "Armazém","zipcode": "14940000","street": "Av. D. Pedro IV","number": "982","complement": null,"neighborhood": "Centro","city": "Ibitinga","state": "SP","created_at": {"date": "2018-05-28 12:22:48.000000","timezone_type": 3,"timezone": "America/Sao_Paulo"},"updated_at": {"date": "2018-05-28 12:22:48.000000","timezone_type": 3,"timezone": "America/Sao_Paulo"}}}}}}
É possível utilizar filtros nesse endpoint por parâmetro, são eles: sku_id
, stock_id
, order_id
e busca por nome de produto ou sku, pelo parâmetro q
.
Exemplos:
GET https://api.dooki.com.br/v2/{alias}/logistics/stock-reservation?order_id=32
GET https://api.dooki.com.br/v2/{alias}/logistics/stock-reservation?q=Jogo
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,},]}
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). |
GET https://api.dooki.com.br/v2/{alias}/logistics/boxes/{id}
PUT https://api.dooki.com.br/v2/{alias}/logistics/boxes/{id}
DELETE https://api.dooki.com.br/v2/{alias}/logistics/boxes/{id}
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": ">"},}
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: |
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: |
weight_condition | string | Sim | Condicional que compara os dois tipos de pesos. Valores aceitos: |
GET https://api.dooki.com.br/v2/{alias}/logistics/carriers/{id}
PUT https://api.dooki.com.br/v2/{alias}/logistics/carriers/{id}
DELETE https://api.dooki.com.br/v2/{alias}/logistics/carriers/{id}
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},]}
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. |
GET https://api.dooki.com.br/v2/{alias}/logistics/carriers/{carrierId}/prices
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. |
GET https://api.dooki.com.br/v2/{alias}/logistics/carriers/{carrierId}/prices/{id}
PUT https://api.dooki.com.br/v2/{alias}/logistics/carriers/{carrierId}/prices/{id}
DELETE https://api.dooki.com.br/v2/{alias}/logistics/carriers/{carrierId}/prices/{id}
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.
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}}
GET https://api.dooki.com.br/v2/{alias}/logistics/zipcode/{zipcode}
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},}}
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: |
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 |