Accéder au catalogue¶
Parcourir les catégories¶
Les activités Funbooker sont organisées en catégories hiérarchiques. Chaque catégorie appartient à une occasion (anniversaire, team-building, etc.).
Lister toutes les catégories :
curl -X GET 'https://www.funbooker.com/api/partner/v1/categories?apikey=VOTRE_CLE_API' \
-H 'Accept: application/json'
Réponse :
[
{
"id": 1,
"name": "Anniversaire",
"parentId": null,
"occasion": "birthday"
},
{
"id": 42,
"name": "Saut en parachute",
"parentId": 1,
"occasion": "birthday"
}
]
parentId: nullindique une catégorie racine (occasion).- Les catégories avec un
parentIdsont des sous-catégories.
Détail d'une catégorie :
curl -X GET 'https://www.funbooker.com/api/partner/v1/categories/42?apikey=VOTRE_CLE_API' \
-H 'Accept: application/json'
Les catégories supportent aussi le format JSON-LD via
Accept: application/ld+jsonpour une intégration sémantique (SKOS).
Lister les activités¶
Liste paginée des activités publiées :
curl -X GET 'https://www.funbooker.com/api/partner/v1/listings?apikey=VOTRE_CLE_API&page=1&perPage=25' \
-H 'Accept: application/json'
Paramètres de requête :
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
page |
integer | 1 |
Page courante |
perPage |
integer | 25 |
Nombre de résultats par page |
search |
string | "" |
Recherche libre dans les titres |
occasion |
string | "" |
Filtrer par slug d'occasion |
Détail d'une activité par slug :
curl -X GET 'https://www.funbooker.com/api/partner/v1/listing/saut-en-parachute-paris?apikey=VOTRE_CLE_API' \
-H 'Accept: application/json'
Réponse (extrait) :
{
"id": 12345,
"slug": "saut-en-parachute-paris",
"title": "Saut en parachute à Paris",
"atHome": false,
"isInstant": true,
"pictureUrl": "https://res.cloudinary.com/funbooker/image/upload/.../photo.jpg",
"description": "Vivez une expérience de chute libre inoubliable...",
"minPerson": 1,
"maxPerson": 15,
"averageRating": 4.8,
"ratingCount": 127,
"address": {
"city": "Paris",
"country": "FR",
"route": "Rue de Rivoli",
"streetNumber": "10",
"zip": "75001"
},
"categories": [
{
"id": 1,
"name": "Anniversaire",
"parentId": null,
"occasion": "birthday"
},
{
"id": 42,
"name": "Saut en parachute",
"parentId": 1,
"occasion": "birthday"
}
],
"duration": {
"hours": 1,
"minutes": 0,
"real_time": 60
},
"minAge": 12,
"maxAge": 0,
"isTopSales": true,
"isNew": false,
"latitude": 48.8566,
"longitude": 2.3522,
"funpro": {
"id": 789,
"name": "ParaChute Aventure",
"pictureUrl": "https://res.cloudinary.com/funbooker/image/upload/.../avatar.jpg"
},
"listingItems": [
{
"id": 111,
"listingId": 12345,
"label": "Saut tandem - 1 personne",
"description": "Prix par personne",
"isOption": false,
"price": 29900,
"priceType": "per_person",
"minCapacity": 1,
"maxCapacity": 10,
"numberOfPersons": 1,
"durationTime": 60
},
{
"id": 112,
"listingId": 12345,
"label": "Vidéo souvenir",
"isOption": true,
"price": 4900,
"priceType": "option",
"minCapacity": 1,
"maxCapacity": 1,
"numberOfPersons": 1
}
],
"checkoutLinks": [
{
"href": "https://www.funbooker.com/checkout/booking/new/saut-en-parachute-paris",
"shortLabel": "Réserver"
}
],
"cancellationPolicy": {
"count": 48,
"timeUnit": "hour"
},
"updated": "2024-11-15T14:30:00+00:00"
}
Points clés sur la réponse Listing :
listingItems: les variantes tarifaires de l'activité. Chaque item a unpriceen centimes et unpriceType(per_person,plan,option).checkoutLinks: les liens de réservation pré-construits vers Funbooker. Utilisez ces liens pour rediriger vos visiteurs.isInstant: sitrue, la réservation est confirmée immédiatement. Sinon, le prestataire doit valider manuellement.cancellationPolicy: conditions d'annulation (ex : annulation gratuite jusqu'à 48h avant).categories: les catégories associées à l'activité, avec leur hiérarchie et occasion.duration: durée de l'activité décomposée en heures, minutes et temps total en minutes (real_time).nullsi non renseignée.minAge/maxAge: tranche d'âge recommandée.0signifie non renseigné.isTopSales:truesi l'activité fait partie des meilleures ventes.isNew:truesi l'activité est récente sur la plateforme.
Rechercher des activités¶
La recherche permet de trouver des activités par mots-clés et/ou par zone géographique.
curl -X POST 'https://www.funbooker.com/api/partner/v1/search?apikey=VOTRE_CLE_API' \
-H 'Content-Type: application/json' \
-d '{
"mode": "search",
"query": "parachute",
"hitsPerPage": 10,
"page": 1,
"lat": 48.8566,
"lng": 2.3522,
"radius": 50000
}'
Paramètres de la requête :
| Champ | Type | Requis | Description |
|---|---|---|---|
query |
string | Non | Recherche textuelle |
hitsPerPage |
integer | Oui | Nombre de résultats par page |
page |
integer | Oui | Page courante |
categories |
integer[] | Non | Filtrer par IDs de catégories |
lat / lng |
float | Non | Coordonnées du centre de recherche |
radius |
integer | Non | Rayon de recherche en mètres |
minY / maxY / minX / maxX |
float | Non | Bounding box pour la recherche cartographique |
Réponse (extrait) :
{
"hits": [
{
"id": "12345",
"title": "Saut en parachute à Paris",
"slug": "saut-en-parachute-paris",
"price": 29900,
"image_name": "photo.jpg",
"categories": ["Anniversaire", "Sport extrême"],
"averageRating": 4.8,
"commentCount": 127,
"duration": 60,
"home": false,
"_geoloc": { "lat": 48.8566, "lng": 2.3522 }
}
],
"nbHits": 42,
"page": 1,
"nbPages": 5,
"hitsPerPage": 10,
"query": "parachute"
}