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 |