Páginas (Landing Pages)
Visão Geral
O módulo de Páginas 📄 fornece as ferramentas necessárias para construir experiências de navegação personalizadas que vão além da estrutura padrão de categorias e produtos.
Ele permite que o lojista crie landing pages, páginas institucionais ou hotsites de campanhas com controle total sobre o conteúdo e a indexação.
A grande flexibilidade deste módulo reside na capacidade de segmentar o conteúdo por política comercial, permitindo que a mesma página apresente URLs, descrições e banners diferentes dependendo do canal de venda (B2B, B2C, etc).
Além disso, o módulo integra-se nativamente com o sistema de templates da plataforma, permitindo vincular grupos de banners e outros componentes visuais de forma dinâmica, otimizando tanto a performance quanto as estratégias de SEO.
Entidades Envolvidas
* Página (Page): A entidade central que armazena o código de identificação e as regras gerais de exibição.
* URL: Registros de rotas amigáveis vinculados à página, podendo haver uma URL principal e múltiplas URLs secundárias (redirecionamentos) por política comercial.
* Descrição: O conteúdo textual e metadados (SEO) associados à página, também passíveis de personalização por contexto comercial.
* Grupo de Banners (Banner Group): Identificadores de componentes visuais que devem ser renderizados na página.
Notas e Considerações
Para gerenciar este módulo, são necessários os escopos de permissão PAGE_READ para visualização e PAGE_WRITE para operações de criação, edição e exclusão.
É importante garantir que o code da página seja único no sistema, pois ele serve como o identificador estável para integrações e chamadas de API que não dependem diretamente da URL, que pode sofrer alterações ao longo do tempo para otimização de busca.
Listagem de páginas institucionais
/products/pages
Retorna uma lista paginada das páginas institucionais cadastradas na loja.
Descrição
O endpoint de listagem de páginas institucionais permite recuperar de forma organizada todos os conteúdos informativos e estáticos do e-commerce, como "Quem Somos", "Políticas de Troca", "Termos de Uso" e páginas de contato.
Atua em contexto administrativo, com escopo de leitura de páginas (PAGE_READ), permitindo que o lojista visualize e navegue pelo conjunto de páginas do site.
Possibilita o lojista a manter o conteúdo institucional organizado e auditável, sendo essencial para que o painel administrativo ou integrações externas possam navegar pelo inventário de páginas, permitindo a gestão eficiente do conteúdo que não faz parte do catálogo direto de produtos. ⚙️
⚠️ Atenção: Apesar do caminho estar em products/pages, trata-se de conteúdo institucional, e não de produtos do catálogo.
Parâmetros
Headers Obrigatórios
| Header | Valor | Descrição |
|---|---|---|
Content-Type | application/json | Tipo de conteúdo |
Authorization | Bearer {userToken} | Token de autenticação |
Campos Disponíveis (fields)
| Campo | Descrição |
|---|---|
| url | URL principal de acesso à página no site |
| urls | Lista de URLs mapeadas por política comercial e canal de venda |
| description | Objeto contendo o conteúdo HTML da página e metadados de SEO |
| bannerGroups | Lista de códigos dos grupos de banners associados à página |
| linkedTradePolicies | Lista de IDs das políticas comerciais vinculadas à página |
Campos de Condição Disponíveis
| Campo | Tipo | Descrição |
|---|---|---|
| id | integer | Identificador único da página |
| code | string | Código interno de referência da página |
| name | string | Nome ou título da página institucional |
| active | boolean | Status de ativação da página (true para ativa, false para inativa) |
Campos de Ordenação Disponíveis
| Campo | Descrição |
|---|---|
| id | Identificador único da página |
| name | Nome da página institucional |
| code | Código de referência da página |
| updatedAt | Data da última atualização dos dados |
Exemplo de Requisição
1curl --request GET \2 --url {{MAIN_URL}}/products/pages \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \4 --data '{5 "fields": [6 "url",7 "urls",8 "description"9 ]10 }'✅ Resposta de Sucesso
1{2 "status": true,3 "data": {4 "registers": [5 {6 "id": 1,7 "code": "como-comprar",8 "name": "Como Comprar",9 "active": true,10 "bannerGroups": [],11 "createdAt": "2025-08-06 16:33:03",12 "updatedAt": "2025-08-06 16:33:03",13 "url": "",14 "urls": [],15 "linkedTradePolicies": null,16 "description": null17 },18 {19 "id": 2,20 "code": "compra-segura",21 "name": "Compra Segura",22 "active": true,23 "bannerGroups": [],24 "createdAt": "2025-08-06 16:33:03",25 "updatedAt": "2025-08-06 16:33:03",26 "url": "",27 "urls": [],28 "linkedTradePolicies": null,29 "description": null30 },31 ],32 "pagination": {33 "limit": 10,34 "offset": 0,35 "pages": 1,36 "registers": 137 }38 }39}Listagem de páginas por política comercial
/products/pages/trade-policy/{tradePolicyId}
Retorna uma lista paginada das páginas institucionais vinculadas a uma política comercial específica.
Descrição
O endpoint de listagem de páginas institucionais por política comercial, permite recuperar de forma organizada todos os conteúdos informativos e estáticos do e-commerce, como "Quem Somos", "Políticas de Troca", "Termos de Uso" e páginas de contato.
O segmento {tradePolicyId} é o identificador da política comercial — ou seja, do grupo/contexto de política, não o ID de uma página individual.
Cada item em registers é uma página (id, code, name etc.); onde o identificador na url só indica de qual política essa listagem (e dados expandidos como URLs e descrição) deve partir.
Atua em contexto administrativo, com escopo de leitura de páginas (PAGE_READ), para lojas com várias políticas e conteúdo por canal.
Possibilita o lojista a manter o conteúdo institucional organizado e auditável, sendo essencial para que o painel administrativo ou integrações externas possam navegar pelo inventário de páginas, permitindo a gestão eficiente do conteúdo que não faz parte do catálogo direto de produtos. ⚙️
⚠️ Atenção: Apesar do caminho estar em products/pages, trata-se de conteúdo institucional, e não de produtos do catálogo.
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 |
|---|---|---|---|
| tradePolicyId | integer | Sim | Identificador único da política comercial (grupo de venda) |
Campos Disponíveis (fields)
| Campo | Descrição |
|---|---|
| url | URL principal da página no contexto da política comercial informada |
| urls | URLs secundárias e redirecionamentos da página para a política informada |
| description | Conteúdo e metadados de SEO específicos da política comercial |
| bannerGroups | Grupos de banners associados à página |
| linkedTradePolicies | Lista de todas as políticas comerciais vinculadas à página |
Campos de Condição Disponíveis
| Campo | Tipo | Descrição |
|---|---|---|
| id | integer | Identificador único da página |
| code | string | Código interno de referência da página |
| name | string | Título da página institucional |
| active | boolean | Status de ativação da página |
Campos de Ordenação Disponíveis
| Campo | Descrição |
|---|---|
| id | Identificador único da página |
| name | Título da página institucional |
| code | Código de referência da página |
| updatedAt | Data da última atualização |
Exemplo de Requisição
1curl --request GET \2 --url {{MAIN_URL}}/products/pages/trade-policy/{tradePolicyId} \3 --header "Content-Type: application/json" \4 --header "Authorization: Bearer SEU_TOKEN_AQUI" \5 --data '{6 "fields": [7 "url",8 "description"9 ]10 }'✅ Resposta de Sucesso
1{2 "status": true,3 "data": {4 "registers": [5 {6 "id": 1,7 "code": "122",8 "name": "Compra Segura",9 "active": true,10 "bannerGroups": [],11 "createdAt": "2026-01-28 12:09:56",12 "updatedAt": "2026-01-28 12:09:56",13 "url": "",14 "urls": [],15 "linkedTradePolicies": null,16 "description": null17 },18 {19 "id": 2,20 "code": "como-comprar",21 "name": "Como Comprar",22 "active": true,23 "bannerGroups": [],24 "createdAt": "2025-08-06 16:33:03",25 "updatedAt": "2026-01-13 13:23:55",26 "url": "",27 "urls": [],28 "linkedTradePolicies": null,29 "description": null30 }31 ],32 "pagination": {33 "limit": 5,34 "offset": 0,35 "pages": 1,36 "registers": 137 }38 }39}Detalhe de página
/products/pages/{pageId}
Retorna os dados detalhados de uma página institucional específica através de seu identificador.
Descrição
Endpoint responsável por retornar os detalhes completos de uma página institucional cadastrada na loja 📄.
Ele é utilizado principalmente quando há necessidade de editar o conteúdo, revisar configurações de SEO ou verificar os vínculos com políticas comerciais de uma página já existente.
Atua em contexto administrativo, permitindo que o lojista visualize e mantenha conteúdos como “quem somos”, políticas de privacidade, trocas e devoluções, contato e demais páginas customizadas do site.
Apesar do caminho estar em products/pages, trata-se de conteúdo institucional da loja, e não do cadastro de um produto para venda.
Por meio desse endpoint, é possível acessar dados da página, incluindo:
- Identificação (código, nome e status)
- URLs da página e por canal de venda
- Descrição e SEO (conteúdo em HTML e metadados)
- Grupos de banner associados, quando configurados
Essas informações permitem que o lojista analise, revise e publique o conteúdo institucional com segurança, mantendo o site alinhado às informações corretas da loja ⚙️.
Esta funcionalidade exige a permissão de escopo PAGE_READ.
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 |
|---|---|---|---|
| pageId | integer | Sim | Identificador único da página institucional |
Campos Disponíveis (fields)
| Campo | Descrição |
|---|---|
| url | URL principal de acesso direto à página no site |
| urls | Coleção de URLs mapeadas por canal e política comercial |
| description | Objeto detalhado com conteúdo HTML, títulos e metadados de SEO |
| bannerGroups | Lista de códigos dos grupos de banners vinculados à página |
| linkedTradePolicies | Lista de IDs das políticas comerciais que possuem vínculo com a página |
Exemplo de Requisição
1curl --request GET \2 --url {{MAIN_URL}}/products/pages/{pageId} \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \4 --data '{5 "fields": [6 "url",7 "urls",8 "description",9 "bannerGroups",10 "linkedTradePolicies"11 ]12 }'✅ Resposta de Sucesso
1{2 "status": true,3 "data": {4 "id": 1,5 "code": "quem-somos",6 "name": "Quem Somos",7 "active": true,8 "createdAt": "2024-01-01 10:00:00",9 "updatedAt": "2024-01-10 15:30:00",10 "url": "/pagina/quem-somos",11 "bannerGroups": [12 "INSTITUCIONAL"13 ],14 "linkedTradePolicies": [15 1,16 217 ],18 "urls": [19 {20 "tradePolicyId": 1,21 "url": "/pagina/quem-somos"22 }23 ],24 "description": {25 "id": 10,26 "tradePolicyId": 1,27 "priceRuleCode": null,28 "name": "Quem Somos | Minha Loja",29 "shortDescription": "Saiba mais sobre nós",30 "videoUrl": "",31 "searchDescription": "",32 "description": "<p>Conteúdo completo em HTML...</p>",33 "customDescription1": null,34 "customDescription2": null,35 "customDescription3": null,36 "measureTable": null,37 "seoTitle": "Quem Somos - Nossa História",38 "seoDescription": "Conheça a história da nossa empresa.",39 "seoKeywords": "história, sobre, empresa",40 "seoCanonical": null,41 "seoSocialTitle": "",42 "seoSocialDescription": null,43 "seoTwitterImageUrl": "",44 "seoGraphImageUrl": "",45 "seoGoogleCategoryId": 0,46 "seoIndexOnGoogle": true,47 "seoGoogleCondition": "",48 "seoGoogleAgeGroup": "",49 "seoGoogleGender": "",50 "productId": null,51 "productCategoryId": null,52 "productBrandId": null,53 "productPageId": 454 }55 }56}⚠️ 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_PAGE_NOT_FOUND | 404 | A página solicitada não foi encontrada. |
Detalhe da página por política comercial
/products/pages/{pageId}/trade-policy/{tradePolicyId}
Retorna os dados detalhados de uma página institucional no contexto de uma política comercial específica.
Descrição
Endpoint responsável por retornar os detalhes de uma página institucional considerando uma política comercial (tradePolicyId) 📄.
Atua em contexto administrativo, permitindo que o lojista visualize a mesma página cadastral com URLs, descrição e demais dados alinhados à política comercial informada na URL — útil quando a loja possui mais de uma política e o conteúdo ou endereços variam por canal.
Apesar do caminho estar em products/pages, trata-se de conteúdo institucional da loja, e não do cadastro de um produto para venda.
Por meio desse endpoint, é possível acessar dados da página no escopo da política, incluindo:
- Identificação (código, nome e status)
- URLs da página e por canal de venda, conforme a política
- Descrição e SEO (conteúdo em HTML e metadados)
- Grupos de banner associados, quando configurados
Essas informações permitem que o lojista revise e publique conteúdo institucional com o recorte correto por política comercial ⚙️.
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 |
|---|---|---|---|
| pageId | integer | Sim | Identificador único da página institucional |
| tradePolicyId | integer | Sim | Identificador único da política comercial |
Campos Disponíveis (fields)
| Campo | Descrição |
|---|---|
| url | URL de acesso à página no contexto da política comercial informada |
| urls | Coleção de URLs da página vinculadas à política informada |
| description | Conteúdo HTML e metadados de SEO específicos para a política comercial |
| bannerGroups | Códigos dos grupos de banners associados à página |
| linkedTradePolicies | Lista de IDs de todas as políticas comerciais vinculadas à página |
Exemplo de Requisição
1curl --request GET \2 --url {{MAIN_URL}}/products/pages/{pageId}/trade-policy/{tradePolicyId} \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \4 --data '{5 "fields": [6 "url",7 "urls",8 "description",9 "bannerGroups"10 ]11 }'✅ Resposta de Sucesso
1{2 "status": true,3 "data": {4 "id": 1,5 "code": "quem-somos",6 "name": "Quem Somos",7 "active": true,8 "createdAt": "2024-01-01 10:00:00",9 "updatedAt": "2024-01-10 15:30:00",10 "url": "/pagina/quem-somos",11 "bannerGroups": [12 "INSTITUCIONAL"13 ],14 "linkedTradePolicies": [15 1,16 217 ],18 "urls": [19 {20 "tradePolicyId": 1,21 "url": "/pagina/quem-somos"22 }23 ],24 "description": {25 "id": 10,26 "tradePolicyId": 1,27 "priceRuleCode": null,28 "name": "Quem Somos | Minha Loja",29 "shortDescription": "Saiba mais sobre nós",30 "videoUrl": "",31 "searchDescription": "",32 "description": "<p>Conteúdo completo em HTML...</p>",33 "customDescription1": null,34 "customDescription2": null,35 "customDescription3": null,36 "measureTable": null,37 "seoTitle": "Quem Somos - Nossa História",38 "seoDescription": "Conheça a história da nossa empresa.",39 "seoKeywords": "história, sobre, empresa",40 "seoCanonical": null,41 "seoSocialTitle": "",42 "seoSocialDescription": null,43 "seoTwitterImageUrl": "",44 "seoGraphImageUrl": "",45 "seoGoogleCategoryId": 0,46 "seoIndexOnGoogle": true,47 "seoGoogleCondition": "",48 "seoGoogleAgeGroup": "",49 "seoGoogleGender": "",50 "productId": null,51 "productCategoryId": null,52 "productBrandId": null,53 "productPageId": 454 }55 }56}⚠️ 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_PAGE_NOT_FOUND | 404 | A página solicitada não foi encontrada. |
Cadastro de página
/products/pages
Realiza o cadastro de uma nova página institucional no sistema.
Descrição
Endpoint responsável por cadastrar uma nova página institucional na plataforma 📄.
A operação ocorre em contexto administrativo e exige a permissão PAGE_WRITE, permitindo ao lojista criar conteúdos como páginas de “quem somos”, políticas, contato e demais páginas customizadas.
No cadastro inicial, são informados dados básicos de identificação, como código, nome e status. O sistema também valida a unicidade do código interno para evitar conflitos de identificação e rotas.
Além disso, é possível definir já na criação quais políticas comerciais ou canais de venda estarão vinculados à página ⚙️.
⚠️ Atenção: Apesar do caminho estar em products/pages, trata-se de conteúdo institucional, e não de produtos do catálogo.
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 do Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| code | string | Sim | Código interno único da página (máximo 50 caracteres) |
| name | string | Sim | Nome ou título de identificação da página (máximo 100 caracteres) |
| active | boolean | Sim | Define se a página será criada com status ativo ou inativo |
| tradePolicies | object | Não | Mapa de políticas comerciais: a chave deve ser o ID da política (inteiro) e o valor um booleano (true/false) |
Exemplo de Requisição
1curl --request POST \2 --url {{MAIN_URL}}/products/pages \3 --header "Content-Type: application/json" \4 --header "Authorization: Bearer SEU_TOKEN_AQUI" \5 --data '{6 "code": "sobre-nos",7 "name": "Sobre Nós",8 "active": true,9 "tradePolicies": {10 "1": true,11 "2": false12 }13 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": {4 "id": 1,5 "code": "revendedor",6 "name": "Seja nosso revendedor",7 "active": true,8 "bannerGroups": [],9 "createdAt": "2026-05-15 13:16:15",10 "updatedAt": "2026-05-15 13:16:15",11 "url": "",12 "urls": [],13 "linkedTradePolicies": [],14 "description": null15 }16}⚠️ 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_DUPLICATED_PAGE_CODE | 400 | O código da página solicitada já está em uso. |
| UAPPI_CORE_INVALID_TRADE_POLICY_ID | 400 | Os ids de políticas comerciais solicitados não são permitidos. |
| UAPPI_STORE_DUPLICATED_URL | 400 | A url requisitada já está em uso. |
| UAPPI_STORE_ENTITY_MAIN_URL_ALREADY_EXISTS | 409 | A url principal requisitada para a entidade já está em uso. |
Atualização de página
/products/pages/{pageId}
Atualiza os dados de identificação e vínculos de uma página institucional existente.
Descrição
Endpoint responsável por atualizar uma página institucional já cadastrada na plataforma 📄.
A operação ocorre em contexto administrativo e exige a permissão PAGE_WRITE, permitindo alterar informações como código, nome, status e vínculos com políticas comerciais da página identificada pelo pageId.
O sistema valida a unicidade do código informado para evitar duplicidades e conflitos de identificação. Além disso, através do objeto tradePolicies, é possível definir de forma granular em quais canais de venda a página estará disponível ⚙️.
⚠️ Atenção: Apesar do caminho estar em products/pages, trata-se de conteúdo institucional, e não de produtos do catálogo.
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 |
|---|---|---|---|
| pageId | integer | Sim | Identificador único da página a ser atualizada |
Parâmetros do Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| code | string | Sim | Código interno único da página (máximo 50 caracteres) |
| name | string | Sim | Nome ou título de identificação da página (máximo 100 caracteres) |
| active | boolean | Sim | Define se a página está ativa ou inativa |
| tradePolicies | object | Não | Mapa de políticas comerciais: chave (ID da política) e valor (booleano true/false) |
Exemplo de Requisição
1curl --request PUT \2 --url {{MAIN_URL}}/products/pages/1 \3 --header "Authorization: Bearer SEU_TOKEN_AQUI" \4 --data '{5 "code": "quem-somos-v2",6 "name": "Quem Somos - Nova Versão",7 "active": true,8 "tradePolicies": {9 "1": true,10 "2": true11 }12 }'✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": {4 "id": 1,5 "code": "revendedor2",6 "name": "Seja nosso revendedor",7 "active": false,8 "bannerGroups": [],9 "createdAt": "2026-05-15 13:20:46",10 "updatedAt": "2026-05-15 13:24:13",11 "url": "",12 "urls": [],13 "linkedTradePolicies": [],14 "description": null15 }16}⚠️ 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_DUPLICATED_PAGE_CODE | 400 | O código da página solicitada já está em uso. |
| UAPPI_STORE_PAGE_NOT_FOUND | 404 | A página solicitada não foi encontrada. |
| UAPPI_CORE_INVALID_TRADE_POLICY_ID | 400 | Os ids de políticas comerciais solicitados não são permitidos. |
| UAPPI_STORE_DUPLICATED_URL | 400 | A url requisitada já está em uso. |
| UAPPI_STORE_ENTITY_MAIN_URL_ALREADY_EXISTS | 409 | A url principal requisitada para a entidade já está em uso. |
Exclusão de página
/products/pages/{pageId}
Remove permanentemente uma página institucional do catálogo da loja.
Descrição
Endpoint responsável por excluir uma página institucional já cadastrada na loja 📄.
Apesar do caminho estar em products/pages, trata-se de conteúdo institucional, e não de produto do catálogo.
A operação é definitiva: após a exclusão, a página deixa de estar disponível para consulta e edição pelas demais rotas do módulo ⚙️.
O acesso a este recurso é restrito ao ambiente administrativo e exige obrigatoriamente que o usuário possua o escopo de permissão PAGE_WRITE.
Recomenda-se cautela ao utilizar esta rota, pois a exclusão remove também todos os vínculos com políticas comerciais e metadados de SEO associados.
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 |
|---|---|---|---|
| pageId | integer | Sim | Identificador único da página institucional a ser removida. |
Exemplo de Requisição
1curl --request DELETE \2 --url {{MAIN_URL}}/products/pages/{pageId} \3 --header "Authorization: Bearer SEU_TOKEN_AQUI"✅ Resposta de Sucesso
HTTP Status: 200 OK
1{2 "status": true,3 "data": true4}