API do Soho House (Guia Técnico Não Oficial 2025)
Uma análise técnica abrangente do ecossistema digital do Soho House. Analisamos os ambientes de staging, integrações de terceiros (Oracle Simphony, Agora, Algolia) e a lógica interna por trás do 'House Pay', Reservas de Quarto e Conexões de Membros, conforme revelado na especificação da API pública de 2025.
The Tech Insider
Author
The Tech Insider

API do Soho House (Guia Técnico Não Oficial 2025)
Em 8 de outubro de 2025, uma coleção abrangente do Postman para o ecossistema digital do Soho House foi disponibilizada publicamente em docs.sohohousedigital.com. Embora destinada ao uso interno, sua disponibilidade oferece uma janela fascinante sobre como uma marca global de hospitalidade de luxo arquiteta sua experiência digital de associação.
Este guia analisa a pilha técnica, ambientes de staging e integrações de terceiros (Oracle Simphony, Agora, 3C) que alimentam tudo, desde reservas de quartos até o recurso de divisão de contas "House Pay". Inclui uma referência completa de endpoints, parâmetros e detalhes de configuração encontrados na especificação.
Isenção de responsabilidade: Não estamos afiliados ao Soho House & Co. Esta análise é baseada estritamente em documentação acessível publicamente e destina-se a fins educacionais e de pesquisa de interoperabilidade.
1. Infraestrutura & Ambientes
A especificação da API revela uma clara separação entre ambientes de produção e staging, utilizando uma arquitetura de roteamento estilo microserviços. Também expõe sub-marcas específicas como "The Ned" e "Soho Works" operando em provedores de identidade distintos.
Nomes de Host & Serviços
- API de Produção:
https://api.production.sohohousedigital.com - API de Staging:
https://api.staging.sohohousedigital.com - The Ned (Staging):
https://api-ned.staging.sohohousedigital.com - Serviço de Controle de Versão:
https://vcs-master.staging.sohohousedigital.com(Usado para verificações deforce_update) - Busca Algolia:
https://MRH59RRZDT-dsn.algolia.net(ID do App:MRH59RRZDT)
Provedores de Identidade
A autenticação é federada entre diferentes marcas:
- Soho House:
identity.houseseven.com - The Ned:
identity.thened.com - Soho Works:
identity.sohohouse.com
2. Autenticação & O "Segredo Público"
A API utiliza o padrão OAuth2. Como os aplicativos móveis são "clientes públicos", o client_id e o client_secret estão embutidos diretamente no código do aplicativo. A coleção do Postman expõe explicitamente essas credenciais, permitindo-nos entender o fluxo de autenticação.
Credenciais encontradas na especificação:
client_id: "200140c7**************************************3b96fef0"
client_secret: "7362f55c4**************************************2e29018a6"
Os Cabeçalhos do Gateway
Uma vez que um usuário faz login via /oauth/token, o Gateway da API injeta cabeçalhos específicos nas requisições upstream. Isso revela como o Soho House gerencia permissões multi-local sem consultar o banco de dados em cada requisição:
X-Sh-Global-Id: O UUID único do usuário.X-Sh-Business-Unit: Segmenta usuários por marca (por exemplo,sh,ned).X-Sh-Memberships: por exemplo,EVERY_HOUSE,REGULAR,CITIES_WITHOUT_HOUSES.X-Sh-Sites: Uma lista separada por vírgulas de códigos de locais autorizados (por exemplo,180_HOUSE,SHD(Shoreditch),BH(Babington),GRS(Greek Street)).
3. Referência de Endpoint & Configuração
A. Autenticação & Identidade
Fluxos padrão do OAuth2 usados para gerar o token Bearer necessário para todos os outros endpoints.
| Método | Endpoint | Descrição | Parâmetros / Payload |
|---|---|---|---|
GET |
/oauth/authorize |
Fluxo de Login Web | response_type=code, client_id, redirect_uri |
POST |
/oauth/token |
Troca de código/credenciais | grant_type (senha/código_de_autorização), client_id, client_secret |
POST |
/api/v1/identities |
Criar Conta | email, senha, primeiro_nome, sobrenome, número_de_telefone |
PUT |
/api/v1/password |
Alterar Senha | senha_antiga, senha, confirmação_senha |
GET |
/api/v1/me |
Informações da Conta Legada | Retorna ID básico e local local |
B. Contas, Perfis & Associações
Endpoints para gerenciar a identidade digital do usuário. O parâmetro include sugere uma estrutura de banco de dados relacional no backend.
| Método | Endpoint | Descrição | Configuração / Notas |
|---|---|---|---|
GET |
/profiles/accounts/me |
Detalhes Completos da Conta | include=profile,membership,local_house |
PATCH |
/profiles/accounts/me |
Atualizar Conta | Atualizar endereço, consentimentos, número de telefone |
GET |
/profiles/profiles/me |
Dados do Perfil Público | Retorna biografia, redes sociais, cargo |
PATCH |
/profiles/profiles/me |
Atualizar Perfil | Atualizar biografia, redes sociais, ocupação |
GET |
/profiles/memberships/me |
Status da Associação | Retorna status, datas de início/fim, tipo de funcionário (is_staff) |
GET |
/profiles/interests |
Listar Interesses | filter[name][prefix] para autocomplete |
GET |
/profiles/occupations |
Listar Ocupações | filter[name][prefix] para autocomplete |
GET |
/profiles/membership_cards/{number}/profile |
Pesquisa por Cartão | Resolve um número de cartão físico para um ID global |
C. Eventos & Cinema
Endpoints abrangentes para listar e reservar eventos da casa. A lógica inclui tratamento específico para "Loterias" (eventos de alta demanda).
| Método | Endpoint | Descrição | Filtros / Parâmetros Chave |
|---|---|---|---|
GET |
/events/events |
Buscar Eventos | filter[location_id], filter[date][from], filter[category], filter[event_type] |
GET |
/events/events/{id} |
Evento Único | include=venue,resource |
GET |
/events/event_categories |
Listar Categorias | filter[event_type] |
GET |
/events/bookings |
Listar Reservas do Usuário | filter[state] (reservado/cancelado), include=event,venue |
POST |
/events/bookings |
Reservar Evento | Payload: array guests, ID do event, ID do payment_card |
DELETE |
/events/bookings/{id} |
Cancelar Reserva | N/A |
D. Quartos (Reserva de Hotel)
Os endpoints rooms revelam códigos internos para tipos de quartos e planos de tarifas. O endpoint days é particularmente interessante, pois expõe o calendário de preços bruto.
| Método | Endpoint | Descrição | Notas / Parâmetros Insider |
|---|---|---|---|
GET |
/rooms/hotels |
Listar Hotéis | Retorna URLs de reserva e informações fiscais |
GET |
/rooms/availabilities |
Buscar Quartos | filter[rate_plan_type] (por exemplo, MEMBER_RATE, FRIENDS) |
GET |
/rooms/days |
Calendário de Tarifas | Exclui códigos de quartos: TINY, SMALL, MEDM, LARG |
GET |
/rooms/room_bookings |
Listar Reservas | filter[status], filter[starts_at][from] |
POST |
/rooms/room_bookings |
Criar Reserva | Payload: endereço, datas, ID da availability_rate |
PATCH |
/rooms/room_bookings/{id} |
Modificar Reserva | Alterar datas ou contagem de hóspedes |
E. House Pay (Contas & Integração Simphony)
Esta seção revela uma integração estreita com Oracle Micros Simphony. A API permite que os membros paguem contas de restaurante diretamente. Inclui um endpoint específico "Walkout", provavelmente usado para fechar contas automaticamente contra o arquivo de um membro.
| Método | Endpoint | Descrição | Notas Insider |
|---|---|---|---|
GET |
/checks/public/checks |
Listar Contas Abertas | filter['status']=open |
GET |
/checks/public/checks/{id} |
Obter Detalhes da Conta | Retorna itens, impostos, taxa de serviço |
POST |
/checks/public/payments |
Pagar Conta | Payload: check_id, amount_cents, card_id, tip_amount_cents |
POST |
/checks/public/payments/walkout |
Pagamento Walkout | Usa simphony_manager_id para forçar o fechamento da conta |
POST |
/checks/public/checks/{id}/discount |
Aplicar Desconto | Payload: discount_id (por exemplo, taxas U27) |
POST |
/checks/public/checks/{id}/email |
Enviar Recibo | Aciona o envio de recibo em PDF |
GET |
/payments/cards |
Listar Cartões | filter[venue] (geralmente codificado como 'GRS') |
F. Mesas (Reserva de Restaurante)
A API utiliza um mecanismo de "Bloqueio" para evitar reservas duplas durante o processo de checkout.
| Método | Endpoint | Descrição | Notas Insider |
|---|---|---|---|
GET |
/tables/availabilities |
Buscar Slots | filter[restaurant_id] (por exemplo, SH_SIXTH_FLOOR_RESTAURANTS) |
POST |
/tables/locks |
Bloquear Mesa | Bloqueia um slot por x minutos enquanto o usuário completa a reserva |
POST |
/tables/table_bookings |
Confirmar Reserva | Requer um ID de table_lock válido |
G. Conectar & Chat (Integração Agora)
Os recursos "House Connect" utilizam Agora para comunicação em tempo real, evidenciado pelo parâmetro agora_id.
| Método | Endpoint | Descrição | Notas |
|---|---|---|---|
GET |
/connect/checkins |
Quadro de Avisos | filter[venue_id] para ver quem está em uma casa |
POST |
/connect/checkins |
Postar no Quadro de Avisos | Payload: status, venue_id |
GET |
/chat/timeslots |
Disponibilidade de Chat | Lista slots abertos para "House Connect" |
POST |
/chat/chat_tokens |
Obter Token de Chat | Retorna token para integração Stream/Agora |
POST |
/chat/rooms/{id}/room_accesses |
Entrar na Sala | Payload inclui agora_id |
H. Aplicações de Associação
Endpoints usados durante o fluxo de inscrição, incluindo integração com Braintree para pagamentos.
| Método | Endpoint | Descrição |
|---|---|---|
GET |
/applications |
Listar aplicações do usuário |
POST |
/applications |
Enviar nova aplicação |
POST |
/applications/{id}/attachments |
Fazer Upload de ID/Fotografia |
GET |
/products |
Listar Produtos de Associação |
I. Conteúdo & Editorial
Endpoints somente leitura para conteúdo do aplicativo, notas da casa e páginas estáticas.
| Método | Endpoint | Descrição | Filtros Chave |
|---|---|---|---|
GET |
/content/house_notes |
Conteúdo Editorial | filter[venue_id], filter[content_category_id] |
GET |
/content/perks |
Benefícios para Membros | filter[region] |
GET |
/content/house_rules |
Regras da Casa | filter[venue_id] |
GET |
/content/house_tours |
Tours da Casa | filter[venue_id] |
J. Controle do Sistema
| Método | Endpoint | Descrição |
|---|---|---|
GET |
/force_update |
Retorna 426 Upgrade Required se a versão do aplicativo corresponder a uma lista desatualizada, forçando os usuários a atualizar via App Store. |
Conclusão
A API do Soho House é uma implementação sofisticada dos padrões JSON:API, orquestrando uma complexa rede de sistemas POS legados (Simphony), tecnologia moderna em tempo real (Agora) e gerenciamento de identidade global. Para desenvolvedores, serve como uma aula magistral sobre como envolver sistemas de hospitalidade legados em uma API REST moderna e mobile-first.
Isenção de responsabilidade: Esta análise é baseada em uma captura de documentação disponível publicamente em outubro de 2025.
Referências & Citações
Divulgação Editorial
Este artigo é uma publicação independente. Não estamos afiliados ao Soho House & Co. As informações são baseadas em fontes públicas e princípios de uso justo para comentários e críticas. Nenhuma endosse é implícita.
