Guida Tecnica Non Ufficiale all'API di Soho House 2025
Un'analisi tecnica approfondita dell'ecosistema digitale di Soho House. Analizziamo gli ambienti di staging, le integrazioni di terze parti (Oracle Simphony, Agora, Algolia) e la logica interna dietro 'House Pay', Prenotazioni di Stanze e Connessioni tra Membri come rivelato nella specifica API pubblica del 2025.
The Tech Insider
Author
The Tech Insider

Guida Tecnica Non Ufficiale all'API di Soho House 2025
L'8 ottobre 2025, una raccolta completa di Postman per l'ecosistema digitale di Soho House è stata resa pubblicamente disponibile su docs.sohohousedigital.com. Sebbene destinata all'uso interno, la sua disponibilità offre una finestra affascinante su come un marchio di ospitalità di lusso globale architetti la propria esperienza di membership digitale.
Questa guida analizza lo stack tecnico, gli ambienti di staging e le integrazioni di terze parti (Oracle Simphony, Agora, 3C) che alimentano tutto, dalle prenotazioni delle stanze alla funzione di divisione del conto "House Pay". Include un riferimento completo di endpoint, parametri e dettagli di configurazione trovati all'interno della specifica.
Disclaimer: Non siamo affiliati con Soho House & Co. Questa analisi si basa esclusivamente su documentazione accessibile pubblicamente ed è destinata a scopi educativi e di ricerca sull'interoperabilità.
1. Infrastruttura e Ambienti
La specifica API rivela una chiara separazione tra ambienti di produzione e di staging, utilizzando un'architettura di routing in stile microservizi. Espone anche marchi secondari specifici come "The Ned" e "Soho Works" che operano su distinti fornitori di identità.
Hostnames e Servizi
- API di Produzione:
https://api.production.sohohousedigital.com - API di Staging:
https://api.staging.sohohousedigital.com - The Ned (Staging):
https://api-ned.staging.sohohousedigital.com - Servizio di Controllo Versioni:
https://vcs-master.staging.sohohousedigital.com(Usato per controlliforce_update) - Ricerca Algolia:
https://MRH59RRZDT-dsn.algolia.net(ID App:MRH59RRZDT)
Fornitori di Identità
L'autenticazione è federata tra diversi marchi:
- Soho House:
identity.houseseven.com - The Ned:
identity.thened.com - Soho Works:
identity.sohohouse.com
2. Autenticazione e il "Segreto Pubblico"
L'API utilizza lo standard OAuth2. Poiché le app mobili sono "client pubblici", il client_id e il client_secret sono incorporati direttamente nel codice dell'applicazione. La raccolta Postman espone esplicitamente queste credenziali, permettendoci di comprendere il flusso di autenticazione.
Credenziali trovate nella specifica:
client_id: "200140c7**************************************3b96fef0"
client_secret: "7362f55c4**************************************2e29018a6"
Le Intestazioni del Gateway
Una volta che un utente accede tramite /oauth/token, il Gateway API inietta intestazioni specifiche nelle richieste upstream. Questo rivela come Soho House gestisce i permessi multi-venue senza interrogare il database ad ogni richiesta:
X-Sh-Global-Id: L'UUID unico dell'utente.X-Sh-Business-Unit: Segmenta gli utenti per marchio (es.sh,ned).X-Sh-Memberships: es.EVERY_HOUSE,REGULAR,CITIES_WITHOUT_HOUSES.X-Sh-Sites: Un elenco separato da virgole di codici venue autorizzati (es.180_HOUSE,SHD(Shoreditch),BH(Babington),GRS(Greek Street)).
3. Riferimento Endpoint e Configurazione
A. Autenticazione e Identità
Flussi standard OAuth2 utilizzati per generare il token Bearer richiesto per tutti gli altri endpoint.
| Metodo | Endpoint | Descrizione | Params / Payload |
|---|---|---|---|
GET |
/oauth/authorize |
Flusso di Accesso Web | response_type=code, client_id, redirect_uri |
POST |
/oauth/token |
Scambia codice/credenziali | grant_type (password/authorization_code), client_id, client_secret |
POST |
/api/v1/identities |
Crea Account | email, password, first_name, last_name, phone_number |
PUT |
/api/v1/password |
Cambia Password | old_password, password, password_confirmation |
GET |
/api/v1/me |
Informazioni Account Legacy | Restituisce ID di base e venue locale |
B. Account, Profili e Membri
Endpoint per gestire l'identità digitale dell'utente. Il parametro include suggerisce una struttura di database relazionale sul backend.
| Metodo | Endpoint | Descrizione | Configurazione / Note |
|---|---|---|---|
GET |
/profiles/accounts/me |
Dettagli Completi dell'Account | include=profile,membership,local_house |
PATCH |
/profiles/accounts/me |
Aggiorna Account | Aggiorna indirizzo, consensi, numero di telefono |
GET |
/profiles/profiles/me |
Dati Profilo Pubblico | Restituisce bio, handle social, titolo lavorativo |
PATCH |
/profiles/profiles/me |
Aggiorna Profilo | Aggiorna bio, handle social, occupazione |
GET |
/profiles/memberships/me |
Stato di Membership | Restituisce stato, date di inizio/fine, tipo di staff (is_staff) |
GET |
/profiles/interests |
Elenco Interessi | filter[name][prefix] per completamento automatico |
GET |
/profiles/occupations |
Elenco Occupazioni | filter[name][prefix] per completamento automatico |
GET |
/profiles/membership_cards/{number}/profile |
Ricerca per Carta | Risolve un numero di carta fisica in un ID globale |
C. Eventi e Cinema
Endpoint completi per l'elenco e la prenotazione di eventi in casa. La logica include una gestione specifica per le "Lotterie" (eventi ad alta domanda).
| Metodo | Endpoint | Descrizione | Filtri Chiave / Params |
|---|---|---|---|
GET |
/events/events |
Cerca Eventi | filter[location_id], filter[date][from], filter[category], filter[event_type] |
GET |
/events/events/{id} |
Evento Singolo | include=venue,resource |
GET |
/events/event_categories |
Elenco Categorie | filter[event_type] |
GET |
/events/bookings |
Elenco Prenotazioni Utente | filter[state] (prenotato/cancellato), include=event,venue |
POST |
/events/bookings |
Prenota Evento | Payload: array guests, ID event, ID payment_card |
DELETE |
/events/bookings/{id} |
Annulla Prenotazione | N/A |
D. Stanze (Prenotazione Hotel)
Gli endpoint rooms rivelano codici interni per i tipi di stanze e piani tariffari. L'endpoint days è particolarmente interessante in quanto espone il calendario dei prezzi grezzi.
| Metodo | Endpoint | Descrizione | Note Insider / Params |
|---|---|---|---|
GET |
/rooms/hotels |
Elenco Hotel | Restituisce URL di prenotazione e info fiscali |
GET |
/rooms/availabilities |
Cerca Stanze | filter[rate_plan_type] (es. MEMBER_RATE, FRIENDS) |
GET |
/rooms/days |
Calendario Tariffe | Espone codici stanza: TINY, SMALL, MEDM, LARG |
GET |
/rooms/room_bookings |
Elenco Prenotazioni | filter[status], filter[starts_at][from] |
POST |
/rooms/room_bookings |
Crea Prenotazione | Payload: address, dates, ID availability_rate |
PATCH |
/rooms/room_bookings/{id} |
Modifica Prenotazione | Cambia date o numero di ospiti |
E. House Pay (Conti e Integrazione Simphony)
Questa sezione rivela una stretta integrazione con Oracle Micros Simphony. L'API consente ai membri di pagare direttamente i conti del ristorante. Include un endpoint specifico "Walkout", probabilmente utilizzato per chiudere automaticamente i conti contro il file di un membro.
| Metodo | Endpoint | Descrizione | Note Insider |
|---|---|---|---|
GET |
/checks/public/checks |
Elenco Conti Aperti | filter['status']=open |
GET |
/checks/public/checks/{id} |
Ottieni Dettagli Conto | Restituisce articoli, tasse, servizio |
POST |
/checks/public/payments |
Paga Conto | Payload: check_id, amount_cents, card_id, tip_amount_cents |
POST |
/checks/public/payments/walkout |
Pagamento Walkout | Usa simphony_manager_id per forzare la chiusura del conto |
POST |
/checks/public/checks/{id}/discount |
Applica Sconto | Payload: discount_id (es. tariffe U27) |
POST |
/checks/public/checks/{id}/email |
Invia Ricevuta via Email | Attiva l'invio della ricevuta in PDF |
GET |
/payments/cards |
Elenco Carte | filter[venue] (di solito hardcoded 'GRS') |
F. Tavoli (Prenotazione Ristorante)
L'API utilizza un meccanismo di "Lock" per prevenire doppie prenotazioni durante il processo di checkout.
| Metodo | Endpoint | Descrizione | Note Insider |
|---|---|---|---|
GET |
/tables/availabilities |
Cerca Slot | filter[restaurant_id] (es. SH_SIXTH_FLOOR_RESTAURANTS) |
POST |
/tables/locks |
Blocca Tavolo | Blocca uno slot per x minuti mentre l'utente completa la prenotazione |
POST |
/tables/table_bookings |
Conferma Prenotazione | Richiede un valido ID table_lock |
G. Connect & Chat (Integrazione Agora)
Le funzionalità "House Connect" utilizzano Agora per la comunicazione in tempo reale, come evidenziato dal parametro agora_id.
| Metodo | Endpoint | Descrizione | Note |
|---|---|---|---|
GET |
/connect/checkins |
Bacheca | filter[venue_id] per vedere chi è in una casa |
POST |
/connect/checkins |
Pubblica sulla Bacheca | Payload: status, venue_id |
GET |
/chat/timeslots |
Disponibilità Chat | Elenco slot aperti per "House Connect" |
POST |
/chat/chat_tokens |
Ottieni Token Chat | Restituisce token per integrazione Stream/Agora |
POST |
/chat/rooms/{id}/room_accesses |
Unisciti alla Stanza | Il payload include agora_id |
H. Domande di Membership
Endpoint utilizzati durante il flusso di registrazione, inclusa l'integrazione Braintree per i pagamenti.
| Metodo | Endpoint | Descrizione |
|---|---|---|
GET |
/applications |
Elenco delle domande dell'utente |
POST |
/applications |
Invia nuova domanda |
POST |
/applications/{id}/attachments |
Carica ID/Fotografia |
GET |
/products |
Elenco Prodotti di Membership |
I. Contenuti e Editoriale
Endpoint di sola lettura per contenuti dell'app, note della casa e pagine statiche.
| Metodo | Endpoint | Descrizione | Filtri Chiave |
|---|---|---|---|
GET |
/content/house_notes |
Contenuto Editoriale | filter[venue_id], filter[content_category_id] |
GET |
/content/perks |
Vantaggi per i Membri | filter[region] |
GET |
/content/house_rules |
Regole della Casa | filter[venue_id] |
GET |
/content/house_tours |
Tour della Casa | filter[venue_id] |
J. Controllo del Sistema
| Metodo | Endpoint | Descrizione |
|---|---|---|
GET |
/force_update |
Restituisce 426 Upgrade Required se la versione dell'app corrisponde a un elenco deprecato, costringendo gli utenti ad aggiornare tramite l'App Store. |
Conclusione
L'API di Soho House è un'implementazione sofisticata degli standard JSON:API, orchestrando una complessa rete di sistemi POS legacy (Simphony), tecnologia moderna in tempo reale (Agora) e gestione globale dell'identità. Per gli sviluppatori, serve come un masterclass su come avvolgere i sistemi di ospitalità legacy in un moderno REST API mobile-first.
Disclaimer: Questa analisi si basa su uno snapshot della documentazione disponibile pubblicamente nell'ottobre 2025.
Riferimenti e Citazioni
Divulgazione Editoriale
Questo articolo è una pubblicazione indipendente. Non siamo affiliati a Soho House & Co. Le informazioni sono basate su fonti pubbliche e principi di uso corretto per commento e critica. Non è implicata alcuna approvazione.
