Intégration de fournisseurs hôteliers
Intégration de l'API Hotelbeds : contenu, mapping et réservation en temps réel
Une intégration de l'API Hotelbeds, ce sont deux tâches et non une seule. Vous téléchargez et stockez le contenu hôtelier, puis vous réservez sur des tarifs en temps réel. PHPTRAVELS fait les deux dans son module hôtels, avec votre propre contrat et vos propres clés Hotelbeds.
- Synchronisation Content API
- Flux Booking API
- Tarifs BOOKABLE et RECHECK
- Mapping des hôtels
Comment s'articulent les API Hotelbeds
Intégration de l'API Hotelbeds : le contenu d'un côté, la réservation de l'autre
Hotelbeds divise ses API hôtelières en deux. La Content API renvoie des données statiques : descriptions, images, équipements, formules de repas et chambres. La Booking API renvoie les disponibilités et les prix en temps réel et prend la réservation. Choisissez une étape au centre pour voir quels appels elle utilise.
Content API
Statique, stockée chez vous- Liste des hôtels
hotels · from=1&to=1000Tous les hôtels de votre portefeuille, par pages de 1 000 hôtels maximum par requête. - Équipements, formules et chambres
facilities · boards · roomsLes tables de codes qui traduisent les codes de la Booking API en mots compréhensibles pour vos clients. - Images
photos.hotelbeds.com/giata/Chemins d'image partiels, associés au serveur photo de Hotelbeds dans la taille souhaitée. - Modifications quotidiennes
lastUpdateTimeAprès le premier chargement, une requête par jour avec lastUpdateTime ne renvoie que ce qui a changé.
Flux des requêtes
Booking API
En temps réel, appelée pour chaque client- Disponibilités
POST /hotelsChambres, formules, prix et frais d'annulation pour vos codes d'hôtel, vos dates et l'occupation. - Vérification du tarif
POST /checkratesPrix et conditions mis à jour pour un tarif marqué RECHECK, avec des options d'upselling. - Réservation
POST /bookingsConfirme le rateKey choisi avec les noms du titulaire et des clients, et renvoie la référence. - Annulation
DELETE /bookings · simulateSimule une annulation pour afficher les frais, ou annule réellement la réservation.
La plupart des projets Hotelbeds qui échouent mélangent les deux côtés. Ils appellent la Content API pendant la recherche du client, ce qui est lent et peut, comme Hotelbeds le signale, entraîner le blocage de vos identifiants. Ou bien ils recherchent en temps réel sans codes stockés et ne peuvent afficher ni images ni équipements. PHPTRAVELS sépare les deux : le contenu est synchronisé en arrière-plan, et seuls les appels de disponibilité, de vérification du tarif et de réservation s'exécutent pendant que le client attend.
Si vous cherchez des informations sur le fournisseur lui-même, ses produits et l'ouverture d'un compte, consultez le profil du fournisseur Hotelbeds. Cette page traite de l'intégration technique.
Types de tarifs
Les quatre champs tarifaires qui modifient votre paiement
Chaque tarif Hotelbeds porte quelques attributs qui déterminent si vous pouvez le réserver directement, quel prix vous pouvez afficher et qui encaisse l'argent. Ce sont ceux que votre moteur doit lire dans chaque résultat.
| Champ | Premier cas | Second cas | Ce que fait PHPTRAVELS |
|---|---|---|---|
Réservable ou à vérifierrateType | BOOKABLELe tarif est à jour. Vous pouvez le réserver sans autre appel. | RECHECKVous devez d'abord appeler la vérification du tarif pour obtenir le prix et les conditions à jour. | Lance la vérification du tarif avant l'étape de paiement pour les tarifs RECHECK et affiche tout changement au client. |
Net ou commissionnablenet · sellingRate | netModèle net : les prix sont nets, vous ajoutez donc votre propre marge. | sellingRateModèle commissionnable : la commission est déjà incluse dans sellingRate, et ce prix est définitif. | Applique vos règles de majoration aux tarifs nets et vend les tarifs commissionnables au sellingRate. |
Prix de vente imposéhotelMandatory | truehotelMandatory vaut true : vous devez vendre au sellingRate. | false · nullFalse ou vide sur un tarif net : vous pouvez fixer votre propre marge. | Bloque le prix affiché au sellingRate lorsque l'hôtel l'exige, quelle que soit la règle de majoration. |
Quand le client paiepaymentType | AT_WEBLe paiement est encaissé lors de la réservation, via votre site. | AT_HOTELLe client paie directement l'hôtel. | Indique si le tarif est à payer maintenant ou à l'hôtel, et adapte le paiement en conséquence. |
Le modèle tarifaire que vous obtenez dépend de votre contrat Hotelbeds. Comme l'indique Hotelbeds, votre responsable commercial vous recommande le modèle adapté à votre activité.
Mapping des hôtels
Associez les hôtels Hotelbeds aux hôtels que vous vendez déjà
Si vous avez vos propres contrats ou un second fournisseur, le même hôtel arrivera sous des codes différents. Le mapping les relie, pour que le client voie un seul hôtel avec le meilleur tarif, et non trois copies.
Comment fonctionne le mapping dans PHPTRAVELS
Après chaque synchronisation du contenu, PHPTRAVELS compare les hôtels Hotelbeds à votre liste d'hôtels par nom, adresse, ville et coordonnées. Les correspondances proches sont reliées automatiquement. Les cas douteux attendent la confirmation d'une personne, et les hôtels sans correspondance peuvent être importés comme nouveaux établissements ou ignorés.
Les hôtels mappés partagent une page, une galerie et une note d'avis dans le module Hôtels, tandis que chaque fournisseur conserve ses propres tarifs et règles. Le même mapping est utilisé par votre site public et votre Portail de voyage B2B.
- Harbour View HotelLisbonne48291397%Associé
- Old Town SuitesPrague11735492%Associé
- Palm Court ResortDubaï66201874%À vérifier
- Casa Azul BoutiqueSéville–0%Aucune correspondance
- Northern Lights LodgeTromsø90522766%À vérifier
- Riverside ApartmentsBudapest33076198%Associé
Écran d'exemple avec des hôtels et des codes fictifs.
Hotelbeds XML ou JSON
Chaque requête est signée, et les tests commencent petit
Beaucoup d'équipes recherchent encore Hotelbeds XML, mais la documentation actuelle présente des requêtes JSON. Dans les deux cas, il s'agit des mêmes opérations, et chaque requête comporte deux en-têtes.
1# X-Signature = SHA256(api key + secret + unix time in seconds) 2TS=$(date +%s) 3SIG=$(printf "%s%s%s" "$API_KEY" "$SECRET" "$TS" | sha256sum | cut -d" " -f1) 4 5curl -X POST https://api.test.hotelbeds.com/hotel-api/1.0/hotels \ 6 -H "Api-key: $API_KEY" \ 7 -H "X-Signature: $SIG" \ 8 -H "Accept: application/json" \ 9 -H "Content-Type: application/json" \10 -d '{11 "stay": { "checkIn": "2026-11-14", "checkOut": "2026-11-17" },12 "occupancies": [{ "rooms": 1, "adults": 2, "children": 0 }],13 "hotels": { "hotel": [482913, 117354] }14 }'1516# hotel codes come from your stored Content API data, never a live content call
- Deux en-têtes
- Api-key avec votre clé, et X-Signature : un hachage SHA256 de votre clé, de votre secret et de l'heure actuelle en secondes.
- Serveur de test
- Comme l'indique Hotelbeds, les serveurs de test sont identiques à la production, mais les réservations n'y sont pas réelles et les cartes ne sont pas débitées.
- 50 requêtes par jour
- Les nouvelles clés ouvrent un environnement d'évaluation avec un quota de 50 requêtes par jour. La certification en débloque davantage.
- Aucun appel de contenu en temps réel
- Hotelbeds avertit qu'appeler la Content API en temps réel peut entraîner le blocage des identifiants. PHPTRAVELS ne le fait jamais.
Planificateur de synchronisation
Combien d'appels à la Content API votre liste d'hôtels nécessite
Comme l'indique Hotelbeds, la liste des hôtels arrive par pages de 1 000 hôtels maximum et, après le premier chargement, une requête quotidienne avec lastUpdateTime ne renvoie que les changements. Saisissez vos chiffres pour planifier la synchronisation.
- Requêtes pour le premier chargement complet
- 20
- Requêtes par mise à jour quotidienne
- 3
- Jours pour un chargement complet avec le quota d'évaluation
- 1
Simple estimation, pour la liste des hôtels. Les tables de codes et les images ajoutent quelques appels. Avec le quota d'évaluation de 50 requêtes par jour, testez d'abord avec une seule destination.
Checklist de mise en production
Ce qu'il faut préparer avant de passer en production
Hotelbeds vous fait passer de l'évaluation à la certification, puis aux clés de production, via son tableau de bord. Voici les points qu'une intégration de l'API Hotelbeds doit couvrir en premier, et comment PHPTRAVELS les couvre.
- Clés d'évaluation ajoutées dans l'administration, serveur de test sélectionné
- Content API synchronisée avec votre base de données, mise à jour quotidienne planifiée
- Hôtels mappés avec votre liste, correspondances douteuses vérifiées
- Les tarifs RECHECK passent par la vérification du tarif avant le paiement
- sellingRate respecté lorsque hotelMandatory vaut true
- Commentaires tarifaires et frais d'annulation affichés avant le paiement du client
- Le voucher affiche la référence Hotelbeds et les commentaires tarifaires
- Annulation d'abord simulée, puis confirmée, avec les frais enregistrés
Les étapes de certification et l'accès en production sont fixés par Hotelbeds selon votre contrat et votre marché.
Coût
Une licence pour le moteur, votre propre contrat avec Hotelbeds
PHPTRAVELS est une licence unique avec le code source. Hotelbeds fait l'objet d'un accord séparé entre vous et Hotelbeds, si bien que les tarifs nets et les clés restent les vôtres.
Hotelbeds est l'une des sources hôtelières que vous pouvez utiliser en parallèle. Découvrez comment elle s'articule avec RateHawk dans la présentation des API de voyage, ou comparez les fournisseurs dans la liste des fournisseurs XML.
FAQ
Questions sur l'intégration de l'API Hotelbeds
Ce que les développeurs et les entreprises de voyage demandent avant de connecter Hotelbeds.
Parler à un conseillerDeux parties. Une synchronisation en arrière-plan avec la Content API, qui stocke les hôtels, images, équipements, formules et chambres dans votre base de données, et un flux en temps réel avec la Booking API pour les disponibilités, la vérification du tarif, la réservation et l'annulation. PHPTRAVELS gère les deux dans son module hôtels.
On parle encore souvent de Hotelbeds XML, mais la documentation actuelle de Hotelbeds présente des requêtes et réponses JSON. Les opérations sont les mêmes dans les deux cas, et PHPTRAVELS gère le format pour vous.
Un tarif BOOKABLE est déjà à jour et peut être réservé immédiatement. Un tarif RECHECK nécessite d'abord un appel de vérification du tarif, qui renvoie le prix et les conditions actuels. PHPTRAVELS effectue cet appel avant l'étape de paiement.
C'est lent, et Hotelbeds avertit qu'utiliser la Content API en temps réel peut entraîner le blocage des identifiants. Le contenu doit être téléchargé par pages, stocké et mis à jour une fois par jour avec lastUpdateTime, et c'est ainsi que fonctionne PHPTRAVELS.
Oui. Vous vous inscrivez auprès de Hotelbeds, signez le contrat et recevez votre propre clé API et votre secret. Les nouvelles clés fonctionnent dans un environnement d'évaluation limité à 50 requêtes par jour jusqu'à la fin de la certification.
Oui. Le mapping des hôtels relie le même établissement entre les sources, pour que les clients voient un seul hôtel avec le meilleur tarif disponible, tandis que chaque source conserve sa propre majoration et ses règles.
Les offres PHPTRAVELS commencent à en licence unique avec le code source. Votre contrat Hotelbeds est distinct et se négocie directement avec Hotelbeds. Consultez la page des tarifs ou demandez un devis à l'équipe commerciale.
Continuez à explorer
Plus sur la plateforme
- API d'hôtelsLes API de bedbanks, d'OTA, de GDS et d'hôtels en direct expliquées
- Profil du fournisseur HotelbedsQui est Hotelbeds et comment le connecter à PHPTRAVELS
- Intégration BedsonlineHôtels et tarifs agents Bedsonline dans votre moteur
- Moteur de réservation hôtelièreRéservations directes sur le site de votre hôtel
- HôtelsBedbanks et contrats directs
- Intégration de l'API RateHawkLes hôtels RateHawk dans votre moteur de réservation, connecteur prêt
