Şablonu güncelle
Bir şablonu değiştirir.
Projelerdeki mevcut öğeler kendi kopyalarını korur. Ücretsiz: kredi harcanmaz.
Kimlik doğrulama
Yol parametreleri
idstringzorunluŞablon ID'si (tpl_…).
Gövde parametreleri
application/jsonlabelstringGörüntülenen etiket.
shapestringÖğe şekli. cylinder ve drum, length + width yerine radius + height kullanır; pallet ve drum her zaman dik durur.
boxcylinderpalletbagdrumVarsayılan "box"lengthnumber · cmUzunluk. shape değeri cylinder ya da drum değilse zorunludur.
widthnumber · cmGenişlik. shape değeri cylinder ya da drum değilse zorunludur.
heightnumber · cmYükseklik (öğe tanımlandığı gibi dururken dikey kenar).
radiusnumber · cmYarıçap. shape değeri cylinder ya da drum ise zorunludur.
weightnumber · kgTEK bir adedin ağırlığı.
stackablebooleanBu öğenin üzerine başka öğeler konabilir.
truemax_stack_weightnumber · kgTek bir adedin üzerine binebilecek en fazla ağırlık. 0 = sınırsız.
0rotationstringall = altı yönelimden herhangi biri; upright = yalnızca dikey eksen etrafında döndürülebilir (bu taraf yukarı); fixed = hiç döndürülmez.
alluprightfixedVarsayılan "all"hazardousbooleanTehlikeli madde: alt seviyelerde tutulur ve diğer tehlikeli öğelerden ayrı yerleştirilir.
falsepriorityintegerYükleme önceliği. Yüksek = önce yüklenir ve yer kalmadığında öncelikle korunur. 0 = yok.
0colorstring#rrggbb biçiminde görüntüleme rengi (yalnızca 3B görünüm ve PDF için).
nesting_heightnumber · cmÖzdeş adetler istiflendiğinde iç içe geçen yükseklik (iç içe geçen kasalar, kovalar).
0Örnek istek
curl -X PATCH "https://runner.cargoduo.com/v1/templates/tpl_42" \
-H "Authorization: Bearer $CARGODUO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"weight": 480
}'const res = await fetch("https://runner.cargoduo.com/v1/templates/tpl_42", {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.CARGODUO_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"weight": 480
}),
});
const data = await res.json();
console.log(res.status, data);import os
import requests
response = requests.patch(
"https://runner.cargoduo.com/v1/templates/tpl_42",
headers={"Authorization": f"Bearer {os.environ['CARGODUO_API_KEY']}"},
json={
"weight": 480,
},
)
print(response.status_code, response.json())package main
import (
"fmt"
"io"
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{
"weight": 480
}`)
req, err := http.NewRequest("PATCH", "https://runner.cargoduo.com/v1/templates/tpl_42", 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 = """
{
"weight": 480
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://runner.cargoduo.com/v1/templates/tpl_42"))
.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 = """
{
"weight": 480
}
""";
var request = new HttpRequestMessage(HttpMethod.Patch, "https://runner.cargoduo.com/v1/templates/tpl_42")
{
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'
{
"weight": 480
}
JSON;
$ch = curl_init('https://runner.cargoduo.com/v1/templates/tpl_42');
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/templates/tpl_42")
request = Net::HTTP::Patch.new(uri)
request["Authorization"] = "Bearer #{ENV.fetch("CARGODUO_API_KEY")}"
request["Content-Type"] = "application/json"
request.body = <<~'JSON'
{
"weight": 480
}
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": "tpl_42",
"object": "template",
"label": "Euro pallet",
"shape": "box",
"length": 120,
"width": 80,
"height": 140,
"radius": 0,
"weight": 480,
"stackable": false,
"max_stack_weight": 0,
"rotation": "all",
"hazardous": false,
"priority": 0,
"color": "#3b82f6",
"nesting_height": 0,
"created_by": {
"id": "usr_7",
"name": "Elif Kaya"
},
"updated_by": {
"id": "usr_7",
"name": "Elif Kaya"
},
"created_at": "2026-09-28T14:05:52Z",
"updated_at": "2026-10-19T09:12:03Z"
}Yanıtlar
200OKDeğişiklikten sonraki şablon.
AdTürZorunluAçıklamaidstringstringHayırŞablon ID'si (tpl_…).
objectstringstringHayırtemplatelabelstringstringHayırGörüntülenen etiket.
shapestringstringHayırÖğe şekli.
cylindervedrum,length+widthyerineradius+heightkullanır;palletvedrumher zaman dik durur.boxcylinderpalletbagdrumlengthnumber · cmnumber · cmHayırUzunluk.
shapedeğericylinderya dadrumdeğilse zorunludur.widthnumber · cmnumber · cmHayırGenişlik.
shapedeğericylinderya dadrumdeğilse zorunludur.heightnumber · cmnumber · cmHayırYükseklik (öğe tanımlandığı gibi dururken dikey kenar).
radiusnumber · cmnumber · cmHayırYarıçap.
shapedeğericylinderya dadrumise zorunludur.weightnumber · kgnumber · kgHayırTEK bir adedin ağırlığı.
stackablebooleanbooleanHayırBu öğenin üzerine başka öğeler konabilir.
max_stack_weightnumber · kgnumber · kgHayırTek bir adedin üzerine binebilecek en fazla ağırlık. 0 = sınırsız.
rotationstringstringHayırall= altı yönelimden herhangi biri;upright= yalnızca dikey eksen etrafında döndürülebilir (bu taraf yukarı);fixed= hiç döndürülmez.alluprightfixedhazardousbooleanbooleanHayırTehlikeli madde: alt seviyelerde tutulur ve diğer tehlikeli öğelerden ayrı yerleştirilir.
priorityintegerintegerHayırYükleme önceliği. Yüksek = önce yüklenir ve yer kalmadığında öncelikle korunur. 0 = yok.
colorstringstringHayır#rrggbb biçiminde görüntüleme rengi (yalnızca 3B görünüm ve PDF için).
nesting_heightnumber · cmnumber · cmHayırÖzdeş adetler istiflendiğinde iç içe geçen yükseklik (iç içe geçen kasalar, kovalar).
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_atstringstringHayırRFC 3339.
updated_atstringstringHayırRFC 3339.
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
ip_not_allowedsubscription_inactiveaccount_inactivescope_missingip_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
template_not_foundtemplate_not_foundOrganizasyonunuzda bu ID'ye sahip bir şablon 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.