Yurtiçi Kargo
Yurtiçi Kargo KOPS API: kurye etiketi (ZPL), takip, tahmini teslim, iade kodu, kapıda ödeme
Yurtici Kargo
KOPS web servisinin sekiz operasyonunun tamami: etiket, takip, tahmini teslim, iade kodu, kapida odeme / All eight KOPS operations: label, tracking, estimated delivery, return codes, cash on delivery
Yurtici Kargo'nun KOPS web servisine dogrudan baglanir. Araci yoktur; kendi kargo hesabinizin kimlik bilgilerini girersiniz. Istekler servisin kendi WSDL sozlesmesine gore uretilir. / Connects straight to Yurtici Kargo's KOPS web service. There is no middleman: you enter your own carrier account credentials. Requests are built against the service's own WSDL contract.
Ozellikler / Features
Kurye etiketi (barkod + ZPL)
Courier label (barcode + ZPL)
createShipmentWithDelivery cagrisi her koli icin Yurtici'nin kendi barkodunu ve yaziciya hazir ZPL etiketini dondurur. Etiket yerel olarak cizilmez; gelen veri oldugu gibi saklanir ve tek tikla indirilir. ZPL etiketinin gelmesi icin teslimat yontemindeki Label Data Format (docCargoZplDataFormat) kutusu, Yurtici'nin verdigi veri bicimi koduyla doldurulmalidir; Yurtici barkod verip ZPL dondurmezse sevkiyatta uyari ve not cikar, yanit API kaydinda saklanir. Yurtiçi'nin etiketi yalnız Ortak Barkod (Özel Çözümler) hizmeti açık hesaplarda döner. Standart Giden Kargo (Web Entegrasyon) hesabında etiketi Yurtiçi şubesi basar; bu durumda Request Courier Label kapalı kullanılır.
The createShipmentWithDelivery call returns Yurtici's own barcode and a printer-ready ZPL label for every parcel. Nothing is drawn locally: the label is stored as received and downloaded with one click. For the ZPL to come back, fill the Label Data Format (docCargoZplDataFormat) box of the delivery method with the data format code Yurtici gave you; if Yurtici returns a barcode without ZPL, the picking shows a warning and a note and the answer is kept in the API log. Yurtiçi's label comes back only on accounts with the Ortak Barkod (Special Solutions) service. On a Standard Outgoing Cargo (Web Entegrasyon) account the Yurtiçi branch prints the label; use Request Courier Label off there.
Tahmini teslim tarihi
Estimated delivery
queryShipmentDetail ile tahmini teslim tarihi, saati, is gunu cinsinden sure ve mesafe sevkiyat kaydina yazilir.
queryShipmentDetail writes the estimated delivery date and time, the duration in working days and the shipment distance onto the picking.
Derin takip
Deep tracking
Teslim subesi, teslim alan kisi, son hareket, ret sebebi ve iade durumu queryShipment yanitindan alinir. Gecmis hareketler istege bagli olarak istenir.
Delivery branch, who received it, the last movement, the rejection reason and the return status all come from the queryShipment response. Movement history is requested on demand.
Sube / otomat teslimi
Pickup point delivery
Sevkiyata bir KTN noktasi kodu girildiginde gonderi adrese degil o noktaya yonlendirilir.
Set a KTN pickup-point code on the picking and the parcel is routed to that point instead of the recipient address.
Iade kargo kodlari
Return shipment codes
Gecerlilik araligi ve kullanim adedi olan iade kodlari Odoo icinde olusturulur, Yurtici'ye kaydedilir ve gerektiginde iptal edilir.
Return codes with a validity window and a maximum number of uses are created in Odoo, registered with Yurtici and cancelled when no longer needed.
Kapida odeme
Cash on delivery
Tahsilat tutari, tahsilat tipi, belge kimligi ve belge kayit tipi doldurdugunuz kadariyla KOPS alanlarina gonderilir; bos biraktiginiz kod icin eleman gonderilmez. Tutar o sevkiyatta giden miktarin karsiligidir; siparis iki parca halinde ciktiginda tam tutar iki kez tahsil edilmez. Tahsilat tipi ve belge kodlari kendi Yurtici sozlesmenize ait oldugu icin ayar olarak birakilmistir, tahmin edilmez. Yurtici TL tahsil ettigi icin baska para birimindeki siparis cevrilmez, reddedilir. Stok hareketi olmayan siparis satirlari (kargo ucreti, hizmet, indirim satiri) sevkiyatlara tasidiklari urun tutari oraninda paylastirilir; tum sevkiyatlar ciktiginda toplam siparis tutarina esit olur. Set (kit) urunlerde tutar tam set sayisina gore hesaplanir; setin bir kismini tasiyan sevkiyat nedeni soylenerek durdurulur.
The collection amount, collection type, document id and document save type are sent as far as you fill them in; a code you leave empty is sent as no element at all. The amount is the part of the order that is in this shipment, so a split delivery does not collect the full total twice. The collection type and document codes belong to your own Yurtici contract, so they are settings rather than guesses. Yurtici collects in TRY, so an order in another currency is refused rather than converted. Order lines without a stock move (delivery fee, a service, a discount line) are shared across the shipments in proportion to the goods value each one carries, so once everything has shipped the amounts add up to the order total. Kits are collected per whole kit; a shipment carrying part of a kit is refused with the reason.
Cok depolu gonderici
Multi-warehouse sender
Gonderici musteri ve adres kimligi teslimat yontemi bazinda ayarlanir, boylece farkli depolardan cikan gonderiler dogru adresle eslesir. Bu iki kimlik yalnizca kurye etiketi acikken gonderilir: KOPS'ta XESender blogu yalnizca createShipmentWithDelivery cagrisinda vardir.
The sender customer and address id are set per delivery method, so shipments leaving different warehouses carry the right pickup address. They are sent only with the courier label on: KOPS declares the XESender block on createShipmentWithDelivery alone.
Durum yenileme gorevi
Status refresh job
Zamanlanmis gorev yoldaki gonderileri kendi tasiyici kaydinin kimlik bilgileriyle sorgular; Turkce durum yanitlari ortak degerlere cevrilir, teslim edilen gonderi kuyruktan cikar, belirlenen gun sayisindan eski gonderiler artik sorgulanmaz. Gorev yeni kurulumda acik gelir; mevcut bir kurulumu yukselttiyseniz kendi ayariniz korunur, gorevi Zamanlanmis Islemler altindan siz acarsiniz. En uzun suredir sorulmayan gonderi once sorulur, boylece yoldaki gonderi sayisi cok oldugunda da hepsi sirayla yenilenir; teslim subesi, teslim alan, son hareket, ret sebebi ve iade durumu da gorev tarafindan yazilir.
The scheduled job queries shipments in transit with their own carrier record's credentials; Turkish status answers are mapped to canonical values, a delivered parcel leaves the queue and shipments older than the configured number of days are dropped. It is on in a new installation; upgrading an existing one keeps your own setting, so enable it under Scheduled Actions if you want it. The shipment asked least recently is asked first, so with many parcels in transit every one of them is refreshed in turn; the delivery branch, receiver, last event, rejection reason and return status are written by the job as well.
Cagri bazinda API kaydi
Per-call API log
Her KOPS cagrisi operasyon adi, sure ve yanit ozetiyle kaydedilir; hata durumunda servis mesaji oldugu gibi saklanir.
Every KOPS call is logged with its operation name, duration and response excerpt; on failure the service message is kept verbatim.
Ekran Goruntuleri / Screenshots
Sevkiyat uzerinde kurye barkodu, ZPL etiketi, tahmini teslim ve takip detayi
Courier barcode, ZPL label, estimated delivery and tracking detail on the picking
Teslimat yontemi: etiket, gonderici ve kapida odeme ayarlari
Delivery method: label, sender and cash-on-delivery settings
Iade kargo kodlari listesi
Return shipment code list
Iade kodu: gecerlilik araligi ve kullanim adedi
Return code: validity window and maximum uses
KOPS cagri kaydi
KOPS call log
Desteklenen KOPS Operasyonlari / Supported KOPS operations
| Operasyon | Aciklama | Description |
|---|---|---|
createShipment | Gonderi olusturma | Create a shipment |
createShipmentWithDelivery | Etiketli gonderi (barkod + ZPL) | Labelled shipment (barcode + ZPL) |
createShipmentDetail | Toplu gonderi (istemci katmaninda mevcut; sevkiyat ekranindan tetiklenmez) | Bulk shipment (available at the client layer; not triggered from the picking screen) |
cancelShipment | Gonderi iptali | Cancel a shipment |
queryShipment | Durum ve takip | Status and tracking |
queryShipmentDetail | Tahmini teslim ve sure | Estimated delivery and duration |
saveReturnShipmentCode | Iade kodu kaydi | Register a return code |
cancelReturnShipmentCode | Iade kodu iptali | Cancel a return code |
addressVerify (CustomerIntegrationService) | Gonderi oncesi adres kontrolu: il, ilce, mahalle, sokak ve teslim birimi (istege bagli) | Address check before sending: province, district, neighbourhood, street and delivery unit (optional) |
saveCustomerWithDeliveryInfo (CustomerIntegrationService) | Aliciyi Yurtici'ye kaydetme, alici kimliklerini gonderiye ekleme (istege bagli, yalnizca etiketli gonderi) | Register the recipient with Yurtici and send its receiver ids (optional, courier-label shipments only) |
Bu liste servisin kendi WSDL dosyasindan cikarilmistir ve moduldeki kodla birebir ortusur. / This list is derived from the service's own WSDL and matches the code one to one.
Teknik / Technical
- Uyumlu / Compatible: Odoo 18.0 / 19.0 / 20.0
- Lisans / Licence: OPL-1
- Diller / Languages: TR, EN
- Bagimliliklar / Depends: delivery, stock
- Servis / Service: KOPS ShippingOrderDispatcherServices, CustomerIntegrationService (SOAP, document/literal)
- Sozlesme dogrulamasi / Contract check: servis WSDL'inin sema dosyasi pakette, her istek zarfi ona gore dogrulanir / the service's own schema ships with the module and every request envelope is validated against it
- Gelistirici / Author: Pokutsoft
- Destek / Support: support@pokutsoft.com
- Update date: 2026-10-05
Bu surumde yenilikler / What's new
- Gönderi iptali onayı: Sevkiyat yalnız Yurtiçi kargo çıkışını engellediğini (CNL) ya da gönderinin önceden iptal edildiğini (ISC) söylerse iptal sayılır. Şubede işlem görmüş gönderide Yurtiçi iptal yerine iade isteği açar (IND) ya da gönderi teslim edilmiştir (DLV): bu durumda sevkiyat değişmez, Yurtiçi'nin cevabı gösterilir ve API kaydında saklanır / Cancellation is confirmed by Yurtici: a transfer is marked cancelled only when Yurtici answers CNL (exit blocked) or ISC (cancelled before). For a parcel the branch already processed Yurtici opens a return request instead (IND), or the parcel was delivered (DLV): the transfer then stays as it is, and Yurtici's answer is shown and kept in the API log
- Etiket ve hesap modeli: Yurtiçi'nin etiketi yalnız Ortak Barkod (Özel Çözümler) hizmeti açık hesaplarda döner. Standart Giden Kargo (Web Entegrasyon) hesabında etiketi Yurtiçi şubesi basar; bu durumda Request Courier Label kapalı kullanılır. Varış birimi uyarısı ve notu iki hesap modelini ayırır / Label and account model: Yurtiçi's label comes back only on accounts with the Ortak Barkod (Special Solutions) service. On a Standard Outgoing Cargo (Web Entegrasyon) account the Yurtiçi branch prints the label; use Request Courier Label off there. The destination-unit warning and note now tell the two account models apart
- Kapida odeme ve desi, farkli satis birimi: Satis birimi urun biriminden farkliyken (1 Koli = 12 Adet, 1 Bundle = 100 m) kapida odeme tutari artik siparis satirinin tutari kadardir, birim oraninda katlanmaz; desi, satis birimi stok hareketine tasindiginda da urun birimindeki miktardan hesaplanir / Cash on delivery and desi with a different sale unit: when an order line is sold in another unit than the product (1 box of 12, 1 bundle of 100 m) the amount collected is the line total again, no longer multiplied by the unit ratio, and desi is measured in the product unit even when the sale unit is kept on the stock move
- Varis birimi (routingFlag): Yurtici etiketli gonderiyi olusturup varis birimi atayamadiginda (yanitta routingFlag=0, etikette "VM BELIRSIZ (NO ROUTING)") bu artik sessiz gecmez: sevkiyatta uyari ve not cikar, yanit maskeli istekle birlikte API kaydinda saklanir, "Yurtici: No Routing" filtresi bu sevkiyatlari listeler. Standart Giden Kargo (Web Entegrasyon) hesabında bu beklenen sonuçtur: Yurtiçi bu modelde etiket döndürmez, varış birimini kargo şubeye verildiğinde şube belirler. / Destination unit: when Yurtici creates a labelled shipment without a destination unit (routingFlag=0, "VM BELIRSIZ (NO ROUTING)" on the label) the transfer now shows a warning and a note, the answer is kept in the API log with the masked request, and the "Yurtici: No Routing" filter lists such transfers. On a Standard Outgoing Cargo (Web Entegrasyon) account this is the expected result: Yurtiçi returns no label on that model and the branch sets the destination unit when the parcel is handed over.
- Gonderi oncesi adres kontrolu (istege bagli): Teslimat yonteminde acilirsa her gonderiden once Yurtici'nin adres kontrolu (addressVerify) sorulur; mahalle ya da teslim birimi bulunamazsa gonderi Yurtici'ye gitmeden durdurulur ve Yurtici'nin adresi nasil okudugu gosterilir. Kontrol calisamazsa (yetki, servis hatasi) gonderi engellenmez, not duser. Sevkiyatta "Yurtici ile Adresi Kontrol Et" dugmesi ve tek seferlik "Adres Kontrolu Olmadan Gonder" secenegi / Optional address check before sending: Yurtici's addressVerify is asked before each shipment; with no neighbourhood or no delivery unit the shipment is stopped before it is sent and what Yurtici read is shown. A check that cannot run never blocks. A "Check Address with Yurtici" button and a one-off "Send Without Address Check" option on the transfer
- Alici kaydi (istege bagli): Etiketli gonderide alici saveCustomerWithDeliveryInfo ile Yurtici'ye kaydedilir, donen alici kimlikleri kisiye yazilir ve adres degismedikce gonderiyle birlikte gider; adres degisince eski kimlikler gonderilmez / Optional recipient registration: courier-label shipments register the recipient and send the receiver ids Yurtici returns; they are kept on the contact and dropped when its address changes
- Mahalle ipucu: Teslimat yontemi formunda ve kisi adresinde mahallenin sokak satirina yazilmasi gerektigini anlatan aciklama / Neighbourhood hint on the delivery method and under the contact address: write the neighbourhood (Mahalle) in the street line
- Parola erisimi: Yurtici parolasini artik yalnizca teslimat yontemini duzenleyebilen kullanicilar (sistem yoneticisi, stok yoneticisi, satis yoneticisi) okuyabilir; stok kullanicisi gonderi olusturmaya, iptal etmeye ve iade kodu kaydetmeye devam eder / The Yurtici password can now be read only by the users who can edit the delivery method (administrator, inventory manager, sales manager); stock users still create and cancel shipments and register return codes
- Kapida odeme, ek satirlar: Kargo ucreti, hizmet ve indirim gibi stok hareketi olmayan siparis satirlari tahsilat tutarina girer; sevkiyatlara urun tutari oraninda paylastirilir / Cash on delivery now includes order lines without a stock move (delivery fee, services, discount lines), shared across the shipments by goods value
- Kapida odeme, setler: Set (kit) urunde tutar her bilesen icin ayri ayri degil, tam set sayisina gore hesaplanir; setin bir kismini tasiyan sevkiyat nedeni soylenerek durdurulur / Cash on delivery for kits is computed per whole kit instead of once per component; a shipment carrying part of a kit is refused with the reason
- Durum gorevi, derin takip: Zamanlanmis gorev de teslim subesi, teslim alan, son hareket, ret sebebi ve iade durumunu yazar (daha once yalnizca buton yaziyordu) / The status job now writes the delivery branch, receiver, last event, rejection reason and return status too, not only the button
- Durum gorevi, sira: En uzun suredir sorulmayan gonderi once sorulur; hata veren ya da atlanan gonderiler artik kuyrugun basinda kalip digerlerini bekletmez / The status job asks the shipment asked least recently first; a shipment that fails or is skipped no longer holds the head of the queue
- API kaydi: Elle takip yenileme (durum ve tahmini teslim cagrilari), baglanti testi ve iade kodu kaydetme/iptal cagrilari da API kaydina yazilir / The manual tracking refresh (both calls), the connection test and return-code register/cancel are now written to the API log too
- Gonderi iptali: Iptal notu artik gercek takip numarasini yaziyor ("Shipment False cancelled" yerine); iptal edilen gonderinin etiketi indirilemez, ZPL kayitta kanit olarak kalir / The cancel note names the real tracking number instead of "False"; the label of a cancelled shipment can no longer be downloaded, the ZPL stays on the record
- Coklu sirket: API kayitlari ve iade kodlari sirkete baglanir; bir sirketin kullanicisi diger sirketin kayitlarini gormez (sirketsiz eski kayitlar herkese gorunmeye devam eder) / API log rows and return codes belong to a company; users of one company no longer see another company's rows (older rows without a company stay visible to all)
- Takip yenileme hatasi: Yurtici takip sorgusunu reddederse buton artik sessiz kalmaz, sevkiyati ve servis mesajini yazan bir uyari gosterir / A refused tracking refresh now shows a warning naming the transfer and the service message instead of doing nothing visible
- Il kodu (cityId): Turkiye illerinde Odoo'nun il kodu (plaka numarasi, 01-81) cityId olarak kendiliginden gonderilir; Yurtici farkli bir kod verdiyse Il Kodlari listesine girilen kod kazanir. Ikisi de olmayan ilde etiketli gonderi Yurtici'ye gitmeden nedeni soylenerek durdurulur; Yurtici cityId'siz etiket istegini errCode 9999 ile reddediyordu / cityId: a Turkish province sends Odoo's own province code (the plate number, 01-81) by itself; a code entered under Province Codes wins. A province with neither stops the labelled shipment before it is sent, with the reason; Yurtici refused a label request without cityId (errCode 9999)
- Telefon: Ulke kodundan sonra 0 yazilmis numaralar da ("+90 (0545) 363 71 25", "0090 0545 ...") 10 haneli ulusal bicimde gonderilir / Numbers written with a 0 after the country code ("+90 (0545) 363 71 25", "0090 0545 ...") are also sent as the 10-digit national number
- ZPL'siz yanit: Yurtici barkod verip ZPL etiketi dondurmezse sevkiyata gonderilen uc etiket kodunu yazan bir not duser, sevkiyat formunda uyari gorunur ve bu yanit (maskeli istekle birlikte) API kaydinda saklanir; teslimat yontemindeki Label Data Format kutusu doldurulmalidir, bos oldugunda form uyarir / A barcode without a ZPL label is no longer silent: a note on the picking names the three label codes that were sent, the picking form shows a warning and that answer is kept in the API log with the masked request; fill the Label Data Format box of the delivery method, the form warns while it is empty
- Takip numarasi ve linki: Yurtici'nin dondurdugu gonderi kodu (docId, yoksa docNumber) takip numarasi olur; kod gelmeden takip linki olusturulmaz, elle ya da zamanlanmis yenileme kodu getirince takip numarasi ve link olusur. Durum gorevi artik kendi kargo anahtarimizi takip numarasinin uzerine yazmiyor / Tracking number and link: the shipment code Yurtici returns (docId, else docNumber) becomes the tracking number; no tracking link is built before a code arrives, and a manual or scheduled refresh that brings the code sets the number and the link. The status job no longer writes our own cargo key over the tracking number
- Bos adres: Sokak/cadde bilgisi bos (ya da yalnizca bosluk) olan adres icin etiketli gonderi Yurtici'ye gitmeden durdurulur / An address with an empty (or blank) street stops the labelled shipment before it is sent
- Aciklama (description): Kaynak belge (yoksa sevkiyat adi) ve gonderi iceriginden olusturulur, sevkiyatta elle de yazilabilir. Yurtici 10 karakterden kisa aciklamayi errCode 9999 ile reddediyordu (siparis adi "S00135" tek basina gidiyordu); artik kisa aciklama gonderilmez, nedeni soylenerek durdurulur / The description is built from the source document and the shipment content, or typed on the transfer; one shorter than the 10 characters Yurtici requires is refused with the reason instead of being sent
- Telefon: Turkiye numaralari 10 haneli ulusal bicimde gonderilir (+90 ve bosluklar atilir), yurt disi numaralar yazildigi gibi kalir; cep numarasi mobilePhone alanina da yazilir (Odoo 19'da kisinin tek numarasi cep ise) / Turkish numbers go out as the 10-digit national number, foreign ones as typed, and a mobile number also fills mobilePhone
- Teslim Eden (personGiver): Kurye etiketli gonderide zorunlu alan. Teslimat yonteminde varsayilan, sevkiyatta tek seferlik deger girilir; ikisi de bossa gonderi Yurtici'ye gitmeden durdurulur. Yurtici bu alansiz zarfi errCode 9999 ile reddediyordu / The "Teslim Eden" (personGiver) element the labelled call requires: a default on the delivery method, a one-off value on the transfer, and a refusal before anything is sent when both are empty
- Gonderi icerigi (shipmentContent): Sevkiyattaki ürun adlarindan ozetlenir; teslimat yonteminde veya sevkiyatta elle de yazilabilir / Shipment content, summarised from the products on the transfer or typed by hand
- Etiket bicimi: Yurtici'nin verdigi uc ayri kod (veri bicimi docCargoZplDataFormat, etiket tipi docCargoLabelType, zplType) ve karakter kodlamasi icin ayri kutular; her kutunun etiketi hangi XML alanina gittigini yaziyor / Three separate label-format boxes plus encoding, each labelled with the XML element it fills
- Hareket gecmisi: "Hareket gecmisi iste" acikken parcanin tum hareketleri (tarih, olay, sube, il/ilce) sevkiyat kaydina yazilir; bu veri daha once isteniyor ama okunmuyordu / Movement history: with the option on, every movement is written onto the transfer -- the answer was already being requested and never read
- Durum kaynagi: Sevkiyat durumu artik parcanin kendi hareketinden (cargoEventExplanation) okunuyor; sorgunun basarili olmasi durum olarak yazilmiyor / The status now comes from the parcel's own event instead of from "the query succeeded"
- Olculemeyen koli durduruluyor: Urunlerde ne agirlik ne hacim varsa gonderi 0 desi ile duyurulmaz; hangi urunlerin olcusuz oldugu soylenir (teslimat yonteminde varsayilan desi girilebilir) / A parcel with neither weight nor volume is refused by name instead of being announced as 0 desi
- Adres tekrari: Il kodu bos oldugunda il adi adrese ekleniyordu ("ankara ankara Ankara"); il adi artik adrese hic eklenmez, il cityId olarak gider ve adres yazildigi gibi gonderilir / The province was appended to the address when its code was empty ("ankara ankara Ankara"); it is now never appended: the province travels as cityId and the address goes out as typed
- Fatura anahtari (invoiceKey), tahsilat belge kimligi (ttDocumentId), sube teslim tipi/telefonu ve alici vergi kimligi icin alanlar; vergi kimligi varsayilan olarak KAPALI / New fields for invoiceKey, ttDocumentId, pickup-point delivery type and phone, and the recipient's tax identity (off by default)
- Tanimsiz yanit artik "olusturuldu" sayilmaz: KOPS'tan outFlag, errCode veya gonderi satiri iceren bir yanit gelmezse islem hata verir, sevkiyata hicbir sey yazilmaz / An answer carrying no outFlag, no errCode and no shipment detail is refused instead of being reported as created
- Etiketli gonderide barkod da belge numarasi da yoksa sevkiyat "olusturuldu" olarak isaretlenmez (yalnizca gonderi kodu docId donen yanit gonderi sayilir) / A label request that comes back without a barcode and without a document number no longer marks the transfer as created (an answer carrying only the shipment code docId counts as a shipment)
- Desi artik sevk edilen miktardan hesaplanir (siparis miktarindan degil), bolunmus sevkiyatta fazla desi bildirilmez / Desi is computed from the shipped quantity, not the ordered one
- Turkiye adresinde il secili degilse gonderi olusturulmaz; ilce adi il yerine gonderilmez (ulkesi bos olan adres Turkiye sayilir, Turkiye disi adreslerde il zorunlu degildir) / A Turkish delivery address without a province is refused rather than shipping the district name as the province; an address with no country counts as Turkish, and a non-Turkish one does not need a province
- API kaydi: basarili cagrilarda yanit govdesi saklanmaz (ozet + kargo anahtari), yalnizca reddedilen cagrilarda tam govde ve maskeli istek tutulur; kayitlar artik Stok kullanicisi yetkisiyle gorunur ve gunluk temizleme gorevi eski satirlari siler (varsayilan 30 gun, -1 sinirsiz) / API log: no answer body on successful calls, full body and masked request on refusals only, stock-user access instead of every employee, plus a daily retention job
- Durum yenileme gorevi: kimlik bilgisi eksik bir tasiyici artik tum gorevi durdurmuyor / The status cron skips a carrier with missing credentials instead of stopping
- HTTP 4xx yanitlari (ornegin vekil sunucudan gelen 403) artik durum kodu ile bildiriliyor, "bozuk XML" olarak degil / A 4xx answer is reported with its status code instead of as malformed XML
- Koli sayisi varsayilani 0: alan bos birakildiginda modul kolileri kendisi sayar (mevcut kayitlardaki degerler korunur) / The parcel count defaults to 0 so the module counts the packages; existing records keep their value
- Musteri kodu artik zorunlu degil: KOPS yalnizca kullanici adi ve parola ile dogrulama yapiyor / The customer code is no longer required: KOPS authenticates on username and password only
- Vadeli kredi alanlari (dcSelectedCredit / dcCreditRule) kapida odeme kapaliyken de gorunur / The deferred-credit fields are visible with cash on delivery off
Önemli — Yazılım lisansı (entegratör değiliz) / Important — Software licence (we are not an integrator)
Bu bir yazılımdır; satın aldığınızda sizindir. pokutsoft.com bir entegratör/aracı hizmet sağlayıcı DEĞİLDİR — kargo firmasıyla tüm ticari ilişki, sözleşme ve API kimlik bilgileri doğrudan sizin firmanız ile kargo firması arasındadır (BYOK: kendi kargo hesabınızın kimlik bilgilerini girersiniz). Kurulum ve kullanım desteği sağlanır; memnun kalmazsanız iade edilir.
This is software — once purchased it is yours. pokutsoft.com is NOT an integrator or intermediary: the entire commercial relationship, contract and API credentials are directly between your company and the carrier (BYOK — you enter your own carrier-account credentials). Setup & usage support is provided; if it does not suit you, it is refundable.
tr_cargo_connectors. Both define the yurtici.return.code model, and Odoo replaces one definition with the other instead of merging them. If you try, the installation is stopped with a clear error message. Choose one of them for a given database.
User guides (PDF)
Related modules
Aras Kargo
Aras Kargo shipping integration for Odoo - shipment, label, tracking, cancel
CMR Consignment Note (International Road Transport)
CMR international road transport consignment note PDF generator - 24 standard fields, EU compliant
HepsiJET
HepsiJET REST/JSON kargo bağlayıcı - gönderi oluşturma, takip, iptal, durum cron'u