Zaplanuj załadunek projektu
Planuje załadunek pojazdów i pozycji projektu dokładnie tak jak POST /v1/pack: ta sama cena, rezerwacja kredytów, limity, Idempotency-Key, ?wait= i zadanie.
Gdy zadanie zakończy się sukcesem, jego plan zostaje zapisany w projekcie, który potem otwiera się w aplikacji z tym planem. Jeśli projekt zmienił się w trakcie zadania, plan zostaje tylko przy zadaniu (ostrzeżenie project_not_saved). ID w wyniku pochodzą z projektu: vehicle_id to ID slotu (pv_…), a item_id to ID pozycji (item_…).
Uwierzytelnianie
Parametry ścieżki
idstringwymaganeID projektu (prj_…).
Parametry zapytania
waitintegerIle sekund wstrzymać odpowiedź w oczekiwaniu na zakończenie zadania. Zakończone na czas: 200 z wynikiem w odpowiedzi. W przeciwnym razie: 202.
00–60Parametry nagłówka
Idempotency-KeystringDowolny unikalny ciąg znaków, np. UUID lub numer Twojego zamówienia. Ten sam klucz w ciągu 24 h zwraca pierwotne zadanie zamiast tworzyć i rozliczać nowe.
Parametry treści
application/jsonreferencestringTwój numer referencyjny, zwracany w zadaniu. Domyślnie nazwa projektu.
optionsProjectPackOptionsOpcje uruchomienia. 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_onlyallow_overweightbooleanIgnoruj limity ładowności pojazdów.
max_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/projects/prj_3051/pack" \
-H "Authorization: Bearer $CARGODUO_API_KEY" \
-H "Idempotency-Key: order-1042-v1" \
-H "Content-Type: application/json" \
-d '{
"reference": "order-1042"
}'const res = await fetch("https://runner.cargoduo.com/v1/projects/prj_3051/pack", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.CARGODUO_API_KEY}`,
"Idempotency-Key": "order-1042-v1",
"Content-Type": "application/json",
},
body: JSON.stringify({
"reference": "order-1042"
}),
});
const data = await res.json();
console.log(res.status, data);import os
import requests
response = requests.post(
"https://runner.cargoduo.com/v1/projects/prj_3051/pack",
headers={"Authorization": f"Bearer {os.environ['CARGODUO_API_KEY']}", "Idempotency-Key": "order-1042-v1"},
json={
"reference": "order-1042",
},
)
print(response.status_code, response.json())package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"reference": "order-1042"
}`)
req, err := http.NewRequest("POST", "https://runner.cargoduo.com/v1/projects/prj_3051/pack", body)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("CARGODUO_API_KEY"))
req.Header.Set("Idempotency-Key", "order-1042-v1")
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"
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://runner.cargoduo.com/v1/projects/prj_3051/pack"))
.header("Authorization", "Bearer " + System.getenv("CARGODUO_API_KEY"))
.header("Idempotency-Key", "order-1042-v1")
.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"));
client.DefaultRequestHeaders.Add("Idempotency-Key", "order-1042-v1");
var json = """
{
"reference": "order-1042"
}
""";
var request = new HttpRequestMessage(HttpMethod.Post, "https://runner.cargoduo.com/v1/projects/prj_3051/pack")
{
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"
}
JSON;
$ch = curl_init('https://runner.cargoduo.com/v1/projects/prj_3051/pack');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('CARGODUO_API_KEY'),
'Idempotency-Key: order-1042-v1',
'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/projects/prj_3051/pack")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer #{ENV.fetch("CARGODUO_API_KEY")}"
request["Idempotency-Key"] = "order-1042-v1"
request["Content-Type"] = "application/json"
request.body = <<~'JSON'
{
"reference": "order-1042"
}
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ź
{
"id": "job_4bK9mT2xQe7LpW1zRc8VdN3f",
"object": "job",
"status": "queued",
"reference": "order-1042",
"source": "api",
"project_id": "prj_3051",
"created_at": "2026-10-19T09:12:03Z",
"started_at": null,
"finished_at": null,
"progress": {
"stage": "queued",
"vehicles_done": 0,
"placed_items": 0
},
"summary": {
"items_requested": 58,
"items_placed": 0,
"items_unplaced": 0,
"vehicles_used": 0,
"total_weight": 0,
"volume_utilization": 0,
"queue_ms": 0,
"compute_ms": 0
},
"cost": {
"credits": 0,
"reserved_credits": 1.11,
"rate_card_version": 1,
"breakdown": {
"base": 0,
"vehicles": 0,
"compute": 0,
"large_load": 0
}
},
"error": null,
"warnings": [],
"result_url": "https://runner.cargoduo.com/v1/jobs/job_4bK9mT2xQe7LpW1zRc8VdN3f/result",
"pdf_url": "",
"expires_at": "2026-11-02T09:12:03Z"
}Odpowiedzi
200OKZadanie zakończyło się w czasie ?wait, wynik jest w odpowiedzi. Także idempotentne powtórzenie zakończonego zadania.
NazwaTypWymaganyOpisidstringwymaganestringTakID zadania (job_…).
objectstringwymaganestringTakZawsze
job.jobstatusstringwymaganestringTakqueued→running→succeeded|failed|canceled.queuedrunningsucceededfailedcanceledreferencestringstringNieTwój numer referencyjny z zapytania.
sourcestringstringNieGdzie utworzono zadanie.
apiplaygroundproject_idstringstringNieProjekt (prj_…), w którym zadanie POST /v1/projects/{id}/pack zapisuje swój plan. Brak w innych zadaniach.
created_atstringwymaganestringTakZnacznik czasu RFC 3339.
started_atstring | nullstring | nullNieKiedy rozpoczęły się obliczenia (RFC 3339), albo
null.finished_atstring | nullstring | nullNieKiedy zadanie się zakończyło (RFC 3339), albo
null.progressJobProgressJobProgressNieBieżący postęp, gdy zadanie czeka w kolejce lub jest w toku.
stagestringstringNieBieżący etap, np.
queued,running,finalizinglubdone. Tylko informacyjnie: logikę opieraj naJob.status.vehicles_doneintegerintegerNieDotychczas załadowane pojazdy.
placed_itemsintegerintegerNieDotychczas rozmieszczone sztuki.
summaryJobSummaryJobSummaryNieLiczniki i czasy.
items_requestedintegerintegerNieŁączna liczba sztuk (suma ilości).
items_placedintegerintegerNieRozmieszczone sztuki.
items_unplacedintegerintegerNieSztuki, których nie udało się rozmieścić.
vehicles_usedintegerintegerNiePojazdy z co najmniej jedną pozycją.
total_weightnumber · kgnumber · kgNieZaładowana waga.
volume_utilizationnumbernumberNieŚrednie wykorzystanie objętości użytych pojazdów, 0–1.
queue_msintegerintegerNieCzas oczekiwania na zasoby obliczeniowe (bezpłatny).
compute_msintegerintegerNieCzas obliczeń (płatny).
costJobCostJobCostNiePobrane kredyty (ostateczne po zakończeniu zadania) i rezerwacja utrzymywana w trakcie jego trwania.
creditsnumber · creditsnumber · creditsNiePobrane kredyty (0 do zakończenia zadania). Za zadania zakończone błędem nie pobieramy opłat, z wyjątkiem time_limit_exceeded, rozliczanego jak anulowane zadanie.
reserved_creditsnumber · creditsnumber · creditsNieKredyty zablokowane, gdy zadanie czekało w kolejce lub było w toku (maksymalna możliwa cena). Zwalniane po jego zakończeniu.
rate_card_versionintegerintegerNieCennik, według którego wyceniono zadanie.
breakdownCostBreakdownCostBreakdownNieCena w rozbiciu na składniki.
basenumber · creditsnumber · creditsNieOpłata za zadanie.
vehiclesnumber · creditsnumber · creditsNieZa każdy załadowany pojazd (nie jest pobierana w zadaniach anulowanych ani zakończonych z time_limit_exceeded).
computenumber · creditsnumber · creditsNieZa sekundę obliczeń, naliczane proporcjonalnie co do milisekundy.
large_loadnumber · creditsnumber · creditsNieDopłata za każde rozpoczęte 100 sztuk powyżej progu dużego ładunku.
errorJobError | nullJobError | nullNieDlaczego zadanie zakończyło się błędem lub zostało anulowane; w przeciwnym razie
null.codestringstringNieKod maszynowy (zob. Błędy).
messagestringstringNieWyjaśnienie po angielsku.
warningsWarning[]Warning[]NieUwagi do zapytania, które nie blokują zadania (powtórzone także w wyniku).
codestringstringNieKod maszynowy.
messagestringstringNieWyjaśnienie po angielsku.
result_urlstringstringNieWywołaj GET na ten URL, aby pobrać pełny wynik, gdy
statusma wartośćsucceeded.pdf_urlstringstringNieLink otwierany w przeglądarce, który generuje plan załadunku jako PDF (widoki 3D + kroki załadunku). Ważny do expires_at. Po wygaśnięciu pusty.
expires_atstringstringNieKiedy treści zapytania i wyniku oraz link do PDF zostaną usunięte (RFC 3339). Metadane zadania i opłaty są zachowywane.
resultResultResultNiePełny wynik, dołączany tylko na żądanie (?include=result) lub gdy POST /v1/pack?wait= zakończy się na czas.
job_idstringstringNieZadanie.
vehiclesResultVehicle[]ResultVehicle[]NieZaładowane pojazdy w kolejności załadunku (puste pojazdy są pomijane).
indexintegerintegerNieIndeks w planie, liczony od 0.
vehicle_idstringstringNieID Twojej definicji pojazdu (w zadaniu projektu: ID slotu, pv_…).
copyintegerintegerNieNumer egzemplarza tej definicji, liczony od 1 (quantity > 1 lub dodany w trybie auto).
auto_addedbooleanbooleanNieDodany przez
packing_modeautoponad podanąquantity.namestringstringNieNazwa pojazdu.
typestringstringNieTyp pojazdu.
lengthnumber · cmnumber · cmNieDługość przestrzeni ładunkowej.
widthnumber · cmnumber · cmNieSzerokość przestrzeni ładunkowej.
heightnumber · cmnumber · cmNieWysokość przestrzeni ładunkowej.
max_weightnumber · kgnumber · kgNieLimit ładowności.
items_placedintegerintegerNieSztuki w tym pojeździe.
total_weightnumber · kgnumber · kgNieWaga ładunku w tym pojeździe.
volume_utilizationnumbernumberNieWykorzystana objętość / objętość przestrzeni ładunkowej, 0–1.
weight_utilizationnumbernumberNietotal_weight / max_weight, 0–1 (może przekroczyć 1 przy allow_overweight).
center_of_gravityPointPointNieŚrodek ciężkości ładunku (cm).
xnumber · cmnumber · cmNieynumber · cmnumber · cmNieznumber · cmnumber · cmNieplacementsPlacement[]Placement[]NieWszystkie sztuki w tym pojeździe.
item_idstringstringNieID Twojej definicji pozycji (w zadaniu projektu: ID pozycji, item_…).
instanceintegerintegerNieNumer sztuki w obrębie definicji pozycji, liczony od 1 (unikalny w całym planie).
labelstringstringNieEtykieta pozycji.
xnumber · cmnumber · cmNiePołożenie narożnika minimalnego wzdłuż długości.
ynumber · cmnumber · cmNieWysokość narożnika minimalnego nad podłogą.
znumber · cmnumber · cmNiePołożenie narożnika minimalnego w poprzek szerokości.
lengthnumber · cmnumber · cmNieWymiar wzdłuż osi x po rozmieszczeniu.
widthnumber · cmnumber · cmNieWymiar wzdłuż osi z po rozmieszczeniu.
heightnumber · cmnumber · cmNieWymiar wzdłuż osi y po rozmieszczeniu.
rotatedbooleanbooleanNieUmieszczona w innej orientacji niż zdefiniowana.
orientationstringstringNieKtóry zdefiniowany bok leży wzdłuż osi x, z i y:
lwh= zgodnie z definicją,wlh= obrócona o 90° wokół osi pionowej,lhw,hwl,whl,hlw= przewrócona na bok.stepintegerintegerNieKrok załadunku w pojeździe, liczony od 1 (ładuj w kolejności rosnącej).
weightnumber · kgnumber · kgNieWaga sztuki.
axle_loadsWymaga dostępuAxleLoad[]AxleLoad[]NieNacisk na każdą oś (tylko pojazdy z danymi osi).
namestringstringNieAxle 1,Axle 2… w kolejności zaxle_positions.positionnumber · cmnumber · cmNiePołożenie osi liczone od przodu przestrzeni ładunkowej.
loadnumber · kgnumber · kgNieNacisk ładunku na oś.
maxnumber · kgnumber · kgNieSkonfigurowane maksimum (0 = brak).
okbooleanbooleanNieload≤max(zawszetrue, gdy nie ustawiono maksimum).unplacedUnplacedItem[]UnplacedItem[]NieSztuki, których nie udało się rozmieścić, wraz z przyczyną.
item_idstringstringNieID Twojej definicji pozycji.
instanceintegerintegerNieNumer sztuki, liczony od 1.
labelstringstringNieEtykieta pozycji.
reasonstringstringNieDlaczego nie udało się jej rozmieścić.
warningsWarning[]Warning[]NieUwagi do planu.
codestringstringNieKod maszynowy.
messagestringstringNieWyjaśnienie po angielsku.
pdf_urlstringstringNieLink otwierany w przeglądarce, który generuje plan jako PDF.
expires_atstringstringNieKiedy ten wynik zostanie usunięty (RFC 3339).
202AcceptedZadanie przyjęte (w kolejce lub w toku).
NazwaTypWymaganyOpisidstringwymaganestringTakID zadania (job_…).
objectstringwymaganestringTakZawsze
job.jobstatusstringwymaganestringTakqueued→running→succeeded|failed|canceled.queuedrunningsucceededfailedcanceledreferencestringstringNieTwój numer referencyjny z zapytania.
sourcestringstringNieGdzie utworzono zadanie.
apiplaygroundproject_idstringstringNieProjekt (prj_…), w którym zadanie POST /v1/projects/{id}/pack zapisuje swój plan. Brak w innych zadaniach.
created_atstringwymaganestringTakZnacznik czasu RFC 3339.
started_atstring | nullstring | nullNieKiedy rozpoczęły się obliczenia (RFC 3339), albo
null.finished_atstring | nullstring | nullNieKiedy zadanie się zakończyło (RFC 3339), albo
null.progressJobProgressJobProgressNieBieżący postęp, gdy zadanie czeka w kolejce lub jest w toku.
stagestringstringNieBieżący etap, np.
queued,running,finalizinglubdone. Tylko informacyjnie: logikę opieraj naJob.status.vehicles_doneintegerintegerNieDotychczas załadowane pojazdy.
placed_itemsintegerintegerNieDotychczas rozmieszczone sztuki.
summaryJobSummaryJobSummaryNieLiczniki i czasy.
items_requestedintegerintegerNieŁączna liczba sztuk (suma ilości).
items_placedintegerintegerNieRozmieszczone sztuki.
items_unplacedintegerintegerNieSztuki, których nie udało się rozmieścić.
vehicles_usedintegerintegerNiePojazdy z co najmniej jedną pozycją.
total_weightnumber · kgnumber · kgNieZaładowana waga.
volume_utilizationnumbernumberNieŚrednie wykorzystanie objętości użytych pojazdów, 0–1.
queue_msintegerintegerNieCzas oczekiwania na zasoby obliczeniowe (bezpłatny).
compute_msintegerintegerNieCzas obliczeń (płatny).
costJobCostJobCostNiePobrane kredyty (ostateczne po zakończeniu zadania) i rezerwacja utrzymywana w trakcie jego trwania.
creditsnumber · creditsnumber · creditsNiePobrane kredyty (0 do zakończenia zadania). Za zadania zakończone błędem nie pobieramy opłat, z wyjątkiem time_limit_exceeded, rozliczanego jak anulowane zadanie.
reserved_creditsnumber · creditsnumber · creditsNieKredyty zablokowane, gdy zadanie czekało w kolejce lub było w toku (maksymalna możliwa cena). Zwalniane po jego zakończeniu.
rate_card_versionintegerintegerNieCennik, według którego wyceniono zadanie.
breakdownCostBreakdownCostBreakdownNieCena w rozbiciu na składniki.
basenumber · creditsnumber · creditsNieOpłata za zadanie.
vehiclesnumber · creditsnumber · creditsNieZa każdy załadowany pojazd (nie jest pobierana w zadaniach anulowanych ani zakończonych z time_limit_exceeded).
computenumber · creditsnumber · creditsNieZa sekundę obliczeń, naliczane proporcjonalnie co do milisekundy.
large_loadnumber · creditsnumber · creditsNieDopłata za każde rozpoczęte 100 sztuk powyżej progu dużego ładunku.
errorJobError | nullJobError | nullNieDlaczego zadanie zakończyło się błędem lub zostało anulowane; w przeciwnym razie
null.codestringstringNieKod maszynowy (zob. Błędy).
messagestringstringNieWyjaśnienie po angielsku.
warningsWarning[]Warning[]NieUwagi do zapytania, które nie blokują zadania (powtórzone także w wyniku).
codestringstringNieKod maszynowy.
messagestringstringNieWyjaśnienie po angielsku.
result_urlstringstringNieWywołaj GET na ten URL, aby pobrać pełny wynik, gdy
statusma wartośćsucceeded.pdf_urlstringstringNieLink otwierany w przeglądarce, który generuje plan załadunku jako PDF (widoki 3D + kroki załadunku). Ważny do expires_at. Po wygaśnięciu pusty.
expires_atstringstringNieKiedy treści zapytania i wyniku oraz link do PDF zostaną usunięte (RFC 3339). Metadane zadania i opłaty są zachowywane.
resultResultResultNiePełny wynik, dołączany tylko na żądanie (?include=result) lub gdy POST /v1/pack?wait= zakończy się na czas.
job_idstringstringNieZadanie.
vehiclesResultVehicle[]ResultVehicle[]NieZaładowane pojazdy w kolejności załadunku (puste pojazdy są pomijane).
indexintegerintegerNieIndeks w planie, liczony od 0.
vehicle_idstringstringNieID Twojej definicji pojazdu (w zadaniu projektu: ID slotu, pv_…).
copyintegerintegerNieNumer egzemplarza tej definicji, liczony od 1 (quantity > 1 lub dodany w trybie auto).
auto_addedbooleanbooleanNieDodany przez
packing_modeautoponad podanąquantity.namestringstringNieNazwa pojazdu.
typestringstringNieTyp pojazdu.
lengthnumber · cmnumber · cmNieDługość przestrzeni ładunkowej.
widthnumber · cmnumber · cmNieSzerokość przestrzeni ładunkowej.
heightnumber · cmnumber · cmNieWysokość przestrzeni ładunkowej.
max_weightnumber · kgnumber · kgNieLimit ładowności.
items_placedintegerintegerNieSztuki w tym pojeździe.
total_weightnumber · kgnumber · kgNieWaga ładunku w tym pojeździe.
volume_utilizationnumbernumberNieWykorzystana objętość / objętość przestrzeni ładunkowej, 0–1.
weight_utilizationnumbernumberNietotal_weight / max_weight, 0–1 (może przekroczyć 1 przy allow_overweight).
center_of_gravityPointPointNieŚrodek ciężkości ładunku (cm).
xnumber · cmnumber · cmNieynumber · cmnumber · cmNieznumber · cmnumber · cmNieplacementsPlacement[]Placement[]NieWszystkie sztuki w tym pojeździe.
item_idstringstringNieID Twojej definicji pozycji (w zadaniu projektu: ID pozycji, item_…).
instanceintegerintegerNieNumer sztuki w obrębie definicji pozycji, liczony od 1 (unikalny w całym planie).
labelstringstringNieEtykieta pozycji.
xnumber · cmnumber · cmNiePołożenie narożnika minimalnego wzdłuż długości.
ynumber · cmnumber · cmNieWysokość narożnika minimalnego nad podłogą.
znumber · cmnumber · cmNiePołożenie narożnika minimalnego w poprzek szerokości.
lengthnumber · cmnumber · cmNieWymiar wzdłuż osi x po rozmieszczeniu.
widthnumber · cmnumber · cmNieWymiar wzdłuż osi z po rozmieszczeniu.
heightnumber · cmnumber · cmNieWymiar wzdłuż osi y po rozmieszczeniu.
rotatedbooleanbooleanNieUmieszczona w innej orientacji niż zdefiniowana.
orientationstringstringNieKtóry zdefiniowany bok leży wzdłuż osi x, z i y:
lwh= zgodnie z definicją,wlh= obrócona o 90° wokół osi pionowej,lhw,hwl,whl,hlw= przewrócona na bok.stepintegerintegerNieKrok załadunku w pojeździe, liczony od 1 (ładuj w kolejności rosnącej).
weightnumber · kgnumber · kgNieWaga sztuki.
axle_loadsWymaga dostępuAxleLoad[]AxleLoad[]NieNacisk na każdą oś (tylko pojazdy z danymi osi).
namestringstringNieAxle 1,Axle 2… w kolejności zaxle_positions.positionnumber · cmnumber · cmNiePołożenie osi liczone od przodu przestrzeni ładunkowej.
loadnumber · kgnumber · kgNieNacisk ładunku na oś.
maxnumber · kgnumber · kgNieSkonfigurowane maksimum (0 = brak).
okbooleanbooleanNieload≤max(zawszetrue, gdy nie ustawiono maksimum).unplacedUnplacedItem[]UnplacedItem[]NieSztuki, których nie udało się rozmieścić, wraz z przyczyną.
item_idstringstringNieID Twojej definicji pozycji.
instanceintegerintegerNieNumer sztuki, liczony od 1.
labelstringstringNieEtykieta pozycji.
reasonstringstringNieDlaczego nie udało się jej rozmieścić.
warningsWarning[]Warning[]NieUwagi do planu.
codestringstringNieKod maszynowy.
messagestringstringNieWyjaśnienie po angielsku.
pdf_urlstringstringNieLink otwierany w przeglądarce, który generuje plan jako PDF.
expires_atstringstringNieKiedy ten wynik zostanie usunięty (RFC 3339).
400Bad request
invalid_jsonidempotency_key_invalidinvalid_jsonTreść nie jest prawidłowym JSON-em lub pole ma niewłaściwy typ.idempotency_key_invalidNagłówek Idempotency-Key jest dłuższy niż 128 zn.
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.
402Payment required
insufficient_creditsinsufficient_creditsDostępne kredyty nie pokrywają najtańszego możliwego przebiegu tego zadania.
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.
404Not found
project_not_foundproject_not_foundW Twojej organizacji nie ma projektu o tym ID.
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.
409Conflict
project_busyproject_busyDla projektu właśnie trwa planowanie załadunku (w aplikacji lub w innym zadaniu).
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.
422Unprocessable entity
validation_failedvalidation_failedZapytanie to poprawny składniowo JSON, ale opisuje nieprawidłowe zadanie. details[] zawiera wszystkie problemy.
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
too_many_jobsrate_limitedtoo_many_jobsOrganizacja ma już maksymalną liczbę zadań w kolejce i w toku.rate_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.