Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • W Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Create a new issue
  • Jobs
  • Issue Boards
Collapse sidebar
  • Coopera RS
  • Wiki
  • Wiki
  • API Backend

API Backend · Changes

Page history
Update API Backend authored Jun 20, 2025 by Tomás Bringhenti Onofrio's avatar Tomás Bringhenti Onofrio
Show whitespace changes
Inline Side-by-side
API-Backend.md
View page @ 41dd8e67
...@@ -285,6 +285,192 @@ Esta seção fornece exemplos de estruturas JSON para as requisições (requests ...@@ -285,6 +285,192 @@ Esta seção fornece exemplos de estruturas JSON para as requisições (requests
] ]
``` ```
### 1. Obter Endereço do Usuário
* **Endpoint (real):** `GET /api/auth/userAddress/{id}`
* **Descrição:** Retorna os dados de endereço associados ao ID do usuário.
* **Exemplo de Resposta:**
```json
{
"cep": "90000000",
"street": "Rua das Palmeiras",
"number": 123,
"unit": "Apto 202",
"city": "Porto Alegre",
"state": "RS"
}
```
---
### 2. Gerar Link para Redefinição de Senha
* **Endpoint (real):** `POST /api/auth/linkPasswordChange`
* **Descrição:** Gera e envia um link por e-mail para redefinição de senha.
* **Request Body:**
```json
{
"email": "[email protected]"
}
```
---
### 3. Listar Lojas por Categoria
* **Endpoint (real):** `GET /api/store/by-category/{categoryId}`
* **Descrição:** Retorna lojas que pertencem à categoria informada.
* **Exemplo de Resposta:**
```json
[
{
"storeName": "Artesanato RS",
"category": "Artesanato",
"profileImgUrl": "https://exemplo.com/logo_loja.png",
"description": "Produtos feitos à mão com amor."
}
]
```
---
### 4. Retornar Galeria de Fotos da Loja
* **Endpoint (real):** `GET /api/store/store_photos/{id}`
* **Descrição:** Retorna URLs das imagens da galeria vinculadas à loja.
* **Exemplo de Resposta:**
```json
[
"https://exemplo.com/foto1.jpg",
"https://exemplo.com/foto2.jpg",
"https://exemplo.com/foto3.jpg"
]
```
---
### 5. Obter Endereço Completo de uma Loja
* **Endpoint (real):** `GET /api/store/get-address/{id}`
* **Descrição:** Retorna o endereço completo de uma loja pelo seu ID.
* **Exemplo de Resposta:**
```json
{
"cep": "90400000",
"street": "Av. Independência",
"number": 456,
"unit": "Sala 10",
"city": "Porto Alegre",
"state": "RS"
}
```
---
### 6. Buscar Produtos ou Lojas por Termo
* **Endpoint (real):** `GET /api/search/products?q=termo`
* **Endpoint (real):** `GET /api/search/stores?q=termo`
* **Descrição:** Retorna lista de produtos ou lojas que contenham o termo informado.
* **Exemplo de Resposta (produtos):**
```json
[
{
"name": "Tênis de Corrida",
"description": "Tênis leve e confortável para treino",
"price": 199.9,
"photo": "https://exemplo.com/tenis.jpg"
}
]
```
---
### 7. Criar Produto (Loja Autenticada)
* **Endpoint (real):** `POST /api/product/create`
* **Descrição:** Cria um novo produto para a loja autenticada.
* **Request Body:**
```json
{
"name": "Bolsa Artesanal",
"description": "Feita à mão com material sustentável",
"photo": "https://exemplo.com/bolsa.jpg",
"category": "Acessórios",
"characteristics": [
{ "name": "Cor", "options": ["Bege", "Marrom"] }
],
"variations": [
{ "options": { "Cor": "Bege" }, "price": 79.9, "stock": 3 }
]
}
```
* **Exemplo de Resposta (201 Created):**
```json
{
"id": 88,
"name": "Bolsa Artesanal",
"category": "Acessórios",
"photo": "https://exemplo.com/bolsa.jpg",
"views": 0,
"date": "2025-06-19"
}
```
---
## Funcionalidades Internas (Serviços não expostos diretamente via API)
Embora alguns serviços ainda não possuam endpoints públicos mapeados, eles fazem parte da lógica do backend do Coopera RS e oferecem funcionalidades internas importantes:
### 1. EmailService
* Responsável pelo envio de e-mails de confirmação de cadastro, recuperação de senha e outras comunicações.
* Integração com serviços de e-mail configurados via `.env`.
* Pode utilizar templates personalizados para mensagens automáticas.
---
### 2. AddressService
* Gerencia dados de endereço vinculados a usuários e lojas.
* Realiza buscas e formatações de endereço.
* Suporta consultas por ID e vinculação via CEP.
---
### 3. UserService
* Gerencia dados de usuários, como ativação, desativação, verificação e atualização de perfil.
* Funciona como camada intermediária entre autenticação, loja e dados pessoais.
---
### 4. CategoryService
* Prevê suporte para criação, listagem e categorização de produtos e lojas.
* Embora o `CategoryController` ainda não tenha endpoints, esta camada de serviço já está preparada.
---
### 5. SponsorService
* Prevê suporte para funcionalidades relacionadas a patrocínio ou destaque de lojas e produtos na plataforma.
* O controller correspondente está definido, porém ainda sem rotas mapeadas.
---
Esses serviços fazem parte da estrutura modular do backend e poderão ser ativados e documentados com mais profundidade à medida que as features forem implementadas.
--- ---
*Estes são apenas exemplos baseados no código frontend. É crucial validar e complementar esta informação com a documentação oficial da API (Swagger) do backend.* *Estes são apenas exemplos baseados no código frontend. É crucial validar e complementar esta informação com a documentação oficial da API (Swagger) do backend.*
Clone repository
  • API Backend
  • Escopo e Cronograma
  • Frontend
  • Processo
  • arquitetura
  • banco de dados
  • codigo
  • configuracao
  • design
    • mockups
  • Home
  • infraestrutura