> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alana.shopping/llms.txt
> Use this file to discover all available pages before exploring further.

# Analytics do Publisher

> GET /api/hub/catalogs/{catalogId}/analytics — métricas de visualizações, clones, assinantes e receita para catálogos publicados.

## Endpoint

```
GET /api/hub/catalogs/{catalogId}/analytics
```

Retorna métricas de performance para um catálogo publicado. Requer autenticação — apenas o workspace publisher pode acessar analytics do seu próprio catálogo.

***

## Parâmetros de path

| Parâmetro   | Tipo   | Obrigatório | Descrição                |
| ----------- | ------ | :---------: | ------------------------ |
| `catalogId` | string |     Sim     | ID do catálogo publicado |

## Parâmetros de query

| Parâmetro | Tipo   | Padrão | Descrição                    |
| --------- | ------ | ------ | ---------------------------- |
| `days`    | number | `30`   | Janela de lookback (máx: 90) |

***

## Resposta

```json theme={null}
{
  "period_days": 30,
  "views": 842,
  "previews": 156,
  "clones": 23,
  "activeSubscribers": 34,
  "newSubscribers": 8,
  "churnedSubscribers": 2,
  "syncEvents": 45,
  "conflictsGenerated": 12,
  "topSearchTerms": [
    { "term": "vestuário feminino", "count": 89 },
    { "term": "camisetas algodão", "count": 67 }
  ]
}
```

***

## Exemplos

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://app.alana.shopping/api/hub/catalogs/hub_cat_9x8k2m/analytics?days=30" \
    -H "Authorization: Bearer sk_live_sua_chave_api"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    `https://app.alana.shopping/api/hub/catalogs/${catalogId}/analytics?days=30`,
    { headers: { 'Authorization': `Bearer ${process.env.ALANA_API_KEY}` } }
  );
  const stats = await response.json();
  console.log(`Views: ${stats.views} | Assinantes ativos: ${stats.activeSubscribers}`);
  ```

  ```python Python theme={null}
  import requests, os

  response = requests.get(
      f"https://app.alana.shopping/api/hub/catalogs/{catalog_id}/analytics",
      headers={"Authorization": f"Bearer {os.environ['ALANA_API_KEY']}"},
      params={"days": 30}
  )
  stats = response.json()
  print(f"Views: {stats['views']} | Assinantes: {stats['activeSubscribers']}")
  ```
</CodeGroup>

***

## Respostas de erro

| Status HTTP | Código                     | Descrição                               |
| ----------- | -------------------------- | --------------------------------------- |
| 403         | `INSUFFICIENT_PERMISSIONS` | Não é o publisher deste catálogo        |
| 404         | `CATALOG_NOT_FOUND`        | Catálogo não encontrado ou despublicado |
