# Документация мобильного 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 |