class Bluedart::Pickup
Public Class Methods
new(details)
click to toggle source
# File lib/bluedart/pickup.rb, line 3 def initialize(details) @pickup_registration_request = pickup_registration_request_hash(details[:pickup_request]) @profile = profile_hash({api_type: 'S', version: '1.3'}, details[:creds]) @mode = details[:mode] end
Public Instance Methods
request_url()
click to toggle source
# File lib/bluedart/pickup.rb, line 9 def request_url if @mode == 'prod' 'https://netconnect.bluedart.com/Ver1.8/ShippingAPI/Pickup/PickupRegistrationService.svc' else 'https://netconnect.bluedart.com/Ver1.8/Demo/ShippingAPI/Pickup/PickupRegistrationService.svc' end end
response()
click to toggle source
# File lib/bluedart/pickup.rb, line 17 def response wsa = 'http://tempuri.org/IPickupRegistration/RegisterPickup' params = { 'request' => @pickup_registration_request } opts = { message: 'RegisterPickup', wsa: wsa, params: params, extra: { 'profile' => @profile }, url: request_url } make_request(opts) end
Private Instance Methods
pickup_registration_request_hash(details)
click to toggle source
# File lib/bluedart/pickup.rb, line 26 def pickup_registration_request_hash(details) params = {} params["ns5:AreaCode"] = details[:area_code] params["ns5:ContactPersonName"] = details[:contact_person_name] params["ns5:CustomerAddress1"] = details[:customer_address1] params["ns5:CustomerAddress2"] = details[:customer_address2] params["ns5:CustomerAddress3"] = details[:customer_address3] params["ns5:CustomerCode"] = details[:customer_code] params["ns5:CustomerName"] = details[:customer_name] params["ns5:CustomerPincode"] = details[:customer_pincode] params["ns5:CustomerTelephoneNumber"] = details[:customer_telephone_number] params["ns5:MobileTelNo"] = details[:mobile_tel_no] params["ns5:NumberofPieces"] = details[:number_of_pieces] params["ns5:OfficeCloseTime"] = details[:office_close_time] params["ns5:ProductCode"] = details[:product_code] params["ns5:ReferenceNo"] = details[:reference_no] params["ns5:ShipmentPickupDate"] = details[:shipment_pickup_date] params["ns5:ShipmentPickupTime"] = details[:shipment_pickup_time] params["ns5:SubProducts"] = details[:sub_products] || [] params["ns5:VolumeWeight"] = details[:volume_weight] params["ns5:WeightofShipment"] = details[:weight_of_shipment] params["ns5:isToPayShipper"] = details[:is_to_pay_shipper] || false params["ns5:AWBNo"] = details[:awb_no] params["ns5:Remarks"] = details[:remarks] params["ns5:RouteCode"] = details[:route_code] params["ns5:EmailID"] = details[:email_id] params["ns5:DoxNDox"] = details[:dox_n_dox] params["ns5:IsReversePickup"] = details[:is_reverse_pickup] params["ns5:IsForcePickup"] = details[:is_force_pickup] params["ns5:PackType"] = details[:pack_type] params["ns5:IsDDN"] = details[:is_ddn] || false params end