> ## 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.

# Lote Gold

> POST /batch/gold — pontuar uma seleção ou catálogo inteiro pelo estágio de scoring de otimização Gold.

## Endpoint

```
POST /api/workspace/{workspaceId}/catalogs/{catalogId}/batch/gold
```

Aciona o estágio de scoring Gold para uma seleção de produtos ou o catálogo inteiro. O Gold analisa cada produto contra uma rubrica de 7 estágios e produz um score de otimização (0–100), uma lista de gaps e um resumo a nível de catálogo.

***

## Parâmetros de path

| Parâmetro     | Tipo   | Obrigatório | Descrição             |
| ------------- | ------ | :---------: | --------------------- |
| `workspaceId` | string |     Sim     | Seu ID de workspace   |
| `catalogId`   | string |     Sim     | O catálogo a analisar |

***

## Corpo da requisição

```json theme={null}
{
  "productIds": ["prod_abc", "prod_def"],
  "scope": "selection"
}
```

***

## Resposta

```json theme={null}
{
  "results": [
    {
      "productId": "prod_abc",
      "status": "success",
      "score": 82,
      "gaps": ["secondaryImages", "gtin"],
      "missingFields": ["gtin"]
    }
  ],
  "catalogSummary": {
    "avgScore": 61.5,
    "scoreDistribution": {
      "excellent": 12,
      "good": 34,
      "warning": 28,
      "poor": 8
    },
    "topGaps": ["gtin", "description", "secondaryImages"]
  }
}
```

***

## Limites de score

| Faixa  | Rótulo    | Significado                                |
| ------ | --------- | ------------------------------------------ |
| 85–100 | Excelente | Pronto para todos os canais                |
| 65–84  | Bom       | Melhorias menores recomendadas             |
| 40–64  | Atenção   | Campos importantes ausentes                |
| 0–39   | Ruim      | Gaps críticos — não está pronto para feeds |

***

## Exemplos

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST "https://app.alana.shopping/api/workspace/ws_123/catalogs/cat_456/batch/gold" \
    -H "Authorization: Bearer sk_live_sua_chave_api" \
    -H "Content-Type: application/json" \
    -d '{"scope": "all"}'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    `https://app.alana.shopping/api/workspace/${workspaceId}/catalogs/${catalogId}/batch/gold`,
    {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${process.env.ALANA_API_KEY}`,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({ scope: 'all' }),
    }
  );
  const { results, catalogSummary } = await response.json();
  console.log(`Score médio: ${catalogSummary.avgScore}`);
  ```

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

  response = requests.post(
      f"https://app.alana.shopping/api/workspace/{workspace_id}/catalogs/{catalog_id}/batch/gold",
      headers={"Authorization": f"Bearer {os.environ['ALANA_API_KEY']}"},
      json={"scope": "all"}
  )
  data = response.json()
  print(f"Score médio do catálogo: {data['catalogSummary']['avgScore']}")
  ```
</CodeGroup>

***

## Respostas de erro

| Status HTTP | Código                     | Descrição                               |
| ----------- | -------------------------- | --------------------------------------- |
| 400         | `VALIDATION_ERROR`         | `scope` ausente ou inválido             |
| 403         | `INSUFFICIENT_PERMISSIONS` | Chave API sem `catalogs:write`          |
| 404         | `CATALOG_NOT_FOUND`        | Catálogo não existe no workspace        |
| 409         | `JOB_ALREADY_RUNNING`      | Um job em lote já está em andamento     |
| 429         | `RATE_LIMIT_EXCEEDED`      | Aguarde o valor do header `Retry-After` |
