Skip to content

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;
  • 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:
  • 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;
  • 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:
  • 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: 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

GET /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

HeaderValorDescrição
Content-Typeapplication/jsonTipo de conteúdo
AuthorizationBearer {token}Token de autenticação

Parâmetros de rota

ParâmetroTipoDescrição
entitystringEntidade sendo listada, os valores permitidos são: products, orders.

Campos de Condição Disponíveis

CampoTipoDescrição
marketplaceStoreCredentialIdintegerID da credencial de marketplace.
entityIdintegerID da entidade (produto ou pedido).
actionstringAção que será executada pela fila.
statusstringStatus de processamento do item na fila.

Campos de Ordenação Disponíveis

CampoDescrição
createdAtData e hora em que o item entrou na fila.

Campos de Solicitação

CampoDescrição
productCampo 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": 1
12 },
13 {
14 "storeId": 1,
15 "marketplaceStoreCredentialId": 2,
16 "action": "export",
17 "status": "pending",
18 "createdAt": "2026-03-03 18:23:34",
19 "entityId": 2
20 },
21 {
22 "storeId": 1,
23 "marketplaceStoreCredentialId": 2,
24 "action": "export",
25 "status": "pending",
26 "createdAt": "2026-03-03 18:23:34",
27 "entityId": 3
28 }
29 ],
30 "pagination": {
31 "limit": 10,
32 "offset": 0,
33 "pages": 1,
34 "registers": 3
35 }
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": null
39 },
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": null
52 },
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": null
65 }
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": 3
129 }
130 }
131}

Adicionar itens na fila de marketplace

POST /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

HeaderValorDescrição
Content-Typeapplication/jsonTipo de conteúdo
AuthorizationBearer {token}Token de autenticação

Parâmetros de rota

ParâmetroTipoDescrição
entitystringEntidade sendo adicionada, os valores permitidos são: products, orders.

Parâmetros de corpo

CampoTipoObrigatórioDescrição
entitiyIdsarray de integersSimArray contendo os IDs da entidades para inserção na fila (máximo de 100 IDs).
actionstringSimAçã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 3
10 ],
11 "action": "export"
12}'

✅ Resposta de Sucesso

1{
2 "status": true,
3 "data": true
4}

⚠️ 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 InternoCódigo HttpDescrição
UAPPI_STORE_PRODUCT_NOT_FOUND404Os produtos solicitados para inserção na fila não existem.
UAPPI_INTEGRATION_MARKETPLACE_ORDER_NOT_MAPPED400Os pedidos solicitados não estão mapeados com nenhuma credencial de marketplace.

Remover itens da fila de marketplace

DELETE /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

HeaderValorDescrição
Content-Typeapplication/jsonTipo de conteúdo
AuthorizationBearer {token}Token de autenticação

Parâmetros de rota

ParâmetroTipoDescrição
entitystringEntidade sendo removida, os valores permitidos são: products, orders.

Parâmetros de corpo

CampoTipoObrigatórioDescrição
entitiyIdsarray de integersSimArray contendo os IDs da entidades para remoção da fila (máximo de 100 IDs).
actionstring ou nullSimAçã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 3
10 ],
11 "action": "export"
12}'

✅ Resposta de Sucesso

1{
2 "status": true,
3 "data": true
4}

Uappi é a melhor opção para o crescimento da sua loja!

;