class Deliveries::Couriers::MondialRelay::Labels::Generate
Attributes
language[RW]
tracking_codes[RW]
Public Class Methods
new(tracking_codes:, language:)
click to toggle source
# File lib/deliveries/couriers/mondial_relay/labels/generate.rb, line 8 def initialize(tracking_codes:, language:) self.tracking_codes = [tracking_codes].flatten.join(';') self.language = language.to_s.upcase end
Public Instance Methods
execute()
click to toggle source
# File lib/deliveries/couriers/mondial_relay/labels/generate.rb, line 13 def execute params = { 'Enseigne' => Deliveries::Couriers::MondialRelay.config(:mondial_relay_merchant), 'Expeditions' => tracking_codes, 'Langue' => language } # Calculate security parameters. params['Security'] = Deliveries::Couriers::MondialRelay.calculate_security_param params response = MondialRelay.api_client.call :wsi3_get_etiquettes, message: params response_stat = response.body.dig(:wsi3_get_etiquettes_response, :wsi3_get_etiquettes_result, :stat) if response_stat == '0' # Get path for 10x15 format. "http://www.mondialrelay.com#{response.body.dig(:wsi3_get_etiquettes_response, :wsi3_get_etiquettes_result, :url_pdf_10x15)}" else raise Deliveries::APIError.new( StatusCodes.message_for(response_stat.to_i), response_stat ) end end