Frontend — Diferenças de Contrato
POST /api/show-case-new/
O que mudou no request: campo showCaseType adicionado.
{
"schema": "arezzo",
"storeId": 123,
"storeName": "Loja Centro",
"maxInstallments": 10,
"userId": 456,
"userName": "João Silva",
"userPhone": "11999999999",
"name": "Vitrine de Verão",
"codeBrand": 1,
"dateExpiration": "2026-07-25T00:00:00",
"showCaseItems": [],
+ "showCaseType": 4
}
Response: sem alteração.
Valores de showCaseType:
| Valor | Tipo |
|---|---|
1 | Store (vitrine normal) |
4 | SellerStock (estoque do vendedor) |
Regras:
showCaseType = 4 (SellerStock)→showCaseItemsignoradoshowCaseType = 4 (SellerStock)→ só pode existir uma por(userId, storeId)— API retorna erro se já existir
PUT /api/show-case-new/
O que mudou no request: campo showCaseType adicionado.
{
"id": "ce30e80b-88c8-4e6c-806f-abbca51940cc",
"dateCreated": "2026-06-01T10:00:00",
"schema": "arezzo",
"storeId": 123,
"storeName": "Loja Centro",
"maxInstallments": 10,
"userId": 456,
"userName": "João Silva",
"userPhone": "11999999999",
"name": "Vitrine de Verão",
"codeBrand": 1,
"dateExpiration": "2026-07-25T00:00:00",
"showCaseItems": [101, 102, 103],
+ "showCaseType": 4
}
Response: sem alteração.
Regras:
showCaseType = 4 (SellerStock)→ API ignora todos os campos excetodateExpiration
GET /api/show-case-new/v2/store/{storeId} ← NOVO ENDPOINT
Versão evoluída do GET /api/show-case-new/store/{storeId}. Usar este no lugar do v1 para a tela de listagem de vitrines.
Request: igual ao v1.
GET /api/show-case-new/v2/store/123?pageNumber=1&pageSize=10&termSearch=vitrine&orderBy=1
Authorization: Bearer {token}
O que mudou no response: estrutura de paginação alterada + campo hasSellerStock adicionado.
- {
- "items": [...],
- "total": 1,
- "pageNumber": 1,
- "pageSize": 10
- }
+ {
+ "data": [...],
+ "total": 1,
+ "pageNumber": 1,
+ "pageSize": 10,
+ "hasSellerStock": true
+ }
Uso do hasSellerStock:
true→ vendedor já tem vitrine SellerStock ativa → desabilitar botão de criaçãofalse→ vendedor não tem → habilitar botão de criação
GET /api/show-case-new/products?id={showCaseId}
Sem alteração de contrato. Request e response idênticos. A mudança é apenas interna na API.
GET /api/show-case-new/app/{showCaseId}
O que mudou no response: campos showCaseType e totalItems adicionados.
{
"id": "ce30e80b-88c8-4e6c-806f-abbca51940cc",
"dateCreated": "2026-06-01T10:00:00",
"dateExpiration": "2026-07-25T00:00:00",
"schema": "arezzo",
"storeid": 123,
"storename": "Loja Centro",
"codeBrand": 1,
"url": "https://...",
"maxinstallments": 10,
"userid": 456,
"username": "João Silva",
"userphone": "11999999999",
"name": "Vitrine de Verão",
+ "showCaseType": 4,
+ "totalItems": 87,
"showCaseitems": [...]
}
Comportamento do showCaseitems por tipo:
showCaseType | showCaseitems | totalItems |
|---|---|---|
1 (Store) | Lista completa dos produtos curados | Quantidade da lista |
4 (SellerStock) | 4 primeiros produtos (preview) | Count total do estoque da loja no ES |