curl --request POST \
--url https://api.dooki.com.br/v2/{alias}/logistics/shipping-costs \
--header 'Content-Type: application/json' \
--header 'User-Secret-Key: <api-key>' \
--header 'User-Token: <api-key>' \
--data '
{
"order_id": 123,
"zipcode": "14940000",
"total": 430,
"skus_ids": [
1233,
2123,
3423,
41233,
54423
],
"quantities": [
1,
1,
1,
2,
2
],
"origin": "product_page",
"utm_email": "john@snow.com"
}
'import requests
url = "https://api.dooki.com.br/v2/{alias}/logistics/shipping-costs"
payload = {
"order_id": 123,
"zipcode": "14940000",
"total": 430,
"skus_ids": [1233, 2123, 3423, 41233, 54423],
"quantities": [1, 1, 1, 2, 2],
"origin": "product_page",
"utm_email": "john@snow.com"
}
headers = {
"User-Token": "<api-key>",
"User-Secret-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'User-Token': '<api-key>',
'User-Secret-Key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
order_id: 123,
zipcode: '14940000',
total: 430,
skus_ids: [1233, 2123, 3423, 41233, 54423],
quantities: [1, 1, 1, 2, 2],
origin: 'product_page',
utm_email: 'john@snow.com'
})
};
fetch('https://api.dooki.com.br/v2/{alias}/logistics/shipping-costs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.dooki.com.br/v2/{alias}/logistics/shipping-costs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'order_id' => 123,
'zipcode' => '14940000',
'total' => 430,
'skus_ids' => [
1233,
2123,
3423,
41233,
54423
],
'quantities' => [
1,
1,
1,
2,
2
],
'origin' => 'product_page',
'utm_email' => 'john@snow.com'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"User-Secret-Key: <api-key>",
"User-Token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.dooki.com.br/v2/{alias}/logistics/shipping-costs"
payload := strings.NewReader("{\n \"order_id\": 123,\n \"zipcode\": \"14940000\",\n \"total\": 430,\n \"skus_ids\": [\n 1233,\n 2123,\n 3423,\n 41233,\n 54423\n ],\n \"quantities\": [\n 1,\n 1,\n 1,\n 2,\n 2\n ],\n \"origin\": \"product_page\",\n \"utm_email\": \"john@snow.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("User-Token", "<api-key>")
req.Header.Add("User-Secret-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.dooki.com.br/v2/{alias}/logistics/shipping-costs")
.header("User-Token", "<api-key>")
.header("User-Secret-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"order_id\": 123,\n \"zipcode\": \"14940000\",\n \"total\": 430,\n \"skus_ids\": [\n 1233,\n 2123,\n 3423,\n 41233,\n 54423\n ],\n \"quantities\": [\n 1,\n 1,\n 1,\n 2,\n 2\n ],\n \"origin\": \"product_page\",\n \"utm_email\": \"john@snow.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dooki.com.br/v2/{alias}/logistics/shipping-costs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["User-Token"] = '<api-key>'
request["User-Secret-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"order_id\": 123,\n \"zipcode\": \"14940000\",\n \"total\": 430,\n \"skus_ids\": [\n 1233,\n 2123,\n 3423,\n 41233,\n 54423\n ],\n \"quantities\": [\n 1,\n 1,\n 1,\n 2,\n 2\n ],\n \"origin\": \"product_page\",\n \"utm_email\": \"john@snow.com\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": 123,
"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",
"same_day_delivery": true,
"same_day_delivery_until_at": "<string>",
"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
}
}Simular frete de um pedido
Recalcula ou simula o custo de frete de um pedido que já existe, utilizando as informações dos produtos contidos no pedido
curl --request POST \
--url https://api.dooki.com.br/v2/{alias}/logistics/shipping-costs \
--header 'Content-Type: application/json' \
--header 'User-Secret-Key: <api-key>' \
--header 'User-Token: <api-key>' \
--data '
{
"order_id": 123,
"zipcode": "14940000",
"total": 430,
"skus_ids": [
1233,
2123,
3423,
41233,
54423
],
"quantities": [
1,
1,
1,
2,
2
],
"origin": "product_page",
"utm_email": "john@snow.com"
}
'import requests
url = "https://api.dooki.com.br/v2/{alias}/logistics/shipping-costs"
payload = {
"order_id": 123,
"zipcode": "14940000",
"total": 430,
"skus_ids": [1233, 2123, 3423, 41233, 54423],
"quantities": [1, 1, 1, 2, 2],
"origin": "product_page",
"utm_email": "john@snow.com"
}
headers = {
"User-Token": "<api-key>",
"User-Secret-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'User-Token': '<api-key>',
'User-Secret-Key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
order_id: 123,
zipcode: '14940000',
total: 430,
skus_ids: [1233, 2123, 3423, 41233, 54423],
quantities: [1, 1, 1, 2, 2],
origin: 'product_page',
utm_email: 'john@snow.com'
})
};
fetch('https://api.dooki.com.br/v2/{alias}/logistics/shipping-costs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.dooki.com.br/v2/{alias}/logistics/shipping-costs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'order_id' => 123,
'zipcode' => '14940000',
'total' => 430,
'skus_ids' => [
1233,
2123,
3423,
41233,
54423
],
'quantities' => [
1,
1,
1,
2,
2
],
'origin' => 'product_page',
'utm_email' => 'john@snow.com'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"User-Secret-Key: <api-key>",
"User-Token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.dooki.com.br/v2/{alias}/logistics/shipping-costs"
payload := strings.NewReader("{\n \"order_id\": 123,\n \"zipcode\": \"14940000\",\n \"total\": 430,\n \"skus_ids\": [\n 1233,\n 2123,\n 3423,\n 41233,\n 54423\n ],\n \"quantities\": [\n 1,\n 1,\n 1,\n 2,\n 2\n ],\n \"origin\": \"product_page\",\n \"utm_email\": \"john@snow.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("User-Token", "<api-key>")
req.Header.Add("User-Secret-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.dooki.com.br/v2/{alias}/logistics/shipping-costs")
.header("User-Token", "<api-key>")
.header("User-Secret-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"order_id\": 123,\n \"zipcode\": \"14940000\",\n \"total\": 430,\n \"skus_ids\": [\n 1233,\n 2123,\n 3423,\n 41233,\n 54423\n ],\n \"quantities\": [\n 1,\n 1,\n 1,\n 2,\n 2\n ],\n \"origin\": \"product_page\",\n \"utm_email\": \"john@snow.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dooki.com.br/v2/{alias}/logistics/shipping-costs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["User-Token"] = '<api-key>'
request["User-Secret-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"order_id\": 123,\n \"zipcode\": \"14940000\",\n \"total\": 430,\n \"skus_ids\": [\n 1233,\n 2123,\n 3423,\n 41233,\n 54423\n ],\n \"quantities\": [\n 1,\n 1,\n 1,\n 2,\n 2\n ],\n \"origin\": \"product_page\",\n \"utm_email\": \"john@snow.com\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": 123,
"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",
"same_day_delivery": true,
"same_day_delivery_until_at": "<string>",
"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
}
}Path Parameters
Alias da loja
Body
Representa os dados necessários para realizar o cálculo de frete
ID do pedido cujo frete será simulado. Precisa existir na loja.
123
CEP de destino usado na simulação.
"14940000"
Valor total dos produtos, em reais, considerado na simulação.
430
IDs dos SKUs considerados na simulação. Todos precisam existir na loja.
[1233, 2123, 3423, 41233, 54423]
Quantidade de cada SKU, na mesma ordem de skus_ids. A lista precisa ter o mesmo tamanho.
[1, 1, 1, 2, 2]
Origem da simulação, repassada ao serviço de logística.
"product_page"
E-mail do comprador repassado ao serviço de logística junto da simulação.
"john@snow.com"
Response
Cálculo do frete realizado com sucesso
Cotação de frete calculada para o CEP de destino informado.
Show child attributes
Show child attributes
Was this page helpful?