55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# File 'lib/cdek_client/client.rb', line 55
def order_infos(params)
params = normalize_request_data params
params = { InfoRequest: params }
result = authorized_request url_for(:primary, :order_infos), url_for(:secondary, :order_infos), params
if result.errors.any?
result.set_data []
return result
end
if result.data.has_key? :response
result.data[:response].values.each do |error_data|
error = CdekClient.get_api_error error_data[:ErrorCode], error_data[:Msg]
result.add_error error
end
result.set_data []
elsif result.data.has_key?(:InfoReport) && result.data[:InfoReport].is_a?(Hash)
normalized_data = Util.array_wrap result.data[:InfoReport][:Order]
normalized_data = normalize_response_data normalized_data, response_normalization_rules_for(:order_infos)
result.set_data normalized_data
else
result.set_data []
end
result
end
|