Files
chat/docs/MOBILE_CALENDAR_API.md
Andrew K. Choi 91c7e04474
All checks were successful
continuous-integration/drone/push Build is passing
API refactor
2025-10-07 16:25:52 +09:00

3.6 KiB
Raw Permalink Blame History

Документация мобильного API календарного сервиса

Эндпоинт /api/v1/calendar/entries/mobile

POST

Создает или обновляет запись в календаре из мобильного приложения.

URL: /api/v1/calendar/entries/mobile

Метод: POST

Аутентификация: Обязательна

Тело запроса:

{
  "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
  • Содержимое:
{
  "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