Introduction
The Seven Senders PUDO locator provides a list of PUDO locations and allows you to search for the closest of them based on your location details and specified carrier(s). The information about PUDO locations can be used in your checkout to enable your customers to select their preferred PUDO location.
Authorization
The credentials for the API consist of an access key, a String provided by Seven Senders. Before starting using the API, you need to request for JWT token by executing the POST /token operation with your access key. Received JWT token should be used inside the Authorization header with the given format: Bearer YOUR_TOKEN for every further request. The JWT token is valid for 60 min.
Use Cases
To find out more about the API of our PUDO Locator, please go here.
1. GET locations by coordinates:
It allows you to find the nearest PUDO locations based on your geolocation coordinates.
In this case, you would have to provide the carrier_names[], country, latitude and longitude parameters.?carrier_names[]=mondialrelay&country=FR&latitude=48.87934&longitude=2.47934
2. GET locations by address:
It allows you to find the nearest PUDO locations based on a given address.
In this case, you would have to provide the carrier_names[], country and zip parameters.
Some carriers may require also the city or street. In any case it makes the result more accurate. Others parameters are optional, for instance: max_distance, max_number_of_results and opening_days.?carrier_names%5B%5D=mondialrelay&street=Av.%20des%20Ternes&zip=75017&city=Paris&country=FR&max_distance=2000&max_number_of_results=10&opening_days=7
3. GET all locations:
It allows you to get all PUDO locations for the selected carrier and country (not all carriers support this feature).
In this case, you would have to provide the carrier_name and country parameters.?carrier_name=mondialrelay&country=FR
Example response of PUDO location:
[
{
"carrier_name": "mondialrelay",
"location_type": "SHOP",
"location_id": "004694",
"location_code": "002318317571238",
"address": {
"name": "Paris Telecom",
"alternative_name": "4694 Ternes",
"address_line": "58 Av. des Ternes",
"street": "Av. des Ternes",
"house_no": "58",
"zip": "75017",
"city": "Paris",
"country": "FR"
},
"valid_from": "2020-01-01",
"valid_to": "2026-01-10",
"closing_periods": [
{
"from": "2022-08-01",
"to": "2022-08-10",
"reason": "holidays"
}
],
"opening_hours": {
"monday": [
{
"from": {
"hours": 8,
"minutes": 30
},
"to": {
"hours": 22,
"minutes": 30
}
}
],
"tuesday": [],
"wednesday": [],
"thursday": [],
"friday": [],
"saturday": [],
"sunday": []
},
"coordinates": {
"latitude": 48.87934,
"longitude": 2.47934
},
"parcel_sizes": [
"L",
"XL"
],
"distance": 0,
"supported_services": [
"cardboard sale",
"case settlement"
],
"additional_attributes": [
{
"name": "lean_locker",
"value": "true"
}
]
},
]
Request Parameters (Example carrier Mondial Relay)
| Field | Mandatory | Type | Example | Default | Description |
| carrier_names[] | Yes | Array | mondialrelay | The list of selected carriers. In the case of two or more carriers, PUDO locations may be mixed as they are sorted by distance. Use only in search by address or coordinates. To get a complete list of carriers please reach out to our integration team. | |
| carrier_name | Yes | String | mondialrelay | The selected carrier (Only relevant for GET all locations). | |
| country | Yes | String | FR | Specifies country in search criteria. | |
city | Conditional | String | Paris | Specifies city in search criteria. | |
zip | Conditional | String | 75017 | Specifies postal code in search criteria. It is required for search by address and coordinates. | |
street | Conditional | String | Av. des Ternes | Specifies street in search criteria. | |
| house_no | Conditional | String | 58 | Specifies house number in search criteria. This field is combined with street. | |
| opening_days | No | Number | 7 | This parameter allows the “By Address” or "By Coordinates" endpoint to return only PUDO locations that are open within the next X days. Weekends are excluded from the calculation of this period. Locations that remain closed during this period are automatically excluded from the response. When this parameter is used, it is not necessary to evaluate the valid_to or closing_periods fields in the response | |
| latitude | Conditional | Number | 48.87934 | Specifies the exact search location. | |
| longitude | Conditional | Number | 2.47934 | Specifies the exact search location. | |
| max_distance | No | Number | 1000 | 25000 | The maximum distance in meters between the requested location and existing locations to return. |
| max_number_of_results | No | Number | 10 | 10 | The maximum number of locations to return. |
parcel_sizes[] | No | Array | XL | The supported parcel sizes. Some carriers have specific locations for XL parcel size. |
Response Model
| Field | Type | Example | Description | |||||
| carrier_name | String | "mondialrelay" | The selected carrier. | |||||
| location_type | String | "SHOP" | Location type. Supported locations:
| |||||
| location_id | String | "004694" | Location identifier also called PUDO ID | |||||
| location_code | String | "002318317571238" | Secondary location identifier that is used for some carriers. | |||||
| address.name | String | "Paris Telecom" | The name of the location. | |||||
| address.alternative_name | String | "4694 Ternes" | The alternative name, description or localization details. | |||||
| address.address_line | String | "58 Av. des Ternes" | The original address line (street and house number) provided by carrier, sometimes it may be combined with street and house number if those fields are returned as separated. In some cases, this field may supply street and house number fields after internal conversion. | |||||
| address.country | String | "FR" | The country of the address location. | |||||
address.city | String | "Paris" | The city of the address location. | |||||
address.zip | String | "75017" | The postal code of the address location. | |||||
address.street | String | "Av. des Ternes" | The street of the address location. For some carriers, this value may be extracted from the address line (street and house number). | |||||
| address.house_no | String | "58" | Specifies house number in search criteria. For some carriers, this value may be extracted from the address line (street and house number). | |||||
| valid_from | String | "2020-01-01" | The validity start date of the PUDO location. Used date format: yyyy-MM-dd. | |||||
| valid_to | String | "2026-01-10" | The validity end date of the PUDO location. Used date format: yyyy-MM-dd. | |||||
| closing_periods[].from | String | "2022-08-01" | The temporary closure start date of the PUDO location. Used date format: yyyy-MM-dd. | |||||
| closing_periods[].to | String | "2022-08-10" | The temporary closure end date of the PUDO location. Used date format: yyyy-MM-dd. | |||||
| closing_periods[].reason | String | "holidays" | The reason for the temporary closure of the PUDO location. This information is carrier-specific which means that it may not be unified between other carriers. | |||||
| opening_hours.monday[] opening_hours.tuesday[] opening_hours.wednesday[] opening_hours.thursday[] opening_hours.friday[] opening_hours.saturday[] opening_hours.sunday[] | Object | { "from": { "hours": 8, "minutes": 30 } "to": { "hours": 22, "minutes": 30 } } | Specifies opening hours for each day of week. | |||||
coordinates | Object | { "latitude": 48.87934, "longitude": 2.47934 } | Specifies the exact location place. | |||||
parcel_sizes | Array | ["L", "XL"] | The supported parcel sizes. Some carriers have specific locations for XL shipments. | |||||
| distance | Number | 0 | The distance in meters between the requested location and the existing location. | |||||
| supported_services | Array | [ "cardboard sale", "case settlement"] | List of carrier-specific supported services. They can be useful in situations where the client would like to take advantage of additional services offered by the carrier. | |||||
| additional_attributes | Object | { "name": "key", "value": "value" } | The additional attributes which are provided as custom key-value pairs. |