Pular para o conteúdo principal

Visão Geral

Quando um publisher lança uma nova versão de catálogo, os assinantes recebem notificação de sync. Dependendo da política de resolução de conflitos da assinatura, conflitos de atualização de produto podem requerer revisão manual.

Acionar sync manualmente

POST /api/hub/catalogs/{catalogId}/sync
Aciona uma verificação de sync para uma assinatura de catálogo. Normalmente as sincronizações são automáticas quando o publisher lança atualizações, mas você pode acionar manualmente para verificar mudanças pendentes.

Resposta

{
  "synced": true,
  "newVersion": 6,
  "productsUpdated": 12,
  "conflictsDetected": 3,
  "conflictIds": ["prod_abc", "prod_def", "prod_ghi"]
}

Listar conflitos

GET /api/workspace/{workspaceId}/catalogs/{catalogId}/conflicts
Retorna produtos com conflitos pendentes de resolução.

Resposta

{
  "conflicts": [
    {
      "productId": "prod_abc",
      "field": "price",
      "localValue": "79.90",
      "remoteValue": "89.90",
      "detectedAt": "2026-03-18T10:00:00Z"
    }
  ],
  "total": 3
}

Resolver conflito

PATCH /api/workspace/{workspaceId}/catalogs/{catalogId}/conflicts/{productId}

Corpo da requisição

{
  "resolution": "keep_local"
}
ValorDescrição
"keep_local"Manter o valor do workspace local
"accept_remote"Aceitar o valor atualizado do publisher

Exemplos

# Listar conflitos
curl "https://app.alana.shopping/api/workspace/ws_123/catalogs/cat_456/conflicts" \
  -H "Authorization: Bearer sk_live_sua_chave_api"

# Resolver conflito
curl -X PATCH "https://app.alana.shopping/api/workspace/ws_123/catalogs/cat_456/conflicts/prod_abc" \
  -H "Authorization: Bearer sk_live_sua_chave_api" \
  -H "Content-Type: application/json" \
  -d '{"resolution": "accept_remote"}'
Last modified on March 18, 2026