Documentation officielle de l’interface de programmation pour l’intégration des réservations dans le système de gestion hôtelière MATRIIX HOTEL.
Le site web du GOLDEN-K RESORT (golden-k.cm) dispose d’un système de réservation en ligne intégré permettant aux clients de réserver des chambres directement depuis le site.
Une API REST a été activée afin de permettre au logiciel de gestion hôtelière MATRIIX HOTEL de récupérer automatiquement ces réservations en temps réel.
GOLDEN-K RESORT
golden-k.cm
WordPress 6.9.4
REST API WP native
Mai 2026
Actif & fonctionnel
11 types de chambres
Standard à Villas
L’API est protégée et nécessite une authentification
pour chaque requête. Toute tentative d’accès sans authentification
retourne une erreur 401 Unauthorized.
| Paramètre | Valeur | Note |
|---|---|---|
| Méthode | HTTP Basic Auth | Standard HTTP RFC 7617 |
| Username | xxxxxxxx |
Compte administrateur WordPress |
| Password | xxxx xxxx xxxx xxxx |
Application Password dédié MATRIIX HOTEL |
L’authentification se fait en encodant
username:password en Base64 et en l’ajoutant dans le
header HTTP :
Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Exemple avec curl :
curl -u "username:password" \ "https://golden-k.cm/en/wp-json/wp/v2/bookings?per_page=10"
Exemple en PHP :
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://golden-k.cm/en/wp-json/wp/v2/bookings"); curl_setopt($ch, CURLOPT_USERPWD, "username:password"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); $bookings = json_decode($response, true);
Exemple en JavaScript / Node.js :
const response = await fetch(
"https://golden-k.cm/en/wp-json/wp/v2/bookings",
{
headers: {
"Authorization": "Basic " + btoa("username:password")
}
}
);
const bookings = await response.json();
URL de base de l’API :
https://golden-k.cm/en/wp-json/
Description : Récupère la liste de toutes les réservations. Supporte la pagination, le tri et le filtrage par date.
URL complète :
Headers requis :
Authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Content-Type: application/json
Description : Récupère une réservation spécifique par son identifiant unique.
Paramètre d’URL :
| Paramètre | Type | Exemple | Description |
|---|---|---|---|
| id | integer | 1381 |
ID unique de la réservation |
| Champ JSON | Type | Priorité | Description | Exemple |
|---|---|---|---|---|
| id | integer | Obligatoire | Identifiant unique auto-incrémenté de la réservation (clé primaire) | 1381 |
| created_at | string (datetime) | Obligatoire | Date et heure de création de la réservation (format Y-m-d H:i:s) | 2026-05-04 15:44:25 |
| date | string (ISO 8601) | Souhaitable | Date de création au format ISO 8601 | 2026-05-04T15:44:25 |
| modified | string (ISO 8601) | Optionnel | Date de dernière modification | 2026-05-04T15:44:25 |
| client_name | string | Obligatoire | Nom complet du client | hilary danielle |
| client_email | string | Obligatoire | Adresse email du client | hilarydanielle90@gmail.com |
| client_phone | string | Obligatoire | Numéro de téléphone du client | 699150867 |
| check_in | string (date) | Obligatoire | Date d’arrivée (check-in) au format YYYY-MM-DD | 2026-11-13 |
| check_out | string (date) | Obligatoire | Date de départ (check-out) au format YYYY-MM-DD | 2026-11-15 |
| guests | string (integer) | Obligatoire | Nombre total de personnes | 1 |
| nights | string (integer) | Souhaitable | Nombre de nuits calculé automatiquement | 2 |
| total_price | string (float) | Souhaitable | Montant total de la réservation | 100000 |
| currency | string | Souhaitable | Devise (toujours XAF - Franc CFA) | XAF |
| room_id | string (integer) | Souhaitable | Identifiant WordPress de la chambre réservée | 181 |
| room_name | string | Souhaitable | Nom lisible de la chambre réservée | Standard Room |
| booking_status | string | Souhaitable |
Statut de la réservation : new |
confirmed | processed
|
new |
| is_new | string (bool) | Souhaitable | Indicateur brut : 1 = nouvelle, 0 = traitée | 1 |
| confirm_call | string (bool) | Optionnel | Confirmation par appel téléphonique : 0 ou 1 | 0 |
| confirm_email | string (bool) | Optionnel | Confirmation par email : 0 ou 1 | 0 |
| slug | string | Optionnel | Identifiant textuel unique WordPress | booking-hilary-danielle |
| title | object | Optionnel | Titre WordPress de la réservation | {"rendered": "Booking: hilary danielle"} |
string (integer) ou string (bool) sont
retournés sous forme de chaîne de caractères par WordPress. Votre
système devra les convertir si nécessaire (intval(),
floatval(), etc.).
| Paramètre | Type | Défaut | Description | Exemple |
|---|---|---|---|---|
| per_page | integer | 10 | Nombre de résultats par page (max : 100) | ?per_page=50 |
| page | integer | 1 | Numéro de la page à récupérer | ?page=2 |
| Paramètre | Valeurs possibles | Défaut | Description |
|---|---|---|---|
| orderby |
date | id | modified
|
date | Champ de tri |
| order | asc | desc |
desc | Ordre de tri |
| Paramètre | Format | Description | Exemple |
|---|---|---|---|
| after | ISO 8601 | Récupère uniquement les réservations créées après cette date | ?after=2026-05-01T00:00:00 |
| before | ISO 8601 | Récupère uniquement les réservations créées avant cette date | ?before=2026-06-01T00:00:00 |
Chaque réponse liste inclut des en-têtes HTTP donnant les informations de pagination :
| Header HTTP | Description | Exemple |
|---|---|---|
| X-WP-Total | Nombre total de réservations (toutes pages confondues) | 18 |
| X-WP-TotalPages | Nombre total de pages | 2 |
# Toutes les réservations, 50 par page, du plus récent au plus ancien GET /wp/v2/bookings?per_page=50&orderby=date&order=desc # Nouvelles réservations depuis le 1er mai 2026 GET /wp/v2/bookings?after=2026-05-01T00:00:00&orderby=date&order=asc # Page 2 avec 20 résultats par page GET /wp/v2/bookings?per_page=20&page=2&orderby=date&order=desc
Réponse (200 OK) :
{
"id": 1381,
"date": "2026-05-04T15:44:25",
"modified": "2026-05-04T15:44:25",
"slug": "booking-hilary-danielle",
"status": "publish",
"title": { "rendered": "Booking: hilary danielle" },
"created_at": "2026-05-04 15:44:25",
// ─── Informations client ───────────────────────────────
"client_name": "hilary danielle",
"client_email": "hilarydanielle90@gmail.com",
"client_phone": "699150867",
// ─── Dates du séjour ────────────────────────────────
"check_in": "2026-11-13",
"check_out": "2026-11-15",
"guests": "1",
"nights": "2",
// ─── Chambre & tarif ────────────────────────────────
"room_id": "181",
"room_name": "Standard Room",
"total_price": "100000",
"currency": "XAF",
// ─── Statut ───────────────────────────────────────────
"booking_status": "new",
"is_new": "1",
"confirm_call": "0",
"confirm_email": "0"
}
Headers de réponse :
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 X-WP-Total: 18 X-WP-TotalPages: 9
Body (tableau JSON) :
[
{ "id": 1381, "client_name": "hilary danielle", "check_in": "2026-11-13", "booking_status": "new", ... },
{ "id": 1380, "client_name": "Jordan Yantchoukam", "check_in": "2026-05-12", "booking_status": "new", ... }
]
Réponse sans authentification (401) :
{
"code": "rest_not_logged_in",
"message": "Authentification requise pour acceder aux reservations. Utilisez un Application Password.",
"data": { "status": 401 }
}
| Code HTTP | Code interne | Cause | Solution |
|---|---|---|---|
| 401 | rest_not_logged_in |
Aucune authentification fournie ou invalide | Vérifier les crédentiels Basic Auth et le format du header |
| 403 | rest_forbidden |
Utilisateur authentifié mais sans les droits nécessaires | Contacter l’administrateur GOLDEN-K pour vérifier les permissions |
| 404 | rest_post_invalid_id |
L’ID de réservation demandé n’existe pas | Vérifier l’ID utilisé dans l’URL |
| 400 | rest_invalid_param |
Paramètre de requête invalide (ex: format de date incorrect) |
Vérifier le format ISO 8601 pour les dates (ex:
2026-05-01T00:00:00)
|
| 500 | — | Erreur interne du serveur | Contacter l’équipe technique GOLDEN-K |
| 200 | — | Requête réussie | — |
Site web : golden-k.cm
Email developpeur : njapabrice@golden-k.cm
Developpeur
: Njapa Brice Diotreph
Version : 1.0
WordPress : 6.9.4
Plugin : Golden-k Theme
Pack