Intégrer l'api REST de SuperHote pour récupérer les disponibilités ou créer des réservations ?

Créé par Gaëtan SuperHote, Modifié le  Tue, 14 Nov 2023 sur 08:17 AM par  Mathieu SuperHote

    

Pour intégrer l'api REST de SuperHote pour récupérer les disponibilités ou créer des réservations, il y a 2 modes d'intégration:

    


1-  Par iframe


Veuillez vous référer à l'article ci-dessous:


Comment intégrer le moteur de réservations SuperHote sur n'importe quel site internet


2- Par API 


call REST JSON pour ajouter des réservations, récupérer les disponibilités des appartements.

 


Voici le tutoriel  :


Voici des exemples d'intégration :


iframe : https://appartcapsule.fr


api : https://royalblois.com



Endpoints API utiles:





Structure Body JSON Exemple:


POUR https://app.superhote.com/api/v2/get-availabilities:

{

"api_key":"[METTRE VOTRE CLÉ API]",
"property_key":"[METTRE LA PROPERTY KEY]",
"start_date":"2022-11-04",
"end_date":"2022-11-07",
"nbr_adults":"2",
"nbr_children":"0"

}

Pour https://app.superhote.com/api/v2/create-booking


{
  "api_key":"[METTRE VOTRE CLÉ API]",
  "property_key":"[METTRE LA PROPERTY KEY]",
    "checking":"2022-11-04",
    "checkout":"2022-11-07",
    "nbr_adults":"2",
    "nbr_children":"0",
    "first_name":"Test",
    "last_name":"Mat",
    "phone":"0607080910",
  "email":"email@gmail.com",
"zip_code":"75000",
  "city":"Paris",
  "address":"1 Rue de la Location Courte Durée",
    "country":"FR",
    "status":"2",
"price":"286.00" // Attention le prix doit être cohérent par rapport ce qu'il y a dans SuperHote pour les dates sélectionnées

}

Pour https://app.superhote.com/api/v2/create-reservation

{
  "api_key":"[METTRE VOTRE CLÉ API]",
  "property_key":"[METTRE LA PROPERTY KEY]",
    "checking":"2022-11-04",
    "checkout":"2022-11-07",
    "nbr_adults":"2",
    "nbr_children":"0",
    "first_name":"Test",
    "last_name":"Mat",
    "phone":"0607080910",
  "email":"email@gmail.com",
"zip_code":"75000",
  "city":"Paris",
  "address":"1 Rue de la Location Courte Durée",
    "country":"FR",
    "status":"2",
"price":"286.00"

}

 


Voici un exemple de code d'intégration en PHP :


/*
Custom code for SuperHote API Integration
*/


// CALLED to get availabilities of each rental
if( !function_exists('get_availabilities') ){
function get_availabilities($apiKey, $propKey, $roomId, $checkin, $checkout, $numAdult, $numChild ){

$data = array();
$data["start_date"] = $checkin;
$data["end_date"] = $checkout;
$data["property_key"] = $propKey;
$data["api_key"] = $apiKey;
$data["nbr_adults"] = $numAdult;
$data["nbr_children"] = $numChild;

$json = json_encode($data);

$url = "https://app.superhote.com/api/v2/get-availabilities";

$ch=curl_init();
curl_setopt($ch, CURLOPT_POST, 1) ;
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$result = curl_exec($ch);
curl_close ($ch);

return $result;

}
}


if( !function_exists('create_booking') ){
function create_booking( $apiKey, $propKey, $contact_info, $booking_data, $price, $roomId ){

$checkin = $booking_data["gdlr-check-in"];
$lastNight = $booking_data["gdlr-check-out"];
$nbNights = intval($booking_data["gdlr-night"]);
$daytoadd = 0;

/*if($nbNights == 1)
$lastNight = $checkin;
else {
$daytoadd = $nbNights - 1;
$lastNight = date( "Y-m-d", strtotime("+".$daytoadd." day", strtotime($checkin)));
}*/


$checkout = date( "Y-m-d", strtotime("+".$nbNights." day", strtotime($checkin)));


$data = array();
$data['api_key'] = $apiKey;
$data['property_key'] = $propKey;
$data["checking"] = $checkin;
$data["checkout"] = $checkout;
$data["nbr_adults"] = $booking_data["gdlr-adult-number"][0];
$data["nbr_children"] = $booking_data["gdlr-children-number"][0];
$data["first_name"] = $contact_info["first_name"];
$data["last_name"] = $contact_info["last_name"];
$data["phone"] = $contact_info["phone"];
$data["email"] = $contact_info["email"];
$data["address"] = $contact_info["address"];
// $data["comments"] = $contact_info["additional-note"];
$data["status"] = "1";
$data["price"] = $price;

/*
{
"first_name": "Test",
"last_name": "SuperHote",
"api_key": "[METTRE CLÉ API]",
"checking": "2021-07-01",
"checkout": "2021-07-02",
"booking_date": "2021-07-01",
"property_key": "[METTRE PROPERTY KEY]",
"price": "120",
"nbr_adults": "2",
"nbr_children": "3",
"status": "2",
"email": "test@superhote.com",
"phone": "+33[METTRE TÉLÉPHONE]",
"time_in": "14:00",
"time_out": "15:00",
"cleaning": "3",
"city_taxes": "5",
"alternative_email": "test@superhote.com",
"zip_code": "1212",
"address": "Test Address",
"city": "Test",
"country": "FR",
"channel_id": "3",
"follow_up": 0
}*/

$json = json_encode($data);

$url = "https://app.superhote.com/api/v2/create-booking";

$ch=curl_init();
curl_setopt($ch, CURLOPT_POST, 1) ;
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$result = curl_exec($ch);
curl_close ($ch);

return $result;

}
}

?>

 



LIENS UTILES 


Nouveau dans SuperHote ? Veuillez vous référer aux articles pour BIEN DEMARRER AVEC SUPERHOTE 

Vous souhaitez être contacté pour un diagnostic stratégique gratuit ? Réservez votre appel stratégique en cliquant ici 

Vous souhaitez voir des démonstrations et replay de nos conférences ? Visitez notre chaîne Youtube 

Vous avez raté l'un de nos ateliers de coaching ? Vous pouvez visionner les replay ici

Vous cherchez un sujet lié au centre d’aide en ligne ? Veuillez visiter notre Help Center 

Vous voulez connaître les dernières nouvelles et mises à jour de SuperHote ? Visitez la page officielle des nouveautés 


Restons connectés ?


Visitez notre site web

Suivez-nous sur Instagram

Aimez notre page sur Facebook

Abonnez-vous à notre chaine officielle Youtube

 


Besoin d’en savoir plus et voir les retours d'autres clients ?


Nous vous invitons à regarder les épisodes de notre série "J'irai louer chez vous" en cliquant ici

Vous souhaitez en savoir d’avantage, contactez-nous via le chat ou sur support@superhote.com

 


Cet article a-t-il été utile ?

C'est super !

Merci pour votre commentaire

Désolé ! Nous n'avons pas pu vous être utile

Merci pour votre commentaire

Dites-nous comment nous pouvons améliorer cet article !

Sélectionner au moins l'une des raisons

Commentaires envoyés

Nous apprécions vos efforts et nous allons corriger l'article