Soho House API (Guide Technique Non Officiel 2025)
Une plongée technique complète dans l'écosystème numérique de Soho House. Nous analysons les environnements de staging, les intégrations tierces (Oracle Simphony, Agora, Algolia) et la logique interne derrière 'House Pay', les réservations de chambres et les connexions entre membres, comme révélé dans la spécification API publique de 2025.
The Tech Insider
Author
The Tech Insider

Soho House API (Guide Technique Non Officiel 2025)
Le 8 octobre 2025, une collection Postman complète pour l'écosystème numérique de Soho House a été rendue publique sur docs.sohohousedigital.com. Bien qu'elle soit destinée à un usage interne, sa disponibilité offre une fenêtre fascinante sur la manière dont une marque de luxe mondiale conçoit son expérience de membre numérique.
Ce guide analyse la pile technique, les environnements de staging et les intégrations tierces (Oracle Simphony, Agora, 3C) qui alimentent tout, des réservations de chambres à la fonctionnalité de partage de facture "House Pay". Il comprend une référence complète des points de terminaison, des paramètres et des détails de configuration trouvés dans la spécification.
Avertissement : Nous ne sommes pas affiliés à Soho House & Co. Cette analyse est basée strictement sur la documentation accessible au public et est destinée à des fins éducatives et de recherche sur l'interopérabilité.
1. Infrastructure & Environnements
La spécification de l'API révèle une séparation claire entre les environnements de production et de staging, utilisant une architecture de routage de style microservices. Elle expose également des sous-marques spécifiques comme "The Ned" et "Soho Works" opérant sur des fournisseurs d'identité distincts.
Noms d'hôtes & Services
- API de Production :
https://api.production.sohohousedigital.com - API de Staging :
https://api.staging.sohohousedigital.com - The Ned (Staging) :
https://api-ned.staging.sohohousedigital.com - Service de Contrôle de Version :
https://vcs-master.staging.sohohousedigital.com(Utilisé pour les vérificationsforce_update) - Recherche Algolia :
https://MRH59RRZDT-dsn.algolia.net(ID d'application :MRH59RRZDT)
Fournisseurs d'Identité
L'authentification est fédérée à travers différentes marques :
- Soho House :
identity.houseseven.com - The Ned :
identity.thened.com - Soho Works :
identity.sohohouse.com
2. Authentification & Le "Secret Public"
L'API utilise le standard OAuth2. Comme les applications mobiles sont des "clients publics", le client_id et le client_secret sont intégrés directement dans le code de l'application. La collection Postman expose explicitement ces identifiants, nous permettant de comprendre le flux d'authentification.
Identifiants trouvés dans la spécification :
client_id: "200140c7**************************************3b96fef0"
client_secret: "7362f55c4**************************************2e29018a6"
Les En-têtes de Passerelle
Une fois qu'un utilisateur se connecte via /oauth/token, la passerelle API injecte des en-têtes spécifiques dans les requêtes en amont. Cela révèle comment Soho House gère les autorisations multi-lieux sans interroger la base de données à chaque requête :
X-Sh-Global-Id: L'UUID unique de l'utilisateur.X-Sh-Business-Unit: Segmente les utilisateurs par marque (par exemple,sh,ned).X-Sh-Memberships: par exemple,EVERY_HOUSE,REGULAR,CITIES_WITHOUT_HOUSES.X-Sh-Sites: Une liste séparée par des virgules de codes de lieux autorisés (par exemple,180_HOUSE,SHD(Shoreditch),BH(Babington),GRS(Greek Street)).
3. Référence des Points de Terminaison & Configuration
A. Authentification & Identité
Flux OAuth2 standard utilisés pour générer le jeton Bearer requis pour tous les autres points de terminaison.
| Méthode | Point de Terminaison | Description | Params / Payload |
|---|---|---|---|
GET |
/oauth/authorize |
Flux de Connexion Web | response_type=code, client_id, redirect_uri |
POST |
/oauth/token |
Échanger code/identifiants | grant_type (password/authorization_code), client_id, client_secret |
POST |
/api/v1/identities |
Créer un Compte | email, password, first_name, last_name, phone_number |
PUT |
/api/v1/password |
Changer de Mot de Passe | old_password, password, password_confirmation |
GET |
/api/v1/me |
Informations sur le Compte Hérité | Renvoie l'ID de base et le lieu local |
B. Comptes, Profils & Adhésions
Points de terminaison pour gérer l'identité numérique de l'utilisateur. Le paramètre include suggère une structure de base de données relationnelle sur le backend.
| Méthode | Point de Terminaison | Description | Configuration / Notes |
|---|---|---|---|
GET |
/profiles/accounts/me |
Détails Complets du Compte | include=profile,membership,local_house |
PATCH |
/profiles/accounts/me |
Mettre à Jour le Compte | Mettre à jour l'adresse, les consentements, le numéro de téléphone |
GET |
/profiles/profiles/me |
Données de Profil Public | Renvoie bio, réseaux sociaux, titre de poste |
PATCH |
/profiles/profiles/me |
Mettre à Jour le Profil | Mettre à jour bio, réseaux sociaux, profession |
GET |
/profiles/memberships/me |
Statut d'Adhésion | Renvoie statut, dates de début/fin, type de personnel (is_staff) |
GET |
/profiles/interests |
Liste des Intérêts | filter[name][prefix] pour l'autocomplétion |
GET |
/profiles/occupations |
Liste des Professions | filter[name][prefix] pour l'autocomplétion |
GET |
/profiles/membership_cards/{number}/profile |
Recherche par Carte | Résoudre un numéro de carte physique à un ID global |
C. Événements & Cinéma
Points de terminaison complets pour lister et réserver des événements de la maison. La logique inclut un traitement spécifique pour les "Loteries" (événements à forte demande).
| Méthode | Point de Terminaison | Description | Filtres Clés / Params |
|---|---|---|---|
GET |
/events/events |
Rechercher des Événements | filter[location_id], filter[date][from], filter[category], filter[event_type] |
GET |
/events/events/{id} |
Événement Unique | include=venue,resource |
GET |
/events/event_categories |
Liste des Catégories | filter[event_type] |
GET |
/events/bookings |
Liste des Réservations Utilisateur | filter[state] (réservé/annulé), include=event,venue |
POST |
/events/bookings |
Réserver un Événement | Payload : tableau guests, ID de l'événement, ID de carte de paiement |
DELETE |
/events/bookings/{id} |
Annuler la Réservation | N/A |
D. Chambres (Réservation d'Hôtel)
Les points de terminaison rooms révèlent des codes internes pour les types de chambres et les plans tarifaires. Le point de terminaison days est particulièrement intéressant car il expose le calendrier des prix brut.
| Méthode | Point de Terminaison | Description | Notes Insider / Params |
|---|---|---|---|
GET |
/rooms/hotels |
Lister les Hôtels | Renvoie des URLs de réservation et des informations fiscales |
GET |
/rooms/availabilities |
Rechercher des Chambres | filter[rate_plan_type] (par exemple, MEMBER_RATE, FRIENDS) |
GET |
/rooms/days |
Calendrier des Tarifs | Expose les codes de chambre : TINY, SMALL, MEDM, LARG |
GET |
/rooms/room_bookings |
Lister les Réservations | filter[status], filter[starts_at][from] |
POST |
/rooms/room_bookings |
Créer une Réservation | Payload : address, dates, ID de availability_rate |
PATCH |
/rooms/room_bookings/{id} |
Modifier la Réservation | Changer les dates ou le nombre de clients |
E. House Pay (Vérifications & Intégration Simphony)
Cette section révèle une intégration étroite avec Oracle Micros Simphony. L'API permet aux membres de payer directement les factures de restaurant. Elle inclut un point de terminaison spécifique "Walkout", probablement utilisé pour fermer automatiquement les vérifications contre le dossier d'un membre.
| Méthode | Point de Terminaison | Description | Notes Insider |
|---|---|---|---|
GET |
/checks/public/checks |
Lister les Vérifications Ouvertes | filter['status']=open |
GET |
/checks/public/checks/{id} |
Obtenir les Détails de la Vérification | Renvoie des articles, des taxes, des frais de service |
POST |
/checks/public/payments |
Payer la Vérification | Payload : check_id, amount_cents, card_id, tip_amount_cents |
POST |
/checks/public/payments/walkout |
Paiement Walkout | Utilise simphony_manager_id pour forcer la fermeture de la vérification |
POST |
/checks/public/checks/{id}/discount |
Appliquer une Remise | Payload : discount_id (par exemple, tarifs U27) |
POST |
/checks/public/checks/{id}/email |
Email de Reçu | Déclenche l'email du reçu PDF |
GET |
/payments/cards |
Lister les Cartes | filter[venue] (généralement codé en dur 'GRS') |
F. Tables (Réservation de Restaurant)
L'API utilise un mécanisme de "Lock" pour éviter les doubles réservations pendant le processus de paiement.
| Méthode | Point de Terminaison | Description | Notes Insider |
|---|---|---|---|
GET |
/tables/availabilities |
Rechercher des Plages Horaires | filter[restaurant_id] (par exemple, SH_SIXTH_FLOOR_RESTAURANTS) |
POST |
/tables/locks |
Verrouiller une Table | Verrouille une plage horaire pendant x minutes pendant que l'utilisateur termine la réservation |
POST |
/tables/table_bookings |
Confirmer la Réservation | Nécessite un ID de table_lock valide |
G. Connect & Chat (Intégration Agora)
Les fonctionnalités "House Connect" utilisent Agora pour la communication en temps réel, comme en témoigne le paramètre agora_id.
| Méthode | Point de Terminaison | Description | Notes |
|---|---|---|---|
GET |
/connect/checkins |
Tableau d'Affichage | filter[venue_id] pour voir qui est dans une maison |
POST |
/connect/checkins |
Publier sur le Tableau d'Affichage | Payload : status, venue_id |
GET |
/chat/timeslots |
Disponibilité du Chat | Liste des plages horaires ouvertes pour "House Connect" |
POST |
/chat/chat_tokens |
Obtenir un Jeton de Chat | Renvoie un jeton pour l'intégration Stream/Agora |
POST |
/chat/rooms/{id}/room_accesses |
Rejoindre une Salle | Le payload inclut agora_id |
H. Candidatures d'Adhésion
Points de terminaison utilisés lors du flux d'inscription, y compris l'intégration Braintree pour les paiements.
| Méthode | Point de Terminaison | Description |
|---|---|---|
GET |
/applications |
Lister les candidatures de l'utilisateur |
POST |
/applications |
Soumettre une nouvelle candidature |
POST |
/applications/{id}/attachments |
Télécharger ID/Photo |
GET |
/products |
Lister les Produits d'Adhésion |
I. Contenu & Éditorial
Points de terminaison en lecture seule pour le contenu de l'application, les notes de la maison et les pages statiques.
| Méthode | Point de Terminaison | Description | Filtres Clés |
|---|---|---|---|
GET |
/content/house_notes |
Contenu Éditorial | filter[venue_id], filter[content_category_id] |
GET |
/content/perks |
Avantages pour les Membres | filter[region] |
GET |
/content/house_rules |
Règles de la Maison | filter[venue_id] |
GET |
/content/house_tours |
Visites de la Maison | filter[venue_id] |
J. Contrôle du Système
| Méthode | Point de Terminaison | Description |
|---|---|---|
GET |
/force_update |
Renvoie 426 Upgrade Required si la version de l'application correspond à une liste obsolète, forçant les utilisateurs à mettre à jour via l'App Store. |
Conclusion
L'API Soho House est une mise en œuvre sophistiquée des normes JSON:API, orchestrant un réseau complexe de systèmes POS hérités (Simphony), de technologies modernes en temps réel (Agora) et de gestion d'identité mondiale. Pour les développeurs, elle sert de masterclass sur la manière d'envelopper des systèmes d'hospitalité hérités dans une API REST moderne, mobile-first.
Disclaimer : Cette analyse est basée sur un instantané de la documentation disponible publiquement en octobre 2025.
Références & Citations
Divulgation Éditoriale
Cet article est une publication indépendante. Nous ne sommes pas affiliés à Soho House & Co. Les informations sont basées sur des sources publiques et des principes d'utilisation équitable pour les commentaires et la critique. Aucune approbation n'est impliquée.
