Pular para o conteúdo principal

POST /api/products/sync

Enfileira um produto para sincronização assíncrona. O payload é publicado na fila product-sync-ifw-hub e processado pelo worker dedicado, que o persiste vinculado ao supplier_id do token.

Autenticação

Requer header Authorization: Bearer <access_token> emitido pelo endpoint POST /api/external-auth/token.

Request

Headers

HeaderValor
Content-Typeapplication/json
AuthorizationBearer <access_token>

Body

{
"material_id": 0,
"material": "<nome do material>",
"material_variant_id": 0,
"material_variant": "<nome da variante>",
"sku": "<sku>",
"width": 0,
"height": 0,
"depth": 0,
"weight": 0,
"quantity": 0,
"is_active": true
}

Descrição dos campos

CampoTipoObrigatórioDescrição
material_idintID do material
materialstringNome do material
material_variant_idintID da variante do material
material_variantstringNome da variante do material
skustringSKU do produto
widthfloatLargura
heightfloatAltura
depthfloatProfundidade
weightfloatPeso do produto
quantityintQuantidade
is_activebooleanDefine se o produto está ativo. Padrão: true. Use false para desativar o produto no consumer.
curl -s -X POST "https://<host>/api/products/sync" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <access_token>" \
-d '{
"material_id": 0,
"material": "<nome do material>",
"material_variant_id": 0,
"material_variant": "<nome da variante>",
"sku": "<sku>",
"width": 0,
"height": 0,
"depth": 0,
"weight": 0,
"quantity": 0,
"is_active": true
}'

Response

202 Accepted

{
"queued": true,
"message_id": "<uuid>"
}

O produto foi recebido e enfileirado. O processamento ocorre de forma assíncrona — use GET /api/products/sku/{sku} para verificar o status após a sincronização.

400 Bad Request

Body inválido ou campos obrigatórios ausentes.

401 Unauthorized

Token ausente, expirado ou inválido.