199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
|
# File 'lib/cdek_client/client.rb', line 199
def orders_print(params)
params = normalize_request_data params
params[:OrderCount] = params[:Order].is_a?(Array) ? params[:Order].length : 1
params = build_authorized_request_params OrdersPrint: params
result = raw_request url_for(:primary, :orders_print), url_for(:secondary, :orders_print), :post, {}, params
errors_hash = Util.xml_to_hash(result.data) rescue nil
if !errors_hash.nil? && errors_hash.has_key?(:response)
[:OrdersPrint, :Order].each do |key|
Util.array_wrap(errors_hash[:response][key]).each do |error_data|
next unless error_data.has_key?(:ErrorCode)
error = CdekClient.get_api_error error_data[:ErrorCode], error_data[:Msg]
result.add_error error
end
end
result.set_data nil
end
result
end
|