Aracı güncelle
Araçlarınızdan birini değiştirir.
Hazır araçlar salt okunurdur. Ücretsiz: kredi harcanmaz.
Kimlik doğrulama
Yol parametreleri
idstringzorunluBir hazır araç ID'si ya da araçlarınızdan birinin ID'si (veh_…).
Gövde parametreleri
application/jsontypestringAraç türü. Yalnızca GET /v1/limits yanıtında listelenen türler (allowed_vehicle_types) kabul edilir.
trucktrailerflatbedcontainerpalletaircraftshipnamestringGörüntülenen ad.
lengthnumber · cmYük alanının iç uzunluğu, x ekseni boyunca (ön duvardan kapıya doğru).
widthnumber · cmYük alanının iç genişliği, z ekseni boyunca.
heightnumber · cmYük alanının iç yüksekliği, y ekseni boyunca.
max_weightnumber · kgAzami taşıma kapasitesi.
floor_load_capacitynumber · kg/m²Zemin taşıma kapasitesi: 0 ya da daha fazla (0 = sınır yok).
aux_deckbooleanAracın ikinci bir katı var (çift katlı).
falseaux_deck_heightnumber · cmİkinci katın zeminden yüksekliği. aux_deck değeri true ise zorunludur.
aux_deck_max_weightnumber · kgİkinci katın yük sınırı. aux_deck değeri true ise zorunludur.
blocked_areasRect[]Üzerine hiçbir şey konamayacak zemin bölgeleri (tekerlek davlumbazları, hasarlı yerler, ayrılmış alanlar). Her biri araç zemininin içinde olmalıdır.
xnumber · cmzorunluÖn duvardan dikdörtgenin yakın kenarına uzaklık.
znumber · cmzorunluSağ duvardan (z = 0; kapıdan içeri bakıldığında sağ) dikdörtgenin yakın kenarına uzaklık.
lengthnumber · cmzorunlux ekseni boyunca boyut.
widthnumber · cmzorunluz ekseni boyunca boyut.
axle_positionsErişim gerekirnumber[] · cmYük alanının önünden ölçülen aks (destek noktası) konumları; negatif = yük alanının önünde. axle_max_loads ile aynı uzunlukta olmalıdır. Her biri −300 (yük alanının önündeki bir aks, ör. solo kamyonun kabin altındaki ön aksı) ile araç uzunluğu arasında olmalıdır.
axle_max_loadsErişim gerekirnumber[] · kgaxle_positions sırasıyla aks başına en fazla yük. Her biri 0'dan büyük ve en fazla 100000 olmalıdır.
cog_range_xErişim gerekirnumber · cmAğırlık merkezinin uzunluğun ortasından izin verilen sapması: 0 ile uzunluk / 2 arası.
cog_range_yErişim gerekirnumber · cmAğırlık merkezinin genişliğin ortasından izin verilen sapması: 0 ile genişlik / 2 arası.
tractor_weightErişim gerekirnumber · kgÇekici-dorse aks modeli: çekici kütlesi.
empty_trailer_weightErişim gerekirnumber · kgÇekici-dorse aks modeli: boş dorse kütlesi.
front_axle_to_middle_axleErişim gerekirnumber · cmÇekici-dorse aks modeli: çekicinin ön aksından tahrik (orta) aksına mesafe.
front_axle_to_tractor_cogErişim gerekirnumber · cmÇekici-dorse aks modeli: ön akstan çekicinin ağırlık merkezine mesafe.
front_axle_to_kingpinErişim gerekirnumber · cmÇekici-dorse aks modeli: ön akstan kingpin'e (beşinci teker) mesafe.
kingpin_to_rear_axleErişim gerekirnumber · cmÇekici-dorse aks modeli: kingpin'den dorsenin arka aks grubuna mesafe.
trailer_cog_to_rear_axleErişim gerekirnumber · cmÇekici-dorse aks modeli: dorsenin ağırlık merkezinden arka aks grubuna mesafe.
trailer_start_to_kingpinErişim gerekirnumber · cmÇekici-dorse aks modeli: dorsenin ön ucundan kingpin'e mesafe.
max_middle_axle_weightErişim gerekirnumber · kgÇekici-dorse aks modeli: tahrik (orta) aksı için yasal sınır.
max_rear_axle_weightErişim gerekirnumber · kgÇekici-dorse aks modeli: arka aks grubu için yasal sınır.
Örnek istek
curl -X PATCH "https://runner.cargoduo.com/v1/vehicles/veh_118" \
-H "Authorization: Bearer $CARGODUO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"max_weight": 25000
}'const res = await fetch("https://runner.cargoduo.com/v1/vehicles/veh_118", {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.CARGODUO_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"max_weight": 25000
}),
});
const data = await res.json();
console.log(res.status, data);import os
import requests
response = requests.patch(
"https://runner.cargoduo.com/v1/vehicles/veh_118",
headers={"Authorization": f"Bearer {os.environ['CARGODUO_API_KEY']}"},
json={
"max_weight": 25000,
},
)
print(response.status_code, response.json())package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"max_weight": 25000
}`)
req, err := http.NewRequest("PATCH", "https://runner.cargoduo.com/v1/vehicles/veh_118", 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 = """
{
"max_weight": 25000
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://runner.cargoduo.com/v1/vehicles/veh_118"))
.header("Authorization", "Bearer " + System.getenv("CARGODUO_API_KEY"))
.header("Content-Type", "application/json")
.method("PATCH", 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 = """
{
"max_weight": 25000
}
""";
var request = new HttpRequestMessage(HttpMethod.Patch, "https://runner.cargoduo.com/v1/vehicles/veh_118")
{
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'
{
"max_weight": 25000
}
JSON;
$ch = curl_init('https://runner.cargoduo.com/v1/vehicles/veh_118');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PATCH',
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/vehicles/veh_118")
request = Net::HTTP::Patch.new(uri)
request["Authorization"] = "Bearer #{ENV.fetch("CARGODUO_API_KEY")}"
request["Content-Type"] = "application/json"
request.body = <<~'JSON'
{
"max_weight": 25000
}
JSON
response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") do |http|
http.request(request)
end
puts response.code, response.bodyÖrnek yanıt
{
"id": "veh_118",
"object": "vehicle",
"kind": "custom",
"name": "Mega trailer 13.6 m",
"type": "trailer",
"length": 1360,
"width": 248,
"height": 300,
"max_weight": 25000,
"floor_load_capacity": null,
"axle_positions": [],
"axle_max_loads": [],
"cog_range_x": null,
"cog_range_y": null,
"aux_deck": false,
"aux_deck_height": null,
"aux_deck_max_weight": null,
"tractor_weight": null,
"empty_trailer_weight": null,
"front_axle_to_middle_axle": null,
"front_axle_to_tractor_cog": null,
"front_axle_to_kingpin": null,
"kingpin_to_rear_axle": null,
"trailer_cog_to_rear_axle": null,
"trailer_start_to_kingpin": null,
"max_middle_axle_weight": null,
"max_rear_axle_weight": null,
"blocked_areas": [],
"created_by": {
"id": "usr_7",
"name": "Elif Kaya"
},
"updated_by": {
"id": "usr_7",
"name": "Elif Kaya"
},
"created_at": "2026-10-02T08:41:17Z"
}Yanıtlar
200OKDeğişiklikten sonraki araç.
AdTürZorunluAçıklamaidstringstringHayırHazır araç ID'si; kendi araçlarınız için veh_….
objectstringstringHayırvehiclekindstringstringHayırpreset= öntanımlı katalog;custom= organizasyonunuzun araçları.presetcustomtypestringstringHayırAraç türü. Yalnızca GET /v1/limits yanıtında listelenen türler (allowed_vehicle_types) kabul edilir.
trucktrailerflatbedcontainerpalletaircraftshipnamestringstringHayırGörüntülenen ad.
lengthnumber · cmnumber · cmHayırYük alanının iç uzunluğu, x ekseni boyunca (ön duvardan kapıya doğru).
widthnumber · cmnumber · cmHayırYük alanının iç genişliği, z ekseni boyunca.
heightnumber · cmnumber · cmHayırYük alanının iç yüksekliği, y ekseni boyunca.
max_weightnumber · kgnumber · kgHayırAzami taşıma kapasitesi.
floor_load_capacitynumber | null · kg/m²number | null · kg/m²HayırZemin taşıma kapasitesi: 0 ya da daha fazla (0 = sınır yok).
axle_positionsnumber[] · cmnumber[] · cmHayırYük alanının önünden ölçülen aks (destek noktası) konumları; negatif = yük alanının önünde. axle_max_loads ile aynı uzunlukta olmalıdır. Her biri −300 (yük alanının önündeki bir aks, ör. solo kamyonun kabin altındaki ön aksı) ile araç uzunluğu arasında olmalıdır.
axle_max_loadsnumber[] · kgnumber[] · kgHayıraxle_positions sırasıyla aks başına en fazla yük. Her biri 0'dan büyük ve en fazla 100000 olmalıdır.
cog_range_xnumber | null · cmnumber | null · cmHayırAğırlık merkezinin uzunluğun ortasından izin verilen sapması: 0 ile uzunluk / 2 arası.
cog_range_ynumber | null · cmnumber | null · cmHayırAğırlık merkezinin genişliğin ortasından izin verilen sapması: 0 ile genişlik / 2 arası.
aux_deckbooleanbooleanHayırAracın ikinci bir katı var (çift katlı).
aux_deck_heightnumber | null · cmnumber | null · cmHayırİkinci katın zeminden yüksekliği.
aux_deckdeğeritrueise zorunludur.aux_deck_max_weightnumber | null · kgnumber | null · kgHayırİkinci katın yük sınırı.
aux_deckdeğeritrueise zorunludur.tractor_weightnumber | null · kgnumber | null · kgHayırÇekici-dorse aks modeli: çekici kütlesi.
empty_trailer_weightnumber | null · kgnumber | null · kgHayırÇekici-dorse aks modeli: boş dorse kütlesi.
front_axle_to_middle_axlenumber | null · cmnumber | null · cmHayırÇekici-dorse aks modeli: çekicinin ön aksından tahrik (orta) aksına mesafe.
front_axle_to_tractor_cognumber | null · cmnumber | null · cmHayırÇekici-dorse aks modeli: ön akstan çekicinin ağırlık merkezine mesafe.
front_axle_to_kingpinnumber | null · cmnumber | null · cmHayırÇekici-dorse aks modeli: ön akstan kingpin'e (beşinci teker) mesafe.
kingpin_to_rear_axlenumber | null · cmnumber | null · cmHayırÇekici-dorse aks modeli: kingpin'den dorsenin arka aks grubuna mesafe.
trailer_cog_to_rear_axlenumber | null · cmnumber | null · cmHayırÇekici-dorse aks modeli: dorsenin ağırlık merkezinden arka aks grubuna mesafe.
trailer_start_to_kingpinnumber | null · cmnumber | null · cmHayırÇekici-dorse aks modeli: dorsenin ön ucundan kingpin'e mesafe.
max_middle_axle_weightnumber | null · kgnumber | null · kgHayırÇekici-dorse aks modeli: tahrik (orta) aksı için yasal sınır.
max_rear_axle_weightnumber | null · kgnumber | null · kgHayırÇekici-dorse aks modeli: arka aks grubu için yasal sınır.
blocked_areasRect[]Rect[]HayırÜzerine hiçbir şey konamayacak zemin bölgeleri (tekerlek davlumbazları, hasarlı yerler, ayrılmış alanlar). Her biri araç zemininin içinde olmalıdır.
xnumber · cmzorunlunumber · cmEvetÖn duvardan dikdörtgenin yakın kenarına uzaklık.
znumber · cmzorunlunumber · cmEvetSağ duvardan (z = 0; kapıdan içeri bakıldığında sağ) dikdörtgenin yakın kenarına uzaklık.
lengthnumber · cmzorunlunumber · cmEvetx ekseni boyunca boyut.
widthnumber · cmzorunlunumber · cmEvetz ekseni boyunca boyut.
created_byUserRef | nullUserRef | nullHayırProjeyi oluşturan üye (API çağrılarında: anahtarı oluşturan üye). Bilinmiyorsa
null.idstringstringHayırÜye ID'si (usr_…). Listeleri ?created_by= ile filtreleyin.
namestringstringHayırupdated_byUserRef | nullUserRef | nullHayırProjeyi en son değiştiren üye.
idstringstringHayırÜye ID'si (usr_…). Listeleri ?created_by= ile filtreleyin.
namestringstringHayırcreated_atstring | nullstring | nullHayırRFC 3339; hazır araçlarda
null.400Bad request
invalid_jsoninvalid_jsonGövde geçerli bir JSON değil ya da bir alanın türü yanlış.
Tüm hata kodlarıAdTürZorunluAçıklamaerrorErrorBodyzorunluErrorBodyEvetcodestringzorunlustringEvetMakine tarafından okunabilir kod (snake_case). Hata işleme mantığınızı asla
messagealanına göre değil, bu koda göre kurun.messagestringzorunlustringEvetİngilizce açıklama.
request_idstringzorunlustringEvetX-Request-Id header'ıyla aynı. Destek ekibine başvururken bu değeri iletin.
detailsErrorDetail[]ErrorDetail[]HayırAlan bazında sorunlar (
validation_failed).pathstringstringHayırHatalı alanın JSON yolu, ör. items[3].length.
codestringstringHayırOlası kodlar:
required,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.messagestringstringHayırİngilizce açıklama.
401Unauthorized
unauthorizedkey_revokedkey_expiredunauthorizedAPI anahtarı eksik, hatalı biçimde ya da tanınmıyor.key_revokedAnahtar iptal edildi.key_expiredAnahtarın geçerlilik süresi doldu.
Tüm hata kodlarıAdTürZorunluAçıklamaerrorErrorBodyzorunluErrorBodyEvetcodestringzorunlustringEvetMakine tarafından okunabilir kod (snake_case). Hata işleme mantığınızı asla
messagealanına göre değil, bu koda göre kurun.messagestringzorunlustringEvetİngilizce açıklama.
request_idstringzorunlustringEvetX-Request-Id header'ıyla aynı. Destek ekibine başvururken bu değeri iletin.
detailsErrorDetail[]ErrorDetail[]HayırAlan bazında sorunlar (
validation_failed).pathstringstringHayırHatalı alanın JSON yolu, ör. items[3].length.
codestringstringHayırOlası kodlar:
required,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.messagestringstringHayırİngilizce açıklama.
403Forbidden
preset_read_onlyip_not_allowedsubscription_inactiveaccount_inactivescope_missingpreset_read_onlyHazır araçlar değiştirilemez ve silinemez.ip_not_allowedİsteği gönderen IP, anahtarın izin listesinde değil.subscription_inactiveOrganizasyonun API'yi içeren etkin bir aboneliği yok.account_inactiveOrganizasyon askıya alınmış ya da hesabı etkin olan bir organizasyon sahibi yok.scope_missingAnahtarda bu endpoint'in gerektirdiği bir yetki eksik.
Tüm hata kodlarıAdTürZorunluAçıklamaerrorErrorBodyzorunluErrorBodyEvetcodestringzorunlustringEvetMakine tarafından okunabilir kod (snake_case). Hata işleme mantığınızı asla
messagealanına göre değil, bu koda göre kurun.messagestringzorunlustringEvetİngilizce açıklama.
request_idstringzorunlustringEvetX-Request-Id header'ıyla aynı. Destek ekibine başvururken bu değeri iletin.
detailsErrorDetail[]ErrorDetail[]HayırAlan bazında sorunlar (
validation_failed).pathstringstringHayırHatalı alanın JSON yolu, ör. items[3].length.
codestringstringHayırOlası kodlar:
required,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.messagestringstringHayırİngilizce açıklama.
404Not found
vehicle_not_foundvehicle_not_foundHazır araçlar ve organizasyonunuzun araçları arasında bu ID'ye sahip bir araç yok.
Tüm hata kodlarıAdTürZorunluAçıklamaerrorErrorBodyzorunluErrorBodyEvetcodestringzorunlustringEvetMakine tarafından okunabilir kod (snake_case). Hata işleme mantığınızı asla
messagealanına göre değil, bu koda göre kurun.messagestringzorunlustringEvetİngilizce açıklama.
request_idstringzorunlustringEvetX-Request-Id header'ıyla aynı. Destek ekibine başvururken bu değeri iletin.
detailsErrorDetail[]ErrorDetail[]HayırAlan bazında sorunlar (
validation_failed).pathstringstringHayırHatalı alanın JSON yolu, ör. items[3].length.
codestringstringHayırOlası kodlar:
required,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.messagestringstringHayırİngilizce açıklama.
422Unprocessable entity
validation_failedvalidation_failedİstek geçerli bir JSON ama geçersiz bir iş tanımlıyor. Tüm sorunlar details[] içinde listelenir.
Tüm hata kodlarıAdTürZorunluAçıklamaerrorErrorBodyzorunluErrorBodyEvetcodestringzorunlustringEvetMakine tarafından okunabilir kod (snake_case). Hata işleme mantığınızı asla
messagealanına göre değil, bu koda göre kurun.messagestringzorunlustringEvetİngilizce açıklama.
request_idstringzorunlustringEvetX-Request-Id header'ıyla aynı. Destek ekibine başvururken bu değeri iletin.
detailsErrorDetail[]ErrorDetail[]HayırAlan bazında sorunlar (
validation_failed).pathstringstringHayırHatalı alanın JSON yolu, ör. items[3].length.
codestringstringHayırOlası kodlar:
required,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.messagestringstringHayırİngilizce açıklama.
429Too many requests
rate_limitedrate_limitedGeçerli dakika, saat ya da gün içinde çok fazla istek gönderildi (anahtar ya da organizasyon başına) veya IP adresinizden gelen başarısız kimlik doğrulama denemeleri dakikada 60 sınırını aştı.
Tüm hata kodlarıAdTürZorunluAçıklamaerrorErrorBodyzorunluErrorBodyEvetcodestringzorunlustringEvetMakine tarafından okunabilir kod (snake_case). Hata işleme mantığınızı asla
messagealanına göre değil, bu koda göre kurun.messagestringzorunlustringEvetİngilizce açıklama.
request_idstringzorunlustringEvetX-Request-Id header'ıyla aynı. Destek ekibine başvururken bu değeri iletin.
detailsErrorDetail[]ErrorDetail[]HayırAlan bazında sorunlar (
validation_failed).pathstringstringHayırHatalı alanın JSON yolu, ör. items[3].length.
codestringstringHayırOlası kodlar:
required,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.messagestringstringHayırİngilizce açıklama.
500Internal server error
internal_errorinternal_errorBizim tarafımızda bir hata oluştu.
Tüm hata kodlarıAdTürZorunluAçıklamaerrorErrorBodyzorunluErrorBodyEvetcodestringzorunlustringEvetMakine tarafından okunabilir kod (snake_case). Hata işleme mantığınızı asla
messagealanına göre değil, bu koda göre kurun.messagestringzorunlustringEvetİngilizce açıklama.
request_idstringzorunlustringEvetX-Request-Id header'ıyla aynı. Destek ekibine başvururken bu değeri iletin.
detailsErrorDetail[]ErrorDetail[]HayırAlan bazında sorunlar (
validation_failed).pathstringstringHayırHatalı alanın JSON yolu, ör. items[3].length.
codestringstringHayırOlası kodlar:
required,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.messagestringstringHayırİngilizce açıklama.
503Service unavailable
api_disabledapi_disabledAPI geçici olarak devre dışı (bakım) ya da organizasyon için kapatılmış.
Tüm hata kodlarıAdTürZorunluAçıklamaerrorErrorBodyzorunluErrorBodyEvetcodestringzorunlustringEvetMakine tarafından okunabilir kod (snake_case). Hata işleme mantığınızı asla
messagealanına göre değil, bu koda göre kurun.messagestringzorunlustringEvetİngilizce açıklama.
request_idstringzorunlustringEvetX-Request-Id header'ıyla aynı. Destek ekibine başvururken bu değeri iletin.
detailsErrorDetail[]ErrorDetail[]HayırAlan bazında sorunlar (
validation_failed).pathstringstringHayırHatalı alanın JSON yolu, ör. items[3].length.
codestringstringHayırOlası kodlar:
required,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.messagestringstringHayırİngilizce açıklama.