ソーホーハウスAPI(非公式技術ガイド2025)
ソーホーハウスのデジタルエコシステムに関する包括的な技術深掘り。2025年の公開API仕様書に明らかにされた、ステージング環境、サードパーティ統合(Oracle Simphony、Agora、Algolia)、および「ハウスペイ」、「ルームブッキング」、「メンバー接続」の背後にある内部ロジックを分析します。
The Tech Insider
Author
The Tech Insider

ソーホーハウスAPI(非公式技術ガイド2025)
2025年10月8日、ソーホーハウスのデジタルエコシステムに関する包括的なPostmanコレクションがdocs.sohohousedigital.comで公開されました。内部使用を目的としていますが、その利用可能性は、グローバルなラグジュアリーホスピタリティブランドがどのようにデジタルメンバーシップ体験を設計しているかを示す魅力的な窓を提供します。
このガイドでは、ルームブッキングから「ハウスペイ」の請求分割機能までを支える技術スタック、ステージング環境、サードパーティ統合(Oracle Simphony、Agora、3C)を分析します。仕様書内に見られるエンドポイント、パラメーター、設定の完全なリファレンスが含まれています。
免責事項: 私たちはソーホーハウス&カンパニーとは提携していません。この分析は、公開されているドキュメントに基づいており、教育および相互運用性研究の目的で行われています。
1. インフラストラクチャと環境
API仕様書は、プロダクション環境とステージング環境の明確な分離を示しており、マイクロサービススタイルのルーティングアーキテクチャを利用しています。また、「ザ・ネッド」や「ソーホーワークス」といった特定のサブブランドが異なるアイデンティティプロバイダーで運営されていることも明らかにしています。
ホスト名とサービス
- プロダクションAPI:
https://api.production.sohohousedigital.com - ステージングAPI:
https://api.staging.sohohousedigital.com - ザ・ネッド(ステージング):
https://api-ned.staging.sohohousedigital.com - バージョン管理サービス:
https://vcs-master.staging.sohohousedigital.com(force_updateチェックに使用) - Algolia検索:
https://MRH59RRZDT-dsn.algolia.net(アプリID:MRH59RRZDT)
アイデンティティプロバイダー
認証は異なるブランド間でフェデレートされています:
- ソーホーハウス:
identity.houseseven.com - ザ・ネッド:
identity.thened.com - ソーホーワークス:
identity.sohohouse.com
2. 認証と「公開秘密」
APIは標準のOAuth2を使用しています。モバイルアプリが「公開クライアント」であるため、client_idとclient_secretはアプリケーションコードに直接埋め込まれています。Postmanコレクションはこれらの資格情報を明示的に公開しており、認証フローを理解する手助けとなります。
仕様書に見つかった資格情報:
client_id: "200140c7**************************************3b96fef0"
client_secret: "7362f55c4**************************************2e29018a6"
ゲートウェイヘッダー
ユーザーが/oauth/tokenを介してログインすると、APIゲートウェイは上流リクエストに特定のヘッダーを注入します。これにより、ソーホーハウスがデータベースを毎回クエリすることなく、マルチ会場の権限を管理している方法が明らかになります:
X-Sh-Global-Id: ユーザーのユニークUUID。X-Sh-Business-Unit: ブランドごとにユーザーをセグメント化(例:sh、ned)。X-Sh-Memberships: 例:EVERY_HOUSE、REGULAR、CITIES_WITHOUT_HOUSES。X-Sh-Sites: 認可された会場コードのカンマ区切りリスト(例:180_HOUSE、SHD(ショーディッチ)、BH(バビントン)、GRS(ギリシャ通り))。
3. エンドポイントリファレンスと設定
A. 認証とアイデンティティ
すべての他のエンドポイントに必要なBearerトークンを生成するために使用される標準のOAuth2フロー。
| メソッド | エンドポイント | 説明 | パラメーター / ペイロード |
|---|---|---|---|
GET |
/oauth/authorize |
ウェブログインフロー | response_type=code、client_id、redirect_uri |
POST |
/oauth/token |
コード/資格情報の交換 | grant_type(password/authorization_code)、client_id、client_secret |
POST |
/api/v1/identities |
アカウント作成 | email、password、first_name、last_name、phone_number |
PUT |
/api/v1/password |
パスワード変更 | old_password、password、password_confirmation |
GET |
/api/v1/me |
レガシーアカウント情報 | 基本的なIDとローカル会場を返します |
B. アカウント、プロフィール、メンバーシップ
ユーザーのデジタルアイデンティティを管理するためのエンドポイント。includeパラメーターは、バックエンドのリレーショナルデータベース構造を示唆しています。
| メソッド | エンドポイント | 説明 | 設定 / ノート |
|---|---|---|---|
GET |
/profiles/accounts/me |
フルアカウント詳細 | include=profile,membership,local_house |
PATCH |
/profiles/accounts/me |
アカウント更新 | 住所、同意、電話番号を更新 |
GET |
/profiles/profiles/me |
公開プロフィールデータ | バイオ、ソーシャルハンドル、職業を返します |
PATCH |
/profiles/profiles/me |
プロフィール更新 | バイオ、ソーシャルハンドル、職業を更新 |
GET |
/profiles/memberships/me |
メンバーシップステータス | ステータス、開始/終了日、スタッフタイプ(is_staff)を返します |
GET |
/profiles/interests |
興味リスト | filter[name][prefix]によるオートコンプリート |
GET |
/profiles/occupations |
職業リスト | filter[name][prefix]によるオートコンプリート |
GET |
/profiles/membership_cards/{number}/profile |
カードによるルックアップ | 物理カード番号をグローバルIDに解決 |
C. イベントとシネマ
ハウスイベントのリストと予約のための包括的なエンドポイント。ロジックには「ロッタリー」(高需要イベント)の特定の処理が含まれています。
| メソッド | エンドポイント | 説明 | 主要フィルター / パラメーター |
|---|---|---|---|
GET |
/events/events |
イベント検索 | filter[location_id]、filter[date][from]、filter[category]、filter[event_type] |
GET |
/events/events/{id} |
単一イベント | include=venue,resource |
GET |
/events/event_categories |
カテゴリリスト | filter[event_type] |
GET |
/events/bookings |
ユーザー予約リスト | filter[state](予約済み/キャンセル)、include=event,venue |
POST |
/events/bookings |
イベント予約 | ペイロード:guests配列、event ID、payment_card ID |
DELETE |
/events/bookings/{id} |
予約キャンセル | N/A |
D. ルーム(ホテル予約)
roomsエンドポイントは、ルームタイプと料金プランの内部コードを明らかにします。daysエンドポイントは、特に生の価格カレンダーを公開しているため興味深いです。
| メソッド | エンドポイント | 説明 | インサイダーノート / パラメーター |
|---|---|---|---|
GET |
/rooms/hotels |
ホテルリスト | 予約URLと税情報を返します |
GET |
/rooms/availabilities |
ルーム検索 | filter[rate_plan_type](例:MEMBER_RATE、FRIENDS) |
GET |
/rooms/days |
料金カレンダー | ルームコードを公開:TINY、SMALL、MEDM、LARG |
GET |
/rooms/room_bookings |
予約リスト | filter[status]、filter[starts_at][from] |
POST |
/rooms/room_bookings |
予約作成 | ペイロード:address、dates、availability_rate ID |
PATCH |
/rooms/room_bookings/{id} |
予約変更 | 日付やゲスト数を変更 |
E. ハウスペイ(チェックとシンフォニー統合)
このセクションは、Oracle Micros Simphonyとの緊密な統合を明らかにします。APIは、メンバーがレストランの請求書を直接支払うことを可能にします。特定の「ウォークアウト」エンドポイントが含まれており、メンバーのファイルに対してチェックを自動的に閉じるために使用される可能性があります。
| メソッド | エンドポイント | 説明 | インサイダーノート |
|---|---|---|---|
GET |
/checks/public/checks |
オープンチェックのリスト | filter['status']=open |
GET |
/checks/public/checks/{id} |
チェック詳細の取得 | アイテム、税金、サービス料を返します |
POST |
/checks/public/payments |
チェックの支払い | ペイロード:check_id、amount_cents、card_id、tip_amount_cents |
POST |
/checks/public/payments/walkout |
ウォークアウト支払い | simphony_manager_idを使用してチェックを強制的に閉じます |
POST |
/checks/public/checks/{id}/discount |
割引を適用 | ペイロード:discount_id(例:U27料金) |
POST |
/checks/public/checks/{id}/email |
領収書をメール送信 | PDF領収書のメールをトリガー |
GET |
/payments/cards |
カードリスト | filter[venue](通常はハードコーディングされた'GRS') |
F. テーブル(レストラン予約)
APIは、チェックアウトプロセス中に二重予約を防ぐための「ロック」メカニズムを使用しています。
| メソッド | エンドポイント | 説明 | インサイダーノート |
|---|---|---|---|
GET |
/tables/availabilities |
スロット検索 | filter[restaurant_id](例:SH_SIXTH_FLOOR_RESTAURANTS) |
POST |
/tables/locks |
テーブルロック | ユーザーが予約を完了する間、スロットをx分ロック |
POST |
/tables/table_bookings |
予約確認 | 有効なtable_lock IDが必要 |
G. コネクト&チャット(アゴラ統合)
「ハウスコネクト」機能は、Agoraを利用したリアルタイムコミュニケーションを活用しており、agora_idパラメーターがその証拠です。
| メソッド | エンドポイント | 説明 | ノート |
|---|---|---|---|
GET |
/connect/checkins |
お知らせボード | filter[venue_id]でハウスにいる人を確認 |
POST |
/connect/checkins |
お知らせボードに投稿 | ペイロード:status、venue_id |
GET |
/chat/timeslots |
チャットの空き状況 | 「ハウスコネクト」のオープンスロットをリスト |
POST |
/chat/chat_tokens |
チャットトークンを取得 | Stream/Agora統合用のトークンを返します |
POST |
/chat/rooms/{id}/room_accesses |
ルームに参加 | ペイロードにはagora_idが含まれます |
H. メンバーシップ申請
サインアップフロー中に使用されるエンドポイントで、Braintree統合による支払いが含まれます。
| メソッド | エンドポイント | 説明 |
|---|---|---|
GET |
/applications |
ユーザーの申請リスト |
POST |
/applications |
新しい申請を提出 |
POST |
/applications/{id}/attachments |
ID/ヘッドショットをアップロード |
GET |
/products |
メンバーシップ製品リスト |
I. コンテンツと編集
アプリコンテンツ、ハウスノート、静的ページの読み取り専用エンドポイント。
| メソッド | エンドポイント | 説明 | 主要フィルター |
|---|---|---|---|
GET |
/content/house_notes |
編集コンテンツ | filter[venue_id]、filter[content_category_id] |
GET |
/content/perks |
メンバー特典 | filter[region] |
GET |
/content/house_rules |
ハウスルール | filter[venue_id] |
GET |
/content/house_tours |
ハウスツアー | filter[venue_id] |
J. システム制御
| メソッド | エンドポイント | 説明 |
|---|---|---|
GET |
/force_update |
アプリバージョンが非推奨リストに一致する場合、426 Upgrade Requiredを返し、ユーザーにApp Store経由での更新を強制します。 |
結論
ソーホーハウスAPIは、JSON:API標準の洗練された実装であり、レガシーPOSシステム(シンフォニー)、現代のリアルタイム技術(アゴラ)、およびグローバルアイデンティティ管理の複雑なウェブを調整しています。開発者にとって、レガシーホスピタリティシステムを現代のモバイルファーストREST APIにラップする方法のマスタークラスとして機能します。
免責事項: この分析は、2025年10月に公開されたドキュメントのスナップショットに基づいています。
参考文献と引用
編集上の開示
この記事は独立した出版物です。私たちはSoho House & Co.とは提携していません。情報は公的なソースとコメントおよび批判のための公正使用の原則に基づいています。いかなる支持も暗示されていません。
