Ước tính chi phí tác vụ xếp hàng
Chạy cùng bước kiểm tra như POST /v1/pack và trả về khoảng giá, không tạo tác vụ và không tạm giữ credit.
Miễn phí. Yêu cầu không hợp lệ vẫn nhận về 200, kèm valid: false và mọi lỗi trong errors[].
Xác thực
Tham số body
application/jsonreferencestringMã tham chiếu riêng của bạn (số đơn hàng, mã lô hàng…). Được trả lại trên tác vụ.
vehiclesVehicle[]bắt buộcĐịnh nghĩa xe. Mỗi định nghĩa có thể có quantity > 1. Ít nhất một.
idstringMã định danh của bạn, duy nhất trong yêu cầu. Kết quả tham chiếu đến nó dưới tên vehicle_id. Mặc định là vehicle_id.
vehicle_idstringID xe lấy từ GET /v1/vehicles: xe thiết lập sẵn hoặc xe của tổ chức bạn (veh_…). Cung cấp loại, tên, kích thước, tải trọng và mọi giá trị đã lưu khác.
typestringLoại xe. Bắt buộc nếu không có vehicle_id. Chỉ chấp nhận các loại được liệt kê trong GET /v1/limits (allowed_vehicle_types).
trucktrailerflatbedcontainerpalletaircraftshipnamestringTên hiển thị (mặc định là tên của xe đã lưu hoặc ID).
lengthnumber · cmChiều dài bên trong khoang chở hàng, theo trục x (từ vách trước về phía cửa). Bắt buộc nếu không có vehicle_id.
widthnumber · cmChiều rộng bên trong khoang chở hàng, theo trục z. Bắt buộc nếu không có vehicle_id.
heightnumber · cmChiều cao bên trong khoang chở hàng, theo trục y. Bắt buộc nếu không có vehicle_id.
max_weightnumber · kgTải trọng tối đa. Bắt buộc nếu không có vehicle_id.
quantityintegerSố xe giống hệt nhau của định nghĩa này đang có.
11–100floor_load_capacitynumber · kg/m²Tải trọng sàn: từ 0 trở lên (0 = không giới hạn).
aux_deckbooleanXe có sàn thứ hai (xe hai tầng).
falseaux_deck_heightnumber · cmĐộ cao của sàn thứ hai so với sàn xe. Bắt buộc khi aux_deck là true.
aux_deck_max_weightnumber · kgGiới hạn tải của sàn thứ hai. Bắt buộc khi aux_deck là true.
blocked_areasRect[]Các vùng sàn không được đặt gì lên (hốc bánh xe, chỗ hư hỏng, khoảng trống dành riêng). Mỗi vùng phải nằm trên sàn xe.
xnumber · cmbắt buộcKhoảng cách từ vách trước đến cạnh gần của hình chữ nhật.
znumber · cmbắt buộcKhoảng cách từ vách phải (z = 0; bên phải khi đứng ở cửa nhìn vào) đến cạnh gần của hình chữ nhật.
lengthnumber · cmbắt buộcKích thước theo trục x.
widthnumber · cmbắt buộcKích thước theo trục z.
axle_positionsCần được cấp quyềnnumber[] · cmVị trí các trục (điểm đỡ) tính từ đầu khoang chở hàng; số âm = phía trước khoang. Cùng độ dài với axle_max_loads. Mỗi giá trị nằm trong khoảng từ −300 (trục ở phía trước khoang chở hàng, ví dụ trục trước nằm dưới cabin của xe tải thùng) đến chiều dài xe.
axle_max_loadsCần được cấp quyềnnumber[] · kgTải trọng hàng tối đa trên mỗi trục, theo thứ tự của axle_positions. Mỗi giá trị lớn hơn 0 và không vượt quá 100000.
cog_range_xCần được cấp quyềnnumber · cmĐộ lệch trọng tâm cho phép so với điểm giữa chiều dài: từ 0 đến length / 2.
cog_range_yCần được cấp quyềnnumber · cmĐộ lệch trọng tâm cho phép so với điểm giữa chiều rộng: từ 0 đến width / 2.
tractor_weightCần được cấp quyềnnumber · kgMô hình trục sơ mi rơ moóc: khối lượng đầu kéo.
empty_trailer_weightCần được cấp quyềnnumber · kgMô hình trục sơ mi rơ moóc: khối lượng rơ moóc không tải.
front_axle_to_middle_axleCần được cấp quyềnnumber · cmMô hình trục sơ mi rơ moóc: từ trục trước của đầu kéo đến trục dẫn động (trục giữa).
front_axle_to_tractor_cogCần được cấp quyềnnumber · cmMô hình trục sơ mi rơ moóc: từ trục trước đến trọng tâm đầu kéo.
front_axle_to_kingpinCần được cấp quyềnnumber · cmMô hình trục sơ mi rơ moóc: từ trục trước đến chốt kéo (mâm kéo).
kingpin_to_rear_axleCần được cấp quyềnnumber · cmMô hình trục sơ mi rơ moóc: từ chốt kéo đến cụm trục sau của rơ moóc.
trailer_cog_to_rear_axleCần được cấp quyềnnumber · cmMô hình trục sơ mi rơ moóc: từ trọng tâm rơ moóc đến cụm trục sau.
trailer_start_to_kingpinCần được cấp quyềnnumber · cmMô hình trục sơ mi rơ moóc: từ đầu rơ moóc đến chốt kéo.
max_middle_axle_weightCần được cấp quyềnnumber · kgMô hình trục sơ mi rơ moóc: giới hạn pháp lý của trục dẫn động (trục giữa).
max_rear_axle_weightCần được cấp quyềnnumber · kgMô hình trục sơ mi rơ moóc: giới hạn pháp lý của cụm trục sau.
itemsItem[]bắt buộcĐịnh nghĩa kiện hàng. Mỗi định nghĩa có thể có quantity > 1. Ít nhất một.
idstringMã định danh của bạn, duy nhất trong yêu cầu. Kết quả tham chiếu đến nó dưới tên item_id. Mặc định là template_id.
template_idstringID mẫu hàng (tpl_…) lấy từ GET /v1/templates. Cung cấp mọi trường của kiện hàng; các trường gửi kèm sẽ ghi đè lên chúng.
labelstringNhãn hiển thị (mặc định là ID).
shapestringHình dạng kiện hàng. cylinder và drum dùng radius + height thay cho length + width; pallet và drum luôn đứng thẳng.
boxcylinderpalletbagdrumMặc định "box"lengthnumber · cmChiều dài. Bắt buộc, trừ khi shape là cylinder hoặc drum.
widthnumber · cmChiều rộng. Bắt buộc, trừ khi shape là cylinder hoặc drum.
heightnumber · cmbắt buộcChiều cao (cạnh thẳng đứng khi kiện hàng đứng như định nghĩa).
radiusnumber · cmBán kính. Bắt buộc khi shape là cylinder hoặc drum.
weightnumber · kgbắt buộcTrọng lượng của MỘT kiện.
quantityintegerSố kiện giống nhau.
11–10000stackablebooleanCó thể đặt kiện hàng khác lên trên kiện này.
truemax_stack_weightnumber · kgTrọng lượng tối đa được đè lên một kiện. 0 = không giới hạn.
0rotationstringall = bất kỳ hướng nào trong sáu hướng; upright = chỉ được xoay quanh trục đứng (giữ mặt trên hướng lên); fixed = không bao giờ xoay.
alluprightfixedMặc định "all"hazardousbooleanHàng nguy hiểm: được đặt thấp và tách khỏi các hàng nguy hiểm khác.
falsepriorityintegerMức ưu tiên xếp hàng. Cao hơn = được xếp trước và được giữ lại khi hết chỗ. 0 = không ưu tiên.
0groupstringTên nhóm chứa kiện hàng này (xem groups và options.group_routing).
colorstringMàu hiển thị dạng #rrggbb (chỉ dùng cho trình xem và PDF).
nesting_heightnumber · cmPhần lồng vào nhau khi các kiện giống nhau xếp chồng (thùng, xô lồng vào nhau).
0groupsGroup[]Nhóm (không bắt buộc): khách hàng, điểm dừng, đơn hàng. Phải khai báo mọi nhóm mà kiện hàng tham chiếu khi options.group_routing khác "none"; nếu không, nhóm được tạo từ tên nhóm của các kiện hàng theo thứ tự xuất hiện.
namestringbắt buộcTên nhóm, được Item.group tham chiếu.
orderintegerThứ tự xếp hàng (nhỏ hơn = xếp trước). Mặc định là vị trí trong danh sách.
colorstringMàu hiển thị dạng #rrggbb.
optionsOptionsTùy chọn xếp hàng. Mọi trường đều không bắt buộc.
packing_modestringauto = khi các xe đã khai báo đầy, hệ thống thêm bản sao của xe phù hợp nhất (đến giới hạn số xe của tác vụ); fleet_only = chỉ dùng các xe đã khai báo, mọi thứ không xếp vừa được báo là chưa xếp.
autofleet_onlyMặc định "auto"group_routingstringnone = nhóm chỉ để tham khảo; wall = mỗi nhóm có một khoang riêng trong xe; routing = các nhóm được xếp theo thứ tự, nhóm sau có thể nằm trên hoặc cạnh nhóm trước nhưng không bao giờ nằm dưới (giao hàng nhiều điểm); no_stack = các nhóm được xếp theo thứ tự cạnh nhau, không bao giờ chồng lên nhau.
nonewallroutingno_stackMặc định "none"allow_overweightbooleanBỏ qua giới hạn tải trọng của xe.
falsemax_stack_itemsintegerSố kiện tối đa trong một chồng. 0 = không giới hạn.
0max_stack_density_kg_m2number · kg/m²Trọng lượng chồng tối đa trên mỗi đơn vị diện tích sàn. 0 = không giới hạn.
0lock_rotationsbooleanGiữ hướng đặt đầu tiên vừa với chiều cao xe.
falsegroup_identical_binsbooleanCoi các xe giống nhau như một tập xe dùng chung.
falsetime_limitnumber · sGiới hạn trên của thời gian tính toán cho toàn bộ tác vụ. 0 = tự động (tối đa max_time_limit_seconds từ GET /v1/limits). Khi chạm giới hạn, sơ đồ tốt nhất tìm được đến lúc đó sẽ được trả về. Bạn chỉ trả tiền cho thời gian tính toán thực tế.
0enforce_axleCần được cấp quyềnbooleanTừ chối các vị trí xếp làm quá tải một cụm trục, trên những xe có đủ cả mười trường của mô hình trục.
falseYêu cầu mẫu
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.bodyPhản hồi mẫu
{
"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
}
}Phản hồi
200OKKết quả kiểm tra và khoảng giá.
TênKiểuBắt buộcMô tảvalidbooleanbooleanKhôngYêu cầu này sẽ được chấp nhận bởi POST /v1/pack.
errorsErrorDetail[]ErrorDetail[]KhôngLỗi kiểm tra hợp lệ (rỗng khi yêu cầu hợp lệ).
pathstringstringKhôngĐường dẫn JSON của trường bị lỗi, ví dụ items[3].length.
codestringstringKhôngrequired,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.messagestringstringKhôngGiải thích bằng tiếng Anh.
warningsWarning[]Warning[]KhôngGhi chú không chặn tác vụ.
codestringstringKhôngMã dành cho máy.
messagestringstringKhôngGiải thích bằng tiếng Anh.
itemsintegerintegerKhôngTổng số kiện.
max_vehiclesintegerintegerKhôngSố xe tối đa tác vụ có thể xếp.
estimated_costCostRangeCostRangeKhôngKhoảng giá tính bằng credit.
min_creditsnumber · creditsnumber · creditsKhôngMức giá thấp nhất có thể (ít xe nhất, không tính toán).
max_creditsnumber · creditsnumber · creditsKhôngTrường hợp xấu nhất: xếp đủ max_vehicles và dùng hết thời gian tính toán tối đa. Đây là mức POST /v1/pack tạm giữ.
estimated_secondsnumber · snumber · sKhôngThời gian tính toán tối đa tác vụ sẽ được cấp (giới hạn trên; phần lớn tác vụ xong sớm hơn).
balanceEstimateBalanceEstimateBalanceKhôngCredit khả dụng của bạn.
available_creditsnumber · creditsnumber · creditsKhông400Bad request
invalid_jsoninvalid_jsonNội dung không phải JSON hợp lệ hoặc có trường sai kiểu.
Tất cả mã lỗiTênKiểuBắt buộcMô tảerrorErrorBodybắt buộcErrorBodyCócodestringbắt buộcstringCóMã dành cho máy (snake_case). Hãy dựa vào mã này để xử lý lỗi, không bao giờ dựa vào
message.messagestringbắt buộcstringCóGiải thích bằng tiếng Anh.
request_idstringbắt buộcstringCóGiống header X-Request-Id. Cung cấp mã này khi liên hệ bộ phận hỗ trợ.
detailsErrorDetail[]ErrorDetail[]KhôngLỗi theo từng trường (
validation_failed).pathstringstringKhôngĐường dẫn JSON của trường bị lỗi, ví dụ items[3].length.
codestringstringKhôngrequired,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.messagestringstringKhôngGiải thích bằng tiếng Anh.
401Unauthorized
unauthorizedkey_revokedkey_expiredunauthorizedThiếu khóa API, khóa sai định dạng hoặc không xác định.key_revokedKhóa đã bị thu hồi.key_expiredKhóa đã quá ngày hết hạn.
Tất cả mã lỗiTênKiểuBắt buộcMô tảerrorErrorBodybắt buộcErrorBodyCócodestringbắt buộcstringCóMã dành cho máy (snake_case). Hãy dựa vào mã này để xử lý lỗi, không bao giờ dựa vào
message.messagestringbắt buộcstringCóGiải thích bằng tiếng Anh.
request_idstringbắt buộcstringCóGiống header X-Request-Id. Cung cấp mã này khi liên hệ bộ phận hỗ trợ.
detailsErrorDetail[]ErrorDetail[]KhôngLỗi theo từng trường (
validation_failed).pathstringstringKhôngĐường dẫn JSON của trường bị lỗi, ví dụ items[3].length.
codestringstringKhôngrequired,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.messagestringstringKhôngGiải thích bằng tiếng Anh.
403Forbidden
ip_not_allowedsubscription_inactiveaccount_inactivescope_missingip_not_allowedIP gọi đến không nằm trong danh sách IP được phép của khóa.subscription_inactiveTổ chức không có gói đăng ký đang hoạt động nào bao gồm API.account_inactiveTổ chức bị tạm ngưng, hoặc không có chủ sở hữu nào có tài khoản đang hoạt động.scope_missingKhóa thiếu phạm vi quyền mà endpoint này yêu cầu.
Tất cả mã lỗiTênKiểuBắt buộcMô tảerrorErrorBodybắt buộcErrorBodyCócodestringbắt buộcstringCóMã dành cho máy (snake_case). Hãy dựa vào mã này để xử lý lỗi, không bao giờ dựa vào
message.messagestringbắt buộcstringCóGiải thích bằng tiếng Anh.
request_idstringbắt buộcstringCóGiống header X-Request-Id. Cung cấp mã này khi liên hệ bộ phận hỗ trợ.
detailsErrorDetail[]ErrorDetail[]KhôngLỗi theo từng trường (
validation_failed).pathstringstringKhôngĐường dẫn JSON của trường bị lỗi, ví dụ items[3].length.
codestringstringKhôngrequired,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.messagestringstringKhôngGiải thích bằng tiếng Anh.
413Payload too large
payload_too_largepayload_too_largeNội dung yêu cầu vượt quá 10 MB.
Tất cả mã lỗiTênKiểuBắt buộcMô tảerrorErrorBodybắt buộcErrorBodyCócodestringbắt buộcstringCóMã dành cho máy (snake_case). Hãy dựa vào mã này để xử lý lỗi, không bao giờ dựa vào
message.messagestringbắt buộcstringCóGiải thích bằng tiếng Anh.
request_idstringbắt buộcstringCóGiống header X-Request-Id. Cung cấp mã này khi liên hệ bộ phận hỗ trợ.
detailsErrorDetail[]ErrorDetail[]KhôngLỗi theo từng trường (
validation_failed).pathstringstringKhôngĐường dẫn JSON của trường bị lỗi, ví dụ items[3].length.
codestringstringKhôngrequired,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.messagestringstringKhôngGiải thích bằng tiếng Anh.
429Too many requests
rate_limitedrate_limitedQuá nhiều yêu cầu trong phút, giờ hoặc ngày hiện tại (theo khóa hoặc theo tổ chức), hoặc có hơn 60 lần xác thực thất bại mỗi phút từ địa chỉ IP của bạn.
Tất cả mã lỗiTênKiểuBắt buộcMô tảerrorErrorBodybắt buộcErrorBodyCócodestringbắt buộcstringCóMã dành cho máy (snake_case). Hãy dựa vào mã này để xử lý lỗi, không bao giờ dựa vào
message.messagestringbắt buộcstringCóGiải thích bằng tiếng Anh.
request_idstringbắt buộcstringCóGiống header X-Request-Id. Cung cấp mã này khi liên hệ bộ phận hỗ trợ.
detailsErrorDetail[]ErrorDetail[]KhôngLỗi theo từng trường (
validation_failed).pathstringstringKhôngĐường dẫn JSON của trường bị lỗi, ví dụ items[3].length.
codestringstringKhôngrequired,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.messagestringstringKhôngGiải thích bằng tiếng Anh.
500Internal server error
internal_errorinternal_errorĐã xảy ra lỗi ở phía chúng tôi.
Tất cả mã lỗiTênKiểuBắt buộcMô tảerrorErrorBodybắt buộcErrorBodyCócodestringbắt buộcstringCóMã dành cho máy (snake_case). Hãy dựa vào mã này để xử lý lỗi, không bao giờ dựa vào
message.messagestringbắt buộcstringCóGiải thích bằng tiếng Anh.
request_idstringbắt buộcstringCóGiống header X-Request-Id. Cung cấp mã này khi liên hệ bộ phận hỗ trợ.
detailsErrorDetail[]ErrorDetail[]KhôngLỗi theo từng trường (
validation_failed).pathstringstringKhôngĐường dẫn JSON của trường bị lỗi, ví dụ items[3].length.
codestringstringKhôngrequired,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.messagestringstringKhôngGiải thích bằng tiếng Anh.
503Service unavailable
api_disabledapi_disabledAPI tạm thời bị tắt (bảo trì) hoặc đã bị tắt cho tổ chức.
Tất cả mã lỗiTênKiểuBắt buộcMô tảerrorErrorBodybắt buộcErrorBodyCócodestringbắt buộcstringCóMã dành cho máy (snake_case). Hãy dựa vào mã này để xử lý lỗi, không bao giờ dựa vào
message.messagestringbắt buộcstringCóGiải thích bằng tiếng Anh.
request_idstringbắt buộcstringCóGiống header X-Request-Id. Cung cấp mã này khi liên hệ bộ phận hỗ trợ.
detailsErrorDetail[]ErrorDetail[]KhôngLỗi theo từng trường (
validation_failed).pathstringstringKhôngĐường dẫn JSON của trường bị lỗi, ví dụ items[3].length.
codestringstringKhôngrequired,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.messagestringstringKhôngGiải thích bằng tiếng Anh.