Filas de marketplace
Visão Geral
As filas de sincronização de marketplace permitem que a Uappi 3 envie cadastros e atualizações para as APIs dos marketplaces de forma performática, acumulando registros para envio e executando esses processos de forma agrupada e em segundo plano.
Todos os itens dentro de uma fila possuem um campo status que pode conter um dos valores:
- pending: O item ainda não está sendo processado;
- running: O item está sendo processado;
- export: Cadastra ou atualiza o produto por completo no marketplace;
- update-stock: Atualiza o estoque do produto no marketplace;
- update-price: Atualiza o preço do produto no marketplace;
- update-status: Atualiza o status do pedido no marketplace;
- update-invoice: Atualiza os dados de nota fiscal no marketplace;
- update-shipping: Atualiza os dados de rastreio no marketplace;
Observação: Assim que um item finalizar seu processamento, ele será removido da fila e não será mais possível vê-lo através da rota de listagem.
Entidades Envolvidas
Produtos
A fila de produtos possui 3 ações possíveis:Observação: Para que um produto entre na fila com as ações de update-stock e update-price é necessário que ele esteja mapeado nas credenciais de marketplace.
Pedidos
A fila de pedidos possui 3 ações possíveis:Observação: Para que um pedido entre na fila com qualquer ação, necessário que ele esteja mapeado em uma credencial de marketplace.
Listagem das filas de marketplace
/marketplace/queues/exit/{entity}
Listagem das filas de marketplace
Descrição
Endpoint responsável por listar os itens nas filas de marketplace. Por ele é possível ver se um item está pendente de processamento ou se está sendo executado, também é possível conferir a ação que será executada pela fila e a data de inserção do registro na fila.
Parâmetros
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Content-Type | application/json | Tipo de conteúdo |
Authorization | Bearer {token} | Token de autenticação |
Parâmetros de rota
| Parâmetro | Tipo | Descrição |
|---|---|---|
entity | string | Entidade sendo listada, os valores permitidos são: products, orders. |
Campos de Condição Disponíveis
| Campo | Tipo | Descrição |
|---|---|---|
| marketplaceStoreCredentialId | integer | ID da credencial de marketplace. |
| entityId | integer | ID da entidade (produto ou pedido). |
| action | string | Ação que será executada pela fila. |
| status | string | Status de processamento do item na fila. |
Campos de Ordenação Disponíveis
| Campo | Descrição |
|---|---|
| createdAt | Data e hora em que o item entrou na fila. |
Campos de Solicitação
| Campo | Descrição |
|---|---|
| product | Campo exclusivo para a fila de produtos, retorna os dados simples dos mesmos no campo product. |
Exemplo de Requisição
1curl --request GET \2 --url {{MAIN_URL}}/marketplaces/queues/exit/orders \3 --header 'Authorization: Bearer SEU_TOKEN_AQUI' \4 --header 'Content-Type: application/json' \5 --data '{6 "fields": [],7 "order": [],8 "condition": {9 "type": "AND",10 "conditions": []11 }12}'✅ Resposta de Sucesso
1{2 "status": true,3 "data": {4 "registers": [5 {6 "storeId": 1,7 "marketplaceStoreCredentialId": 2,8 "action": "export",9 "status": "pending",10 "createdAt": "2026-03-03 18:23:34",11 "entityId": 112 },13 {14 "storeId": 1,15 "marketplaceStoreCredentialId": 2,16 "action": "export",17 "status": "pending",18 "createdAt": "2026-03-03 18:23:34",19 "entityId": 220 },21 {22 "storeId": 1,23 "marketplaceStoreCredentialId": 2,24 "action": "export",25 "status": "pending",26 "createdAt": "2026-03-03 18:23:34",27 "entityId": 328 }29 ],30 "pagination": {31 "limit": 10,32 "offset": 0,33 "pages": 1,34 "registers": 335 }36 }37}Exemplo de Requisição de Produtos
1curl --request GET \2 --url {{MAIN_URL}}/marketplaces/queues/exit/products \3 --header 'Authorization: Bearer SEU_TOKEN_AQUI' \4 --header 'Content-Type: application/json' \5 --data '{6 "fields": [7 "product"8 ],9 "order": [],10 "condition": {11 "type": "AND",12 "conditions": []13 }14}'✅ Resposta de Sucesso
1{2 "status": true,3 "data": {4 "registers": [5 {6 "storeId": 1,7 "marketplaceStoreCredentialId": 2,8 "action": "export",9 "status": "pending",10 "createdAt": "2026-03-03 18:23:34",11 "startedAt": null,12 "entityId": 1,13 "product": {14 "productId": 1,15 "brandId": 1,16 "brandName": "Uappi",17 "mainCategoryId": 3,18 "mainCategoryName": "Proteína -> Whey Protein",19 "type": "product",20 "sku": "WHEYCONCENTRADO",21 "name": "Whey muito concentrado",22 "active": true,23 "url": "",24 "comparisonPrice": 0,25 "stock": 0,26 "medias": [27 {28 "id": 101,29 "type": "image",30 "title": "Whey Protein",31 "alternativeText": "Whey Protein",32 "file": "/upload/media/bcdae9e997f3029cc64681a929efae22.webp",33 "originalFile": "/upload/media/8fb896a9b205470df0c1cd1bc21207a6.jpeg",34 "size": 32428,35 "originalSize": 46275,36 "width": 630,37 "height": 780,38 "url": null39 },40 {41 "id": 102,42 "type": "image",43 "title": "Scoop",44 "alternativeText": "Scoop",45 "file": "/upload/media/3c7558387964be10da6bd67b9ba6ce9f.webp",46 "originalFile": "/upload/media/bcdae9e997f3029cc64681a929efae22.jpeg",47 "size": 53916,48 "originalSize": 97750,49 "width": 1140,50 "height": 740,51 "url": null52 },53 {54 "id": 103,55 "type": "file",56 "title": "Sheikera",57 "alternativeText": "Sheikera",58 "file": "/upload/media/9ed330409829fa2858ad0379d02e6ea9.pdf",59 "originalFile": "/upload/media/9ed330409829fa2858ad0379d02e6ea9.pdf",60 "size": 75011,61 "originalSize": 75011,62 "width": null,63 "height": null,64 "url": null65 }66 ],67 "combination": [],68 "currentAttributes": []69 }70 },71 {72 "storeId": 1,73 "marketplaceStoreCredentialId": 2,74 "action": "export",75 "status": "pending",76 "createdAt": "2026-03-03 18:23:34",77 "startedAt": null,78 "entityId": 2,79 "product": {80 "productId": 2,81 "brandId": 1,82 "brandName": "Uappi",83 "mainCategoryId": 19,84 "mainCategoryName": "Aminoácidos -> Creatina",85 "type": "product",86 "sku": "CREAPURE",87 "name": "CREATINA (250G) Creapure® - GROWTH SUPPLEMENTS",88 "active": false,89 "url": "",90 "comparisonPrice": 0,91 "stock": 0,92 "medias": [],93 "combination": [],94 "currentAttributes": []95 }96 },97 {98 "storeId": 1,99 "marketplaceStoreCredentialId": 2,100 "action": "export",101 "status": "pending",102 "createdAt": "2026-03-03 18:23:34",103 "startedAt": null,104 "entityId": 3,105 "product": {106 "productId": 3,107 "brandId": 1,108 "brandName": "Uappi",109 "mainCategoryId": 0,110 "mainCategoryName": "",111 "type": "product",112 "sku": "HAZE",113 "name": "PRÉ-TREINO HAZE HARDCORE 300G - GROWTH SUPPLEMENTS",114 "active": true,115 "url": "",116 "comparisonPrice": 0,117 "stock": 0,118 "medias": [],119 "combination": [],120 "currentAttributes": []121 }122 }123 ],124 "pagination": {125 "limit": 10,126 "offset": 0,127 "pages": 1,128 "registers": 3129 }130 }131}Adicionar itens na fila de marketplace
/marketplaces/queues/exit/{entity}
Adicionar itens na fila de marketplace
Descrição
Endpoint responsável adicionar itens na fila de marketplace conforme um ação específicada. Esse endpoint sempre irá adicionar os itens em todas as credenciais de marketplace possíveis e caso o item já esteja na fila ele não será alterado.
Parâmetros
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Content-Type | application/json | Tipo de conteúdo |
Authorization | Bearer {token} | Token de autenticação |
Parâmetros de rota
| Parâmetro | Tipo | Descrição |
|---|---|---|
entity | string | Entidade sendo adicionada, os valores permitidos são: products, orders. |
Parâmetros de corpo
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| entitiyIds | array de integers | Sim | Array contendo os IDs da entidades para inserção na fila (máximo de 100 IDs). |
| action | string | Sim | Ação que a fila deverá realizar com as entidades específicadas. |
Exemplo de Requisição
1curl --request POST \2 --url {{MAIN_URL}}/marketplaces/queues/exit/products \3 --header 'Authorization: Bearer SEU_TOKEN_AQUI' \4 --header 'Content-Type: application/json' \5 --data '{6 "entityIds": [7 1,8 2,9 310 ],11 "action": "export"12}'✅ Resposta de Sucesso
1{2 "status": true,3 "data": true4}⚠️ 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 | Os produtos solicitados para inserção na fila não existem. |
| UAPPI_INTEGRATION_MARKETPLACE_ORDER_NOT_MAPPED | 400 | Os pedidos solicitados não estão mapeados com nenhuma credencial de marketplace. |
Remover itens da fila de marketplace
/marketplaces/queues/exit/{entity}
Remover itens da fila de marketplace
Descrição
Endpoint responsável remover itens na fila de marketplace conforme um ação específicada. Caso um item já esteja em processamento ele não será removido.
Parâmetros
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Content-Type | application/json | Tipo de conteúdo |
Authorization | Bearer {token} | Token de autenticação |
Parâmetros de rota
| Parâmetro | Tipo | Descrição |
|---|---|---|
entity | string | Entidade sendo removida, os valores permitidos são: products, orders. |
Parâmetros de corpo
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| entitiyIds | array de integers | Sim | Array contendo os IDs da entidades para remoção da fila (máximo de 100 IDs). |
| action | string ou null | Sim | Ação desejada para remoção da fila, caso seja informado null todos os itens da fila com as entidades específicadas em qualquer ação serão removidas. |
Exemplo de Requisição
1curl --request DELETE \2 --url {{MAIN_URL}}/marketplaces/queues/exit/products \3 --header 'Authorization: Bearer SEU_TOKEN_AQUI' \4 --header 'Content-Type: application/json' \5 --data '{6 "entityIds": [7 1,8 2,9 310 ],11 "action": "export"12}'✅ Resposta de Sucesso
1{2 "status": true,3 "data": true4}