curl --request POST \
--url https://api.ship.uniuni.com/prod/client/shipments/quote \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"address": {
"address1": "<string>",
"city": "<string>",
"province": "<string>",
"postalCode": "<string>",
"country": "<string>",
"address2": "<string>",
"address3": "<string>",
"latitude": 123,
"longitude": 123
},
"weight": {
"value": 123
},
"dimensions": {
"length": 123,
"width": 123,
"height": 123
},
"packagingId": 123
}
'import requests
url = "https://api.ship.uniuni.com/prod/client/shipments/quote"
payload = {
"address": {
"address1": "<string>",
"city": "<string>",
"province": "<string>",
"postalCode": "<string>",
"country": "<string>",
"address2": "<string>",
"address3": "<string>",
"latitude": 123,
"longitude": 123
},
"weight": { "value": 123 },
"dimensions": {
"length": 123,
"width": 123,
"height": 123
},
"packagingId": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
address: {
address1: '<string>',
city: '<string>',
province: '<string>',
postalCode: '<string>',
country: '<string>',
address2: '<string>',
address3: '<string>',
latitude: 123,
longitude: 123
},
weight: {value: 123},
dimensions: {length: 123, width: 123, height: 123},
packagingId: 123
})
};
fetch('https://api.ship.uniuni.com/prod/client/shipments/quote', 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.ship.uniuni.com/prod/client/shipments/quote",
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([
'address' => [
'address1' => '<string>',
'city' => '<string>',
'province' => '<string>',
'postalCode' => '<string>',
'country' => '<string>',
'address2' => '<string>',
'address3' => '<string>',
'latitude' => 123,
'longitude' => 123
],
'weight' => [
'value' => 123
],
'dimensions' => [
'length' => 123,
'width' => 123,
'height' => 123
],
'packagingId' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.ship.uniuni.com/prod/client/shipments/quote"
payload := strings.NewReader("{\n \"address\": {\n \"address1\": \"<string>\",\n \"city\": \"<string>\",\n \"province\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\",\n \"address2\": \"<string>\",\n \"address3\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123\n },\n \"weight\": {\n \"value\": 123\n },\n \"dimensions\": {\n \"length\": 123,\n \"width\": 123,\n \"height\": 123\n },\n \"packagingId\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.ship.uniuni.com/prod/client/shipments/quote")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"address\": {\n \"address1\": \"<string>\",\n \"city\": \"<string>\",\n \"province\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\",\n \"address2\": \"<string>\",\n \"address3\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123\n },\n \"weight\": {\n \"value\": 123\n },\n \"dimensions\": {\n \"length\": 123,\n \"width\": 123,\n \"height\": 123\n },\n \"packagingId\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ship.uniuni.com/prod/client/shipments/quote")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"address\": {\n \"address1\": \"<string>\",\n \"city\": \"<string>\",\n \"province\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\",\n \"address2\": \"<string>\",\n \"address3\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123\n },\n \"weight\": {\n \"value\": 123\n },\n \"dimensions\": {\n \"length\": 123,\n \"width\": 123,\n \"height\": 123\n },\n \"packagingId\": 123\n}"
response = http.request(request)
puts response.read_body{
"message": "Estimated rates retrieved successfully",
"code": 0,
"data": {
"rates": [
{
"postageType": "NEXT DAY",
"carrierName": "UniUni",
"postageFee": 1.3,
"tax": 0,
"total": 1.3,
"currency": "CAD",
"estimated": true,
"minDeliveryDays": 1,
"maxDeliveryDays": 2
}
],
"carrierName": "UniUni",
"estimated": true,
"disclaimer": "Rates are estimates only and do not guarantee final shipment eligibility, service availability, or delivery."
}
}Obtener una cotización de precio
Returns estimated shipping rates for a given destination address, package dimensions, weight, and postage type. Does not create a shipment, reserve a rate, charge the merchant, or guarantee final service availability.
curl --request POST \
--url https://api.ship.uniuni.com/prod/client/shipments/quote \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"address": {
"address1": "<string>",
"city": "<string>",
"province": "<string>",
"postalCode": "<string>",
"country": "<string>",
"address2": "<string>",
"address3": "<string>",
"latitude": 123,
"longitude": 123
},
"weight": {
"value": 123
},
"dimensions": {
"length": 123,
"width": 123,
"height": 123
},
"packagingId": 123
}
'import requests
url = "https://api.ship.uniuni.com/prod/client/shipments/quote"
payload = {
"address": {
"address1": "<string>",
"city": "<string>",
"province": "<string>",
"postalCode": "<string>",
"country": "<string>",
"address2": "<string>",
"address3": "<string>",
"latitude": 123,
"longitude": 123
},
"weight": { "value": 123 },
"dimensions": {
"length": 123,
"width": 123,
"height": 123
},
"packagingId": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
address: {
address1: '<string>',
city: '<string>',
province: '<string>',
postalCode: '<string>',
country: '<string>',
address2: '<string>',
address3: '<string>',
latitude: 123,
longitude: 123
},
weight: {value: 123},
dimensions: {length: 123, width: 123, height: 123},
packagingId: 123
})
};
fetch('https://api.ship.uniuni.com/prod/client/shipments/quote', 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.ship.uniuni.com/prod/client/shipments/quote",
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([
'address' => [
'address1' => '<string>',
'city' => '<string>',
'province' => '<string>',
'postalCode' => '<string>',
'country' => '<string>',
'address2' => '<string>',
'address3' => '<string>',
'latitude' => 123,
'longitude' => 123
],
'weight' => [
'value' => 123
],
'dimensions' => [
'length' => 123,
'width' => 123,
'height' => 123
],
'packagingId' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.ship.uniuni.com/prod/client/shipments/quote"
payload := strings.NewReader("{\n \"address\": {\n \"address1\": \"<string>\",\n \"city\": \"<string>\",\n \"province\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\",\n \"address2\": \"<string>\",\n \"address3\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123\n },\n \"weight\": {\n \"value\": 123\n },\n \"dimensions\": {\n \"length\": 123,\n \"width\": 123,\n \"height\": 123\n },\n \"packagingId\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.ship.uniuni.com/prod/client/shipments/quote")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"address\": {\n \"address1\": \"<string>\",\n \"city\": \"<string>\",\n \"province\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\",\n \"address2\": \"<string>\",\n \"address3\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123\n },\n \"weight\": {\n \"value\": 123\n },\n \"dimensions\": {\n \"length\": 123,\n \"width\": 123,\n \"height\": 123\n },\n \"packagingId\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ship.uniuni.com/prod/client/shipments/quote")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"address\": {\n \"address1\": \"<string>\",\n \"city\": \"<string>\",\n \"province\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\",\n \"address2\": \"<string>\",\n \"address3\": \"<string>\",\n \"latitude\": 123,\n \"longitude\": 123\n },\n \"weight\": {\n \"value\": 123\n },\n \"dimensions\": {\n \"length\": 123,\n \"width\": 123,\n \"height\": 123\n },\n \"packagingId\": 123\n}"
response = http.request(request)
puts response.read_body{
"message": "Estimated rates retrieved successfully",
"code": 0,
"data": {
"rates": [
{
"postageType": "NEXT DAY",
"carrierName": "UniUni",
"postageFee": 1.3,
"tax": 0,
"total": 1.3,
"currency": "CAD",
"estimated": true,
"minDeliveryDays": 1,
"maxDeliveryDays": 2
}
],
"carrierName": "UniUni",
"estimated": true,
"disclaimer": "Rates are estimates only and do not guarantee final shipment eligibility, service availability, or delivery."
}
}Autorizaciones
API access token generated from the UniUni Platform dashboard.
Cuerpo
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Requested postage service. STANDARD is for domestic. USPS Ground Advantage is for CA to US cross-border (DDP, merchant pays duties). PostNL International Packet Tracked is for CA to US cross-border (DDU, recipient pays duties). If the requested type is unavailable, an available type is selected automatically.
STANDARD, USPS Ground Advantage, PostNL International Packet Tracked Package dimensions. Provide either dimensions or packagingId, not both. If neither is provided, a saved default packaging preset will be used. If there are no saved packaging presets, dimensions are required.
Show child attributes
Show child attributes
ID of a pre-configured packaging profile. Use instead of dimensions if the package matches a saved profile.
¿Esta página le ayudó?