Pular para o conteúdo principal

Visão Geral

A Hub API fornece acesso programático ao Marketplace Hub — a exchange de conteúdo B2B onde workspaces publicam e descobrem catálogos de produtos. A API suporta tanto operações de consumidor (navegar, visualizar, clonar, assinar) quanto operações de publisher (analytics, despublicar).

URL Base

Todos os endpoints da Hub API utilizam a seguinte base:
https://app.alana.shopping/api/hub/

Grupos de endpoints

Navegar Catálogos

GET /hub/catalogs — pesquisar e filtrar o feed público do Hub

Visualizar

GET /hub/catalogs/{id}/preview — primeiros 10 produtos + estatísticas, sem necessidade de clonar

Clonar e Assinar

POST /hub/catalogs/{id}/clone e /subscribe — adquirir acesso ao catálogo

Sync e Conflitos

Gerenciamento de sincronização de assinaturas e resolução de conflitos

Analytics do Publisher

GET /hub/catalogs/{id}/analytics — visualizações, clones, assinantes, receita

Autenticação

Endpoints públicos (sem autenticação)

Os seguintes endpoints são acessíveis publicamente sem autenticação:
EndpointDescrição
GET /api/hub/catalogsNavegar o feed público do Hub
GET /api/hub/catalogs/{catalogId}/previewVisualizar um catálogo publicado

Endpoints autenticados

Todos os outros endpoints requerem um Bearer token:
Authorization: Bearer sk_live_sua_chave_api
Operações de escrita (clonar, assinar, analytics) requerem que a chave API pertença a um workspace com plano ativo.

Rate limits

TierEndpoints públicosEndpoints autenticados
Não autenticado60 requisições/minuto
Free60 requisições/minuto60 requisições/minuto
Pro60 requisições/minuto300 requisições/minuto
Business60 requisições/minuto600 requisições/minuto
EnterpriseCustomizadoCustomizado
Headers de rate limit são incluídos em cada resposta:
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 294
X-RateLimit-Reset: 1742300400
Quando o limite é excedido, uma resposta 429 é retornada com o header Retry-After.

Objeto HubCatalog

O objeto principal retornado pelos endpoints de navegação e visualização do Hub:
{
  "id": "hub_cat_9x8k2m",
  "name": "Coleção Primavera 2026",
  "description": "Mais de 500 SKUs de vestuário primavera curado das melhores marcas europeias.",
  "publisher": {
    "workspaceId": "ws_abc",
    "displayName": "EuroFashion Wholesale",
    "verified": true
  },
  "productCount": 512,
  "price": {
    "model": "free"
  },
  "category": "apparel",
  "tags": ["primavera", "2026", "europeu"],
  "score": 78,
  "subscribers": 34,
  "publishedAt": "2026-02-01T09:00:00Z",
  "lastUpdatedAt": "2026-03-10T14:30:00Z",
  "version": 5
}

Respostas de erro

Todos os endpoints do Hub retornam formatos de erro padrão:
{
  "error": {
    "code": "CATALOG_NOT_FOUND",
    "message": "Catálogo hub_cat_xyz não existe ou foi despublicado",
    "details": null
  }
}
Códigos de erro comuns:
CódigoStatus HTTPDescrição
CATALOG_NOT_FOUND404ID do catálogo do Hub não encontrado ou despublicado
CATALOG_PRIVATE404Catálogo existe mas é privado (retornado como 404 para evitar enumeração)
ALREADY_SUBSCRIBED409Workspace já tem uma assinatura ativa para este catálogo
PAYMENT_REQUIRED402Catálogo pago — conclua o Checkout do Stripe antes de clonar/assinar
INSUFFICIENT_PERMISSIONS403Operação não permitida para esta chave API
RATE_LIMIT_EXCEEDED429Muitas requisições — veja o header Retry-After
Last modified on March 18, 2026