Listagem de histórico do produto
/products/{productId}/history
Retorna o histórico de alterações de um produto com paginação, ordenação e filtros
Descrição
Endpoint responsável por listar o histórico de alterações de um produto identificado na URL 📋.
Atua em contexto administrativo, com escopo de leitura de produtos (PRODUCT_READ), permitindo que o lojista audite mudanças feitas no cadastro (descrição, dados do produto, estoque, entre outros).
Cada registro traz quem alterou, quando, a origem e a ação executada, além dos objetos before e after com o estado anterior e posterior do trecho alterado.
Essas informações ajudam o lojista a rastrear e conferir alterações no produto no painel ⚙️.
Parâmetros
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Content-Type | application/json | Necessário quando o corpo JSON é enviado na requisição |
Authorization | Bearer {userToken} | Token de autenticação |
Parâmetros da URL
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| productId | integer | Sim | Identificador do produto cujo histórico será listado |
Exemplo de Requisição
1curl --request GET \2 --url "https://sua-loja-uappi.com.br/api/v3/products/{productId}/history" \3 --header "Content-Type: application/json" \4 --header "Authorization: Bearer SEU_TOKEN_AQUI" \5 --data '{6 "fields": [],7 "order": [8 {9 "field": "id",10 "order": "ASC"11 }12 ],13 "condition": {14 "type": "OR",15 "conditions": []16 },17 "limit": 10,18 "offset": 019 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": {4 "registers": [5 {6 "id": 1,7 "userId": 2,8 "userName": "Admin Uappi",9 "userEmail": "admin@email.com.br",10 "origin": "description",11 "action": "update-description",12 "createdAt": "2025-09-15 17:23:24",13 "before": {14 "name": "",15 "shortDescription": null,16 "searchDescription": null,17 "description": null,18 "seoTitle": "",19 "seoDescription": "",20 "seoIndexOnGoogle": false21 },22 "after": {23 "name": "Techbrand smartphone",24 "shortDescription": "\r\n",25 "searchDescription": "techbrand smartphone \r\n",26 "description": "<p>Chegaram os smartphones <strong>ABC123</strong> da TechBrand...</p>",27 "seoTitle": null,28 "seoDescription": null,29 "seoIndexOnGoogle": true30 }31 },32 {33 "id": 2,34 "userId": 2,35 "userName": "Admin Uappi",36 "userEmail": "integration@uappi.com.br",37 "origin": "product",38 "action": "update-product",39 "createdAt": "2025-09-26 20:35:44",40 "before": {41 "active": false42 },43 "after": {44 "active": true45 }46 }47 ],48 "pagination": {49 "limit": 10,50 "offset": 0,51 "pages": 4,52 "registers": 3853 }54 }55}⚠️ Possíveis erros:
| errorCode | HTTP | Descrição |
|---|---|---|
| UAPPI_STORE_PRODUCT_NOT_FOUND | 404 | O produto solicitado não foi encontrado. |
Listagem de histórico de produtos em massa
/products/history
Retorna o histórico de alterações de todos os produtos, sem restrição por produto específico, com paginação, ordenação e filtros
Descrição
Endpoint responsável por listar o histórico de alterações de todos os produtos cadastrados na loja, sem a necessidade de informar um productId na URL 📋.
Atua em contexto administrativo, com escopo de leitura de produtos (PRODUCT_READ), permitindo que o lojista audite mudanças feitas em qualquer produto do catálogo (descrição, dados do produto, estoque, entre outros) a partir de uma única listagem.
Cada registro traz o campo productId, indicando a qual produto aquela alteração pertence, além de quem alterou, quando, a origem e a ação executada, além dos objetos before e after com o estado anterior e posterior do trecho alterado.
Essas informações ajudam o lojista a rastrear e conferir alterações em todo o catálogo de produtos no painel ⚙️.
Parâmetros
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Content-Type | application/json | Necessário quando o corpo JSON é enviado na requisição |
Authorization | Bearer {userToken} | Token de autenticação |
Campos de Condição Disponíveis
| Campo | Tipo | Descrição |
|---|---|---|
| productId | integer | Filtrar pelo ID do produto |
| origin | string | Filtra pela origem do histórico |
| userName | string | Filtrar pelo nome do usuário responsável pela ação |
| userEmail | string | Filtrar pelo e-mail do usuário responsável pela ação |
| action | string | Filtrar por tipo de ação |
| createdAt | string | Filtra pela data de criação do registro |
Campos de Ordenação Disponíveis
| Campo | Descrição |
|---|---|
| id | Ordenar lista por ID |
| createdAt | Ordenar lista por data de criação |
Exemplo de Requisição
1curl --request GET \2 --url "{{MAIN_URL}}/products/history" \3 --header "Content-Type: application/json" \4 --header "Authorization: Bearer SEU_TOKEN_AQUI" \5 --data '{6 "fields": [],7 "order": [8 {9 "field": "id",10 "order": "ASC"11 }12 ],13 "condition": {14 "type": "OR",15 "conditions": []16 },17 "limit": 10,18 "offset": 019 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": {4 "registers": [5 {6 "id": 1,7 "productId": 501,8 "userId": 2,9 "userName": "Admin Uappi",10 "userEmail": "admin@email.com.br",11 "origin": "description",12 "action": "update-description",13 "before": {14 "name": "",15 "shortDescription": null,16 "searchDescription": null,17 "description": null,18 "seoTitle": "",19 "seoDescription": "",20 "seoIndexOnGoogle": false21 },22 "after": {23 "name": "Techbrand smartphone",24 "shortDescription": "\r\n",25 "searchDescription": "techbrand smartphone \r\n",26 "description": "<p>Chegaram os smartphones <strong>ABC123</strong> da TechBrand...</p>",27 "seoTitle": null,28 "seoDescription": null,29 "seoIndexOnGoogle": true30 },31 "createdAt": "2025-09-15 17:23:24"32 },33 {34 "id": 2,35 "productId": 730,36 "userId": 2,37 "userName": "Admin Uappi",38 "userEmail": "integration@uappi.com.br",39 "origin": "product",40 "action": "update-product",41 "before": {42 "active": false43 },44 "after": {45 "active": true46 },47 "createdAt": "2025-09-26 20:35:44"48 }49 ],50 "pagination": {51 "limit": 10,52 "offset": 0,53 "pages": 4,54 "registers": 3855 }56 }57}⚠️ Possíveis erros:
Por se tratar de uma listagem em massa, sem productId na URL, este endpoint não possui um erro de produto não encontrado — o único erro específico deste contexto é a validação dos campos de condição/ordenação informados.
| errorCode | HTTP | Descrição |
|---|---|---|
| UAPPI_CORE_INVALID_SEARCH_FIELD | 400 | Um dos campos de condição ou ordenação informados na requisição não é válido para esta listagem. |
Detalhe do histórico do produto
/products/{productId}/history/{historyId}
Retorna um registro específico do histórico de alterações de um produto
Descrição
Endpoint responsável por retornar o detalhe de um evento do histórico de um produto 📋.
Atua em contexto administrativo, com escopo de leitura de produtos (PRODUCT_READ), permitindo que o lojista consulte uma alteração pontual com os valores antes e depois da mudança.
Os identificadores productId e historyId vêm na URL. Não é necessário enviar corpo na requisição.
O retorno inclui autor, data, origem, ação e os objetos before / after, cuja estrutura depende do tipo de alteração (descrição, produto, estoque, etc.).
Essas informações permitem que o lojista analise em profundidade uma mudança específica no cadastro do produto ⚙️.
Parâmetros
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Authorization | Bearer {userToken} | Token de autenticação |
Parâmetros da URL
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| productId | integer | Sim | Identificador do produto |
| historyId | integer | Sim | Identificador do registro de histórico |
Exemplo de Requisição
1curl --request GET \2 --url "{{MAIN_URL}}/products/{productId}/history/{historyId}" \3 --header "Authorization: Bearer SEU_TOKEN_AQUI"✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": {4 "id": 300,5 "userId": 2,6 "userName": "Admin Uappi",7 "userEmail": "integration@uappi.com.br",8 "origin": "description",9 "action": "update-description",10 "createdAt": "2025-09-15 17:23:24",11 "before": {12 "name": "",13 "shortDescription": null,14 "searchDescription": null,15 "description": null,16 "seoTitle": "",17 "seoDescription": "",18 "seoIndexOnGoogle": false19 },20 "after": {21 "name": "Techbrand smartphone",22 "shortDescription": "\r\n",23 "searchDescription": "techbrand smartphone \r\n",24 "description": "<p>Chegaram os smartphones <strong>ABC123</strong> da TechBrand...</p>",25 "seoTitle": null,26 "seoDescription": null,27 "seoIndexOnGoogle": true28 }29 }30}⚠️ Possíveis erros:
| errorCode | HTTP | Descrição |
|---|---|---|
| UAPPI_STORE_HISTORY_NOT_FOUND | 404 | O histórico solicitado não foi encontrado. |
| UAPPI_STORE_PRODUCT_NOT_FOUND | 404 | O produto solicitado não foi encontrado. |