Limitleri getir
Organizasyonunuz için geçerli limitler ve yeni işlerin fiyatlandırıldığı fiyat tarifesi.
Kimlik doğrulama
Örnek istek
curl -X GET "https://runner.cargoduo.com/v1/limits" \
-H "Authorization: Bearer $CARGODUO_API_KEY"const res = await fetch("https://runner.cargoduo.com/v1/limits", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.CARGODUO_API_KEY}`,
},
});
const data = await res.json();
console.log(res.status, data);import os
import requests
response = requests.get(
"https://runner.cargoduo.com/v1/limits",
headers={"Authorization": f"Bearer {os.environ['CARGODUO_API_KEY']}"},
)
print(response.status_code, response.json())package main
import (
"fmt"
"io"
"net/http"
"os"
)
func main() {
req, err := http.NewRequest("GET", "https://runner.cargoduo.com/v1/limits", nil)
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("CARGODUO_API_KEY"))
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 {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://runner.cargoduo.com/v1/limits"))
.header("Authorization", "Bearer " + System.getenv("CARGODUO_API_KEY"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.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 request = new HttpRequestMessage(HttpMethod.Get, "https://runner.cargoduo.com/v1/limits");
var response = await client.SendAsync(request);
Console.WriteLine($"{(int)response.StatusCode} {await response.Content.ReadAsStringAsync()}");<?php
$ch = curl_init('https://runner.cargoduo.com/v1/limits');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('CARGODUO_API_KEY'),
],
]);
$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/limits")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer #{ENV.fetch("CARGODUO_API_KEY")}"
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
{
"max_items_per_request": 2000,
"max_vehicles_per_request": 20,
"max_time_limit_seconds": 90,
"allowed_vehicle_types": [
"truck",
"trailer",
"container",
"pallet"
],
"concurrency": 1,
"max_queued_jobs": 20,
"rate_limits": {
"per_minute": 60,
"per_hour": 1000,
"per_day": 5000
},
"retention_days": 14,
"rate_card": {
"version": 1,
"per_job": 0.06,
"per_vehicle": 0.2,
"per_compute_second": 0.005,
"large_load_threshold": 500,
"per_hundred_items_over": 0.02
}
}Yanıtlar
200OKLimitler ve fiyat tarifesi.
AdTürZorunluAçıklamamax_items_per_requestintegerintegerHayırİş başına en fazla öğe adedi (quantity değerlerinin toplamı).
max_vehicles_per_requestintegerintegerHayırBir işin listeleyip yükleyebileceği en fazla araç sayısı (otomatik eklenenler dahil).
max_time_limit_secondsintegerintegerHayırİş başına hesaplama süresinin üst sınırı.
allowed_vehicle_typesstring[]string[]HayırAPI'nin kabul ettiği araç türleri.
concurrencyintegerintegerHayırOrganizasyonunuzun aynı anda hesaplanabilen iş sayısı; fazlası kuyrukta bekler.
max_queued_jobsintegerintegerHayırOrganizasyon başına sıradaki + çalışan iş sayısı.
rate_limitsRateLimitsRateLimitsHayırPencere başına istek sayısı; anahtar ve organizasyon bazında.
per_minuteintegerintegerHayırper_hourintegerintegerHayırper_dayintegerintegerHayırretention_daysintegerintegerHayırİstek/sonuç gövdelerinin ve PDF bağlantılarının saklandığı gün sayısı.
rate_cardRateCardRateCardHayırKredi cinsinden fiyatlar (1 kredi = 1 USD).
versionintegerintegerHayırper_jobnumber · creditsnumber · creditsHayırper_vehiclenumber · creditsnumber · creditsHayırGerçekten yüklenen araç başına.
per_compute_secondnumber · creditsnumber · creditsHayırMilisaniye bazında orantılı.
large_load_thresholdintegerintegerHayırEk ücret uygulanmadan önce fiyata dahil olan öğe adedi.
per_hundred_items_overnumber · creditsnumber · creditsHayırEşiğin üzerindeki her başlayan 100 adet için.
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.
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.