Points de collecte
Recherchez des points relais DPD (points de collecte, consignes, points de service) par adresse ou coordonnées GPS.
Chemin de base: /api/v1/parcel-shop
Authentification: Jeton JWT Bearer requis
Récapitulatif des points de terminaison
| Méthode | Point de terminaison | Description |
|---|---|---|
| GET | /api/v1/parcel-shop/{parcelShopId} | Obtenir un point relais spécifique par son identifiant |
| POST | /api/v1/parcel-shop/address | Rechercher des points relais par adresse |
| POST | /api/v1/parcel-shop/coordinates | Rechercher des points relais par coordonnées GPS |
GET /api/v1/parcel-shop/{parcelShopId}
Consulter les détails d'un point relais spécifique.
Paramètre de chemin : parcelShopId — p. ex. 699CH190001
Paramètre de requête : locale (facultatif) — p. ex. de_CH
curl -X GET "https://label-print-shipments.dpd.ch/api/v1/parcel-shop/699CH190001?locale=de_CH" \
-H "Authorization: Bearer <jwt_token>"
Réponse 200 OK :
{
"id": "699CH190001",
"parcelShopId": 190001,
"name": "DPD Pickup Point Zürich HB",
"distance": 250,
"type": 1,
"address": {
"name": "Kiosk Hauptbahnhof",
"street": "Bahnhofplatz",
"houseNumber": "1",
"zipCode": "8000",
"city": "Zürich",
"countryCode": "CH"
},
"available": "Y",
"latitude": 47.3769,
"longitude": 8.5417,
"openingHours": [
{
"weekDay": "MONDAY",
"openMorning": "06:00",
"closeMorning": "22:00",
"openAfternoon": null,
"closeAfternoon": null
}
],
"holidays": [
{ "start": "2025-12-24", "end": "2025-12-26" }
],
"services": [
{ "code": "PICKUP", "available": true, "description": "Parcel pickup available" },
{ "code": "DROPOFF", "available": true, "description": "Parcel drop-off available" }
]
}
Codes de statut : 200 OK | 401 Unauthorized | 404 Not Found
POST /api/v1/parcel-shop/address
Recherche de points relais près d'une adresse. Résultats triés par distance (le plus proche en premier).
Corps de la requête :
| Champ | Type | Obligatoire | Description | Défaut |
|---|---|---|---|---|
country | String (2) | Oui | Code pays ISO | — |
zipCode | String | Oui | Code postal | — |
city | String | Non | Nom de la ville | — |
street | String | Non | Nom de la rue | — |
destCountryCode | String | Non | Pays de destination pour le filtrage des services | — |
weight | String | Non | Poids du colis en kg | — |
services | String | Non | Codes de service séparés par des virgules | — |
type | String | Non | Filtre par type de point relais | — |
limit | Integer | Non | Nombre maximum de résultats | 25 |
availabilityDate | String | Non | Vérifier la disponibilité à une date (yyyy-MM-dd) | — |
hideClosed | Boolean | Non | Exclure les points actuellement fermés | false |
curl -X POST "https://label-print-shipments.dpd.ch/api/v1/parcel-shop/address?locale=fr_CH" \
-H "Authorization: Bearer <jwt_token>" \
-H "Content-Type: application/json" \
-d '{
"country": "CH",
"zipCode": "1000",
"city": "Lausanne",
"limit": 10
}'
Codes de statut : 200 OK (peut retourner une liste vide) | 400 Bad Request | 401 Unauthorized
POST /api/v1/parcel-shop/coordinates
Recherche de points relais près de coordonnées GPS. Mêmes filtres et même format de réponse que la recherche par adresse.
Corps de la requête :
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
latitude | Double | Oui | Latitude GPS (−90 à 90) |
longitude | Double | Oui | Longitude GPS (−180 à 180) |
destCountryCode | String | Non | Pays de destination |
limit | Integer | Non | Nombre maximum de résultats (défaut : 25) |
hideClosed | Boolean | Non | Exclure les points fermés (défaut : false) |
availabilityDate | String | Non | Vérifier la disponibilité à une date |
curl -X POST "https://label-print-shipments.dpd.ch/api/v1/parcel-shop/coordinates" \
-H "Authorization: Bearer <jwt_token>" \
-H "Content-Type: application/json" \
-d '{
"latitude": 47.3769,
"longitude": 8.5417,
"limit": 10,
"hideClosed": true
}'
Codes de statut : 200 OK | 400 Bad Request | 401 Unauthorized
Types de points relais
| Type | Description |
|---|---|
1 | Point relais DPD |
2 | Consigne DPD |
3 | Partenaire (ex. La Poste) |
4 | Point de service |
Exemples de code
Sélecteur de point relais dans un formulaire d'expédition :
async function searchParcelShops(zipCode, city) {
const response = await fetch(
'https://label-print-shipments.dpd.ch/api/v1/parcel-shop/address',
{
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({ country: 'CH', zipCode, city, limit: 10 })
}
);
return response.json();
}
Localisateur basé sur une carte :
function findNearby(lat, lng) {
return fetch('https://label-print-shipments.dpd.ch/api/v1/parcel-shop/coordinates', {
method: 'POST',
headers: { 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ latitude: lat, longitude: lng, limit: 20, hideClosed: true })
}).then(r => r.json());
}