zanders 1.2.2 → 1.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/zanders/order.rb +38 -0
- data/lib/zanders/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3711b5f225ae6320d6a208a040a53c45a3b9905a
|
4
|
+
data.tar.gz: db7599a10622e96ef5df2c36bdbda4417e4c7abc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 48b241f751a15f33a5834898892a3c36221a28de4ab3a5093bc5d4bf0664de0afb8147eae21714b163fd8175b2693649d786c4f5bb30951fd18a1beec6ced1bb
|
7
|
+
data.tar.gz: 16467fb3b301c6b60b0ca026468c1a6f3b73d9e139e3fbd6eed6a78ae40629f80e4254aad8ee191d46e271ce4bbfdc961fc2dec6056477c8ec47a437a18e02c5
|
data/lib/zanders/order.rb
CHANGED
@@ -165,6 +165,44 @@ module Zanders
|
|
165
165
|
end
|
166
166
|
end
|
167
167
|
|
168
|
+
def get_tracking_info(order_number)
|
169
|
+
order = build_order_data.merge({ ordernumber: order_number })
|
170
|
+
|
171
|
+
response = soap_client(ORDER_API_URL).call(:get_tracking_info, message: order)
|
172
|
+
response = response.body[:get_tracking_info_response][:return][:item]
|
173
|
+
|
174
|
+
if response.first[:value] == "0"
|
175
|
+
info = Hash.new
|
176
|
+
|
177
|
+
if response.find { |i| i[:key] == "numberOfShipments" }[:value] != "0"
|
178
|
+
tracking_numbers = response.find { |i| i[:key] == "trackingNumbers" }[:value]
|
179
|
+
|
180
|
+
tracking_numbers[:item][:item].each do |part|
|
181
|
+
case part[:key]
|
182
|
+
when 'shipCompany'
|
183
|
+
info[:company] = part[:value]
|
184
|
+
when 'shipVia'
|
185
|
+
info[:via] = part[:value]
|
186
|
+
when 'trackingNumber'
|
187
|
+
info[:tracking_number] = part[:value]
|
188
|
+
when 'weight'
|
189
|
+
info[:weight] = part[:value]
|
190
|
+
when 'url'
|
191
|
+
info[:url] = part[:value]
|
192
|
+
end
|
193
|
+
end
|
194
|
+
|
195
|
+
info[:success] = true
|
196
|
+
|
197
|
+
info
|
198
|
+
else
|
199
|
+
{ success: false, error_code: response.first[:value], error_message: "No present tracking information" }
|
200
|
+
end
|
201
|
+
else
|
202
|
+
{ success: false, error_code: response.first[:value] }
|
203
|
+
end
|
204
|
+
end
|
205
|
+
|
168
206
|
private
|
169
207
|
|
170
208
|
# Private: Builds request data
|
data/lib/zanders/version.rb
CHANGED