API Reference
3.- Cotizar envío
Este endpoint permite consultar los servicios de envío disponibles con base en el origen, destino y características del paquete. La respuesta incluye las opciones de paquetería disponibles, tiempos estimados de entrega, detalles del servicio y el desglose de costos correspondiente a cada cotización.
Esta información es utilizada para comparar servicios, seleccionar la opción más adecuada según precio y tiempo de entrega, y validar la viabilidad de un envío antes de su solicitud.
POST
https://apirest.sheeping.io
/
v1
/
shipment-quotes
3.- Cotizar envío
curl --request POST \
--url https://apirest.sheeping.io/v1/shipment-quotes \
--header 'Content-Type: application/json' \
--data '
{
"origin": {
"zip_code": "06010"
},
"destination": {
"zip_code": "44100"
},
"parcel": {
"dimensions": {
"height": 10,
"width": 10,
"depth": 10
},
"weight": 1,
"declared_value": 100,
"insured": false
}
}
'import requests
url = "https://apirest.sheeping.io/v1/shipment-quotes"
payload = {
"origin": { "zip_code": "06010" },
"destination": { "zip_code": "44100" },
"parcel": {
"dimensions": {
"height": 10,
"width": 10,
"depth": 10
},
"weight": 1,
"declared_value": 100,
"insured": False
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
origin: {zip_code: '06010'},
destination: {zip_code: '44100'},
parcel: {
dimensions: {height: 10, width: 10, depth: 10},
weight: 1,
declared_value: 100,
insured: false
}
})
};
fetch('https://apirest.sheeping.io/v1/shipment-quotes', 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://apirest.sheeping.io/v1/shipment-quotes",
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([
'origin' => [
'zip_code' => '06010'
],
'destination' => [
'zip_code' => '44100'
],
'parcel' => [
'dimensions' => [
'height' => 10,
'width' => 10,
'depth' => 10
],
'weight' => 1,
'declared_value' => 100,
'insured' => false
]
]),
CURLOPT_HTTPHEADER => [
"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://apirest.sheeping.io/v1/shipment-quotes"
payload := strings.NewReader("{\n \"origin\": {\n \"zip_code\": \"06010\"\n },\n \"destination\": {\n \"zip_code\": \"44100\"\n },\n \"parcel\": {\n \"dimensions\": {\n \"height\": 10,\n \"width\": 10,\n \"depth\": 10\n },\n \"weight\": 1,\n \"declared_value\": 100,\n \"insured\": false\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
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://apirest.sheeping.io/v1/shipment-quotes")
.header("Content-Type", "application/json")
.body("{\n \"origin\": {\n \"zip_code\": \"06010\"\n },\n \"destination\": {\n \"zip_code\": \"44100\"\n },\n \"parcel\": {\n \"dimensions\": {\n \"height\": 10,\n \"width\": 10,\n \"depth\": 10\n },\n \"weight\": 1,\n \"declared_value\": 100,\n \"insured\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://apirest.sheeping.io/v1/shipment-quotes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"origin\": {\n \"zip_code\": \"06010\"\n },\n \"destination\": {\n \"zip_code\": \"44100\"\n },\n \"parcel\": {\n \"dimensions\": {\n \"height\": 10,\n \"width\": 10,\n \"depth\": 10\n },\n \"weight\": 1,\n \"declared_value\": 100,\n \"insured\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"origin": {
"zip_code": "06010",
"city": "Cuauhtemoc",
"state": "Ciudad de Mexico"
},
"destination": {
"zip_code": "44100",
"city": "Guadalajara",
"state": "Jalisco"
},
"parcel": {
"dimensions": {
"height": 10,
"width": 10,
"depth": 10
},
"weight": 1,
"declared_value": 100,
"insured": false,
"volumetric_weight": 1,
"total_weight": 1
},
"shipment_quotes": [
{
"shipment": {
"carrier": {
"company_name": "FEDEX",
"service_name": "FEDEX EXPRESS SAVER",
"service_code": "FEDEX_NACIONAL_ECONOMICO",
"service_image_url": "https://apirest.sheeping.io/media/services/fedex-logo_yMXXDkB.webp",
"capabilities": {
"supports_cancellation": false,
"supports_pickup": false,
"supports_pickup_cancellation": false
}
},
"delivery": {
"estimated_days": "1 a 3 días hábiles",
"estimated_date": "2026-01-06",
"type": "NORMAL",
"zone": "4",
"extended_area": false,
"remote_area": false
},
"quotes": {
"base": 200,
"fast_delivery": 0,
"extra_weight": 0,
"excess_weight": 0,
"excess_dimensions": 0,
"extended_area": 0,
"remote_area": 0,
"zonification": 0,
"fuel": 0,
"insurance": 0,
"subtotal": 200,
"iva": 32,
"total": 232,
"currency": "MXN"
}
}
}
],
"transaction_id": "d9eab3de-1224-448e-9bb7-90ecee348d57"
}{
"error": {
"code": "INVALID_ZIP_CODE",
"message": "El código postal de origen es incorrecto.",
"details": {
"origin": {
"zip_code": [
"El código postal proporcionado no es válido."
]
}
}
},
"transaction_id": "20c5cf82-e740-4e09-a0d0-7c906a53ab18"
}{
"error": {
"code": "USER_INACTIVE_ERROR",
"message": "Lo sentimos no puedes realizar esta acción debido a que tu cuenta no esta activa, favor de contactar a tu asesor.",
"details": null
},
"transaction_id": "2aefad11-a0f6-4c7d-9601-fdc03309faaf"
}{
"error": {
"code": "SERVICE_ERROR_NO_FOUND",
"message": "Lo sentimos no hay servicios disponibles con los datos proporcionados, favor de contactar a tu asesor.",
"details": null
},
"transaction_id": "13926026-3f5a-40e2-88cc-34414fec366d"
}{
"detail": "Método \"GET\" no permitido.",
"status_code": 405
}{
"error": {
"code": "REQUEST_ERROR_406",
"message": "Datos de la solicitud incompletos.",
"details": {
"origin": {
"zip_code": [
"Asegúrese de que este campo no tenga más de 5 caracteres."
]
}
}
},
"transaction_id": "65e0f4c5-4c58-4f96-965b-4e2203973c13"
}{
"error": {
"code": "INTERNAL_SERVER_ERROR",
"message": "Lo sentimos hubo un error inesperado, favor de intentar mas tarde.",
"details": null
},
"transaction_id": "9f091a8a-a214-4c23-8b89-560670c64714"
}Headers
Body
application/json
⌘I
3.- Cotizar envío
curl --request POST \
--url https://apirest.sheeping.io/v1/shipment-quotes \
--header 'Content-Type: application/json' \
--data '
{
"origin": {
"zip_code": "06010"
},
"destination": {
"zip_code": "44100"
},
"parcel": {
"dimensions": {
"height": 10,
"width": 10,
"depth": 10
},
"weight": 1,
"declared_value": 100,
"insured": false
}
}
'import requests
url = "https://apirest.sheeping.io/v1/shipment-quotes"
payload = {
"origin": { "zip_code": "06010" },
"destination": { "zip_code": "44100" },
"parcel": {
"dimensions": {
"height": 10,
"width": 10,
"depth": 10
},
"weight": 1,
"declared_value": 100,
"insured": False
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
origin: {zip_code: '06010'},
destination: {zip_code: '44100'},
parcel: {
dimensions: {height: 10, width: 10, depth: 10},
weight: 1,
declared_value: 100,
insured: false
}
})
};
fetch('https://apirest.sheeping.io/v1/shipment-quotes', 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://apirest.sheeping.io/v1/shipment-quotes",
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([
'origin' => [
'zip_code' => '06010'
],
'destination' => [
'zip_code' => '44100'
],
'parcel' => [
'dimensions' => [
'height' => 10,
'width' => 10,
'depth' => 10
],
'weight' => 1,
'declared_value' => 100,
'insured' => false
]
]),
CURLOPT_HTTPHEADER => [
"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://apirest.sheeping.io/v1/shipment-quotes"
payload := strings.NewReader("{\n \"origin\": {\n \"zip_code\": \"06010\"\n },\n \"destination\": {\n \"zip_code\": \"44100\"\n },\n \"parcel\": {\n \"dimensions\": {\n \"height\": 10,\n \"width\": 10,\n \"depth\": 10\n },\n \"weight\": 1,\n \"declared_value\": 100,\n \"insured\": false\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
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://apirest.sheeping.io/v1/shipment-quotes")
.header("Content-Type", "application/json")
.body("{\n \"origin\": {\n \"zip_code\": \"06010\"\n },\n \"destination\": {\n \"zip_code\": \"44100\"\n },\n \"parcel\": {\n \"dimensions\": {\n \"height\": 10,\n \"width\": 10,\n \"depth\": 10\n },\n \"weight\": 1,\n \"declared_value\": 100,\n \"insured\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://apirest.sheeping.io/v1/shipment-quotes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"origin\": {\n \"zip_code\": \"06010\"\n },\n \"destination\": {\n \"zip_code\": \"44100\"\n },\n \"parcel\": {\n \"dimensions\": {\n \"height\": 10,\n \"width\": 10,\n \"depth\": 10\n },\n \"weight\": 1,\n \"declared_value\": 100,\n \"insured\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"origin": {
"zip_code": "06010",
"city": "Cuauhtemoc",
"state": "Ciudad de Mexico"
},
"destination": {
"zip_code": "44100",
"city": "Guadalajara",
"state": "Jalisco"
},
"parcel": {
"dimensions": {
"height": 10,
"width": 10,
"depth": 10
},
"weight": 1,
"declared_value": 100,
"insured": false,
"volumetric_weight": 1,
"total_weight": 1
},
"shipment_quotes": [
{
"shipment": {
"carrier": {
"company_name": "FEDEX",
"service_name": "FEDEX EXPRESS SAVER",
"service_code": "FEDEX_NACIONAL_ECONOMICO",
"service_image_url": "https://apirest.sheeping.io/media/services/fedex-logo_yMXXDkB.webp",
"capabilities": {
"supports_cancellation": false,
"supports_pickup": false,
"supports_pickup_cancellation": false
}
},
"delivery": {
"estimated_days": "1 a 3 días hábiles",
"estimated_date": "2026-01-06",
"type": "NORMAL",
"zone": "4",
"extended_area": false,
"remote_area": false
},
"quotes": {
"base": 200,
"fast_delivery": 0,
"extra_weight": 0,
"excess_weight": 0,
"excess_dimensions": 0,
"extended_area": 0,
"remote_area": 0,
"zonification": 0,
"fuel": 0,
"insurance": 0,
"subtotal": 200,
"iva": 32,
"total": 232,
"currency": "MXN"
}
}
}
],
"transaction_id": "d9eab3de-1224-448e-9bb7-90ecee348d57"
}{
"error": {
"code": "INVALID_ZIP_CODE",
"message": "El código postal de origen es incorrecto.",
"details": {
"origin": {
"zip_code": [
"El código postal proporcionado no es válido."
]
}
}
},
"transaction_id": "20c5cf82-e740-4e09-a0d0-7c906a53ab18"
}{
"error": {
"code": "USER_INACTIVE_ERROR",
"message": "Lo sentimos no puedes realizar esta acción debido a que tu cuenta no esta activa, favor de contactar a tu asesor.",
"details": null
},
"transaction_id": "2aefad11-a0f6-4c7d-9601-fdc03309faaf"
}{
"error": {
"code": "SERVICE_ERROR_NO_FOUND",
"message": "Lo sentimos no hay servicios disponibles con los datos proporcionados, favor de contactar a tu asesor.",
"details": null
},
"transaction_id": "13926026-3f5a-40e2-88cc-34414fec366d"
}{
"detail": "Método \"GET\" no permitido.",
"status_code": 405
}{
"error": {
"code": "REQUEST_ERROR_406",
"message": "Datos de la solicitud incompletos.",
"details": {
"origin": {
"zip_code": [
"Asegúrese de que este campo no tenga más de 5 caracteres."
]
}
}
},
"transaction_id": "65e0f4c5-4c58-4f96-965b-4e2203973c13"
}{
"error": {
"code": "INTERNAL_SERVER_ERROR",
"message": "Lo sentimos hubo un error inesperado, favor de intentar mas tarde.",
"details": null
},
"transaction_id": "9f091a8a-a214-4c23-8b89-560670c64714"
}