Package: dhl-delivery
DHL deliveryDHL delivery provides DHL API Services. It is simple to use.Below are list of available services or operationsDHL Quote and Capability Service.DHL Shipment Validation and Obtain shipment details and event visibility filtered by Waybill.DHL Label Image utility â€“ Generates DHL compliant label image using the XML response from Shipment Validation.DHL Pickup BookingDHL Tracking and modify or delete courier pick-up (Not impleminted yet but planned to implement it soon)Internally Check If Response Available form DHLSpacify Maximum Execution Time - For how many second the API should try to get response from DHLGet Started - InstallHow to installpip install dhl_deliveryUsage - DHL Quote and Capability ServiceExample to get Quote and Capability Service - get the DHL delivery
Chargesimportdhl_delivery# these two generally your company need to contact DHL to obtain form DHLdhl_delivery.dhl_site_id='your DHL site id - obtained from DHL'dhl_delivery.dhl_site_password='your DHL Site Password - obtained from DHL'dhl_delivery.dhl_account_no='your DHL [ayment account number - obtained from DHL'# set it to get correct rate# Spacify Maximum Execution Time (in second) - For how many second the API should try to get response from DHL (Multiprocess)dhl_delivery.max_response_time=30# the From and to Address - only mendatory fields are provided herequote_address={'from_country':'AU','from_city':'Melbourne','from_zipcode':'3000','to_country':'MY','to_city':'Kuala Lumpur','to_zipcode':'50200'}# the unit of measurements - only mendatory fields are provided herequote_unit={'dimension_unit':'CM','weight_unit':'KG'}# Pieces as List of Dictionary - it can be one ore more pieces - here with two pieces examplepiece_one={'piece_id':'1','piece_height':'15','piece_depth':'15','piece_width':'15','piece_weight':'1'}piece_two={'piece_id':'2','piece_height':'2','piece_depth':'2','piece_width':'2','piece_weight':'2'}# Create the list with multiple (here 2) piecesquote_pieces=[]quote_pieces.append(piece_one)quote_pieces.append(piece_two)# Some oter dataquote_optional_data={'is_dutiable':'Y',# Y|N'declared_currency':'MYR',# currency code of To Country'declared_value':'150.00','insured_value':'100.00',# Optional'insured_currency':'MYR',# Optional}# Finally preapre the data to send to the APIquote_data_to_send={'addresses':quote_address,'units':quote_unit,'pieces':quote_pieces,'optional_data':quote_optional_data,}# with the prepare data call the function and get the responsedict_response=dhl_delivery.quote.get_quote(quote_data_to_send)The Reponse you will get will look similar to{status:true,message:"DHL quotes returned."quote_data:{delivery_charge:"572.800",local_product_name:"EXPRESS WORLDWIDE NONDOC",product_shortName:"EXPRESS WORLDWIDE",dimensional_weight:"3.000",weight_unit:"KG",currency_code:"MYR"}}Usage - DHL ShipmentExample DHL Shipment Validation - DHL Label Image utility - Label
Creation (PDF File) - Airway Bill Number - Pickup - Pickup Reference
Numberimportdhl_delivery# these three generally your company need to contact DHL to obtain form DHLdhl_delivery.dhl_site_id='your DHL site id - obtained from DHL'dhl_delivery.dhl_site_password='your DHL Site Password - obtained from DHL'dhl_delivery.dhl_account_no='obtained from DHL'# the From and to Address - only mendatory fields are provided hereaddress_details={'from_company_name':'Shopandbox','from_address_line_one':'some from address','from_address_line_two':'some from address 2',# optional'from_city':'New York','from_zipcode':'10022','from_country':'US',# two letter abbriviation'from_country_name':'United States',# country full name'from_name':'SNB Test','from_phone_no':'1111111','from_state':'',# only for pickup (from_state) - max 35v char - Optional'to_company_name':'Test Company','to_address_line_one':'some address','to_address_line_two':'some address two',# optional'to_city':'Kuala Lumpur','to_zipcode':'50200','to_country':'MY',# two letter abbriviation'to_country_name':'Malaysia',# country full name'to_name':'Hasan Test','to_phone_no':'3333333',}# Detail about the package - boxpackage_details={'package_type':'DF',# DF|YP etc'total_weight':'2',# total weight'dimension_unit':'C','weight_unit':'K','global_product_code':'P','local_product_code':'P','door_to':'DD','shipment_date':'2016-03-25',# YYYY-mm-dd format'content_description':'Some Content','declared_value':'1.00','declared_currency':'USD','is_dutiable':'Y','insured_amount':'100',# Insured Amount (Required if Special Service of I'special_service_type':'I',# optional'reference_id':'1213122'# any arbitrary or random number}# Pieces as List of Dictionary - it can be one ore more pieces - here with two pieces examplepiece_one={'piece_id':'1','package_type':'DF',# DF|YP etc - this one can be made optional as package details has the same param'piece_height':'1','piece_depth':'1','piece_width':'1','piece_weight':'1'}piece_two={'piece_id':'2','package_type':'DF',# DF|YP etc'piece_height':'2','piece_depth':'2','piece_width':'2','piece_weight':'1'}# Create the list with multiple (here 2) piecespieces_details=[]pieces_details.append(piece_one)pieces_details.append(piece_two)# set up for the shipment awb file path and name - if provided then pickup will be created else no pickupoptional_data={'awb_pdf_file_path':'path/where/you /want/to/store/the/awb/pdf/file/','awb_pdf_file_name':'myfile.pdf',# name of the file}# only for pickup - no need to set it if no pick up neededpickup_details={'pickup_date':'2016-02-25',# YYYY-MM-DD format'ready_by_time':'14:30',# hh:mm ie 14:35'close_time':'15:30',# hh:mm ie 15:35}shipment_data_to_send={'addresses':address_details,'package':package_details,'pieces':pieces_details,# only for pickup not for shipment - if provided then pickup will be created else no pickup#'pickup_details': pickup_details,'optional_data':optional_data}# with the prepare data call the function and get the responsedict_response=dhl_delivery.shipment.get_shipment(shipment_data_to_send)The response you will get will look similar to{pickup_response:{//if in request data pickup details provided then here you will get the status True on success and False on failstatus:false,//if in request data pickup details provided then this will be Truerequest_for_pickup:false,message:"",//if in request data pickup details provided then here you will get the pick up confirmation numberpickup_confirmation_number:""},shipment_response:{status:true,awb_pdf_file_path_name:"pdf_shipment_label_2/9687040086__awb_15.pdf",message:"DHL Shipment created.",awb_pdf_file_name:"9687040086__awb_15.pdf",airway_bill_number:"9687040086"}}Remove - UninstallHow to uninstallpip uninstall dhl_delivery