Class: ActiveMerchant::Fulfillment::WebgistixService
- Defined in:
- lib/active_fulfillment/fulfillment/services/webgistix.rb
Constant Summary collapse
- SERVICE_URLS =
{ :fulfillment => 'https://www.webgistix.com/XML/CreateOrder.asp', :inventory => 'https://www.webgistix.com/XML/GetInventory.asp', :tracking => 'https://www.webgistix.com/XML/GetTracking.asp' }
- TEST_URLS =
SERVICE_URLS.merge({ :fulfillment => 'https://www.webgistix.com/XML/CreateOrderTest.asp' })
- SUCCESS_MESSAGE =
'Successfully submitted the order'
- FAILURE_MESSAGE =
'Failed to submit the order'
- DUPLICATE_MESSAGE =
'This order has already been successfully submitted'
- INVALID_LOGIN =
'Invalid Credentials'
- NOT_SHIPPED =
'Not Shipped'
- TRACKING_COMPANIES =
%w(UPS FedEx USPS)
Class Method Summary collapse
-
.shipping_methods ⇒ Object
The first is the label, and the last is the code.
Instance Method Summary collapse
- #fetch_stock_levels(options = {}) ⇒ Object
- #fetch_tracking_data(order_ids, options = {}) ⇒ Object
- #fulfill(order_id, shipping_address, line_items, options = {}) ⇒ Object
-
#initialize(options = {}) ⇒ WebgistixService
constructor
Pass in the login and password for the shipwire account.
- #test_mode? ⇒ Boolean
- #valid_credentials? ⇒ Boolean
Methods inherited from Service
#fetch_tracking_numbers, #test?
Constructor Details
#initialize(options = {}) ⇒ WebgistixService
Pass in the login and password for the shipwire account. Optionally pass in the :test => true to force test mode
71 72 73 74 |
# File 'lib/active_fulfillment/fulfillment/services/webgistix.rb', line 71 def initialize( = {}) requires!(, :login, :password) super end |
Class Method Details
.shipping_methods ⇒ Object
The first is the label, and the last is the code
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/active_fulfillment/fulfillment/services/webgistix.rb', line 30 def self.shipping_methods [ ["UPS Ground Shipping", "Ground"], ["UPS Ground", "Ground"], ["UPS Standard Shipping (Canada Only)", "Standard"], ["UPS Standard Shipping (CA & MX Only)", "Standard"], ["UPS 3-Business Day", "3-Day Select"], ["UPS 2-Business Day", "2nd Day Air"], ["UPS 2-Business Day AM", "2nd Day Air AM"], ["UPS Next Day", "Next Day Air"], ["UPS Next Day Saver", "Next Day Air Saver"], ["UPS Next Day Early AM", "Next Day Air Early AM"], ["UPS Worldwide Express (Next Day)", "Worldwide Express"], ["UPS Worldwide Expedited (2nd Day)", "Worldwide Expedited"], ["UPS Worldwide Express Saver", "Worldwide Express Saver"], ["FedEx Priority Overnight", "FedEx Priority Overnight"], ["FedEx Standard Overnight", "FedEx Standard Overnight"], ["FedEx First Overnight", "FedEx First Overnight"], ["FedEx 2nd Day", "FedEx 2nd Day"], ["FedEx Express Saver", "FedEx Express Saver"], ["FedEx International Priority", "FedEx International Priority"], ["FedEx International Economy", "FedEx International Economy"], ["FedEx International First", "FedEx International First"], ["FedEx Ground", "FedEx Ground"], ["USPS Priority Mail", "Priority Mail"], ["USPS Priority Mail International", "Priority Mail International"], ["USPS Priority Mail Small Flat Rate Box", "Priority Mail Small Flat Rate Box"], ["USPS Priority Mail Medium Flat Rate Box", "Priority Mail Medium Flat Rate Box"], ["USPS Priority Mail Large Flat Rate Box", "Priority Mail Large Flat Rate Box"], ["USPS Priority Mail Flat Rate Envelope", "Priority Mail Flat Rate Envelope"], ["USPS First Class Mail", "First Class"], ["USPS First Class International", "First Class International"], ["USPS Express Mail", "Express"], ["USPS Express Mail International", "Express Mail International"], ["USPS Parcel Post", "Parcel"], ["USPS Media Mail", "Media Mail"] ].inject(ActiveSupport::OrderedHash.new){|h, (k,v)| h[k] = v; h} end |
Instance Method Details
#fetch_stock_levels(options = {}) ⇒ Object
81 82 83 |
# File 'lib/active_fulfillment/fulfillment/services/webgistix.rb', line 81 def fetch_stock_levels( = {}) commit :inventory, build_inventory_request() end |
#fetch_tracking_data(order_ids, options = {}) ⇒ Object
85 86 87 |
# File 'lib/active_fulfillment/fulfillment/services/webgistix.rb', line 85 def fetch_tracking_data(order_ids, = {}) commit :tracking, build_tracking_request(order_ids, ) end |
#fulfill(order_id, shipping_address, line_items, options = {}) ⇒ Object
76 77 78 79 |
# File 'lib/active_fulfillment/fulfillment/services/webgistix.rb', line 76 def fulfill(order_id, shipping_address, line_items, = {}) requires!(, :shipping_method) commit :fulfillment, build_fulfillment_request(order_id, shipping_address, line_items, ) end |
#test_mode? ⇒ Boolean
94 95 96 |
# File 'lib/active_fulfillment/fulfillment/services/webgistix.rb', line 94 def test_mode? true end |
#valid_credentials? ⇒ Boolean
89 90 91 92 |
# File 'lib/active_fulfillment/fulfillment/services/webgistix.rb', line 89 def valid_credentials? response = fulfill('', {}, [], :shipping_method => '') response. != INVALID_LOGIN end |