Aller au contenu principal

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éthodePoint de terminaisonDescription
GET/api/v1/parcel-shop/{parcelShopId}Obtenir un point relais spécifique par son identifiant
POST/api/v1/parcel-shop/addressRechercher des points relais par adresse
POST/api/v1/parcel-shop/coordinatesRechercher 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 :

ChampTypeObligatoireDescriptionDéfaut
countryString (2)OuiCode pays ISO
zipCodeStringOuiCode postal
cityStringNonNom de la ville
streetStringNonNom de la rue
destCountryCodeStringNonPays de destination pour le filtrage des services
weightStringNonPoids du colis en kg
servicesStringNonCodes de service séparés par des virgules
typeStringNonFiltre par type de point relais
limitIntegerNonNombre maximum de résultats25
availabilityDateStringNonVérifier la disponibilité à une date (yyyy-MM-dd)
hideClosedBooleanNonExclure les points actuellement fermésfalse
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 :

ChampTypeObligatoireDescription
latitudeDoubleOuiLatitude GPS (−90 à 90)
longitudeDoubleOuiLongitude GPS (−180 à 180)
destCountryCodeStringNonPays de destination
limitIntegerNonNombre maximum de résultats (défaut : 25)
hideClosedBooleanNonExclure les points fermés (défaut : false)
availabilityDateStringNonVé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

TypeDescription
1Point relais DPD
2Consigne DPD
3Partenaire (ex. La Poste)
4Point 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());
}