Some products require a drop point to be selected on the shipment. A drop point is the address of a service point or parcel shop where the customers can pick up the delivery.
If the drop point address is left out in the request and the product requires a drop point, the shipment server may choose a drop point based on the receiver address. There are also some products that must be combined with a service to use drop points.
Read more about:
- Retrieve drop points using the GetDropPoints method
- Include a drop point address on a shipment
- Look up drop point using ID
-
Sample requests from different carriers
Retrieve drop points using the GetDropPoints method
Using the GetDropPoints method you can retrieve drop points for a given product if the product supports it.
Request example:
{ "ProdConceptID": 60, "ResultCount": 1, "Addresses": [ { "Kind": 1, "Name1": "John Doe", "Street1": "Test address 1", "PostCode": "0580", "City": "OSLO", "CountryCode": "NO" } ] }
Expected output:
Successful request:
{ "DropPoints": [ { "OriginalID": "3807542", "RoutingCode": "ALF", "Name1": "POSTNORD PICK UP POINT", "Street1": "HARALDRUDV 11", "PostCode": "0581", "City": "OSLO", "CountryCode": "NO", "Distance": 0.891, "Latitude": 59.9303385682, "Longitude": 10.8246658266 }, ] }
Not supported on product:
{ "ErrorMessages": [ "DropPoint selection not supported for this product." ] }
Conditions not met:
{ "ErrorMessages": [ "Cannot use DropPoint service, conditions not met." ] }
"Conditions not met" usually means that a service is required to use drop points on the product. Some products can be used both with and without drop points and this is the reason why it can be mandatory to include a drop point service if a drop point address is included in the request. On these types of products, validation ensures that a drop point address is never allowed without the correct service code.
Include a drop point address on a shipment
The drop point address is defined in the shipment object in the section for Addresses with the Kind set to 10. The example below shows a SubmitShipment request that includes a drop point address.
{ "Kind": 1, "ActorCSID": 63, "ProdConceptID": 296, "Addresses": [ { "Kind": 2, "Name1": "Test sender", "Street1": "Test Address", "PostCode": "51162", "City": "SKENE", "Mobile": "04799999999", "Attention": "test", "CountryCode": "SE" }, { "Kind": 1, "Name1": "Jane Doe", "Street1": "Testv\u00e4gen 10", "PostCode": "64551", "City": "STR\u00c4NGN\u00c4S", "CountryCode": "SE" }, { "Kind": 10, "Name1": "ULFH\u00c4LLSKIOSKEN", "Street1": "MARIEFREDSV\u00c4GEN 36", "PostCode": "64540", "City": "STR\u00c4NGN\u00c4S", "CountryCode": "SE" } ], "Lines": [ { "PkgWeight": 5000, "GoodsTypeKey1": "XP", "Pkgs": [ { "ItemNo": 1 } ] } ] }
Drop point lookup on ID
Some carriers support lookup on drop point ID. Use the variable CustNo and include the drop point ID. Shipment Server will then do a lookup on this ID and fill out the drop point address. This solution is relevant if you offer drop point selection in your own webshop.
{
"Kind":10,
"CustNo": "3535747"
}
If the drop point ID does not match at our end, Shipment Server will respond with an error and you must correct it to submit the shipment.
If you provide any drop point data in your request, Shipment Server will not do a lookup, but use the data provided - even if it's not valid at the carrier. In the example below, the data will be used and no lookup will be made.
{
"Kind":10,
"CustNo": "3535747",
"Name1": "RIMI SINSEN AVD 3821"
"Street1": "SINSENV 55",
"Postcode": "0585",
"City": "OSLO",
"CountryCode": "NO"
}
Sample requests from different carriers
The table below shows some examples of products supporting drop points. If the service and service ID columns are filled in, it indicates that the product must be combined with a service to use drop points.
Carrier name | ProdName | ProdConceptID | Service | Service ID |
Bring (NO) | Bedriftspakke ekspress over natt 0900 | 1034 | Valgfritt Postkontor | 142002 |
Bring (NO) | Klimanøytral servicepakke | 1041 | Valgfritt Postkontor | 142002 |
PostNord (DK) | MyPack (Indland) | 92 | Servicepoint |
9081 |
PostNord (DK) | MyPack Collect (Udland) | 749 | Servicepoint | 9071 |
PostNord (DK) | MyPack Collect Samsending | 571 | Servicepoint | 9071 |
DB Schenker (SE) | Parcel ombud | 296 |
By using the method GetProducts, you will get a list of all the products and services on your Shipment Server account. If a product supports a service with a name that indicates it is a drop point service (service point, parcel shop, etc. ) it usually means that this service must be included to use drop points.
Sample requests
In the Bring and PostNord examples below, Shipment Server will look up a drop point because a drop point service has been selected. If you don't want Shipment Server to look up a drop point you must include the drop point address as in the DB Schenker example.
Bring (NO): Product "Klimanøytral servicepakke" including the service "Valgfritt Postkontor":
{
"ProdConceptID": 1041,
"ResultCount": 1,
"Addresses": [
{
"Kind": 1,
"Name1": "John Doe",
"Street1": "Test address 1",
"PostCode": "0580",
"City": "OSLO",
"CountryCode": "NO"
}
],
"Services": [
142002
]
}
PostNord (DK): Product "MyPack" including the service "Servicepoint":
{ "ProdConceptID": 92, "ResultCount": 1, "Addresses": [ { "Kind": 1, "Name1": "John Doe", "Street1": "Vestergade 1", "PostCode": "8000", "City": "AARHUS", "CountryCode": "DK" } ], "Services": [ 9081 ] }
DB Schenker (SE): Product "Parcel Ombud":
{ "Kind": 1, "ActorCSID": 63, "ProdConceptID": 296, "Addresses": [ { "Kind": 2, "Name1": "Test sender", "Street1": "Test Address", "PostCode": "51162", "City": "SKENE", "Mobile": "04799999999", "Attention": "test", "CountryCode": "SE" }, { "Kind": 1, "Name1": "Jane Doe", "Street1": "Testv\u00e4gen 10", "PostCode": "64551", "City": "STR\u00c4NGN\u00c4S", "CountryCode": "SE" }, { "Kind": 10, "Name1": "ULFH\u00c4LLSKIOSKEN", "Street1": "MARIEFREDSV\u00c4GEN 36", "PostCode": "64540", "City": "STR\u00c4NGN\u00c4S", "CountryCode": "SE" } ], "Lines": [ { "PkgWeight": 5000, "GoodsTypeKey1": "XP", "Pkgs": [ { "ItemNo": 1 } ] } ] }