{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"ca6fb85e-e9fb-4e2d-9e4f-124bc2fc0a0e","name":"Qapida","description":"#### Partnyor üçün Konnektor API\n\nKonnektor partnyorlara **qutu** məntiqi ilə bağlama məlumatlarını qapida servisinə göndərə bilirlər. Hər qutuda 1-3000 bağlama qəbul edilməsi mümkündür. Qutu adında göndərildiyi tarixin istifadə edilməsi oxunaqlığı artırır. Nümunə: \\[partnyor\\] \\[date: DD:MM:YYYY\\] - XKargo 24.10.2024 .\n\nTest bağlamaları göndərilərkən zəhmətolmasa qutu adında test sözünü əlavə edin.  \nMəsələn: XKargo test 24.10.2024\n\n**Limit**\n\nDəqiqədə **3** requestdən artıq olduqda **429** xətası qayıdacaqdır.\n\n#### Geri dönüş\n\nHəmçinin Qapida xidməti Partnyor tərəfindən təqdim edilmiş APİ ünvanına default olaraq aşağıdakı məlumatları qaytaracaqdır.\n\nBəzi hallarda Qapida xidməti status məlumatını partyorun xidmətinə təqdim etmiş olsada HTTP 201 cavabı almadığı üçün prosesi təkrarlaya bilər. Bu hallarda 3cü tərəfə (**müştəri/digər partnyor**) təkrar status getməməsi Partyor tərəfindən təmin edilməlidir.\n\nGeri dönüşləri göndərəcək IP ünvanımız: **35.207.189.140**\n\n#### **İmza və Şəkillər (POD)**\n\n- **Delivered (Çatdırıldı) və NotDelivered (Çatdırılmadı) statuslarında** müştərinin digital imza nümunəsi və şəkillər əlavə olunacaqdır.\n    \n- **Şəkil və imzalar link olaraq təqdim ediləcək**, partnyorlar bu link vasitəsi ilə faylları yükləməli və öz sistemində istifadə etməlidir. Linklər təqdim edildiyi andan hər bir link üzrə 10 dəqiqəlik bitmə vaxtı (expire date) olacaqdır. Bu vaxt ərzində partnyor faylları öz sisteminə yükləməlidir.\n    \n- **İmza və Şəkil üçün standart formatlar:** `PNG`, `JPEG`. Kuryerlərdən fayllar yalnız bu formatlarda qəbul edilir və göndərilir. Faylların orta ölçüsü **250KB.**\n    \n\n#### Geri dönüş: **Xətalar**\n\n- **Callback xətası baş verərsə, callback avtomatik təkrarlanacaqdır.** Bu proses 1 saatlıq fasilələrlə xəta düzələnə və ya maksimum 5 dəfəyə qədər təkrarlanır. Əgər xəta davam edərsə məlumatın göndərilməsi mümkün olmayacaq və status məlumatı üçün Qapida Partyor Portalından istifadə edilməlidir.\n    \n- **Şəkillərin yüklənmə mərhələsində xəta baş verərsə qapida tərəfində bu görünmür.** Bu halda **GET endpoint** istifadə edilməli və məlumatlar APİ vasitəsi ilə yenidən çəkilməlidir. İmza və şəkillər təkrar olaraq 10 dəqiqəlik bitmə vaxtı ilə göndəriləcəkdir. GET hər barkod üzrə maksimum 2 dəfə istifadə edilə bilər. Əgər uğursuz olarsa mlumatlar üçün Qapida Partnyor Portalı istifadə edilməlidir\n    \n\n## **Status Kodları**\n\nAşağıdakı statuslar geri dönüş məlumatlarında olacaqdır:\n\n| Status Kodu | 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ıldı) |\n| **7** | **İmtina edildi** (Bağlama əməliyyatsız geri qaytarıldı - müxtəlif səbəblərdən) |\n\n#### Reason\n\nif Status == 6 then reason = (RecipientNotFound || WrongAddress || RefusedByRecipient || NoAccess)\n\n| Reason (Səbəb) | Açıqlama |\n| --- | --- |\n| **RecipientNotFound** | Telefon zəngi cavablandırılmadı, çatdırılma ünvanında heç kim yoxdur, səhv FIN kodu (təqdim edilən sənədin FIN kodu uyğun gəlmir) |\n| **WrongAddress** | Ünvan aydın deyil, yalnış göstərilib |\n| **RefusedByRecipient** | Müştəri bağlamadan imtina etdi, filialdan özü götürəcək |\n| **NoAccess** | Giriş yoxdur, ünvana çatmaq mümkün deyil |\n\n``` json\n[\n {\n    \"barcode\": \"XXX0208408162\",\n    \"status\": 6,\n    \"reason\": \"WrongAddress\",\n    \"signature_url\":\"customer_signature_image_url\",\n    \"images\":[\"image_url_10_minute_expire_1\",\"image_url_10_minute_expire_2\"]\n }\n]\n\n ```\n\nPartnyor APİ-ni özündə tətbiq etdikdən sonra Test üçün Host və APİKey almalıdır. Host partnyora unikal hazırlanır. **APİKey** partnyora unikal olaraq yaradılır və authentication üçün istifadə edilir. **APİKey** olmadıqda **401** xətası qayıdacaqdır.\n\n> _Bəzi hallarda bağlama məlumatları yalnışlıqla Qapida xidmətinə göndərilə bilər. Bu hallarda Qapıda xidmətində bu bağlama statusu imtina olaraq göstərilir və bağlama fiziki olaraqq qəbul edilibsə geri qaytarılır._ \n  \n\nPartyor hemçinin geri dönüşlərdə sinxronizasiya üçün header de olan `X-Request-ID`\\-ni istifade ede biler. Bu id her emeliyyata unique yaradilir.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"11395166","collectionId":"ca6fb85e-e9fb-4e2d-9e4f-124bc2fc0a0e","publishedId":"2s9YeA9E8V","public":true,"publicUrl":"https://documenter-api.postman.tech/view/11395166/2s9YeA9E8V","privateUrl":"https://go.postman.co/documentation/11395166-ca6fb85e-e9fb-4e2d-9e4f-124bc2fc0a0e","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.10.0","publishDate":"2023-11-21T07:45:22.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/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","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/2s9YeA9E8V"}