Wyceń zadanie załadunku
Przeprowadza tę samą walidację co POST /v1/pack i zwraca przedział cenowy, bez tworzenia zadania i rezerwowania kredytów.
Bezpłatne. Na nieprawidłowe zapytanie odpowiada kodem 200 z valid: false i wszystkimi problemami w errors[].
Uwierzytelnianie
Parametry treści
application/jsonreferencestringTwój własny numer referencyjny (numer zamówienia, ID przesyłki…). Zwracany w zadaniu.
vehiclesVehicle[]wymaganeDefinicje pojazdów. Każda może mieć quantity > 1. Co najmniej jedna.
idstringTwój identyfikator, unikalny w obrębie zapytania. Wyniki odwołują się do niego jako vehicle_id. Domyślnie vehicle_id.
vehicle_idstringID pojazdu z GET /v1/vehicles: preset lub pojazd Twojej organizacji (veh_…). Dostarcza typ, nazwę, wymiary, ładowność i wszystkie inne zapisane wartości.
typestringTyp pojazdu. Wymagany, jeśli nie podano vehicle_id. Akceptowane są tylko typy wymienione w GET /v1/limits (allowed_vehicle_types).
trucktrailerflatbedcontainerpalletaircraftshipnamestringWyświetlana nazwa (domyślnie nazwa zapisanego pojazdu lub ID).
lengthnumber · cmWewnętrzna długość przestrzeni ładunkowej, wzdłuż osi x (od przedniej ściany w stronę drzwi). Wymagana, jeśli nie podano vehicle_id.
widthnumber · cmWewnętrzna szerokość przestrzeni ładunkowej, wzdłuż osi z. Wymagana, jeśli nie podano vehicle_id.
heightnumber · cmWewnętrzna wysokość przestrzeni ładunkowej, wzdłuż osi y. Wymagana, jeśli nie podano vehicle_id.
max_weightnumber · kgMaksymalna ładowność. Wymagana, jeśli nie podano vehicle_id.
quantityintegerLiczba dostępnych identycznych pojazdów tej definicji.
11–100floor_load_capacitynumber · kg/m²Nośność podłogi: 0 lub więcej (0 = bez limitu).
aux_deckbooleanPojazd ma drugi pokład (dwupoziomowy).
falseaux_deck_heightnumber · cmWysokość drugiego pokładu nad podłogą. Wymagana, gdy aux_deck ma wartość true.
aux_deck_max_weightnumber · kgLimit obciążenia drugiego pokładu. Wymagany, gdy aux_deck ma wartość true.
blocked_areasRect[]Obszary podłogi, na których nic nie może stać (nadkola, uszkodzenia, zarezerwowane miejsce). Każdy musi leżeć na podłodze pojazdu.
xnumber · cmwymaganeOdległość od przedniej ściany do bliższej krawędzi prostokąta.
znumber · cmwymaganeOdległość od prawej ściany (z = 0; prawej, patrząc od drzwi do wnętrza) do bliższej krawędzi prostokąta.
lengthnumber · cmwymaganeRozmiar wzdłuż osi x.
widthnumber · cmwymaganeRozmiar wzdłuż osi z.
axle_positionsWymaga dostępunumber[] · cmPołożenia osi (punktów podparcia) liczone od przodu przestrzeni ładunkowej; ujemne = przed nią. Tyle samo elementów co axle_max_loads. Każda wartość od −300 (oś przed przestrzenią ładunkową, np. przednia oś pod kabiną w ciężarówce solo) do długości pojazdu.
axle_max_loadsWymaga dostępunumber[] · kgMaksymalny nacisk ładunku na każdą oś, w kolejności z axle_positions. Każda wartość większa od 0 i nie większa niż 100000.
cog_range_xWymaga dostępunumber · cmDopuszczalne odchylenie środka ciężkości od środka długości: od 0 do length / 2.
cog_range_yWymaga dostępunumber · cmDopuszczalne odchylenie środka ciężkości od środka szerokości: od 0 do width / 2.
tractor_weightWymaga dostępunumber · kgModel osi naczepy: masa ciągnika.
empty_trailer_weightWymaga dostępunumber · kgModel osi naczepy: masa pustej naczepy.
front_axle_to_middle_axleWymaga dostępunumber · cmModel osi naczepy: od osi przedniej ciągnika do osi napędowej (środkowej).
front_axle_to_tractor_cogWymaga dostępunumber · cmModel osi naczepy: od osi przedniej do środka ciężkości ciągnika.
front_axle_to_kingpinWymaga dostępunumber · cmModel osi naczepy: od osi przedniej do sworznia królewskiego (siodła).
kingpin_to_rear_axleWymaga dostępunumber · cmModel osi naczepy: od sworznia królewskiego do grupy osi tylnych naczepy.
trailer_cog_to_rear_axleWymaga dostępunumber · cmModel osi naczepy: od środka ciężkości naczepy do grupy osi tylnych.
trailer_start_to_kingpinWymaga dostępunumber · cmModel osi naczepy: od przodu naczepy do sworznia królewskiego.
max_middle_axle_weightWymaga dostępunumber · kgModel osi naczepy: dopuszczalny nacisk na oś napędową (środkową).
max_rear_axle_weightWymaga dostępunumber · kgModel osi naczepy: dopuszczalny nacisk na grupę osi tylnych.
itemsItem[]wymaganeDefinicje pozycji. Każda może mieć quantity > 1. Co najmniej jedna.
idstringTwój identyfikator, unikalny w obrębie zapytania. Wyniki odwołują się do niego jako item_id. Domyślnie template_id.
template_idstringID szablonu (tpl_…) z GET /v1/templates. Dostarcza wszystkie pola pozycji; pola wysłane obok niego je nadpisują.
labelstringWyświetlana etykieta (domyślnie ID).
shapestringKształt pozycji. cylinder i drum używają radius + height zamiast length + width; pallet i drum zawsze stoją pionowo.
boxcylinderpalletbagdrumDomyślnie "box"lengthnumber · cmDługość. Wymagana, chyba że shape to cylinder lub drum.
widthnumber · cmSzerokość. Wymagana, chyba że shape to cylinder lub drum.
heightnumber · cmwymaganeWysokość (bok pionowy, gdy pozycja stoi zgodnie z definicją).
radiusnumber · cmPromień. Wymagany, gdy shape to cylinder lub drum.
weightnumber · kgwymaganeWaga JEDNEJ sztuki.
quantityintegerLiczba identycznych sztuk.
11–10000stackablebooleanNa tej pozycji można stawiać inne pozycje.
truemax_stack_weightnumber · kgMaksymalna waga, która może spoczywać na jednej sztuce. 0 = bez limitu.
0rotationstringall = dowolna z sześciu orientacji; upright = obrót tylko wokół osi pionowej (tą stroną do góry); fixed = bez obracania.
alluprightfixedDomyślnie "all"hazardousbooleanTowary niebezpieczne: umieszczane nisko i z dala od innych towarów niebezpiecznych.
falsepriorityintegerPriorytet załadunku. Wyższy = ładowana wcześniej i zachowywana, gdy brakuje miejsca. 0 = brak.
0groupstringNazwa grupy, do której należy pozycja (zob. groups i options.group_routing).
colorstringKolor wyświetlania w formacie #rrggbb (tylko podgląd i PDF).
nesting_heightnumber · cmGłębokość, na jaką identyczne sztuki wsuwają się w siebie przy piętrowaniu (skrzynki, wiadra).
0groupsGroup[]Opcjonalne grupy (klienci, punkty dostawy, zamówienia). Wymagane dla każdej grupy wskazanej przez pozycję, gdy options.group_routing jest inne niż "none"; w przeciwnym razie grupy są tworzone z nazw grup pozycji w kolejności wystąpienia.
namestringwymaganeNazwa grupy, do której odwołuje się Item.group.
orderintegerKolejność załadunku (niższa = ładowana wcześniej). Domyślnie miejsce na liście.
colorstringKolor wyświetlania w formacie #rrggbb.
optionsOptionsOpcje załadunku. Wszystkie pola są opcjonalne.
packing_modestringauto = gdy podane pojazdy są pełne, dodawane są kolejne egzemplarze najlepiej pasującego pojazdu (do limitu pojazdów zadania); fleet_only = używane są tylko podane pojazdy, a wszystko, co się nie zmieści, jest zgłaszane jako nierozmieszczone.
autofleet_onlyDomyślnie "auto"group_routingstringnone = grupy mają charakter informacyjny; wall = każda grupa dostaje własną sekcję pojazdu; routing = grupy są ładowane po kolei, a późniejsza grupa może stać na wcześniejszej lub obok niej, ale nigdy pod nią (dostawy do wielu punktów); no_stack = grupy są ładowane po kolei obok siebie, nigdy jedna na drugiej.
nonewallroutingno_stackDomyślnie "none"allow_overweightbooleanIgnoruj limity ładowności pojazdów.
falsemax_stack_itemsintegerMaksymalna liczba sztuk w jednym stosie. 0 = bez limitu.
0max_stack_density_kg_m2number · kg/m²Maksymalna waga stosu na jednostkę powierzchni podłogi. 0 = bez limitu.
0lock_rotationsbooleanZachowaj pierwszą orientację, która mieści się w wysokości pojazdu.
falsegroup_identical_binsbooleanTraktuj identyczne pojazdy jako jedną pulę.
falsetime_limitnumber · sGórny limit czasu obliczeń dla całego zadania. 0 = automatycznie (maks. max_time_limit_seconds z GET /v1/limits). Po osiągnięciu limitu zwracany jest najlepszy dotąd znaleziony plan. Płacisz tylko za faktycznie zużyty czas obliczeń.
0enforce_axleWymaga dostępubooleanOdrzucaj rozmieszczenia przeciążające grupę osi w pojazdach, które mają wypełnione wszystkie dziesięć pól modelu osi.
falsePrzykładowe zapytanie
curl -X POST "https://runner.cargoduo.com/v1/estimate" \
-H "Authorization: Bearer $CARGODUO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"reference": "order-1042",
"vehicles": [
{
"id": "trailer",
"type": "trailer",
"name": "13.6 m trailer",
"length": 1360,
"width": 245,
"height": 270,
"max_weight": 24000
}
],
"items": [
{
"id": "pallet-eu",
"label": "Euro pallet",
"length": 120,
"width": 80,
"height": 140,
"weight": 450,
"quantity": 18,
"stackable": false
},
{
"id": "carton-a",
"label": "Carton A",
"length": 60,
"width": 40,
"height": 40,
"weight": 12,
"quantity": 40,
"rotation": "upright"
}
],
"options": {
"packing_mode": "auto"
}
}'const res = await fetch("https://runner.cargoduo.com/v1/estimate", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.CARGODUO_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"reference": "order-1042",
"vehicles": [
{
"id": "trailer",
"type": "trailer",
"name": "13.6 m trailer",
"length": 1360,
"width": 245,
"height": 270,
"max_weight": 24000
}
],
"items": [
{
"id": "pallet-eu",
"label": "Euro pallet",
"length": 120,
"width": 80,
"height": 140,
"weight": 450,
"quantity": 18,
"stackable": false
},
{
"id": "carton-a",
"label": "Carton A",
"length": 60,
"width": 40,
"height": 40,
"weight": 12,
"quantity": 40,
"rotation": "upright"
}
],
"options": {
"packing_mode": "auto"
}
}),
});
const data = await res.json();
console.log(res.status, data);import os
import requests
response = requests.post(
"https://runner.cargoduo.com/v1/estimate",
headers={"Authorization": f"Bearer {os.environ['CARGODUO_API_KEY']}"},
json={
"reference": "order-1042",
"vehicles": [
{
"id": "trailer",
"type": "trailer",
"name": "13.6 m trailer",
"length": 1360,
"width": 245,
"height": 270,
"max_weight": 24000,
},
],
"items": [
{
"id": "pallet-eu",
"label": "Euro pallet",
"length": 120,
"width": 80,
"height": 140,
"weight": 450,
"quantity": 18,
"stackable": False,
},
{
"id": "carton-a",
"label": "Carton A",
"length": 60,
"width": 40,
"height": 40,
"weight": 12,
"quantity": 40,
"rotation": "upright",
},
],
"options": {
"packing_mode": "auto",
},
},
)
print(response.status_code, response.json())package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"reference": "order-1042",
"vehicles": [
{
"id": "trailer",
"type": "trailer",
"name": "13.6 m trailer",
"length": 1360,
"width": 245,
"height": 270,
"max_weight": 24000
}
],
"items": [
{
"id": "pallet-eu",
"label": "Euro pallet",
"length": 120,
"width": 80,
"height": 140,
"weight": 450,
"quantity": 18,
"stackable": false
},
{
"id": "carton-a",
"label": "Carton A",
"length": 60,
"width": 40,
"height": 40,
"weight": 12,
"quantity": 40,
"rotation": "upright"
}
],
"options": {
"packing_mode": "auto"
}
}`)
req, err := http.NewRequest("POST", "https://runner.cargoduo.com/v1/estimate", body)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("CARGODUO_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(res.StatusCode, string(out))
}import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
String body = """
{
"reference": "order-1042",
"vehicles": [
{
"id": "trailer",
"type": "trailer",
"name": "13.6 m trailer",
"length": 1360,
"width": 245,
"height": 270,
"max_weight": 24000
}
],
"items": [
{
"id": "pallet-eu",
"label": "Euro pallet",
"length": 120,
"width": 80,
"height": 140,
"weight": 450,
"quantity": 18,
"stackable": false
},
{
"id": "carton-a",
"label": "Carton A",
"length": 60,
"width": 40,
"height": 40,
"weight": 12,
"quantity": 40,
"rotation": "upright"
}
],
"options": {
"packing_mode": "auto"
}
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://runner.cargoduo.com/v1/estimate"))
.header("Authorization", "Bearer " + System.getenv("CARGODUO_API_KEY"))
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode() + " " + response.body());
}
}using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("CARGODUO_API_KEY"));
var json = """
{
"reference": "order-1042",
"vehicles": [
{
"id": "trailer",
"type": "trailer",
"name": "13.6 m trailer",
"length": 1360,
"width": 245,
"height": 270,
"max_weight": 24000
}
],
"items": [
{
"id": "pallet-eu",
"label": "Euro pallet",
"length": 120,
"width": 80,
"height": 140,
"weight": 450,
"quantity": 18,
"stackable": false
},
{
"id": "carton-a",
"label": "Carton A",
"length": 60,
"width": 40,
"height": 40,
"weight": 12,
"quantity": 40,
"rotation": "upright"
}
],
"options": {
"packing_mode": "auto"
}
}
""";
var request = new HttpRequestMessage(HttpMethod.Post, "https://runner.cargoduo.com/v1/estimate")
{
Content = new StringContent(json, Encoding.UTF8, "application/json"),
};
var response = await client.SendAsync(request);
Console.WriteLine($"{(int)response.StatusCode} {await response.Content.ReadAsStringAsync()}");<?php
$payload = <<<'JSON'
{
"reference": "order-1042",
"vehicles": [
{
"id": "trailer",
"type": "trailer",
"name": "13.6 m trailer",
"length": 1360,
"width": 245,
"height": 270,
"max_weight": 24000
}
],
"items": [
{
"id": "pallet-eu",
"label": "Euro pallet",
"length": 120,
"width": 80,
"height": 140,
"weight": 450,
"quantity": 18,
"stackable": false
},
{
"id": "carton-a",
"label": "Carton A",
"length": 60,
"width": 40,
"height": 40,
"weight": 12,
"quantity": 40,
"rotation": "upright"
}
],
"options": {
"packing_mode": "auto"
}
}
JSON;
$ch = curl_init('https://runner.cargoduo.com/v1/estimate');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('CARGODUO_API_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($ch);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE), ' ', $response, PHP_EOL;require "net/http"
require "uri"
uri = URI("https://runner.cargoduo.com/v1/estimate")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer #{ENV.fetch("CARGODUO_API_KEY")}"
request["Content-Type"] = "application/json"
request.body = <<~'JSON'
{
"reference": "order-1042",
"vehicles": [
{
"id": "trailer",
"type": "trailer",
"name": "13.6 m trailer",
"length": 1360,
"width": 245,
"height": 270,
"max_weight": 24000
}
],
"items": [
{
"id": "pallet-eu",
"label": "Euro pallet",
"length": 120,
"width": 80,
"height": 140,
"weight": 450,
"quantity": 18,
"stackable": false
},
{
"id": "carton-a",
"label": "Carton A",
"length": 60,
"width": 40,
"height": 40,
"weight": 12,
"quantity": 40,
"rotation": "upright"
}
],
"options": {
"packing_mode": "auto"
}
}
JSON
response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") do |http|
http.request(request)
end
puts response.code, response.bodyPrzykładowa odpowiedź
{
"valid": true,
"errors": [],
"warnings": [],
"items": 58,
"max_vehicles": 3,
"estimated_cost": {
"min_credits": 0.26,
"max_credits": 1.11
},
"estimated_seconds": 90,
"balance": {
"available_credits": 147.75
}
}Odpowiedzi
200OKWynik walidacji i przedział cenowy.
NazwaTypWymaganyOpisvalidbooleanbooleanNieZapytanie zostałoby przyjęte przez POST /v1/pack.
errorsErrorDetail[]ErrorDetail[]NieBłędy walidacji (puste, gdy zapytanie jest prawidłowe).
pathstringstringNieŚcieżka JSON błędnego pola, np. items[3].length.
codestringstringNierequired,invalid_value,out_of_range,duplicate_id,unknown_vehicle,unknown_template,type_not_allowed,unknown_group,does_not_fit,too_many_items,too_many_vehicles,unknown_field,invalid_json.messagestringstringNieWyjaśnienie po angielsku.
warningsWarning[]Warning[]NieUwagi, które nie blokują zadania.
codestringstringNieKod maszynowy.
messagestringstringNieWyjaśnienie po angielsku.
itemsintegerintegerNieŁączna liczba sztuk.
max_vehiclesintegerintegerNieMaksymalna liczba pojazdów, które zadanie może załadować.
estimated_costCostRangeCostRangeNiePrzedział cenowy w kredytach.
min_creditsnumber · creditsnumber · creditsNieNajniższa realna cena (najmniej pojazdów, zero obliczeń).
max_creditsnumber · creditsnumber · creditsNieNajgorszy przypadek: załadowane max_vehicles i wykorzystany cały budżet obliczeniowy. Tyle właśnie rezerwuje POST /v1/pack przy tworzeniu zadania.
estimated_secondsnumber · snumber · sNieBudżet obliczeniowy, jaki dostałoby zadanie (górna granica; większość zadań kończy się wcześniej).
balanceEstimateBalanceEstimateBalanceNieTwoje dostępne kredyty.
available_creditsnumber · creditsnumber · creditsNie400Bad request
invalid_jsoninvalid_jsonTreść nie jest prawidłowym JSON-em lub pole ma niewłaściwy typ.
Wszystkie kody błędówNazwaTypWymaganyOpiserrorErrorBodywymaganeErrorBodyTakcodestringwymaganestringTakKod maszynowy (snake_case). Na nim opieraj logikę, nigdy na
message.messagestringwymaganestringTakWyjaśnienie po angielsku.
request_idstringwymaganestringTakTo samo co nagłówek X-Request-Id. Podaj je, kontaktując się z pomocą techniczną.
detailsErrorDetail[]ErrorDetail[]NieProblemy z poszczególnymi polami (
validation_failed).pathstringstringNieŚcieżka JSON błędnego pola, np. items[3].length.
codestringstringNierequired,invalid_value,out_of_range,duplicate_id,unknown_vehicle,unknown_template,type_not_allowed,unknown_group,does_not_fit,too_many_items,too_many_vehicles,unknown_field,invalid_json.messagestringstringNieWyjaśnienie po angielsku.
401Unauthorized
unauthorizedkey_revokedkey_expiredunauthorizedBrak klucza API, nieprawidłowy format klucza lub nieznany klucz.key_revokedKlucz został unieważniony.key_expiredKlucz utracił ważność.
Wszystkie kody błędówNazwaTypWymaganyOpiserrorErrorBodywymaganeErrorBodyTakcodestringwymaganestringTakKod maszynowy (snake_case). Na nim opieraj logikę, nigdy na
message.messagestringwymaganestringTakWyjaśnienie po angielsku.
request_idstringwymaganestringTakTo samo co nagłówek X-Request-Id. Podaj je, kontaktując się z pomocą techniczną.
detailsErrorDetail[]ErrorDetail[]NieProblemy z poszczególnymi polami (
validation_failed).pathstringstringNieŚcieżka JSON błędnego pola, np. items[3].length.
codestringstringNierequired,invalid_value,out_of_range,duplicate_id,unknown_vehicle,unknown_template,type_not_allowed,unknown_group,does_not_fit,too_many_items,too_many_vehicles,unknown_field,invalid_json.messagestringstringNieWyjaśnienie po angielsku.
403Forbidden
ip_not_allowedsubscription_inactiveaccount_inactivescope_missingip_not_allowedAdresu IP, z którego przyszło wywołanie, nie ma na liście dozwolonych adresów klucza.subscription_inactiveOrganizacja nie ma aktywnej subskrypcji obejmującej API.account_inactiveOrganizacja jest zawieszona albo nie ma właściciela z aktywnym kontem.scope_missingKlucz nie ma zakresu wymaganego przez ten endpoint.
Wszystkie kody błędówNazwaTypWymaganyOpiserrorErrorBodywymaganeErrorBodyTakcodestringwymaganestringTakKod maszynowy (snake_case). Na nim opieraj logikę, nigdy na
message.messagestringwymaganestringTakWyjaśnienie po angielsku.
request_idstringwymaganestringTakTo samo co nagłówek X-Request-Id. Podaj je, kontaktując się z pomocą techniczną.
detailsErrorDetail[]ErrorDetail[]NieProblemy z poszczególnymi polami (
validation_failed).pathstringstringNieŚcieżka JSON błędnego pola, np. items[3].length.
codestringstringNierequired,invalid_value,out_of_range,duplicate_id,unknown_vehicle,unknown_template,type_not_allowed,unknown_group,does_not_fit,too_many_items,too_many_vehicles,unknown_field,invalid_json.messagestringstringNieWyjaśnienie po angielsku.
413Payload too large
payload_too_largepayload_too_largeTreść zapytania przekracza 10 MB.
Wszystkie kody błędówNazwaTypWymaganyOpiserrorErrorBodywymaganeErrorBodyTakcodestringwymaganestringTakKod maszynowy (snake_case). Na nim opieraj logikę, nigdy na
message.messagestringwymaganestringTakWyjaśnienie po angielsku.
request_idstringwymaganestringTakTo samo co nagłówek X-Request-Id. Podaj je, kontaktując się z pomocą techniczną.
detailsErrorDetail[]ErrorDetail[]NieProblemy z poszczególnymi polami (
validation_failed).pathstringstringNieŚcieżka JSON błędnego pola, np. items[3].length.
codestringstringNierequired,invalid_value,out_of_range,duplicate_id,unknown_vehicle,unknown_template,type_not_allowed,unknown_group,does_not_fit,too_many_items,too_many_vehicles,unknown_field,invalid_json.messagestringstringNieWyjaśnienie po angielsku.
429Too many requests
rate_limitedrate_limitedZa dużo zapytań w bieżącej minucie, godzinie lub dobie (na klucz lub na organizację) albo przekroczony limit nieudanych uwierzytelnień z Twojego adresu IP (60 na minutę).
Wszystkie kody błędówNazwaTypWymaganyOpiserrorErrorBodywymaganeErrorBodyTakcodestringwymaganestringTakKod maszynowy (snake_case). Na nim opieraj logikę, nigdy na
message.messagestringwymaganestringTakWyjaśnienie po angielsku.
request_idstringwymaganestringTakTo samo co nagłówek X-Request-Id. Podaj je, kontaktując się z pomocą techniczną.
detailsErrorDetail[]ErrorDetail[]NieProblemy z poszczególnymi polami (
validation_failed).pathstringstringNieŚcieżka JSON błędnego pola, np. items[3].length.
codestringstringNierequired,invalid_value,out_of_range,duplicate_id,unknown_vehicle,unknown_template,type_not_allowed,unknown_group,does_not_fit,too_many_items,too_many_vehicles,unknown_field,invalid_json.messagestringstringNieWyjaśnienie po angielsku.
500Internal server error
internal_errorinternal_errorWystąpił błąd po naszej stronie.
Wszystkie kody błędówNazwaTypWymaganyOpiserrorErrorBodywymaganeErrorBodyTakcodestringwymaganestringTakKod maszynowy (snake_case). Na nim opieraj logikę, nigdy na
message.messagestringwymaganestringTakWyjaśnienie po angielsku.
request_idstringwymaganestringTakTo samo co nagłówek X-Request-Id. Podaj je, kontaktując się z pomocą techniczną.
detailsErrorDetail[]ErrorDetail[]NieProblemy z poszczególnymi polami (
validation_failed).pathstringstringNieŚcieżka JSON błędnego pola, np. items[3].length.
codestringstringNierequired,invalid_value,out_of_range,duplicate_id,unknown_vehicle,unknown_template,type_not_allowed,unknown_group,does_not_fit,too_many_items,too_many_vehicles,unknown_field,invalid_json.messagestringstringNieWyjaśnienie po angielsku.
503Service unavailable
api_disabledapi_disabledAPI jest tymczasowo wyłączone (prace konserwacyjne) lub wyłączone dla organizacji.
Wszystkie kody błędówNazwaTypWymaganyOpiserrorErrorBodywymaganeErrorBodyTakcodestringwymaganestringTakKod maszynowy (snake_case). Na nim opieraj logikę, nigdy na
message.messagestringwymaganestringTakWyjaśnienie po angielsku.
request_idstringwymaganestringTakTo samo co nagłówek X-Request-Id. Podaj je, kontaktując się z pomocą techniczną.
detailsErrorDetail[]ErrorDetail[]NieProblemy z poszczególnymi polami (
validation_failed).pathstringstringNieŚcieżka JSON błędnego pola, np. items[3].length.
codestringstringNierequired,invalid_value,out_of_range,duplicate_id,unknown_vehicle,unknown_template,type_not_allowed,unknown_group,does_not_fit,too_many_items,too_many_vehicles,unknown_field,invalid_json.messagestringstringNieWyjaśnienie po angielsku.