Retourne la liste totale des hébergements acceptant des réservations dans la langue d'appel, avec leurs caractéristiques et leurs indisponibilités. Ce point de terminaison ne retourne pas les indisponibilités en temps réel, car son résultat est mis en cache pour une durée de 12 heures.
Avec un compte test, ce point de terminaison ne retournera que 20 hébergements maximum.Paramètres
Aucun
Valeurs de retour
Un tableau de N objets de type Rental
[{ "id": 8, // Identifiant unique de l'hébergement "url": "https://www.abracadaroom.com/en/book-chateau-de-lez-eaux-treehouse-damoiseaux-890", // URL de la page "title": "Dam'oiseaux", // Nom de l'hébergement "property": "Château de Lez-Eaux", // Nom de la propriété / du domaine "type": "Treehouse", // Type d'hébergement. Le texte est localisé selon la langue d'appel. "themes": [ // Thèmes (toujours un tableau, peut être vide). Le texte est localisé selon la langue d'appel. "Outdoor activities", "Seaside", "Countryside", "Family friendly", "Outdoor Markets" ], "description": "Located approximately one hour from Saint Malo and a bit more than one hour from Rennes by car, le Château de Lez-Eaux presents the Dam'Oiseaux cabin perched on 2 hundred year old oak trees, 6m up over the ground. 27 steps up a spiral staircase give access to the cabin's terrace. An owl invites you to explore its nest: You will feel like a bird... We like:\nThe height of the cabin as well as its size\nThe breathtaking view of the Norman countryside", // Description "customers_rating": 4, // Note des clients sur (de 0 à 5). Valeur décimale, peut être égale à null si aucune note "main_photo": "https://static.abracadaroom.com/cache/media/i/r/27/damoiseaux-6-2--8-fo-teaser___v_0b3cd4a265b8879d8ddaea08f1aff91a.jpg", // Photo principale, résolution 1920x1440, en JPEG. "photos": [ // Tableau de toutes les photos, résolution 900x600 maximum, en JPEG. Le tableau peut être vide. "https://static.abracadaroom.com/cache/media/i/r/27/damoiseaux-6-2--8-fo-normal___v_0b3cd4a265b8879d8ddaea08f1aff91a.jpg", "https://static.abracadaroom.com/cache/media/i/r/11/damoiseaux-7_2--4555-fo-normal___v_13d9c39da2ad559eb2e7e894e4e2c4f8.jpg", "https://static.abracadaroom.com/cache/media/i/r/da/damoiseau2--636-fo-normal___v_f184fb73653ccc7dab3514b478f52513.jpg", "https://static.abracadaroom.com/cache/media/i/r/26/damoiseaux-8_2--9-fo-normal___v_a9292c77054ae43d22295902b1cab7bd.jpg", "https://static.abracadaroom.com/cache/media/i/r/dc/damoiseaux-5_2--7-fo-normal___v_05c5e61a7d715e7780d71eb56f6e3e87.jpg" ], "accommodation_details": { "capacity": 3, // Capacité d'accueil "minimum_age": 2, // Age minimum des occupants (peut être égal à null si ouvert à tous) "rooms": 1, // Nombre de pièces "height": 6, // Hauteur (en mètres). "access": "stairs", // Type d'accès (peut être égal à null). Le texte est localisé selon la langue d'appel. "surface": 20, // Surface en m² "wheelchair_friendly": false, // Adapté aux personnes à mobilité réduite (booléen) "forbidden_for_pregnant": false, // Interdit aux femmes enceintes (booléen) "pets_friendly": false, // Animaux acceptés (booléen) "pets_friendly_details": "" // Commentaire éventuel concernant les animaux acceptés. Le texte est localisé selon la langue d'appel. }, "accommodation_facilities": { "sanitary_facilities": { "restrooms": "ecological dry toilets, inside the accommodation", "bathroom": "outside the accommodation", "distance": null, // Distance en mètre entre les sanitaires et le logement. Peut être égal à null. "towel_set": "non provided", // Informations concernant le linge de toilettes. Le texte est localisé selon la langue d'appel. "hair_dryer": false }, "bedding": { "bedrooms": 0, // Nombre de chambres "beds": { "double_beds": 1, // Nombre de lits doubles "single_beds": 1, // Nombre de lits simples "bunk_beds": 0, // Nombre de lits superposés "sofa_beds": 0, // Nombre de canapés-lits "baby_beds": 0, // Nombre de lits bébé "extra_beds": 0 // Nombre de lits d'appoint }, "baby_bed_extra_charge": false, // Supplément pour les lits bébé (booléen) "bedding_set": "beds ready on arrival" // Commentaire éventuel concernant le supplément pour les lits bébé. Le texte est localisé selon la langue d'appel. }, }, "kitchen": { "coffee_maker": false, "kettle": false, "microwave": false, "cooking_plate": false, "fridge": false, "oven": false, "dishwasher": false, "dishes": false, "baby_chair": false }, "outdoor": { "terrace": true, "terrace_surface": null, // Surface de la terrasse en m². Peut être égale à null si non renseignée ou si pas de terrasse. "garden_lounge": true, "barbecue": false, "hammock": false }, "comfort": { "electricity": false, "water": "", // Information éventuelle sur la disponibilité d'eau dans le logement. Le texte est localisé selon la langue d'appel. "spa": false, "spa_details": "", // Commentaire éventuel sur l'équipement spa. Le texte est localisé selon la langue d'appel. "table_and_chairs": true, "air_conditioner": false, "heating": false, "wood_stove": false, "chimney": false, "firewood_included": false, "wifi": false, "tv": false, "washing_machine": false, "iron": false, "hoover": false } }, "property_facilities": [ // Equipements du domaine, à l'extérieur du logement. Le texte est localisé selon la langue d'appel. Le tableau peut être vide. "Heated pool", "Bikes", "Ping pong", "Hiking", "Petanque", "Fishing", "Water center", "Playground", "Shop", "Convenience Store", "Bakery", "Waterslide", "Fitness room", "Football", "Paddling", "Water games", "Volleyball", "Inflatables", "Billiards", "Electronic games" ], "nearby_facilities": [ // Liste des activités à proximité de l'hébergement, hors domaine. Le texte est localisé selon la langue d'appel (si pas de traduction, la langue par défaut est le français) "Le Mont-Saint-Michel", "Scriptorial d'Avranches - Musée des Manuscrits du Mont-Saint-Michel", "Zoo de Champrépus", "Iles anglo Normandes", "Musée Christian Dior" ], "meals": { "breakfast": "Breakfast included. Served in your accomodation", // Information éventuelle sur le petit-déjeuner. Le texte est localisé selon la langue d'appel. "other_meals": "Packed lunch available as an extra when booking" // Information éventuelle sur les autres repas. Le texte est localisé selon la langue d'appel. }, "arrival": { "checkin_start": "16:00", // Heure d'arrivée (début), en format 24h. Peut être vide. "checkin_end": "19:00", // Heure d'arrivée (fin), en format 24h. Peut être vide. "checkout": "9:30" // Heure maximum de départ, en format 24h. Peut être vide. }, "booking": { "opening_date": "2018-03-29", // Date d'ouverture annuelle de l'hébergement, au format YYYY-MM-DD. Peut être vide. "closing_date": "2018-09-16", // Date de fermeture annuelle de l'hébergement, au format YYYY-MM-DD. Peut être vide. "base_night_price": "99.00", // Prix par nuit (pour un nombre de personne maximum égal à la valeur price_scope) "currency": "EUR", "price_scope": 2, // Nombre de personne compris dans le prix par nuit (si 0, le prix est valable quelque soit le nombre de personne, dans la limite de la capacité du logement) "price_per_additional_person": "22.00", // Prix par personne supplémentaire, au delà du price_scope. "price_per_additional_person_details": "", // Information éventuelle concernant le prix par personne supplémentaire. Le texte est localisé selon la langue d'appel. "included": "One night, candles, bedlinen and breakfast.", "not_included": " Additional options can be chosen and added after checking availability \n", "additional_services": "Additional guest (22€)Gourmet lunch basket for 2 people (59€)Additional vehicle (5€)Lunch basket / child (22€)Aperitif for 2 people (9€)\n", "special_offers": "", "minimum_stay": "", "booking_conditions": "" }, "location": { "address": { "address": "Château de Lez-Eaux", "address2": "", "address3": "", "zipcode": "50000", "city": "Saint Pair Sur Mer", "country": "France", "area": "Manche", "region": "Lower Normandy" }, "coord": { "lat": 48.8016, "lng": -1.52215 }, "access": "Le camping de Lez-Eaux, situé sur la côte sud de la Manche, à l’ouest de la Normandie et aux portes de la Bretagne, entre le Mont Saint Michel et Granville, vous accueille dans un cadre unique. Pour vous y rendre :\n\r\n\n\r\nDepuis Cherbourg :\n\r\n\n\r\nDirection Caen-Paris jusqu’à Valognes.\n\r\nA Valognes, direction le Mont St-Michel via Lessay, Coutances, Granville.\n\r\nA Granville, direction Avranches sur la D 973.\n\r\nA 4 kms après le rond point Géant Casino.\n\r\n\n\r\nDepuis Paris :\n\r\n\n\r\nPrendre A14 en direction de Rouen.\n\r\nContinuer sur A13, suivre la direction Caen.\n\r\nA proximité de Caen, continuer sur N814 en direction de Rennes.\n\r\nContinuer sur A84 / E401, prendre sortie en direction de Granville.\n\r\nA Granville, direction Avranches sur la D 973.\n\r\nA 4 kms après le rond point Géant Casino.\n\r\n\n\r\nDepuis Calais :\n\r\n\n\r\nPrendre A16 / E402 en direction de Rouen.\n\r\nA proximité de Abbeville, continuer sur A28 / E402, suivre la direction Le Havre, Caen.\n\r\nContinuer sur A29 / E44 suivre la direction Caen Lisieux.\n\r\nContinuer sur A13 / E46, prendre sortie en direction de Rennes Cherbourg.\n\r\nA proximité de Caen, continuer sur N814 en direction de Rennes Cherbourg.\n\r\nContinuer sur : A84 / E401, prendre sortie en direction de Granville.\n\r\nA Granville, direction Avranches sur la D 973.\n\r\nA 4 kms après le rond point Géant Casino.\n\r\n\n\r\nDepuis Saint-Malo :\n\r\n\n\r\nPrendre à droite N137 en direction de Rennes.\n\r\nA proximité de Avranches, prendre à droite D973.\n\r\nDirection Granville\n\r\nPasser Marcey les grèves – Sartilly – Saint Pierre Langers\n\r\nAprès Saint Pierre Langers à 500 mètres entrée du Camping sur la gauche juste avant le radar automatique.", "distance_parking": 0 // distance entre le parking et le logement, en mètre. Peut être égale à null. }, "unavailabilities": [ // Liste des plages d'indisponibilités, avec la date de début et la date de fin. { "start": "2018-09-16", "end": "2020-12-30" }, { "start": "2018-08-30", "end": "2018-08-31" }, { "start": "2018-06-22", "end": "2018-06-24" }, { "start": "2018-05-26", "end": "2018-05-27" }, { "start": "2018-05-05", "end": "2018-05-06" }, { "start": "2018-04-28", "end": "2018-04-29" }, { "start": "2018-04-14", "end": "2018-04-15" }, { "start": "2010-01-02", "end": "2018-03-29" } ] }, { ... // autre logement }]
Retourne la liste totale des types d'hébergement pour lesquels il existe des hébergements acceptant des réservations dans la langue d'appel.
Paramètres
Aucun
Valeurs de retour
Un tableau de N objets de type Type
[ { "id": 12, // Identifiant unique du type d'hébergement "label": "Maisonnette" // Libellé du type }, { "id": 23, "label": "Tonneau" }, ... ]
Retourne, pour un type d'hébergement donné, la liste totale des hébergements acceptant des réservations dans la langue d'appel, avec leurs caractéristiques et leurs indisponibilités. Ce point de terminaison ne retourne pas les indisponibilités en temps réel, car son résultat est mis en cache pour une durée de 12 heures.
Avec un compte test, ce point de terminaison ne retournera que 2 hébergements maximum.Paramètres
id : Identifiant unique du type d'hébergement (type : entier)
Valeurs de retour
Un tableau de N objets de type Rental (voir GET /rentals pour voir un exemple d'objet de type Rental)
Les appels nécessitant l'authentification attendent un en-tête HTTP Authorization
comportant soit un token, soit un couple username / password, selon le format suivant :
Un compte de test est disponible :
demo
test
F8CpmeDJ8yzqk8fejF0cG5Ls7ren
Authorization: Bearer your_api_tokenou
Authorization: Token your_api_token
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
Dans cet exemple, dXNlcm5hbWU6cGFzc3dvcmQ= correspond à 'username:password' encodé en base64.
Vous pouvez également utiliser le couple username / password via l'option -u
de cURL, ou via l'option auth
de Guzzle.
Les points de terminaison de l'API peuvent être appelées avec un en-tête HTTP Accept-Language
. Les réponses renvoyées tiendront compte de cette langue d'appel (texte traduit dans la langue d'appel + accès aux données uniquement disponibles dans la langue d'appel).
Les valeurs autorisées pour l'en-tête Accept-Language sont :
fr
(par défaut)en
nl
es
Si aucun en-tête Accept-Language
n'est envoyé, la langue par défaut (Français) sera utilisée dans les réponses.
Les exemples suivants sont écrits en PHP.
$client = new GuzzleClient(); $result = $client->request('GET', 'https://vacation.unicstay.com/api/v1/abcd/v1/rentals', [ 'auth' => ['username', 'password'], 'headers' => [ 'Accept-Language' => 'en', ], ]); $response = json_decode($result->getBody()->getContents());
ou
$client = new GuzzleClient(); $result = $client->request('GET', 'https://vacation.unicstay.com/api/v1/abcd/v1/rentals', [ 'headers' => [ 'Authorization' => 'Basic ' . base64_encode('username:password'), 'Accept-Language' => 'en', ], ]); $response = json_decode($result->getBody()->getContents());
$client = new GuzzleClient(); $result = $client->request('GET', 'https://vacation.unicstay.com/api/v1/abcd/v1/rentals', [ 'headers' => [ 'Authorization' => 'Bearer your_api_token', 'Accept-Language' => 'en', ], ]); $response = json_decode($result->getBody()->getContents());
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://vacation.unicstay.com/api/v1/abcd/v1/rentals'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Authorization: Basic ' . base64_encode('username:password'), 'Accept-Language: en', ]); $result = curl_exec($ch); curl_close($ch); $response = json_decode($result);
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://vacation.unicstay.com/api/v1/abcd/v1/rentals'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Authorization: Bearer your_api_token', 'Accept-Language: en', ]); $result = curl_exec($ch); curl_close($ch); $response = json_decode($result);