{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"5b6fbb1e-f1ae-41d5-9f59-1ce6cd4de4e8","name":"Qapida","description":"# Qapida — Partnyor Konnektor API\n\nPartnyorlar bağlama məlumatlarını **qutu** (`uid`) məntiqi ilə Qapida xidmətinə göndərir. Hər sorğuda **1–3000** bağlama göndərmək olar. Qutu adında göndərilmə tarixindən istifadə oxunaqlığı artırır, məsələn: `XKargo 24.10.2024`. Eyni qutu adı ilə bir neçə sorğu göndərilə bilər — yeni bağlamalar həmin qutuya əlavə olunur.\n\n## Qoşulma prosesi: test → prod\n\n1. Partnyor inteqrasiyanı öz tərəfində hazırlayır.\n2. Qapida partnyora **test API açarı** verir. Test açarı ilə göndərilən bağlamalar ayrıca test şirkətinə yazılır və real çatdırılmaya getmir.\n3. Bütün ssenarilər (göndərmə, xəta cavabları, nəticənin alınması, geri dönüşlər) test açarı ilə yoxlanılır.\n4. Test uğurla bitdikdən sonra Qapida **prod API açarı** verir. Prod açarı ilə göndərilən bağlamalar real əməliyyata daxil olur.\n\nBütün partnyorlar eyni ünvandan istifadə edir — şirkəti **API açarı** müəyyən edir:\n\n| Dəyişən | Dəyər |\n|---|---|\n| `{{host}}` | `https://qapida-4dctuoc5.nw.gateway.dev` |\n| `{{api-key}}` | Qapida tərəfindən verilən açar (əvvəlcə test, sonra prod) |\n\nAPI açarı olmadıqda və ya yanlış olduqda **401** qaytarılır.\n\n## Limitlər\n\n| Sorğu | Limit |\n|---|---|\n| `PUT /v1/packages` (göndərmə) | dəqiqədə **10** sorğu |\n| `GET /v1/packages` (nəticə) | dəqiqədə **60** sorğu, hər barkod üzrə maksimum **2** dəfə |\n\nLimit aşıldıqda **429** qaytarılır. Çoxlu bağlamanı ayrı-ayrı sorğularla deyil, bir sorğuda (3000-ə qədər) göndərin.\n\n## Xidmət növləri\n\nHər bağlamada `service_type` sahəsi ilə xidmət seçilir:\n\n| `service_type` | Xidmət | Son status |\n|---|---|---|\n| boş və ya `delivery` | Çatdırılma — kuryer bağlamanı müştəriyə çatdırır | 5 / 6 |\n| `sorting` | Çeşidləmə — Qapida anbarında bağlamalar partnyorun sürücü/məntəqələrinə görə çeşidlənir, partnyor özü götürür | 13 |\n| `distribution` | Paylama — çeşidləmə + Qapida kuryeri məntəqənin bütün bağlamalarını məntəqəyə çatdırır | 14 |\n\nÇeşidləmə və paylama yalnız partnyor üçün aktivləşdirildikdən sonra qəbul olunur (əks halda həmin bağlama xəta ilə qaytarılır). Ətraflı: **Çeşidləmə / Paylama** qovluğu.\n\n## Status kodları\n\n| Status | Açıqlama |\n|---|---|\n| 0 | Qəbul edildi (anbar bağlamanı yoxladı və qəbul etdi) |\n| 4 | Yoldadır (kuryer bağlamanı çatdırılma üçün qəbul etdi) |\n| 5 | Çatdırıldı |\n| 6 | Çatdırılmadı (bağlama geri qaytarılır) |\n| 7 | İmtina edildi (bağlama əməliyyatsız geri qaytarıldı) |\n| 13 | Çeşidləndi (çeşidləmə / paylama xidməti) |\n| 14 | Məntəqəyə çatdırıldı (paylama xidməti) |\n\n**Reason (səbəb)** yalnız status **6** üçün göndərilir:\n\n| Reason | Açıqlama |\n|---|---|\n| `RecipientNotFound` | Telefon zəngi cavablandırılmadı, ünvanda heç kim yoxdur, FİN kodu uyğun gəlmir |\n| `WrongAddress` | Ünvan aydın deyil və ya yanlışdır |\n| `RefusedByRecipient` | Müştəri bağlamadan imtina etdi |\n| `NoAccess` | Ünvana giriş yoxdur |\n\n## Geri dönüş (callback)\n\nQapida status dəyişikliklərini partnyorun təqdim etdiyi API ünvanına göndərir:\n\n```json\n[\n  {\n    \"barcode\": \"DEMO0000000001\",\n    \"status\": 6,\n    \"reason\": \"WrongAddress\",\n    \"signature_url\": \"https://...\",\n    \"images\": [\"https://...\", \"https://...\"]\n  }\n]\n```\n\n- Geri dönüşləri göndərən IP ünvanı: **35.207.189.140**.\n- Hər sorğunun `X-Request-ID` başlığı unikaldır — sinxronizasiya üçün istifadə edə bilərsiniz.\n- Partnyor **HTTP 201** qaytarmadıqda status yenidən göndərilir: **hər 5 dəqiqədən bir (08:00–23:00)**, maksimum **5 dəfə**. Ona görə eyni statusun təkrar gəlməsi mümkündür — bunun müştəriyə/üçüncü tərəfə təkrar ötürülməməsini partnyor təmin etməlidir.\n- 5 cəhddən sonra da alınmazsa, status Qapida Partnyor Portalından izlənilməlidir.\n\n## İmza və şəkillər (POD)\n\n- **Çatdırıldı (5)** və **Çatdırılmadı (6)** statuslarında müştərinin rəqəmsal imzası və şəkillər **link** olaraq göndərilir.\n- Hər link **10 dəqiqə** etibarlıdır — partnyor faylları bu müddətdə öz sisteminə yükləməlidir.\n- Formatlar: `PNG`, `JPEG`; orta ölçü ~250 KB.\n- Yükləmə alınmazsa `GET` sorğusu ilə yeni linklər əldə edin (hər barkod üzrə 2 dəfə).\n\n## Səhvən göndərilmiş bağlamalar\n\nBağlama səhvən göndərilibsə, Qapida-da imtina (7) kimi qeyd olunur və fiziki qəbul edilibsə partnyora qaytarılır.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"11395166","team":23244636,"collectionId":"5b6fbb1e-f1ae-41d5-9f59-1ce6cd4de4e8","publishedId":"2sBYHQ1hQs","public":true,"publicUrl":"https://documenter-api.postman.tech/view/11395166/2sBYHQ1hQs","privateUrl":"https://go.postman.co/documentation/11395166-5b6fbb1e-f1ae-41d5-9f59-1ce6cd4de4e8","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.12.8","publishDate":"2026-10-08T20:00:19.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/69493bc28bb29298bc2f115d47d2f4f8b634e5d17babafd9feec47cdf34dc0d6","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/2sBYHQ1hQs"}