Mapeamentos de marketplace
Visão Geral
Os mapeamentos são outra parte vital da integração, pois permitem que a Uappi 3 e a API do marketplace relacionem informações. Por exemplo: através dos mapeamentos pode-se relacionar os atributos criados na loja e os atributos possíveis no marketplace.
O mapeamento também será usado em partes essências como no recebimento de pedidos, para entender de qual armazém veio o estoque vendido no pedido.
Notas e Considerações
O Hub de marketplace, diferentemente de outros marketplaces, não necessita de diversos mapeamentos para funcionar pois o mesmo utiliza um processo de sincronização de entidades fora do protocolo de marketplace.
Listagem de mapeamentos de marketplace
/marketplace/maps/{entity}
Listagem de mapeamentos de marketplace
Descrição
Endpoint responsável por listar os mapeamentos de marketplace já criados em todas as credenciais da loja.
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 | integer | Entidade sendo listada, os valores permitidos são: brands, attributes, storages, carriers, shipping-tables, filters, products. |
Campos de Condição Disponíveis
| Campo | Tipo | Descrição |
|---|---|---|
| marketplaceStoreCredentialId | integer | ID da credencial de marketplace. |
| entityId | integer | ID da entidade (produto, marca, categoria, etc). |
| externalEntityId | string | ID da entidade no marketplace. |
| createdAt | string | Data de criação do mapeamento. |
Campos de Ordenação Disponíveis
| Campo | Descrição |
|---|---|
| entityId | ID da entidade (produto, marca, categoria, etc). |
Campos de Solicitação
| Campo | Descrição |
|---|---|
| product | Campo exclusivo para o mapeamento de produtos, retorna os dados simples dos mesmos no campo product. |
Exemplo de Requisição
1curl --request GET \2 --url {{MAIN_URL}}/marketplaces/maps/brands \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 "marketplaceStoreCredentialId": 2,7 "entityId": 1,8 "externalEntityId": "1",9 "externalEntityLabel": null,10 "createdAt": "2026-02-23 11:48:50",11 "updatedAt": "2026-02-23 11:48:50"12 },13 {14 "marketplaceStoreCredentialId": 2,15 "entityId": 2,16 "externalEntityId": "2",17 "externalEntityLabel": null,18 "createdAt": "2026-02-23 11:48:50",19 "updatedAt": "2026-02-23 11:48:50"20 },21 {22 "marketplaceStoreCredentialId": 2,23 "entityId": 3,24 "externalEntityId": "3",25 "externalEntityLabel": null,26 "createdAt": "2026-02-23 11:48:50",27 "updatedAt": "2026-02-23 11:48:50"28 }29 ],30 "pagination": {31 "limit": 3,32 "offset": 0,33 "pages": 446,34 "registers": 133835 }36 }37}Exemplo de Requisição de Produtos
1curl --request GET \2 --url '{{MAIN_URL}}/marketplaces/maps/products?limit=3' \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 "marketplaceStoreCredentialId": 2,7 "entityId": 1,8 "externalEntityId": "1",9 "externalEntityLabel": null,10 "createdAt": "2026-02-23 11:48:50",11 "updatedAt": "2026-03-11 18:45:17",12 "product": {13 "productId": 1,14 "brandId": 1,15 "brandName": "Uappi",16 "mainCategoryId": 3,17 "mainCategoryName": "Proteína -> Whey Protein",18 "type": "product",19 "sku": "WHEYCONCENTRADO",20 "name": "Whey muito concentrado",21 "active": true,22 "url": "",23 "comparisonPrice": 0,24 "stock": 0,25 "medias": [26 {27 "id": 101,28 "type": "image",29 "title": "Whey Protein",30 "alternativeText": "Whey Protein",31 "file": "/upload/media/bcdae9e997f3029cc64681a929efae22.webp",32 "originalFile": "/upload/media/8fb896a9b205470df0c1cd1bc21207a6.jpeg",33 "size": 32428,34 "originalSize": 46275,35 "width": 630,36 "height": 780,37 "url": null38 },39 {40 "id": 102,41 "type": "image",42 "title": "Scoop",43 "alternativeText": "Scoop",44 "file": "/upload/media/3c7558387964be10da6bd67b9ba6ce9f.webp",45 "originalFile": "/upload/media/bcdae9e997f3029cc64681a929efae22.jpeg",46 "size": 53916,47 "originalSize": 97750,48 "width": 1140,49 "height": 740,50 "url": null51 },52 {53 "id": 103,54 "type": "file",55 "title": "Sheikera",56 "alternativeText": "Sheikera",57 "file": "/upload/media/9ed330409829fa2858ad0379d02e6ea9.pdf",58 "originalFile": "/upload/media/9ed330409829fa2858ad0379d02e6ea9.pdf",59 "size": 75011,60 "originalSize": 75011,61 "width": null,62 "height": null,63 "url": null64 }65 ],66 "combination": [],67 "currentAttributes": []68 }69 },70 {71 "marketplaceStoreCredentialId": 2,72 "entityId": 2,73 "externalEntityId": "2",74 "externalEntityLabel": null,75 "createdAt": "2026-02-10 14:56:30",76 "updatedAt": "2026-03-11 18:45:17",77 "product": {78 "productId": 2,79 "brandId": 1,80 "brandName": "Uappi",81 "mainCategoryId": 19,82 "mainCategoryName": "Aminoácidos -> Creatina",83 "type": "product",84 "sku": "CREAPURE",85 "name": "CREATINA (250G) Creapure® - GROWTH SUPPLEMENTS",86 "active": false,87 "url": "",88 "comparisonPrice": 0,89 "stock": 0,90 "medias": [],91 "combination": [],92 "currentAttributes": []93 }94 },95 {96 "marketplaceStoreCredentialId": 2,97 "entityId": 3,98 "externalEntityId": "3",99 "externalEntityLabel": null,100 "createdAt": "2026-02-10 14:56:30",101 "updatedAt": "2026-03-11 18:45:17",102 "product": {103 "productId": 3,104 "brandId": 1,105 "brandName": "Uappi",106 "mainCategoryId": 0,107 "mainCategoryName": "",108 "type": "product",109 "sku": "HAZE",110 "name": "PRÉ-TREINO HAZE HARDCORE 300G - GROWTH SUPPLEMENTS",111 "active": true,112 "url": "",113 "comparisonPrice": 0,114 "stock": 0,115 "medias": [],116 "combination": [],117 "currentAttributes": []118 }119 }120 ],121 "pagination": {122 "limit": 3,123 "offset": 0,124 "pages": 446,125 "registers": 1338126 }127 }128}Criação/atualização de mapeamentos de marketplace
/marketplace/maps/{entity}
Criação/atualização de mapeamentos de marketplace
Descrição
Endpoint responsável por criar ou atualizar (caso já existam) os mapeamentos de marketplace.
Esse endpoint possui uma request e response em lote, ou seja, cada item na response terá um campo error indicando se ouve falha ou null em caso de sucesso.
Itens onde o entityId já esteja cadastrado serão considerados como atualização.
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 sofrendo atualização de mapeamento, os valores permitidos são: brands, attributes, storages, carriers, shipping-tables, filters, products. |
Parâmetros de corpo
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| entities | array | Sim | Array contendo os mapeamentos para criação/atualização (máximo de 100 itens). |
| entities.*.marketplaceStoreCredentialId | integer | Sim | ID do grupo de credencial de marketplace. |
| entities.*.entityId | integer | Sim | ID da entidade sendo mapeada. |
| entities.*.externalEntityId | string | Sim | ID no marketplace equivalente da entidade sendo mapeada. |
| entities.*.externalEntityLabel | string ou null | Sim | Texto opcional para facilitar a identificação do mapeamento (tamanho máximo de 255 caractéres). |
Exemplo de Requisição
1curl --request POST \2 --url {{MAIN_URL}}/marketplaces/maps/attributes \3 --header 'Authorization: SEU_TOKEN_AQUI' \4 --header 'Content-Type: application/json' \5 --data '{6 "entities": [7 {8 "marketplaceStoreCredentialId": 2,9 "entityId": 1,10 "externalEntityId": "cores",11 "externalEntityLabel": null12 },13 {14 "marketplaceStoreCredentialId": 45,15 "entityId": 2,16 "externalEntityId": "Voltagem",17 "externalEntityLabel": null18 },19 {20 "marketplaceStoreCredentialId": 2,21 "entityId": 3,22 "externalEntityId": "Tamanhos",23 "externalEntityLabel": "Tamanho de roupa"24 }25 ]26}'✅ Resposta de Sucesso
1{2 "status": true,3 "data": [4 {5 "marketplaceStoreCredentialId": 2,6 "entityId": 1,7 "externalEntityId": "cores",8 "externalEntityLabel": null,9 "error": null10 },11 {12 "marketplaceStoreCredentialId": 45,13 "entityId": 2,14 "externalEntityId": "Voltagem",15 "externalEntityLabel": null,16 "error": "UAPPI_INTEGRATION_MARKETPLACE_CREDENTIAL_NOT_FOUND"17 },18 {19 "marketplaceStoreCredentialId": 2,20 "entityId": 3,21 "externalEntityId": "Tamanhos",22 "externalEntityLabel": "Tamanho de roupa",23 "error": null24 }25 ]26}⚠️ 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_INTEGRATION_MARKETPLACE_CREDENTIAL_NOT_FOUND | 404 | A credencial de marketplace solicitada não foi encontrada. |
Remoção de mapeamentos de marketplace
/marketplace/maps/{entity}
Remoção de mapeamentos de marketplace
Descrição
Endpoint responsável por remover mapeamentos de marketplace em lote.
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 sofrendo atualização de mapeamento, os valores permitidos são: brands, attributes, storages, carriers, shipping-tables, filters, products. |
Parâmetros de corpo
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| entities | array | Sim | Array contendo os mapeamentos para remoção. |
| entities.*.marketplaceStoreCredentialId | integer | Sim | ID do grupo de credencial de marketplace. |
| entities.*.entityId | integer | Sim | ID da entidade sendo removida do mapeamento. |
Exemplo de Requisição
1curl --request DELETE \2 --url {{MAIN_URL}}/marketplaces/maps/storages \3 --header 'Authorization: Bearer SEU_TOKEN_AQUI' \4 --header 'Content-Type: application/json' \5 --data '{6 "entities": [7 {8 "marketplaceStoreCredentialId": 2,9 "entityId": 210 },11 {12 "marketplaceStoreCredentialId": 2,13 "entityId": 314 }15 ]16}'✅ Resposta de Sucesso
1{2 "status": true,3 "data": true4}