class FedexWebServices::ProcessShipmentRequest
Public Class Methods
new()
click to toggle source
# File lib/fedex_web_services/process_shipment_request.rb, line 5 def initialize @contents = soap_module::ProcessShipmentRequest.new end
shipment_requests(service_type, from, to, label_specification, package_weights)
click to toggle source
# File lib/fedex_web_services/process_shipment_request.rb, line 71 def self.shipment_requests(service_type, from, to, label_specification, package_weights) package_weights.map.with_index do |weight, ndx| new.tap do |request| mod = request.soap_module request.contents.requestedShipment = mod::RequestedShipment.new.tap do |rs| rs.shipTimestamp = Time.now.iso8601 rs.serviceType = service_type rs.packagingType = mod::PackagingType::YOUR_PACKAGING rs.shipper = from rs.recipient = to rs.labelSpecification = label_specification rs.packageCount = package_weights.size rs.requestedPackageLineItems = mod::RequestedPackageLineItem.new.tap do |rpli| rpli.sequenceNumber = ndx + 1 rpli.weight = weight end end end end end
Public Instance Methods
customer_invoice!(invoice_number)
click to toggle source
# File lib/fedex_web_services/process_shipment_request.rb, line 63 def customer_invoice!(invoice_number) mod = self.soap_module ref = mod::CustomerReference.new(mod::CustomerReferenceType::INVOICE_NUMBER, invoice_number) contents.requestedShipment.requestedPackageLineItems.customerReferences ||= [] contents.requestedShipment.requestedPackageLineItems.customerReferences << ref end
customer_reference!(reference)
click to toggle source
# File lib/fedex_web_services/process_shipment_request.rb, line 55 def customer_reference!(reference) mod = self.soap_module ref = mod::CustomerReference.new(mod::CustomerReferenceType::CUSTOMER_REFERENCE, reference) contents.requestedShipment.requestedPackageLineItems.customerReferences ||= [] contents.requestedShipment.requestedPackageLineItems.customerReferences << ref end
for_master_tracking_number!(tracking_number)
click to toggle source
# File lib/fedex_web_services/process_shipment_request.rb, line 49 def for_master_tracking_number!(tracking_number) contents.requestedShipment.masterTrackingId = soap_module::TrackingId.new.tap do |ti| ti.trackingNumber = tracking_number end end
issue_request(port, credentials)
click to toggle source
# File lib/fedex_web_services/process_shipment_request.rb, line 25 def issue_request(port, credentials) ProcessShipmentResponse.new(port.send(remote_method, request_contents(credentials))) end
list_rate!()
click to toggle source
# File lib/fedex_web_services/process_shipment_request.rb, line 45 def list_rate! contents.requestedShipment.rateRequestTypes = [ soap_module::RateRequestType::LIST ] end
regular_pickup!()
click to toggle source
# File lib/fedex_web_services/process_shipment_request.rb, line 41 def regular_pickup! contents.requestedShipment.dropoffType = soap_module::DropoffType::REGULAR_PICKUP end
remote_method()
click to toggle source
# File lib/fedex_web_services/process_shipment_request.rb, line 13 def remote_method :processShipment end
sender_paid!(account_number)
click to toggle source
# File lib/fedex_web_services/process_shipment_request.rb, line 29 def sender_paid!(account_number) mod = self.soap_module contents.requestedShipment.shippingChargesPayment = mod::Payment.new.tap do |scp| scp.paymentType = mod::PaymentType::SENDER scp.payor = mod::Payor.new scp.payor.responsibleParty = contents.requestedShipment.shipper.dup scp.payor.responsibleParty.accountNumber = account_number end end
service_id()
click to toggle source
# File lib/fedex_web_services/process_shipment_request.rb, line 17 def service_id :ship end
soap_module()
click to toggle source
# File lib/fedex_web_services/process_shipment_request.rb, line 9 def soap_module FedexWebServices::Soap::Ship end
version()
click to toggle source
# File lib/fedex_web_services/process_shipment_request.rb, line 21 def version 12 end