OTO API hataları nasıl gelir, nasıl güvenle yeniden denenir, belirteç süresi dolunca ne yapılır; istek sınırları ve tüm durum ve hata kodları.
Entegrasyonlar her şeyin yolunda gittiği senaryoya göre değerlendirilmez. Bir kargo şirketinin sistemi çöktüğünde, bir anahtarın süresi dolduğunda ya da bir adres koordinata dönüştürülemediğinde ne yaptıklarına göre değerlendirilir.
Üç farklı hata biçimi vardır ve her biri farklı bir müdahale gerektirir.
Biçim
Nasıl görünür?
Ne yapılmalı?
İsteğiniz hatalıydı
İlgili alanı belirten bir mesajla birlikte 4xx yanıtı.
Düzeltip yeniden gönderin. Değişiklik yapmadan tekrar denemek aynı şekilde başarısız olur.
Erişim belirtecinizin süresi doldu
401 yanıtı.
Yeni bir erişim belirteci alın ve bir kez yeniden deneyin. Bunu en baştan kurgulayın; her saat gerçekleşecektir.
Arka taraftaki bir sistem başarısız oldu
5xx yanıtı, zaman aşımı ya da kargo şirketi hatası içeren başarılı bir yanıt.
Artırılan bekleme süreleriyle (backoff) yeniden deneyin. İstek kısmen başarılı olmuş olabilir; bu yüzden tekrarlanmasını güvenli hâle getirin.
Asıl can yakan üçüncü biçimdirBir kargo şirketinin rezervasyonu reddetmesi bir OTO hatası değildir; bu yüzden her zaman HTTP hatası olarak gelmez. Gönderi basitçe oluşmaz ve sipariş yerinde sayar.shipmentErrorwebhook’u tam da bunun içindir: Bir errorCode, OTO’nun kendi errorMessage değerini ve deliveryCompanyResponse alanında kargo şirketinin ham ifadesini içerir; bu genellikle eksik bir şehir ya da posta kodu gibi küçük ve düzeltilebilir bir şeydir. Bu webhook olmadan, bir müşteri sorana kadar kimse durumdan haberdar olmaz.
Oluşturma isteklerini asla körü körüne yeniden denemeyin.createOrder ve createShipment durumu değiştirir. Bir çağrı zaman aşımına uğrarsa, yeniden göndermeden önce nesnenin oluşup oluşmadığını kontrol edin; orderDetails çağrısı, mükerrer bir gönderiden çok daha ucuzdur.
Bekleme süresini üstel olarak artırın. Zorlanan bir servise sık aralıklarla yeniden deneme göndermek durumu kötüleştirir ve size hiçbir şey kazandırmaz.
Deneme sayısını sınırlayın, sonra eskalasyon yapın. Beş kez başarısız olmuş bir siparişin altıncı denemeye değil, bir insana ihtiyacı vardır.
Başarısız istekleri saklayın. Hiç başarıya ulaşmamış isteklerin tutulduğu bir “dead-letter” tablosu, örüntüyü bulmanızı sağlar: tek bir kargo şirketi, tek bir şehir, ağırlığı girilmemiş tek bir ürün.
Belirtecin süresinin dolması bir hata durumu değildir
Erişim belirteçleri bir saat geçerlidir; dolayısıyla uzun süre çalışan bir entegrasyon rutin olarak 401 yanıtıyla karşılaşacaktır. Bunu bir arıza değil, bir sinyal olarak ele alın: Belirteci yenileyin ve isteği bir kez tekrarlayın. Yalnızca yenileme işleminin kendisi başarısız olursa uyarı oluşturun; çünkü bu, kimlik bilgisinin eski değil, yanlış olduğu anlamına gelir.
Bir entegrasyonu sıkıntıya sokan şey sürekli sorgulamadır; genellikle değişmemiş sipariş durumlarını soran bir döngü. Bir webhook bu döngüyü tamamen ortadan kaldırır ve asıl çözüm budur. Sorgulama yapmak zorundaysanız, dar kapsamlı sorgulayın: Her şeyi çekip karşılaştırmak yerine tarihe ve duruma göre filtreleyin.
Sipariş durumlarının ve platform hata kodlarının tam listesi apis.tryoto.com adresinde, List Of Statuses ve Error Codes başlıkları altında tutulur. Her ikisi de uç noktalarla birlikte üretildiği için API’nin gerçekte döndürdüğü değerlerle uyumlu kalır.
Durumları bir kez ve tek bir yerde eşleştirinSisteminiz ile OTO aynı terimleri kullanmayacaktır; bu dönüşüm, kodun içine dağılmış metin karşılaştırmaları yerine tek bir eşleştirme tablosunda yer almalıdır.Yeni bir durum ortaya çıktığında yalnızca bir tablo değişir. Alternatifi, delivered kontrolü yapan yedi farklı yeri bulmaktır.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"OTO Docs","description":"Product documentation for OTO, the ecommerce operations platform and shipping gateway for merchants in Saudi Arabia, the UAE and Türkiye.","colors":{"primary":"#506EFE","light":"#3D5FFF","dark":"#506EFE"},"logo":{"light":"https://mintcdn.com/oto/50MvmFcOsjmCy_H4/images/docs-logo.png?fit=max\u0026auto=format\u0026n=50MvmFcOsjmCy_H4\u0026q=85\u0026s=e77cede9643d5290bd5ff9ef3cd62084","dark":"https://mintcdn.com/oto/CC-n0HhbZXZkyIOY/images/docs-logo-dark.png?fit=max\u0026auto=format\u0026n=CC-n0HhbZXZkyIOY\u0026q=85\u0026s=0eaa761eda10edc1248ec73a7a464915"},"favicon":{"light":"https://mintcdn.com/oto/jqSnxa8fmU8MbKy9/images/oto-logo-51232.png?fit=max\u0026auto=format\u0026n=jqSnxa8fmU8MbKy9\u0026q=85\u0026s=40c563a4988902b756905551f7dfa08e","dark":"https://mintcdn.com/oto/jqSnxa8fmU8MbKy9/images/oto-logo-51232.png?fit=max\u0026auto=format\u0026n=jqSnxa8fmU8MbKy9\u0026q=85\u0026s=40c563a4988902b756905551f7dfa08e"},"background":{"color":{"light":"#F5F7F9","dark":"#111111"}},"navbar":{"links":[{"href":"https://tryoto.com","label":"Home"},{"href":"https://support.tryoto.com","label":"Help center"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.tryoto.com"}},"seo":{"organization":{"id":"https://tryoto.com/#organization","name":"OTO","url":"https://tryoto.com","logo":"https://docs.tryoto.com/images/oto-logo-51232.png","sameAs":["https://www.linkedin.com/company/tryotocom","https://x.com/tryotocom","https://www.instagram.com/tryotocom","https://www.facebook.com/tryotocom","https://www.youtube.com/@tryotocom"]}},"fonts":{"family":"Ping ARLT Regular","source":"https://storage.googleapis.com/tryoto-public/public/assets/fonts/PingARLT-Regular.woff2","format":"woff2"},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","href":""},{"language":"ar","navbar":{"links":[{"href":"https://tryoto.com","label":"الرئيسية"},{"href":"https://support.tryoto.com/ar","label":"مركز المساعدة"}],"primary":{"type":"button","label":"لوحة التحكم","href":"https://app.tryoto.com"}},"href":"ar"},{"language":"tr","navbar":{"links":[{"href":"https://tryoto.com","label":"Anasayfa"},{"href":"https://support.tryoto.com/tr","label":"Yardım Merkezi"}],"primary":{"type":"button","label":"Gösterge Paneli","href":"https://app.tryoto.com"}},"href":"tr"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"oto","hasAudioNarration":false,"actualSubdomain":"oto","customDomains":["docs.tryoto.com"],"gitSource":{"type":"github","owner":"otoglobal","repo":"oto-docs","deployBranch":"master","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6ad8ce8fad82cbcc460c882d"},"chroma":{"latestBuiltDeploymentHistoryId":"6addbb84b128bc39b5e5b942","collectionId":"d72dffa9-51ec-43cf-8cd6-cc0c06f5df60","liveDeploymentHistoryId":"6addbb84b128bc39b5e5b942","schemaVersion":"v3"},"feedback":{"thumbs":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6addbb84b128bc39b5e5b942","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"ar","tag":"الأنظمة","count":43},{"language":"en","tag":"Modules","count":43},{"language":"tr","tag":"Modüller","count":43},{"language":"ar","tag":"عمليات الربط","count":8},{"language":"en","tag":"Integrations","count":8},{"language":"tr","tag":"Entegrasyonlar","count":8},{"language":"ar","tag":"المطورون","count":6},{"language":"ar","tag":"البدء","count":6},{"language":"ar","tag":"إشعارات العملاء","count":6},{"language":"ar","tag":"إدارة المخزون","count":6},{"language":"ar","tag":"OMS متعدد القنوات","count":6},{"language":"en","tag":"Developers","count":6},{"language":"en","tag":"Get started","count":6},{"language":"en","tag":"Customer Notification","count":6},{"language":"en","tag":"Inventory Management","count":6},{"language":"en","tag":"Omnichannel OMS","count":6},{"language":"tr","tag":"Geliştiriciler","count":6},{"language":"tr","tag":"Başlarken","count":6},{"language":"tr","tag":"Müşteri Bildirimleri","count":6},{"language":"tr","tag":"Envanter Yönetimi","count":6},{"language":"tr","tag":"Omnichannel OMS","count":6},{"language":"ar","tag":"OTO FLEX","count":5},{"language":"ar","tag":"إدارة الشحن","count":5},{"language":"ar","tag":"إدارة المستودعات","count":5},{"language":"en","tag":"OTO FLEX","count":5},{"language":"en","tag":"Shipping Management","count":5},{"language":"en","tag":"Warehouse Management","count":5},{"language":"tr","tag":"OTO FLEX","count":5},{"language":"tr","tag":"Kargo Yönetimi","count":5},{"language":"tr","tag":"Depo Yönetimi","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"rtl.css","content":":is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #navbar button.lg\\:hidden>div+div,:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) :is(#content-area, #page-title, #header, #table-of-contents, #sidebar-content, #mobile-nav, #pagination, #footer),:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) [role=menu]{direction:rtl;text-align:right}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #content-area ul{padding-left:0;padding-right:0}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #content-area ul>li{padding-left:0;padding-right:2rem}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #content-area ul>li::before{left:auto;right:.5rem}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #content-area blockquote{border-left:0;border-right:.25rem solid currentColor;padding-left:0;padding-right:1em}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #content-area :is(table, th, td){text-align:right}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #content-area :is(pre, code, .code-block, .code-group, .frame svg, [data-badge]){direction:ltr;unicode-bidi:isolate;text-align:left}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #mobile-nav #localization-select-trigger svg,:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #page-context-menu.ml-auto,:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #pagination [data-component-part=pagination-next]{margin-left:0;margin-right:auto}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #page-context-menu-button{border-radius:0 var(--radius-xl, 0.75rem) var(--radius-xl, 0.75rem) 0;border-left-width:0;border-right-width:1px}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #page-context-menu-button+button{border-radius:var(--radius-xl, 0.75rem) 0 0 var(--radius-xl, 0.75rem)}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #navbar button.lg\\:hidden>div+div svg,:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) [role=menuitem] .font-medium>svg{scale:-1 1}@media (min-width:1024px){:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]):has(#page-context-menu button[aria-expanded=true]) [role=menu][data-align=end]{translate:calc(100% - var(--anchor-width, 0px)) 0;transform-origin:0 -4px}}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #content-area em{unicode-bidi:plaintext}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #content-area :is(h1, h2, h3, h4, h5, h6)>.absolute>a{display:none}@media (min-width:1024px){:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #content-area :is(h1, h2, h3, h4, h5, h6)>.absolute>a{display:flex;margin-left:0;translate:2.5rem 0}}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #sidebar-content>div{padding-right:0;padding-left:2rem}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) :is(#sidebar-content, #mobile-nav) .sidebar-group-header{padding-left:0;padding-right:1rem}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) :is(#sidebar-content, #mobile-nav) :is(a, button)[style*=padding-left]{padding-left:.75rem!important;text-align:right}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) :is(#sidebar-content, #mobile-nav) :is(a, button):is([style*=\"padding-left:1rem\"], [style*=\"padding-left: 1rem\"]){padding-right:1rem}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) :is(#sidebar-content, #mobile-nav) :is(a, button):is([style*=\"padding-left:1.75rem\"], [style*=\"padding-left: 1.75rem\"]){padding-right:1.75rem}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) :is(#sidebar-content, #mobile-nav) :is(a, button):is([style*=\"padding-left:2.5rem\"], [style*=\"padding-left: 2.5rem\"]){padding-right:2.5rem}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) :is(#sidebar-content, #mobile-nav) button[aria-expanded]:not([aria-haspopup]) svg{margin-right:0;margin-left:-.125rem}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) :is(#sidebar-content, #mobile-nav) button[aria-expanded=false]:not([aria-haspopup]) svg{scale:-1 1}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #table-of-contents a{padding-left:0;padding-right:calc(var(--toc-padding-left, 0rem) + var(--toc-focus-padding, 0rem))}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #pagination [data-component-part=pagination-prev] svg{rotate:180deg}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #pagination [data-component-part=pagination-next] svg{rotate:none}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) [role=dialog]:has(#topbar-cta-button){direction:rtl;text-align:right}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) [role=dialog]:has(#topbar-cta-button)>button{right:auto;left:.375rem}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) [role=dialog]:has(#topbar-cta-button) li:first-child>a{padding-left:30px;padding-right:.75rem}@media (min-width:1024px){:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #navbar{direction:rtl}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #topbar-cta-button svg{scale:-1 1}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) div:has(>#sidebar){flex-direction:row-reverse}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #content-container>div:has(>#content-area){flex-direction:row}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #content-area{padding-left:.25rem;padding-right:5.7rem;margin-left:0;margin-right:-3rem}:is(html[data-current-path=\"/ar\"], html[data-current-path^=\"/ar/\"]) #table-of-contents-layout{padding-left:0;padding-right:2.5rem}}"}],"page":{"pagePath":"tr/developers/errors-and-rate-limits","slug":"/tr/developers/errors-and-rate-limits","pageMetadata":{"title":"API hataları ve istek sınırları","sidebarTitle":"Hatalar ve istek sınırları","description":"OTO API hataları nasıl gelir, nasıl güvenle yeniden denenir, belirteç süresi dolunca ne yapılır; istek sınırları ve tüm durum ve hata kodları.","href":"/tr/developers/errors-and-rate-limits"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"OTO API hataları nasıl gelir, nasıl güvenle yeniden denenir, belirteç süresi dolunca ne yapılır; istek sınırları ve tüm durum ve hata kodları.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Table,Tip,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Entegrasyonlar her şeyin yolunda gittiği senaryoya göre değerlendirilmez. Bir kargo şirketinin sistemi çöktüğünde, bir anahtarın süresi dolduğunda ya da bir adres koordinata dönüştürülemediğinde ne yaptıklarına göre değerlendirilir.`}),`\n`,_jsx(Heading,{level:`2`,id:`hatalar-nasıl-gelir`,children:`Hatalar nasıl gelir?`}),`\n`,_jsx(_components.p,{children:`Üç farklı hata biçimi vardır ve her biri farklı bir müdahale gerektirir.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Biçim`}),_jsx(_components.th,{children:`Nasıl görünür?`}),_jsx(_components.th,{children:`Ne yapılmalı?`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`İsteğiniz hatalıydı`})}),_jsx(_components.td,{children:`İlgili alanı belirten bir mesajla birlikte 4xx yanıtı.`}),_jsx(_components.td,{children:`Düzeltip yeniden gönderin. Değişiklik yapmadan tekrar denemek aynı şekilde başarısız olur.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Erişim belirtecinizin süresi doldu`})}),_jsx(_components.td,{children:`401 yanıtı.`}),_jsx(_components.td,{children:`Yeni bir erişim belirteci alın ve bir kez yeniden deneyin. Bunu en baştan kurgulayın; her saat gerçekleşecektir.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Arka taraftaki bir sistem başarısız oldu`})}),_jsx(_components.td,{children:`5xx yanıtı, zaman aşımı ya da kargo şirketi hatası içeren başarılı bir yanıt.`}),_jsx(_components.td,{children:`Artırılan bekleme süreleriyle (backoff) yeniden deneyin. İstek kısmen başarılı olmuş olabilir; bu yüzden tekrarlanmasını güvenli hâle getirin.`})]})]})]}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Asıl can yakan üçüncü biçimdir`})}),_jsx(_components.p,{children:`Bir kargo şirketinin rezervasyonu reddetmesi bir OTO hatası değildir; bu yüzden her zaman HTTP hatası olarak gelmez. Gönderi basitçe oluşmaz ve sipariş yerinde sayar.`}),_jsxs(_components.p,{children:[_jsx(_components.code,{children:`shipmentError`}),` `,_jsx(_components.a,{href:`/tr/developers/webhook-events`,children:`webhook’u`}),` tam da bunun içindir: Bir `,_jsx(_components.code,{children:`errorCode`}),`, OTO’nun kendi `,_jsx(_components.code,{children:`errorMessage`}),` değerini ve `,_jsx(_components.code,{children:`deliveryCompanyResponse`}),` alanında kargo şirketinin ham ifadesini içerir; bu genellikle eksik bir şehir ya da posta kodu gibi küçük ve düzeltilebilir bir şeydir. Bu webhook olmadan, bir müşteri sorana kadar kimse durumdan haberdar olmaz.`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`güvenli-yeniden-deneme`,children:`Güvenli yeniden deneme`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Oluşturma isteklerini asla körü körüne yeniden denemeyin.`}),` `,_jsx(_components.code,{children:`createOrder`}),` ve `,_jsx(_components.code,{children:`createShipment`}),` durumu değiştirir. Bir çağrı zaman aşımına uğrarsa, yeniden göndermeden önce nesnenin oluşup oluşmadığını kontrol edin; `,_jsx(_components.code,{children:`orderDetails`}),` çağrısı, mükerrer bir gönderiden çok daha ucuzdur.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Bekleme süresini üstel olarak artırın.`}),` Zorlanan bir servise sık aralıklarla yeniden deneme göndermek durumu kötüleştirir ve size hiçbir şey kazandırmaz.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Deneme sayısını sınırlayın, sonra eskalasyon yapın.`}),` Beş kez başarısız olmuş bir siparişin altıncı denemeye değil, bir insana ihtiyacı vardır.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Başarısız istekleri saklayın.`}),` Hiç başarıya ulaşmamış isteklerin tutulduğu bir “dead-letter” tablosu, örüntüyü bulmanızı sağlar: tek bir kargo şirketi, tek bir şehir, ağırlığı girilmemiş tek bir ürün.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`belirtecin-süresinin-dolması-bir-hata-durumu-değildir`,children:`Belirtecin süresinin dolması bir hata durumu değildir`}),`\n`,_jsx(_components.p,{children:`Erişim belirteçleri bir saat geçerlidir; dolayısıyla uzun süre çalışan bir entegrasyon rutin olarak 401 yanıtıyla karşılaşacaktır. Bunu bir arıza değil, bir sinyal olarak ele alın: Belirteci yenileyin ve isteği bir kez tekrarlayın. Yalnızca yenileme işleminin kendisi başarısız olursa uyarı oluşturun; çünkü bu, kimlik bilgisinin eski değil, yanlış olduğu anlamına gelir.`}),`\n`,_jsx(Heading,{level:`2`,id:`i̇stek-sınırları`,children:`İstek sınırları`}),`\n`,_jsxs(_components.p,{children:[`Bir entegrasyonu sıkıntıya sokan şey sürekli sorgulamadır; genellikle değişmemiş sipariş durumlarını soran bir döngü. Bir `,_jsx(_components.a,{href:`/tr/developers/webhook-events`,children:`webhook`}),` bu döngüyü tamamen ortadan kaldırır ve asıl çözüm budur. Sorgulama yapmak zorundaysanız, dar kapsamlı sorgulayın: Her şeyi çekip karşılaştırmak yerine tarihe ve duruma göre filtreleyin.`]}),`\n`,_jsx(Heading,{level:`2`,id:`durum-ve-hata-kodu-başvuru-kaynağı`,children:`Durum ve hata kodu başvuru kaynağı`}),`\n`,_jsxs(_components.p,{children:[`Sipariş durumlarının ve platform hata kodlarının tam listesi `,_jsx(_components.a,{href:`https://apis.tryoto.com`,children:`apis.tryoto.com`}),` adresinde, `,_jsx(_components.strong,{children:`List Of Statuses`}),` ve `,_jsx(_components.strong,{children:`Error Codes`}),` başlıkları altında tutulur. Her ikisi de uç noktalarla birlikte üretildiği için API’nin gerçekte döndürdüğü değerlerle uyumlu kalır.`]}),`\n`,_jsxs(Tip,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Durumları bir kez ve tek bir yerde eşleştirin`})}),_jsx(_components.p,{children:`Sisteminiz ile OTO aynı terimleri kullanmayacaktır; bu dönüşüm, kodun içine dağılmış metin karşılaştırmaları yerine tek bir eşleştirme tablosunda yer almalıdır.`}),_jsxs(_components.p,{children:[`Yeni bir durum ortaya çıktığında yalnızca bir tablo değişir. Alternatifi, `,_jsx(_components.code,{children:`delivered`}),` kontrolü yapan yedi farklı yeri bulmaktır.`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`i̇lgili-sayfalar`,children:`İlgili sayfalar`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/tr/developers/webhook-events`,children:`Webhook olayları`}),` — gönderi hatalarının ortaya çıktığı yer.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/tr/developers/authentication`,children:`Kimlik Doğrulama`}),` — anahtar ömrü ve yenileme.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/tr/modules/shipping-management/carrier-integration`,children:`Kargo Şirketi Entegrasyonu`}),` — bir kargo şirketinin rezervasyonu neden reddettiği.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"API hataları ve istek sınırları","sidebarTitle":"Hatalar ve istek sınırları","description":"OTO API hataları nasıl gelir, nasıl güvenle yeniden denenir, belirteç süresi dolunca ne yapılır; istek sınırları ve tüm durum ve hata kodları.","href":"/tr/developers/errors-and-rate-limits"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Hatalar nasıl gelir?","slug":"hatalar-nasıl-gelir","depth":2,"children":[]},{"title":"Güvenli yeniden deneme","slug":"güvenli-yeniden-deneme","depth":2,"children":[]},{"title":"Belirtecin süresinin dolması bir hata durumu değildir","slug":"belirtecin-süresinin-dolması-bir-hata-durumu-değildir","depth":2,"children":[]},{"title":"İstek sınırları","slug":"i̇stek-sınırları","depth":2,"children":[]},{"title":"Durum ve hata kodu başvuru kaynağı","slug":"durum-ve-hata-kodu-başvuru-kaynağı","depth":2,"children":[]},{"title":"İlgili sayfalar","slug":"i̇lgili-sayfalar","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/oto/5e4908087dc78be6/adsping.js"],"subdomain":"oto","siteName":"OTO Docs","title":"API hataları ve istek sınırları - OTO Docs","relatedPagesConfig":{"enabled":true,"limit":3,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/developers/errors-and-rate-limits","matchLevel":1},"ar":{"href":"/ar/developers/errors-and-rate-limits","matchLevel":1},"tr":{"href":"/tr/developers/errors-and-rate-limits","matchLevel":0}}},"lastModified":"2026-10-22T15:40:13.588Z","originalFileLocation":"tr/developers/errors-and-rate-limits.mdx","locale":"tr"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"OTO API hataları nasıl gelir, nasıl güvenle yeniden denenir, belirteç süresi dolunca ne yapılır; istek sınırları ve tüm durum ve hata kodları.\">\u003cmeta data-mint-head name=\"application-name\" content=\"OTO Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/oto/S_K-Ar2SQPcQI6e_/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/oto/S_K-Ar2SQPcQI6e_/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/oto/S_K-Ar2SQPcQI6e_/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/oto/S_K-Ar2SQPcQI6e_/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/oto/S_K-Ar2SQPcQI6e_/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/oto/S_K-Ar2SQPcQI6e_/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/oto/S_K-Ar2SQPcQI6e_/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/oto/S_K-Ar2SQPcQI6e_/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/oto/S_K-Ar2SQPcQI6e_/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"API hataları ve istek sınırları - OTO Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"OTO API hataları nasıl gelir, nasıl güvenle yeniden denenir, belirteç süresi dolunca ne yapılır; istek sınırları ve tüm durum ve hata kodları.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"OTO Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.tryoto.com/tr/developers/errors-and-rate-limits\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://oto.mintlify.app/_mintlify/api/og/v2?division=Geli%C5%9Ftiriciler\u0026amp;title=API+hatalar%C4%B1+ve+istek+s%C4%B1n%C4%B1rlar%C4%B1\u0026amp;description=OTO+API+hatalar%C4%B1+nas%C4%B1l+gelir%2C+nas%C4%B1l+g%C3%BCvenle+yeniden+denenir%2C+belirte%C3%A7+s%C3%BCresi+dolunca+ne+yap%C4%B1l%C4%B1r%3B+istek+s%C4%B1n%C4%B1rlar%C4%B1+ve+t%C3%BCm+durum+ve+hata+kodlar%C4%B1.\u0026amp;theme=fb0540dacc0ff6c761581805\u0026amp;signature=8f3b64431ff8d65745d2eba9fd14390622e6f7f704a7adec2a50d52ff0ed3487\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"API hataları ve istek sınırları - OTO Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"OTO API hataları nasıl gelir, nasıl güvenle yeniden denenir, belirteç süresi dolunca ne yapılır; istek sınırları ve tüm durum ve hata kodları.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://oto.mintlify.app/_mintlify/api/og/v2?division=Geli%C5%9Ftiriciler\u0026amp;title=API+hatalar%C4%B1+ve+istek+s%C4%B1n%C4%B1rlar%C4%B1\u0026amp;description=OTO+API+hatalar%C4%B1+nas%C4%B1l+gelir%2C+nas%C4%B1l+g%C3%BCvenle+yeniden+denenir%2C+belirte%C3%A7+s%C3%BCresi+dolunca+ne+yap%C4%B1l%C4%B1r%3B+istek+s%C4%B1n%C4%B1rlar%C4%B1+ve+t%C3%BCm+durum+ve+hata+kodlar%C4%B1.\u0026amp;theme=fb0540dacc0ff6c761581805\u0026amp;signature=8f3b64431ff8d65745d2eba9fd14390622e6f7f704a7adec2a50d52ff0ed3487\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/oto/S_K-Ar2SQPcQI6e_/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"OTO Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#506EFE\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.tryoto.com/tr/developers/errors-and-rate-limits\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/tr/developers/errors-and-rate-limits.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"tr\" href=\"https://docs.tryoto.com/tr/developers/errors-and-rate-limits\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.tryoto.com/developers/errors-and-rate-limits\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ar\" href=\"https://docs.tryoto.com/ar/developers/errors-and-rate-limits\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.tryoto.com/developers/errors-and-rate-limits\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://tryoto.com/#organization\",\"name\":\"OTO\",\"url\":\"https://tryoto.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://docs.tryoto.com/images/oto-logo-51232.png\"},\"sameAs\":[\"https://www.linkedin.com/company/tryotocom\",\"https://x.com/tryotocom\",\"https://www.instagram.com/tryotocom\",\"https://www.facebook.com/tryotocom\",\"https://www.youtube.com/@tryotocom\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.tryoto.com#website\",\"name\":\"OTO Docs\",\"url\":\"https://docs.tryoto.com\",\"publisher\":{\"@id\":\"https://tryoto.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.tryoto.com/tr/developers/errors-and-rate-limits#webpage\",\"url\":\"https://docs.tryoto.com/tr/developers/errors-and-rate-limits\",\"name\":\"API hataları ve istek sınırları\",\"description\":\"OTO API hataları nasıl gelir, nasıl güvenle yeniden denenir, belirteç süresi dolunca ne yapılır; istek sınırları ve tüm durum ve hata kodları.\",\"dateModified\":\"2026-10-22T15:40:13.588Z\",\"isPartOf\":{\"@id\":\"https://docs.tryoto.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.tryoto.com/tr/developers/errors-and-rate-limits#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.tryoto.com/tr/developers/errors-and-rate-limits#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Geliştiriciler\",\"item\":\"https://docs.tryoto.com/tr/developers/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API hataları ve istek sınırları\",\"item\":\"https://docs.tryoto.com/tr/developers/errors-and-rate-limits\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.tryoto.com/tr/developers/errors-and-rate-limits#article\",\"headline\":\"API hataları ve istek sınırları\",\"name\":\"API hataları ve istek sınırları\",\"description\":\"OTO API hataları nasıl gelir, nasıl güvenle yeniden denenir, belirteç süresi dolunca ne yapılır; istek sınırları ve tüm durum ve hata kodları.\",\"url\":\"https://docs.tryoto.com/tr/developers/errors-and-rate-limits\",\"mainEntityOfPage\":{\"@id\":\"https://docs.tryoto.com/tr/developers/errors-and-rate-limits#webpage\"},\"dateModified\":\"2026-10-22T15:40:13.588Z\",\"publisher\":{\"@id\":\"https://tryoto.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.tryoto.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"OTO Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"OTO Docs","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/developers/errors-and-rate-limits"}]},{"language":"ar","navbar":{"links":[{"href":"https://tryoto.com","label":"الرئيسية"},{"href":"https://support.tryoto.com/ar","label":"مركز المساعدة"}],"primary":{"type":"button","label":"لوحة التحكم","href":"https://app.tryoto.com"}},"pages":[{"title":"ar","href":"/ar/developers/errors-and-rate-limits"}]},{"language":"tr","navbar":{"links":[{"href":"https://tryoto.com","label":"Anasayfa"},{"href":"https://support.tryoto.com/tr","label":"Yardım Merkezi"}],"primary":{"type":"button","label":"Gösterge Paneli","href":"https://app.tryoto.com"}},"groups":[{"group":"Başlarken","pages":[{"title":"E-ticaret operasyon platformu ve kargo entegratörü","sidebarTitle":"Anasayfa","href":"/tr"},{"title":"OTO nedir?","href":"/tr/get-started/what-is-oto"},{"title":"Temel kavramlar: sipariş, gönderi, stok ve hub","sidebarTitle":"Temel kavramlar","href":"/tr/get-started/core-concepts"},{"title":"Platform mimarisi","href":"/tr/get-started/architecture"},{"title":"Hızlı başlangıç: OTO ile ilk siparişinizi gönderin","sidebarTitle":"Hızlı başlangıç","href":"/tr/get-started/quickstart"},{"title":"OTO terimleri sözlüğü","sidebarTitle":"Sözlük","href":"/tr/get-started/glossary"}]},{"group":"Modüller","pages":[{"group":"Omnichannel OMS","pages":[{"title":"Omnichannel OMS","sidebarTitle":"Genel Bakış","href":"/tr/modules/omnichannel-oms/overview"},{"title":"Sipariş senkronizasyonu: siparişler OTO’ya nasıl gelir","sidebarTitle":"Sipariş Senkronizasyonu","href":"/tr/modules/omnichannel-oms/order-sync"},{"title":"Depolar ve mağazalar arasında sipariş yönlendirme","sidebarTitle":"Sipariş Yönlendirme","href":"/tr/modules/omnichannel-oms/order-routing"},{"title":"Adres ve Veri Düzeltme","href":"/tr/modules/omnichannel-oms/order-data-correction"},{"title":"Hazırlık Öncesi Kontroller","href":"/tr/modules/omnichannel-oms/prefulfillment"},{"title":"Depo ve mağazalarda sipariş hazırlama","sidebarTitle":"Sipariş Hazırlama","href":"/tr/modules/omnichannel-oms/order-fulfillment"}]},{"group":"Satış Kanalları","pages":[{"title":"Satış Kanalları","sidebarTitle":"Genel Bakış","href":"/tr/modules/sales-channels/overview"},{"title":"Satış kanalı bağlama ve senkronizasyon","sidebarTitle":"Kanal Senkronizasyonu","href":"/tr/modules/sales-channels/sync"},{"title":"Sipariş durumu ve takip bilgisini mağazanıza aktarma","sidebarTitle":"Durum ve Takip Güncellemeleri","href":"/tr/modules/sales-channels/updates"},{"title":"Canlı kargo fiyatları için Checkout API","sidebarTitle":"Checkout API","href":"/tr/modules/sales-channels/checkout-api"}]},{"group":"Kargo Yönetimi","pages":[{"title":"Kargo Yönetimi","sidebarTitle":"Genel Bakış","href":"/tr/modules/shipping-management/overview"},{"title":"Kargo şirketi entegrasyonu ve yapılandırması","sidebarTitle":"Kargo Şirketi Entegrasyonu","href":"/tr/modules/shipping-management/carrier-integration"},{"title":"Gönderi oluşturma, etiket yazdırma ve koli takibi","sidebarTitle":"Gönderim ve Takip","href":"/tr/modules/shipping-management/shipping-and-tracking"},{"title":"Kargo OTOmasyonu ve kargo şirketi seçim kuralları","sidebarTitle":"Kargo OTOmasyonu","href":"/tr/modules/shipping-management/shipping-automation"},{"title":"Kargo Fatura Mutabakatı","href":"/tr/modules/shipping-management/shipping-invoices-reconciliation"}]},{"group":"İade Yönetimi","pages":[{"title":"İade Yönetimi","sidebarTitle":"Genel Bakış","href":"/tr/modules/return-management/overview"},{"title":"İade portalı ve müşteri iade talepleri","sidebarTitle":"Müşteri İadeleri","href":"/tr/modules/return-management/customer-returns"},{"title":"İade kabulü ve kontrolü","sidebarTitle":"İade Kabulü","href":"/tr/modules/return-management/returns-receiving"},{"title":"İade OTOmasyonu kuralları","sidebarTitle":"İade OTOmasyonu","href":"/tr/modules/return-management/return-automation"}]},{"group":"Hub Yönetimi","pages":[{"title":"Hub Yönetimi","sidebarTitle":"Genel Bakış","href":"/tr/modules/hubs-management/overview"},{"title":"Depo ve şube kurulumu","sidebarTitle":"Hub Yapılandırması","href":"/tr/modules/hubs-management/hubs-management"}]},{"group":"Müşteri Bildirimleri","pages":[{"title":"Müşteri Bildirimleri","sidebarTitle":"Genel Bakış","href":"/tr/modules/customer-notification/overview"},{"title":"Markalı takip ve onay sayfaları","sidebarTitle":"Markalı sayfalar","href":"/tr/modules/customer-notification/branded-pages"},{"title":"SMS bildirimleri","sidebarTitle":"SMS","href":"/tr/modules/customer-notification/sms"},{"title":"E-posta bildirimleri","sidebarTitle":"E-posta","href":"/tr/modules/customer-notification/email"},{"title":"WhatsApp bildirimleri","sidebarTitle":"WhatsApp","href":"/tr/modules/customer-notification/whatsapp"},{"title":"Özel bildirim iş akışları","sidebarTitle":"Özel iş akışları","href":"/tr/modules/customer-notification/custom-workflows"}]},{"group":"Depo Yönetimi","pages":[{"title":"Depo Yönetimi","sidebarTitle":"Genel Bakış","href":"/tr/modules/warehouse-management/overview"},{"title":"Depo çalışanları için OTO PACK mobil uygulaması","sidebarTitle":"OTO PACK uygulaması","href":"/tr/modules/warehouse-management/ops"},{"title":"Depoda toplama yöntemleri ve dalgalar","sidebarTitle":"Toplama yöntemleri","href":"/tr/modules/warehouse-management/picking-methods"},{"title":"Paketleme ve sevkiyat","href":"/tr/modules/warehouse-management/packing-dispatch"},{"title":"Gelen ürün kabulü ve yerleştirme","href":"/tr/modules/warehouse-management/inbound-putaway"}]},{"group":"Envanter Yönetimi","pages":[{"title":"Envanter Yönetimi","sidebarTitle":"Genel Bakış","href":"/tr/modules/inventory-management/overview"},{"title":"Stok takibi","href":"/tr/modules/inventory-management/inventory-tracking"},{"title":"Gelen stok","href":"/tr/modules/inventory-management/inbound-inventory"},{"title":"Stokları satış kanallarınızla senkronize etme","sidebarTitle":"Stok Senkronizasyonu","href":"/tr/modules/inventory-management/inventory-sync"},{"title":"Ürün kataloğu ve SKU yapılandırması","sidebarTitle":"Ürün yapılandırması","href":"/tr/modules/inventory-management/product-configuration"},{"title":"OTO PACK uygulamasında stok sayımı","sidebarTitle":"Stok sayımları","href":"/tr/modules/inventory-management/inventory-count"}]},{"group":"OTO FLEX","pages":[{"title":"OTO FLEX: kendi sürücülerinizle teslimat","sidebarTitle":"Genel Bakış","href":"/tr/modules/oto-flex/overview"},{"title":"Sürücü ve filo yönetimi","sidebarTitle":"Filo Yönetimi","href":"/tr/modules/oto-flex/fleet-management"},{"title":"Teslimat planlama ve sürücü atama","sidebarTitle":"Planlama","href":"/tr/modules/oto-flex/planning"},{"title":"OTO FLEX’te sürücünün siparişi teslim alması","sidebarTitle":"Teslim Alma","href":"/tr/modules/oto-flex/pickup"},{"title":"OTO FLEX’te son kilometre teslimatı","sidebarTitle":"Teslimat","href":"/tr/modules/oto-flex/delivery"}]}]},{"group":"Entegrasyonlar","pages":[{"title":"Entegrasyonlara genel bakış","sidebarTitle":"Genel Bakış","href":"/tr/integrations/overview"},{"title":"Satış kanalı entegrasyonları","sidebarTitle":"Satış kanalları","href":"/tr/integrations/sales-channels"},{"title":"Pazaryeri entegrasyonları","sidebarTitle":"Pazaryerleri","href":"/tr/integrations/marketplaces"},{"title":"ERP entegrasyonları","sidebarTitle":"ERP sistemleri","href":"/tr/integrations/erp-systems"},{"title":"POS entegrasyonları","sidebarTitle":"POS sistemleri","href":"/tr/integrations/pos-systems"},{"title":"Kargo şirketi entegrasyonları","sidebarTitle":"Kargo şirketleri","href":"/tr/integrations/carriers"},{"title":"SMS, e-posta ve WhatsApp sağlayıcıları","sidebarTitle":"Mesajlaşma sağlayıcıları","href":"/tr/integrations/messaging-providers"},{"title":"Gerçek zamanlı güncellemeler için webhook’lar","sidebarTitle":"Webhook’lar","href":"/tr/integrations/webhooks"}]},{"group":"Geliştiriciler","pages":[{"title":"OTO API’ye genel bakış","sidebarTitle":"Genel Bakış","href":"/tr/developers/overview"},{"title":"API kimlik doğrulaması","sidebarTitle":"Kimlik Doğrulama","href":"/tr/developers/authentication"},{"title":"REST API başvuru kaynağı","href":"/tr/developers/rest-api-reference"},{"title":"Webhook olayları ve veri paketleri","sidebarTitle":"Webhook olayları","href":"/tr/developers/webhook-events"},{"title":"OTO API Postman koleksiyonu","sidebarTitle":"Postman koleksiyonu","description":"Kod yazmadan önce OTO API’yi Postman’den test ortamında çağırın; erişim belirtecinden ilk isteğe kadar on dakikalık bir ilk deneme yapın.","href":"/tr/developers/postman-collection"},{"title":"API hataları ve istek sınırları","sidebarTitle":"Hatalar ve istek sınırları","href":"/tr/developers/errors-and-rate-limits"}]},{"group":"Platform","pages":[{"title":"Güvenlik ve uyumluluk","description":"OTO verilerinizi nasıl korur: Suudi Arabistan’da barındırma, erişim kontrolü, kimlik bilgileri, şifreleme, güvenlik testleri ve dolandırıcılık kontrolleri.","href":"/tr/platform/security-and-compliance"},{"title":"Kullanıcılar, roller ve yetkiler","href":"/tr/platform/users-roles-and-permissions"},{"title":"Yerelleştirme: diller, para birimi ve saat dilimleri","sidebarTitle":"Yerelleştirme","href":"/tr/platform/localization"},{"title":"İşbirliği ve bildirimler","href":"/tr/platform/collaboration-and-notifications"},{"title":"Platform duyuruları","sidebarTitle":"Duyurular","href":"/tr/platform/announcements"}]},{"group":"Fiyatlandırma","pages":[{"title":"Planlar, fiyatlar ve eklentiler","sidebarTitle":"Planlar ve paketler","href":"/tr/pricing/plans-and-packaging"}]}]}]},"title":"API hataları ve istek sınırları - OTO Docs","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":[],"chunks":[]}