Bons d'activité¶
Un bon d'activité est un bon cadeau lié à une activité spécifique. Contrairement à la carte cadeau monétaire, le bon est pré-configuré pour une activité et des options précises.
Créer un bon d'activité¶
Pour créer un bon, vous devez connaître l'id de l'activité et les id des options tarifaires (obtenus via GET /listing/{slug}).
curl -X POST 'https://www.funbooker.com/api/partner/v1/voucher/create?apikey=VOTRE_CLE_API' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"listingId": 12345,
"listingItems": [
{
"listingItemId": 111,
"quantity": 2,
"unitPrice": 29900
}
],
"giftName": "Marie",
"giftReceiverName": "Pierre",
"giftMessage": "Joyeux anniversaire !"
}'
Paramètres de la requête :
| Champ | Type | Requis | Description |
|---|---|---|---|
listingId |
integer | Oui | ID de l'activité |
listingItems |
array | Oui | Options sélectionnées (voir ci-dessous) |
giftName |
string | Non | Nom de la personne qui offre |
giftReceiverName |
string | Non | Nom du bénéficiaire |
giftMessage |
string | Non | Message personnalisé sur le bon |
Structure de listingItems :
| Champ | Type | Description |
|---|---|---|
listingItemId |
integer | ID de l'option tarifaire |
quantity |
integer | Quantité |
unitPrice |
integer | Prix unitaire en centimes |
Réponse :
{
"voucherCode": "XFKDJL456413",
"bookingUrl": "https://www.funbooker.com/useVoucher/XFKDJL456413",
"price": {
"amount": 59800,
"currency": "EUR"
}
}
Détails de la réponse :
| Champ | Description |
|---|---|
voucherCode |
Code du bon à transmettre au bénéficiaire |
bookingUrl |
URL pour convertir le bon en réservation |
price |
Prix total en centimes (somme des items x quantités) |
Workflow du bon d'activité¶
sequenceDiagram
participant C as Client
participant R as Site Revendeur
participant API as Partner API
participant F as Funbooker
participant B as Bénéficiaire
Note over R: 1. Le revendeur consulte le catalogue
R->>API: GET /listing/saut-en-parachute-paris
API-->>R: {id: 12345, listingItems: [{id: 111, label: "Saut tandem", price: 29900}]}
Note over R: 2. Le client achète le bon
C->>R: Achète un bon "Saut tandem x2"
R->>API: POST /voucher/create (listingId: 12345, items: [{id: 111, qty: 2}])
API-->>R: {voucherCode: "XFKDJL456413", bookingUrl: "..."}
R-->>C: Transmet le code et l'URL de réservation
Note over B: 3. Le bénéficiaire utilise le bon
C->>B: Offre le bon d'activité
B->>F: Utilise le code pour réserver une date
F->>F: Réservation confirmée