module Deliveries::Couriers::Envialia

Constants

Config
ENVIALIA_ENDPOINT_LIVE
ENVIALIA_ENDPOINT_TEST
ENVIALIA_LOGIN_ENDPOINT_LIVE
ENVIALIA_LOGIN_ENDPOINT_TEST

Public Instance Methods

create_pickup(sender:, receiver:, parcels:, reference_code:, pickup_date: nil, remarks: nil, tracking_code: nil, **) click to toggle source
# File lib/deliveries/couriers/envialia.rb, line 40
def create_pickup(sender:, receiver:, parcels:, reference_code:, pickup_date: nil, remarks: nil, tracking_code: nil, **)
  Pickups::Create.new(
    sender: sender,
    receiver: receiver,
    parcels: parcels,
    reference_code: reference_code,
    pickup_date: pickup_date,
    remarks: remarks,
    tracking_code: tracking_code
  ).execute
end
create_shipment(sender:, receiver:, parcels:, reference_code:, collection_point: nil, shipment_date: nil, remarks: nil, **) click to toggle source
# File lib/deliveries/couriers/envialia.rb, line 28
def create_shipment(sender:, receiver:, parcels:, reference_code:, collection_point: nil, shipment_date: nil, remarks: nil, **)
  Shipments::Create.new(
    sender: sender,
    receiver: receiver,
    collection_point: collection_point,
    shipment_date: shipment_date,
    parcels: parcels,
    reference_code: reference_code,
    remarks: remarks
  ).execute
end
get_label(tracking_code:, **) click to toggle source
# File lib/deliveries/couriers/envialia.rb, line 72
def get_label(tracking_code:, **)
  pdf = Labels::Generate.new(
    tracking_codes: tracking_code
  ).execute.first

  Deliveries::Label.new(raw: pdf)
end
get_labels(tracking_codes:, **) click to toggle source
# File lib/deliveries/couriers/envialia.rb, line 80
def get_labels(tracking_codes:, **)
  labels = Deliveries::Labels.new

  Labels::Generate.new(
    tracking_codes: tracking_codes
  ).execute.each do |pdf|
    labels << pdf
  end

  labels
end
pickup_info(tracking_code:, **) click to toggle source
# File lib/deliveries/couriers/envialia.rb, line 62
def pickup_info(tracking_code:, **)
  response = Pickups::Trace.new(
    tracking_code: tracking_code
  ).execute

  tracking_info_params = Pickups::Trace::FormatResponse.new(response: response).execute
  tracking_info_params.merge!({ tracking_code: tracking_code })
  Deliveries::TrackingInfo.new(**tracking_info_params)
end
shipment_info(tracking_code:, **) click to toggle source
# File lib/deliveries/couriers/envialia.rb, line 52
def shipment_info(tracking_code:, **)
  response = Shipments::Trace.new(
    tracking_code: tracking_code
  ).execute

  tracking_info_params = Shipments::Trace::FormatResponse.new(response: response).execute
  tracking_info_params.merge!({ tracking_code: tracking_code })
  Deliveries::TrackingInfo.new(**tracking_info_params)
end