This commit is contained in:
102
docs/MOBILE_CALENDAR_API.md
Normal file
102
docs/MOBILE_CALENDAR_API.md
Normal file
@@ -0,0 +1,102 @@
|
||||
# Документация мобильного API календарного сервиса
|
||||
|
||||
## Эндпоинт `/api/v1/calendar/entries/mobile`
|
||||
|
||||
### POST
|
||||
|
||||
Создает или обновляет запись в календаре из мобильного приложения.
|
||||
|
||||
**URL**: `/api/v1/calendar/entries/mobile`
|
||||
|
||||
**Метод**: `POST`
|
||||
|
||||
**Аутентификация**: Обязательна
|
||||
|
||||
**Тело запроса**:
|
||||
```json
|
||||
{
|
||||
"date": "2025-09-28",
|
||||
"type": "MENSTRUATION",
|
||||
"flow_intensity": 5,
|
||||
"symptoms": ["FATIGUE", "HEADACHE"],
|
||||
"mood": "NORMAL",
|
||||
"notes": "Запись из мобильного приложения"
|
||||
}
|
||||
```
|
||||
|
||||
**Параметры**:
|
||||
|
||||
| Параметр | Тип | Обязательный | Описание |
|
||||
|----------|-----|--------------|----------|
|
||||
| date | строка (YYYY-MM-DD) | Да | Дата записи |
|
||||
| type | строка | Да | Тип записи. Возможные значения: `MENSTRUATION`, `OVULATION`, `SPOTTING`, `DISCHARGE`, `PAIN`, `MOOD` |
|
||||
| flow_intensity | число | Нет | Интенсивность (1-5). Только для типа `MENSTRUATION` |
|
||||
| symptoms | массив строк | Нет | Массив симптомов. Возможные значения: `FATIGUE`, `HEADACHE`, `CRAMPS`, и др. |
|
||||
| mood | строка | Нет | Настроение. Возможные значения: `NORMAL`, `HAPPY`, `SAD`, `ANXIOUS`, `IRRITATED`, `ENERGETIC`, `TIRED` |
|
||||
| notes | строка | Нет | Заметки пользователя |
|
||||
|
||||
**Успешный ответ**:
|
||||
|
||||
- **Код**: `201 Created`
|
||||
- **Содержимое**:
|
||||
```json
|
||||
{
|
||||
"id": 1,
|
||||
"uuid": "123e4567-e89b-12d3-a456-426614174000",
|
||||
"user_id": 25,
|
||||
"entry_date": "2025-09-28",
|
||||
"entry_type": "period",
|
||||
"flow_intensity": "heavy",
|
||||
"period_symptoms": "",
|
||||
"mood": "neutral",
|
||||
"energy_level": 1,
|
||||
"sleep_hours": 0,
|
||||
"symptoms": "FATIGUE, HEADACHE",
|
||||
"medications": "",
|
||||
"notes": "Запись из мобильного приложения",
|
||||
"is_predicted": false,
|
||||
"confidence_score": null,
|
||||
"created_at": "2025-09-28T16:21:30.123456",
|
||||
"updated_at": "2025-09-28T16:21:30.123456",
|
||||
"is_active": true
|
||||
}
|
||||
```
|
||||
|
||||
**Ошибки**:
|
||||
|
||||
- **Код**: `401 Unauthorized`
|
||||
- **Содержимое**: `{"detail": "Не предоставлены учетные данные аутентификации"}`
|
||||
|
||||
- **Код**: `500 Internal Server Error`
|
||||
- **Содержимое**: `{"detail": "Ошибка сервера: [описание ошибки]"}`
|
||||
|
||||
## Конвертация между мобильными и серверными типами
|
||||
|
||||
### Типы записей
|
||||
| Мобильное приложение | Сервер |
|
||||
|----------------------|--------|
|
||||
| MENSTRUATION | period |
|
||||
| OVULATION | ovulation |
|
||||
| SPOTTING | symptoms |
|
||||
| DISCHARGE | symptoms |
|
||||
| PAIN | symptoms |
|
||||
| MOOD | mood |
|
||||
|
||||
### Интенсивность кровотечения
|
||||
| Мобильное приложение (1-5) | Сервер |
|
||||
|----------------------------|--------|
|
||||
| 1 | spotting |
|
||||
| 2 | light |
|
||||
| 3 | medium |
|
||||
| 4-5 | heavy |
|
||||
|
||||
### Настроение
|
||||
| Мобильное приложение | Сервер |
|
||||
|----------------------|--------|
|
||||
| HAPPY | happy |
|
||||
| SAD | sad |
|
||||
| NORMAL | happy |
|
||||
| ANXIOUS | anxious |
|
||||
| IRRITATED | irritated |
|
||||
| ENERGETIC | energetic |
|
||||
| TIRED | tired |
|
||||
Reference in New Issue
Block a user