Reten Docs
Estados de Ciclo de Vida de Comércios

Consultar por Comércio

Obtenha o estado (ou estados) de ciclo de vida de um único comércio, por UUID ou por código externo.

GET /api/commerce-lifecycle-snapshots/:commerceIdentifier

Retorna os estados de ciclo de vida de um único comércio, enriquecidos com os dados do comércio e da AGC. O path aceita um identificador dual: um UUID da Reten ou o código externo do comércio, indistintamente.

Auth: Obrigatório — permissão commerce-lifecycle-snapshot:view

Responde com um array, não um objeto. Sem filtro de AGC, o mesmo comércio pode ter vários estados (um por AGC), por isso sempre é retornada uma lista. Com activity_generation_config_id, o array terá 1 elemento.

Parâmetro de Rota

ParâmetroTipoDescrição
:commerceIdentifierUUID | stringUUID do comércio na Reten (ex. c0000000-...) ou seu código externo (ex. SV-001).

Parâmetros de Consulta

ParâmetroTipoPadrãoDescrição
activity_generation_config_idUUID-Se fornecido, retorna apenas o estado sob essa AGC. Se omitido, retorna os estados de todas as AGCs do comércio.

Exemplo

# Por código externo
curl "https://api.reten.ai/api/commerce-lifecycle-snapshots/SV-001" \
  -H "x-api-key: YOUR_API_KEY"

# Por UUID, restrito a uma AGC
curl "https://api.reten.ai/api/commerce-lifecycle-snapshots/c0000000-0000-4000-8000-000000000001?activity_generation_config_id=a1b2c3d4-0000-4000-8000-000000000001" \
  -H "x-api-key: YOUR_API_KEY"
const response = await fetch(
  "https://api.reten.ai/api/commerce-lifecycle-snapshots/SV-001",
  { headers: { "x-api-key": "YOUR_API_KEY" } },
);
const snapshots = await response.json();
import requests

response = requests.get(
    "https://api.reten.ai/api/commerce-lifecycle-snapshots/SV-001",
    headers={"x-api-key": "YOUR_API_KEY"},
)
snapshots = response.json()

Resposta 200 OK

Cada elemento é o recurso snapshot mais dois objetos aninhados: commerce e activity_generation_config.

[
  {
    "id": "5d000000-0000-4000-8000-000000000003",
    "commerce_id": "c0000000-0000-4000-8000-000000000003",
    "external_id": "SV-003",
    "activity_generation_config_id": "a1b2c3d4-0000-4000-8000-000000000002",
    "code": "WIN_BACK",
    "label": "Active win-back",
    "stage": "RESURRECTION",
    "last_computed_at": "2026-06-10T06:00:00.000Z",
    "state_changed_at": "2026-06-09T06:00:00.000Z",
    "commerce": {
      "id": "c0000000-0000-4000-8000-000000000003",
      "name": "Minimarket El Sol",
      "external_id": "SV-003"
    },
    "activity_generation_config": {
      "id": "a1b2c3d4-0000-4000-8000-000000000002",
      "name": "Q1 Resurrection",
      "description": "First-quarter win-back campaign"
    }
  }
]

Campos aninhados

CampoTipoDescrição
commerceobject | nullid, name e external_id do comércio.
activity_generation_configobject | nullid, name e description da AGC.

Erros

StatusDescrição
404O comércio não existe, ou existe mas não tem nenhum estado calculado (com o filtro de AGC aplicado, se um foi enviado).
401Chave de API ausente ou inválida.
403A credencial não tem a permissão commerce-lifecycle-snapshot:view.

Diferente do lookup por lote, aqui um comércio sem estado calculado responde 404 (não um corpo vazio). Se você precisar distinguir "sem resolver" sem tratar a ausência como erro, use o lookup por lote.