Endpoint : Voyage Webhook
Ce endpoint permet de recevoir un objet reprĂ©sentant un voyage client, contenant les informations personnelles, les dates, le nombre dâaccompagnants et les lieux Ă visiter.
đ URL
POST /api/webhook_voyage/
đ Authentication & Permissions
- Pas dâauthentification (anonymous).
- Restriction par IP uniquement.
đ€ Identifiants des activitĂ©s
| Activité | Identifiant (id) |
|---|---|
| Paris: Orsay Museum Entry Ticket | 305 |
| Paris: Rodin Museum skip the line Ticket - Getyourguide | 306 |
| Paris: Rodin Museum skip the line Ticket - Viator | 330 |
| Paris Orsay Museum and Rodin Museum Combo Ticket | 307 |
đ€ RequĂȘte â Payload attendu
JSON Schema
{
"fullName": "string",
"email": "string (email)",
"phoneNumber": "string",
"startDate": "string (format ISO 8601)",
"externalReference": "string",
"tariffs": [
{
"type": "string DEFAULT, CHILD or SENIOR",
"numberOfUnits": "integer"
}
],
"activityId": "integer (voir tableau 'identifiants des activitées')"
}
Exemple de requĂȘte
{
"fullName": "Alice DUPONT",
"email": "alice@example.com",
"phoneNumber": "+33123456789",
"startDate": "2025-06-15T10:00:00Z",
"externalReference": "REF-9876",
"tariffs": [
{
"type": "DEFAULT",
"numberOfUnits": 2
},
{
"type": "CHILD",
"numberOfUnits": 1
}
],
"activityId": 305
}
â RĂ©ponse en cas de succĂšs
{
"status": "ok"
}
HTTP Status: 200 OK
â RĂ©ponses en cas dâerreur
400 â Payload invalide
{
"error": "Payload invalide : 'client' is a required property"
}
400 â Mauvais format de date
{
"error": "Le champ 'startDate' doit ĂȘtre au format ISO date-time."
}
500 â Erreur interne
{
"error": "Erreur interne : <message>"
}
đĄ Exemple cURL
curl -X POST https://backend.paris.stowa.dev/api/webhook_voyage/ \
-H "Content-Type: application/json" \
-d '{
"fullName": "Alice DUPONT",
"email": "alice@example.com",
"phoneNumber": "+33123456789",
"startDate": "2025-06-15T10:00:00Z",
"externalReference": "REF-9876",
"tariffs": [
{
"type": "DEFAULT",
"numberOfUnits": 2
},
{
"type": "CHILD",
"numberOfUnits": 1
}
],
"activityId": 305
}'