Addons
Additional services from transporters and how to use them
Addons are optional services that can be attached to a shipment booking. These addons provide flexibility for specific delivery requirements, such as requiring a recipient signature, enabling notifications, or specifying delivery instructions.
Some examples include:
- ID Check: Verifies the recipient's identity using a national proof of identity (available with for example )Budbee home
- Insurance: Adds insurance coverage to the shipment (available with for example )DHL Parcel
- Doorcode: Specifies a door code for secure delivery locations (available with for example )Early Bird
Skrym Universal Addon structure
Skrym provides a standardized layer of addons to ensure a consistent implementation, regardless of the transporter used. This abstraction allows you to work with multiple transporters while maintaining uniform addon behavior in your API requests.
Looking at the examples above, this means the following:
- Instead of having to pass in
identificationCheckRequired
which is the term used by Budbee, you can pass in the universal codeidentification-by-national-id
, which will also work for any other transporter that offers this addon - By passing in
freight-insurance
, Skrym will automatically translate the addon to the terms used by DHL - Using
door-code
will work for any transporter that supports this addon, not just Early Bird
This mapping ensures that customers can apply a single Skrym addon without needing to worry about transporter-specific implementations.
Types of Addons
Addons in the system can have different data types depending on their purpose.
NoteWhile the Skrym codes for addons are the same across transporters, the data types can sometimes vary between transporters due to additional data being needed.
Boolean
These addons toggle specific options on or off. For our above example with true
or false
value.
Note that you need to pass these as strings due to a constraint on our side. So for example, you would include the following in your request to our Booking API.
{"addons": {"identification-by-national-id": "true"}}
String
Some addons require textual input, such as door-code
for enabling access to the recipient's apartment building.
In this case, you would simply pass the door code as a string in your request.
{"addons": {"door-code": "1234"}}
Number
Used for numeric values, such as specifying the number of retries for a delivery attempt.
Note that you need to pass these as strings due to a constraint on our side. So for example, you would include the following in your request to our Booking API.
{"addons": {"number-of-delivery-retries": "3"}}
Enum
Predefined selectable values, such as different notification methods. Note that the available options is not consistent across transporters.
But for example, using this with doorbell
, knock-on-door
or none
{"addons": {"notify-home-delivery-by": "doorbell"}}
Object
These addons can contain multiple properties, such as notify-before-delivery-by-driver-call
, which requires you to pass a valid phone number.
{"addons": {"notify-before-delivery-by-driver-call": {"phone": "+46701234567"}}}
Get available addons
In order to simplify the process of finding what addon options are available for a given transport method, you can use our utility endpoint.
If you have any questions or need help setting up addons, don't hesitate to reach out to us.