Package: ups-turkey
UPS TurkeyPython package for integrate UPS Turkey easily.UPS Türkiye yutriçi gönderileri içinups.com/upsdeveloperkit'ten ayrı bir sistem kullanmaktadır.ups.com/upsdeveloperkitsadece yurtdışı gönderile için kullanılmaktadır. UPS Türkiye'nin API'ları ise WebService (SOAP) ile çalışmaktadır. Bu hafif python pakedi, UPS Türkiye'nin web servisini kolayca kullanabilmenize olanak sağlar.UPS Türkiye'nin oluşturma(Createshipment V7) ve sorgulama(QueryPackageInfo) işlemleri için iki ayrı servisi bulunmaktadır.Table of ContentsInstallationUsageInıtilaize ServiceService HelpersOperationsListParameter DictionaryExamplesInstallationpipinstallups-turkeyUsageInıtilaize Servicefromups_turkeyimportUPSServiceups=UPSService('CUSTOMER_NUMBER','USERNAME','PASSWORD')Service Helpersresult=ups.create(**payload)# for "Createshipment V7" service# orresult=ups.query(**payload)# for "QueryPackageInfo" serviceOperartions resturn list of dict asResultList[Result]. ResultList and Result have some helpers like below.Result(dict)Convert result to JSON:result.json()Convert result to dictionary:result.dict()Checks is result is have an error:result.is_success()returns bool.
If you want to raiseUPSException(ERROR_CODE, ERROR_DEFINATION)passraise_exception=Trueparam likeresult.is_success(raise_exception=True)result.get_error()for getting result's error code and defination as tuple if hasResultList(list)Convert result to JSON:result.json()Checks is any result in list is have an error:result.has_fail()returns bool.
If you want to raiseUPSException(ERROR_CODE, ERROR_DEFINATION)passraise_exception=Trueparam likeresult.has_fail(raise_exception=True)OperationsListCreate ServiceCancel_Shipment_V1CreateShipment_Type1CreateShipment_Type2CreateShipment_Type2TRTCreateShipment_Type3CreateShipment_Type3_XMLCreateShipment_Type3_ZPLCreateShipment_Type3_ZPL_TypesCreateShipment_Type4CustomerShipmentLimitDetailOnDemandPickupRequest_Type1TransferShipmentList_Type1Query ServiceGetLastTransactionByTrackingNumber_V1GetPackageInfoByDatePeriod_V1GetPackageInfoByReferance_V1GetPackageInfoByTrackingNumber_V1GetShipmentInfoByTrackingNumber_V1GetShipmentInfoByTrackingNumber_V2GetTiNTInformationByTrackingNumberList_V1GetTiNTInformationByTrackingNumber_V1GetTransactionsByCustomerCode_V1GetTransactionsByList_V1GetTransactionsByList_V2GetTransactionsByPackagePickupDate_V1GetTransactionsByTrackingNumber_V1GetUnreadTransactionsByTrackingNumber_V1Parameter DictionaryExpenseCodeGönderici tarafından sağlanan gider kodu. Paketleri daha fazla sınıflandırmak için raporlamada kullanılır (genellikle maliyet ölçümü için).CityCodeUPS tarafından tanımlıdır. Türkiye'deki şehirler için plaka numarası.ThirdPartyAccountNumberNavlun üçüncü bir şahıs tarafından ödeniyorsa, bu UPS müşteri hesap numarasıdır.IdControlFlagGönderici kimlik teyidi ile teslimat talep ederse “1”, aksi takdirde “0”.PhonePrealertFlagGönderici, alıcının teslimattan önce telefonla uyarılmasını talep ederse “1”, aksi halde “0”.ExamplesCreateShipment_Type2payload={'ShipmentInfo':{# Gönderen'ShipperAccountNumber':'CUSTOMER_NUMBER','ShipperName':'ABC Ltd. Şti.','ShipperContactName':'Mehmet Yılmaz','ShipperAddress':'Huzur Mh. Barış Cd. No:99','ShipperCityCode':34,# UPS tarafından tanımlanmıştır. Türkiye'deki şehirler için resmi numara.'ShipperAreaCode':5824,# UPS tarafından tanımlanmıştır.'ShipperPostalCode':'34000','ShipperPhoneNumber':'0 212 000 00 00','ShipperPhoneExtension':'','ShipperMobilePhoneNumber':'','ShipperEMail':'info@firma.com','ShipperExpenseCode':'',# Gönderici tarafından sağlanan gider kodu. Paketleri daha fazla sınıflandırmak için raporlamada kullanılır (genellikle maliyet ölçümü için).# Alıcı'ConsigneeAccountNumber':'','ConsigneeName':'Mehmet Yılmaz','ConsigneeContactName':'','ConsigneeAddress':'Memleket Mh. Bilmemne Sk. No:1','ConsigneeCityCode':34,# UPS tarafından tanımlanmıştır. Türkiye'deki şehirler için resmi numara.'ConsigneeAreaCode':1858,# UPS tarafından tanımlanmıştır.'ConsigneePostalCode':'34000','ConsigneePhoneNumber':'','ConsigneePhoneExtension':'','ConsigneeMobilePhoneNumber':'05320000000','ConsigneeEMail':'musteri@eposta.com','ConsigneeExpenseCode':'',# Gönderici tarafından sağlanan gider kodu. Paketleri daha fazla sınıflandırmak için raporlamada kullanılır (genellikle maliyet ölçümü için).# Gönderi'ServiceLevel':3,'PaymentType':2,'PackageType':'K','NumberOfPackages':1,'CustomerReferance':'SIPARISNO','CustomerInvoiceNumber':'EFATURA000000','DeliveryNotificationEmail':'','DescriptionOfGoods':'SKU00000','IdControlFlag':0,# Gönderici kimlik teyidi ile teslimat talep ederse “1”, aksi takdirde “0”.'PhonePrealertFlag':0,# Gönderici, alıcının teslimattan önce telefonla uyarılmasını talep ederse “1”, aksi halde “0”.'SmsToShipper':0,'SmsToConsignee':1,'InsuranceValue':0.00,# Sigorta değeri. Müşteri tarafından beyan edilir.'InsuranceValueCurrency':'TL',# TL, EUR, USD'ValueOfGoods':0,# Ürün fiyatı. Müşteri tarafından beyan edilir.'ValueOfGoodsCurrency':'TL',# TL, EUR, USD'ValueOfGoodsPaymentType':1,'ThirdPartyAccountNumber':'',# Navlun üçüncü bir şahıs tarafından ödeniyorsa, bu UPS müşteri hesap numarasıdır.'ThirdPartyExpenseCode':'',# Gönderici tarafından sağlanan gider kodu. Paketleri daha fazla sınıflandırmak için raporlamada kullanılır (genellikle maliyet ölçümü için).},'ReturnLabelLink':True,'ReturnLabelImage':True}result=ups.create('CreateShipment_Type2',**payload)GetShipmentInfoByTrackingNumber_V2payload={'InformationLevel':1,'TrackingNumber':'YOUR_TRACKING_NUMBER'}result=ups.query('GetShipmentInfoByTrackingNumber_V2',**payload)GetTransactionsByTrackingNumber_V1payload={'InformationLevel':1,'TrackingNumber':'YOUR_TRACKING_NUMBER'}result=ups.query('GetTransactionsByTrackingNumber_V1',**payload)GetTransactionsByList_V2payload={'InformationLevel':1,'refList':{'referansType':'WAYBILL_TYPE','referansList':['YOUR_UPSReferance_CODE']},'trnType':'ALL_TRANSACTIONS'}result=ups.query('GetTransactionsByList_V2',**payload)GetTiNTInformationByTrackingNumber_V1payload={'InformationLevel':1,'TrackingNumber':'1ZE3184E6800393143'}result=ups.query('GetTiNTInformationByTrackingNumber_V1',**payload)