Bir siparişin durumu değiştiğinde: işleniyor, teslim edildi, iade edildi ve aradaki her şey.
Kendi sisteminizi ve müşterinizi güncel tutmak. Varsayılan tür budur.
shipmentError
Bir gönderi kargo şirketinde oluşturulamadığında.
Aksi hâlde yerinde sayacak siparişleri yakalamak. Kargo şirketinin kendi mesajını içerir.
newOrders
OTO’ya bir sipariş geldiğinde.
Siparişleri farklı bir WMS’e aktarmak.
Başka hiçbir şeye abone olmasanız bile shipmentError’a abone olunBaşarısız bir rezervasyon doğası gereği sessizdir: Sipariş ilerlemez ve hiçbir şey değişmediği için durum değişikliği olayı da tetiklenmez.Yük (payload), nedeni belirtir: bir errorCode ve deliveryCompanyResponse alanında kargo şirketinin kendi ifadesi; genellikle eksik bir şehir ya da posta kodu gibi bir şey. Biri fark ederse bunlar saniyeler içinde düzeltilir; kimse fark etmezse günlerce görünmez kalır.
Bir orderStatus yükü; siparişi ve yeni durumunu, varsa kargo şirketini ve sürücüyü, takip numarasını ve takip bağlantısını, kargo etiketi (AWB) bağlantısını ve UTC cinsinden bir timestamp değerini içerir.Bir shipmentError yükü; orderId, bir errorCode, OTO’nun errorMessage değerini ve kargo şirketinin ham deliveryCompanyResponse yanıtını içerir.Bir newOrders yükü siparişin tamamını içerir: adres, ürünler, ağırlık, tutarlar, ödeme yöntemi, satış kanalı ve depo.
Her yük bir signature içerir: Kaydettiğiniz secretKey ile, iki nokta üst üste ile birleştirilmiş bir dize üzerinden hesaplanan ve base64 ile kodlanan bir HMAC-SHA256 değeri.
Olay türü
İmzalanan dize
orderStatus
orderId:status:timestamp
shipmentError
orderId:errorCode:timestamp
İmzayı doğrulayın ve eski zaman damgalarını reddedinWebhook URL’nize, onu öğrenen herkes erişebilir. Doğrulama yapmazsanız, bu kişilerden herhangi biri sisteminize bir siparişin teslim edildiğini söyleyebilir.İmzalanan dize üzerinden HMAC’i yeniden hesaplayın ve sabit süreli (constant-time) bir karşılaştırmayla kontrol edin. Ardından zaman damgasının yeni olduğunu doğrulayın: Eski bir yükteki geçerli imza bir tekrar saldırısıdır (replay) ve dünkü siparişi yeniden teslim edildi olarak işaretlemek, yol açabileceği en hafif sonuçtur.
{"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/webhook-events","slug":"/tr/developers/webhook-events","pageMetadata":{"title":"Webhook olayları ve veri paketleri","sidebarTitle":"Webhook olayları","description":"OTO API ile bir webhook kaydedin, üç olay türünün her birinin ne gönderdiğini görün, HMAC-SHA256 imzalarını doğrulayın ve sağlam bir uç nokta kurun.","href":"/tr/developers/webhook-events"},"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 ile bir webhook kaydedin, üç olay türünün her birinin ne gönderdiğini görün, HMAC-SHA256 imzalarını doğrulayın ve sağlam bir uç nokta kurun.\"\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},{Badge,Heading,Table,Tip,Warning}=_components;if(!Badge)_missingMdxReference(`Badge`,true);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:`Webhook, entegrasyonun yönünü tersine çevirir. Birkaç dakikada bir OTO’ya ne olduğunu sormak yerine bir URL barındırırsınız ve OTO size haber verir.`}),`\n`,_jsx(Heading,{level:`2`,id:`üç-olay-türü`,children:`Üç olay türü`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Tür`}),_jsx(_components.th,{children:`Ne zaman tetiklenir?`}),_jsx(_components.th,{children:`Ne için kullanılır?`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`orderStatus`})}),_jsx(_components.td,{children:`Bir siparişin durumu değiştiğinde: işleniyor, teslim edildi, iade edildi ve aradaki her şey.`}),_jsx(_components.td,{children:`Kendi sisteminizi ve müşterinizi güncel tutmak. Varsayılan tür budur.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`shipmentError`})}),_jsx(_components.td,{children:`Bir gönderi kargo şirketinde oluşturulamadığında.`}),_jsx(_components.td,{children:`Aksi hâlde yerinde sayacak siparişleri yakalamak. Kargo şirketinin kendi mesajını içerir.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`newOrders`})}),_jsx(_components.td,{children:`OTO’ya bir sipariş geldiğinde.`}),_jsx(_components.td,{children:`Siparişleri farklı bir WMS’e aktarmak.`})]})]})]}),`\n`,_jsxs(Tip,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Başka hiçbir şeye abone olmasanız bile shipmentError’a abone olun`})}),_jsx(_components.p,{children:`Başarısız bir rezervasyon doğası gereği sessizdir: Sipariş ilerlemez ve hiçbir şey değişmediği için durum değişikliği olayı da tetiklenmez.`}),_jsxs(_components.p,{children:[`Yük (payload), nedeni belirtir: bir `,_jsx(_components.code,{children:`errorCode`}),` ve `,_jsx(_components.code,{children:`deliveryCompanyResponse`}),` alanında kargo şirketinin kendi ifadesi; genellikle eksik bir şehir ya da posta kodu gibi bir şey. Biri fark ederse bunlar saniyeler içinde düzeltilir; kimse fark etmezse günlerce görünmez kalır.`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`webhook-kaydetme`,children:`Webhook kaydetme`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`POST /rest/v2/webhook`}),` `,_jsx(Badge,{children:`Starter+`})]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Alan`}),_jsx(_components.th,{children:`Zorunlu`}),_jsx(_components.th,{children:`Ne işe yarar?`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`url`})}),_jsx(_components.td,{children:`Evet`}),_jsx(_components.td,{children:`Sizin uç noktanız.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`method`})}),_jsx(_components.td,{children:`Evet`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`POST`}),` veya `,_jsx(_components.code,{children:`PUT`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`webhookType`})}),_jsx(_components.td,{children:`Hayır`}),_jsxs(_components.td,{children:[`Yukarıdaki üç türden biri. Varsayılan değerler `,_jsx(_components.code,{children:`orderStatus`}),` ve `,_jsx(_components.code,{children:`newOrders`}),`’dır.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`secretKey`})}),_jsx(_components.td,{children:`Hayır`}),_jsx(_components.td,{children:`Yük imzasının hesaplanmasında kullanılan ortak gizli anahtar.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`authorizationKey`})}),_jsx(_components.td,{children:`Hayır`}),_jsx(_components.td,{children:`Uç noktanızın diğer tüm istekleri reddedebilmesi için istekle birlikte gönderilen bir anahtar.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`timestampFormat`})}),_jsx(_components.td,{children:`Hayır`}),_jsxs(_components.td,{children:[`İstediğiniz zaman damgası biçimi, örn. `,_jsx(_components.code,{children:`yyyy-MM-dd HH:mm:ss`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`orderPrefix`})}),_jsx(_components.td,{children:`Hayır`}),_jsx(_components.td,{children:`OTO’nun sipariş kimliklerinde sisteminizin beklemediği bir önek varsa, göndermeden önce kaldırılacak önek.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`GET`}),` aboneliklerinizi listeler, `,_jsx(_components.code,{children:`PUT`}),` bir aboneliği `,_jsx(_components.code,{children:`id`}),` ile günceller, `,_jsx(_components.code,{children:`DELETE`}),` ise kaldırır. Hepsi aynı yol üzerindedir.`]}),`\n`,_jsx(Heading,{level:`2`,id:`neler-gelir`,children:`Neler gelir?`}),`\n`,_jsxs(_components.p,{children:[`Bir `,_jsx(_components.code,{children:`orderStatus`}),` yükü; siparişi ve yeni durumunu, varsa kargo şirketini ve sürücüyü, takip numarasını ve takip bağlantısını, kargo etiketi (AWB) bağlantısını ve `,_jsx(_components.strong,{children:`UTC`}),` cinsinden bir `,_jsx(_components.code,{children:`timestamp`}),` değerini içerir.`]}),`\n`,_jsxs(_components.p,{children:[`Bir `,_jsx(_components.code,{children:`shipmentError`}),` yükü; `,_jsx(_components.code,{children:`orderId`}),`, bir `,_jsx(_components.code,{children:`errorCode`}),`, OTO’nun `,_jsx(_components.code,{children:`errorMessage`}),` değerini ve kargo şirketinin ham `,_jsx(_components.code,{children:`deliveryCompanyResponse`}),` yanıtını içerir.`]}),`\n`,_jsxs(_components.p,{children:[`Bir `,_jsx(_components.code,{children:`newOrders`}),` yükü siparişin tamamını içerir: adres, ürünler, ağırlık, tutarlar, ödeme yöntemi, satış kanalı ve depo.`]}),`\n`,_jsx(Heading,{level:`2`,id:`oto’dan-geldiğini-doğrulama`,children:`OTO’dan geldiğini doğrulama`}),`\n`,_jsxs(_components.p,{children:[`Her yük bir `,_jsx(_components.code,{children:`signature`}),` içerir: Kaydettiğiniz `,_jsx(_components.code,{children:`secretKey`}),` ile, iki nokta üst üste ile birleştirilmiş bir dize üzerinden hesaplanan ve base64 ile kodlanan bir `,_jsx(_components.strong,{children:`HMAC-SHA256`}),` değeri.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Olay türü`}),_jsx(_components.th,{children:`İmzalanan dize`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`orderStatus`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`orderId:status:timestamp`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`shipmentError`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`orderId:errorCode:timestamp`})})]})]})]}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`İmzayı doğrulayın ve eski zaman damgalarını reddedin`})}),_jsx(_components.p,{children:`Webhook URL’nize, onu öğrenen herkes erişebilir. Doğrulama yapmazsanız, bu kişilerden herhangi biri sisteminize bir siparişin teslim edildiğini söyleyebilir.`}),_jsx(_components.p,{children:`İmzalanan dize üzerinden HMAC’i yeniden hesaplayın ve sabit süreli (constant-time) bir karşılaştırmayla kontrol edin. Ardından zaman damgasının yeni olduğunu doğrulayın: Eski bir yükteki geçerli imza bir tekrar saldırısıdır (replay) ve dünkü siparişi yeniden teslim edildi olarak işaretlemek, yol açabileceği en hafif sonuçtur.`})]}),`\n`,_jsx(Heading,{level:`2`,id:`sağlam-bir-uç-nokta-oluşturma`,children:`Sağlam bir uç nokta oluşturma`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Hemen yanıt verin.`}),` Yükü alır almaz 200 döndürün, işlemleri sonra yapın. Yavaş bir uç nokta, bozuk bir uç nokta gibi görünür.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Tekrarları bekleyin.`}),` Gönderimler tekrarlanabilir. `,_jsx(_components.code,{children:`orderId`}),`, durum ve zaman damgasını anahtar olarak kullanın ve yeniden işlemeyi zararsız hâle getirin.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Sırasız gelmelerini bekleyin.`}),` Ağ zamanlaması durum makinenize uymaz. Eski bir olay geç geldi diye bir siparişi asla geriye taşımayın.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Ham gövdeyi ayrıştırmadan önce kaydedin.`}),` Bir entegrasyon gece saat 2’de sorun çıkardığında, ihtiyacınız olan yük tam da saklamadığınız yüktür.`]}),`\n`]}),`\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/authentication`,children:`Kimlik Doğrulama`}),` — belirteçler ve test ortamı.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/tr/modules/sales-channels/updates`,children:`Durum ve Takip Güncellemeleri`}),` — aynı olayların bir satış kanalına gönderilmesi.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/tr/developers/rest-api-reference`,children:`Uç nokta dizini`}),` — geri kalan her şey.`]}),`\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":"Webhook olayları ve veri paketleri","sidebarTitle":"Webhook olayları","description":"OTO API ile bir webhook kaydedin, üç olay türünün her birinin ne gönderdiğini görün, HMAC-SHA256 imzalarını doğrulayın ve sağlam bir uç nokta kurun.","href":"/tr/developers/webhook-events"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Üç olay türü","slug":"üç-olay-türü","depth":2,"children":[]},{"title":"Webhook kaydetme","slug":"webhook-kaydetme","depth":2,"children":[]},{"title":"Neler gelir?","slug":"neler-gelir","depth":2,"children":[]},{"title":"OTO’dan geldiğini doğrulama","slug":"oto’dan-geldiğini-doğrulama","depth":2,"children":[]},{"title":"Sağlam bir uç nokta oluşturma","slug":"sağlam-bir-uç-nokta-oluşturma","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":"Webhook olayları ve veri paketleri - OTO Docs","relatedPagesConfig":{"enabled":true,"limit":3,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/developers/webhook-events","matchLevel":1},"ar":{"href":"/ar/developers/webhook-events","matchLevel":1},"tr":{"href":"/tr/developers/webhook-events","matchLevel":0}}},"lastModified":"2026-10-22T15:40:13.587Z","originalFileLocation":"tr/developers/webhook-events.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 ile bir webhook kaydedin, üç olay türünün her birinin ne gönderdiğini görün, HMAC-SHA256 imzalarını doğrulayın ve sağlam bir uç nokta kurun.\">\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=\"Webhook olayları ve veri paketleri - OTO Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"OTO API ile bir webhook kaydedin, üç olay türünün her birinin ne gönderdiğini görün, HMAC-SHA256 imzalarını doğrulayın ve sağlam bir uç nokta kurun.\">\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/webhook-events\">\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=Webhook+olaylar%C4%B1+ve+veri+paketleri\u0026amp;description=OTO+API+ile+bir+webhook+kaydedin%2C+%C3%BC%C3%A7+olay+t%C3%BCr%C3%BCn%C3%BCn+her+birinin+ne+g%C3%B6nderdi%C4%9Fini+g%C3%B6r%C3%BCn%2C+HMAC-SHA256+imzalar%C4%B1n%C4%B1+do%C4%9Frulay%C4%B1n+ve+sa%C4%9Flam+bir+u%C3%A7+nokta+kurun.\u0026amp;theme=fb0540dacc0ff6c761581805\u0026amp;signature=7aba9325106029d80b4343f8c0e559d579aa06885f7c567c652f510d7e50486e\">\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=\"Webhook olayları ve veri paketleri - OTO Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"OTO API ile bir webhook kaydedin, üç olay türünün her birinin ne gönderdiğini görün, HMAC-SHA256 imzalarını doğrulayın ve sağlam bir uç nokta kurun.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://oto.mintlify.app/_mintlify/api/og/v2?division=Geli%C5%9Ftiriciler\u0026amp;title=Webhook+olaylar%C4%B1+ve+veri+paketleri\u0026amp;description=OTO+API+ile+bir+webhook+kaydedin%2C+%C3%BC%C3%A7+olay+t%C3%BCr%C3%BCn%C3%BCn+her+birinin+ne+g%C3%B6nderdi%C4%9Fini+g%C3%B6r%C3%BCn%2C+HMAC-SHA256+imzalar%C4%B1n%C4%B1+do%C4%9Frulay%C4%B1n+ve+sa%C4%9Flam+bir+u%C3%A7+nokta+kurun.\u0026amp;theme=fb0540dacc0ff6c761581805\u0026amp;signature=7aba9325106029d80b4343f8c0e559d579aa06885f7c567c652f510d7e50486e\">\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/webhook-events\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/tr/developers/webhook-events.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"tr\" href=\"https://docs.tryoto.com/tr/developers/webhook-events\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.tryoto.com/developers/webhook-events\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ar\" href=\"https://docs.tryoto.com/ar/developers/webhook-events\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.tryoto.com/developers/webhook-events\">\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/webhook-events#webpage\",\"url\":\"https://docs.tryoto.com/tr/developers/webhook-events\",\"name\":\"Webhook olayları ve veri paketleri\",\"description\":\"OTO API ile bir webhook kaydedin, üç olay türünün her birinin ne gönderdiğini görün, HMAC-SHA256 imzalarını doğrulayın ve sağlam bir uç nokta kurun.\",\"dateModified\":\"2026-10-22T15:40:13.587Z\",\"isPartOf\":{\"@id\":\"https://docs.tryoto.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.tryoto.com/tr/developers/webhook-events#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.tryoto.com/tr/developers/webhook-events#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Geliştiriciler\",\"item\":\"https://docs.tryoto.com/tr/developers/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Webhook olayları ve veri paketleri\",\"item\":\"https://docs.tryoto.com/tr/developers/webhook-events\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.tryoto.com/tr/developers/webhook-events#article\",\"headline\":\"Webhook olayları ve veri paketleri\",\"name\":\"Webhook olayları ve veri paketleri\",\"description\":\"OTO API ile bir webhook kaydedin, üç olay türünün her birinin ne gönderdiğini görün, HMAC-SHA256 imzalarını doğrulayın ve sağlam bir uç nokta kurun.\",\"url\":\"https://docs.tryoto.com/tr/developers/webhook-events\",\"mainEntityOfPage\":{\"@id\":\"https://docs.tryoto.com/tr/developers/webhook-events#webpage\"},\"dateModified\":\"2026-10-22T15:40:13.587Z\",\"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/webhook-events"}]},{"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/webhook-events"}]},{"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ğı","description":"OTO REST API’nin 20 grupta toplanan 76 uç noktası, her birinin ne işe yaradığı ve onu içeren en düşük plan. Tüm şemalar apis.tryoto.com adresindedir.","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","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":"Webhook olayları ve veri paketleri - OTO Docs","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":[],"chunks":[]}