Class: DHLEcommerceEU::ShipmentResource
- Inherits:
-
BaseResource
- Object
- BaseResource
- DHLEcommerceEU::ShipmentResource
- Defined in:
- lib/dhl_ecommerce_eu/resources/shipment_resource.rb
Instance Attribute Summary
Attributes inherited from BaseResource
Instance Method Summary collapse
-
#create(params: { generateLabel: true, labelFormat: 'pdf', labelSize: '10x15' }, **attributes) ⇒ Shipment
Create a shipment.
Methods inherited from BaseResource
Constructor Details
This class inherits a constructor from DHLEcommerceEU::BaseResource
Instance Method Details
#create(params: { generateLabel: true, labelFormat: 'pdf', labelSize: '10x15' }, **attributes) ⇒ Shipment
Create a shipment
Example for return connect { "dataElement": { "parcelOriginOrganization": 'IT', "parcelDestinationOrganization": 'NL', "general": { "timestamp": '2022-07-01T13:05:05Z', "product": 'ParcelEurope.return.network' }, "cPAN": { "addresses": { "sender": [ { "type": 'default', "name": 'Tiziana Test', "additionalName": 'Buying Tests', "email": '[email protected]', "street1": 'Teststrada 10', "postcode": '20123', "city": 'Milan', "country": 'IT', "customerIdentification": '5012345678', # The owner DHL account number "customerAccountNr1": '1234567890' # The owner DHL account number } ], "recipient": [ { "type": 'doorstep', "name": 'Thijs Testbedrijf', "email": '[email protected]', "street1": 'Teststraat 10', "postcode": '9737 PE', "city": 'Groningen', "country": 'NL' } ] }, "features": { "physical": { "grossWeight": '1.0', "length": '0.2', "height": '0.2', "width": '0.3' } } } } }
60 61 62 63 64 65 66 67 68 69 |
# File 'lib/dhl_ecommerce_eu/resources/shipment_resource.rb', line 60 def create(params: { generateLabel: true, labelFormat: 'pdf', labelSize: '10x15' }, **attributes) response = post_request('ccc/send-cpan', params: params, body: attributes) case response.headers['Content-Type'] when 'application/pdf' Shipment.new id: response.headers['shipmentId'], label_blob: response.body.to_s when 'application/json' payload = response.parse raise Error, "Your request was malformed. #{payload['error']}" if payload['error'] end end |