diff --git a/API_Mobile_App.md b/API_Mobile_App.md index 83980fc..52c7525 100644 --- a/API_Mobile_App.md +++ b/API_Mobile_App.md @@ -188,7 +188,62 @@ data:image/webp;base64, | `NO_FIELDS` | 400 | Nenhum campo reconhecido no body | | `CUSTOMER_NOT_FOUND` | 404 | — | -### 5. List Favorite Stores +### 5. Set Default Address +**PATCH** `/api/customer/addresses/:addressId/default` + +**Headers:** + +- `Authorization: Bearer ` +- `Atomenta-Token: 550e8400-e29b-41d4-a716-44665544000a` + +**Notes:** + +- Define um endereço como padrão pelo seu `id`. +- Define `isDefault: true` no endereço alvo e `isDefault: false` em todos os outros. +- O `id` de cada endereço é retornado no campo `address_book` do perfil (`GET /api/customer/profile`). +- Ao salvar um endereço via `PATCH /api/customer/profile`, o backend gera automaticamente um `id` UUID caso o endereço não possua um. +- Se nenhum endereço tiver `isDefault: true`, o primeiro do array é tratado como padrão. + +**Response 200:** + +```json +{ + "error": false, + "code": "ADDRESS_DEFAULT_SET" +} +``` + +**Erros:** + +| Código | HTTP | Descrição | +|---|---|---| +| `ADDRESS_NOT_FOUND` | 404 | Nenhum endereço com esse `id` no `address_book` | +| `CUSTOMER_NOT_FOUND` | 404 | — | + +**Exemplo de `address_book` no perfil (com `id` e `isDefault`):** + +```json +"address_book": [ + { + "id": "a1b2c3d4-...", + "label": "Casa", + "type": "residential", + "address": "Estrada Vicinal Nene Moro", + "number": "SN", + "neighborhood": "Curtume", + "city": "Aguaí", + "state": "SP", + "zipCode": "13868070", + "country": "Brasil", + "lat_long": [-22.06743, -46.98018], + "isDefault": true + } +] +``` + +--- + +### 6. List Favorite Stores **GET** `/api/customer/favorites` **Headers:**