Atualização de Produtos Vinculados
/products/{productId}/linked
Atualiza a lista de produtos vinculados (relacionados ou indicados) de um produto.
Descrição
Este endpoint permite o gerenciamento dinâmico dos vínculos entre produtos no catálogo da loja. 🔗
Através dele, é possível definir quais itens devem ser exibidos como complementares (relacionados) ou como sugestões de compra (indicados) na página de um produto específico, ajudando a guiar a navegação do cliente e aumentar a relevância das ofertas. 🚀
A operação é baseada em listas de inclusão (add) e exclusão (remove), permitindo atualizar os vínculos de forma incremental sem a necessidade de enviar a lista completa de produtos a cada requisição. 🛠️
O sistema suporta diferentes tipos de vínculos, sendo os mais comuns o related (Produtos Relacionados) e o indicated (Produtos Indicados). Cada tipo é tratado de forma independente para o mesmo produto base. 📁
Uma regra de negócio importante é que o sistema impede que um produto seja vinculado a si mesmo. Além disso, a operação valida se o produto principal não é uma variação, pois os vínculos devem ser gerenciados preferencialmente no produto pai. ⚠️
Para realizar esta operação, o usuário deve estar autenticado em ambiente administrativo e possuir o escopo de permissão PRODUCT_WRITE. 🔒
---
Parâmetros
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
| Content-Type | application/json | Tipo de conteúdo |
| Authorization | Bearer {userToken} | Token de autenticação |
Parâmetros da URL
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| productId | integer | ✅ | ID do produto principal que receberá os vínculos |
Parâmetros do Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| type | string | ✅ | Tipo do vínculo. Valores aceitos: related, indicated |
| add | array | ❌ | Lista de IDs de produtos para adicionar ao vínculo |
| add.* | integer | ✅ | ID do produto a ser adicionado |
| remove | array | ❌ | Lista de IDs de produtos para remover do vínculo |
| remove.* | integer | ✅ | ID do produto a ser removido |
Exemplo de Requisição
1curl --request PUT \2 --url https://sua-loja-uappi.com.br/api/v3/products/123/linked \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \4 --data '{5 "type": "related",6 "add": [456, 789],7 "remove": [101]8 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
O retorno contém a lista atualizada de todos os IDs de produtos vinculados para o tipo solicitado.
1[2 456,3 789,4 202,5 3036]⚠️ Possíveis erros:
Atenção: a seguir estão destacados os principais erros que podem ocorrer neste endpoint.
Os cenários descritos representam os erros mais relevantes do contexto atual, servindo como referência para entendimento e tratamento das falhas.
| Código Interno | Código Http | Descrição |
|---|---|---|
| UAPPI_STORE_PRODUCT_NOT_FOUND | 404 | O produto solicitado não foi encontrado. |
| UAPPI_STORE_PRODUCT_IS_VARIATION | 400 | O solicitado produto é uma variação. |