Method: Deliveries::Couriers::MondialRelayDual.create_shipment

Defined in:
lib/deliveries/couriers/mondial_relay_dual.rb

.create_shipment(sender:, receiver:, parcels:, reference_code:, collection_point: nil, shipment_date: nil, remarks: nil, language: nil) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/deliveries/couriers/mondial_relay_dual.rb', line 34

def create_shipment(sender:, receiver:, parcels:, reference_code:, collection_point: nil, shipment_date: nil, remarks: nil, language: nil)
  params = Shipments::Create::FormatParams.new(
    sender: sender,
    receiver: receiver,
    parcels: parcels,
    collection_point: collection_point,
    reference_code: reference_code,
    remarks: remarks,
    language: language
  ).execute

  tracking_code, pdf_url = Shipments::Create.new(
    params: params
  ).execute.values_at(:tracking_code, :pdf_url)

  Deliveries::Shipment.new(
    courier_id: 'mondial_relay_dual',
    sender: sender,
    receiver: receiver,
    parcels: parcels,
    reference_code: reference_code,
    tracking_code: tracking_code,
    shipment_date: shipment_date,
    label: Label.new(url: pdf_url)
  )
end