Синхронизация данных Apple Health с REST API

Отправка данных о здоровье на конечную точку REST API.

Last updated: April 5, 2026

На этой странице

Автоматизации REST API позволяют автоматически экспортировать данные о здоровье в любой веб-сервис, принимающий HTTP POST. Это удобно для интеграции с собственными бэкендами, сторонними API и вебхуками.

Обзор

Автоматизации REST API отправляют данные о здоровье на указанный URL методом HTTP POST. Автоматизация может отправлять данные в формате JSON или CSV; можно задать заголовки для аутентификации и пользовательских метаданных.

Сценарии использования:

  • интеграция с собственными бэкенд-сервисами;
  • отправка данных на вебхуки;
  • синхронизация со сторонними API;
  • собственные дашборды и платформы аналитики.

Основные возможности:

  • поддержка форматов JSON и CSV;
  • пользовательские HTTP-заголовки для аутентификации;
  • настраиваемый тайм-аут запроса;
  • ручной экспорт исторических данных.

Ограничения

  • Доступ к данным о здоровье: пока iPhone заблокирован, приложениям нельзя получать данные о здоровье. Автоматизации выполняются только в периоды, когда устройство разблокировано. Это может влиять на актуальность данных. См. инструкции по ручной синхронизации, чтобы данные оставались актуальными.

  • Обработка в фоне: iOS ограничивает фоновую обработку ради экономии батареи. Автоматизации опираются на фоновое обновление контента и могут выполняться не сразу, если:

    • для приложения отключено фоновое обновление контента;
    • включён режим энергосбережения;
    • устройство долго не использовалось;
    • ограничены системные ресурсы;
    • несколько приложений конкурируют за время фонового выполнения.

Требования

  • действующий URL, принимающий HTTP POST;
  • учётные данные для аутентификации (если это требуется на вашей стороне);
  • сетевое подключение до вашей конечной точки.

Настройка

Откройте экран Автоматические экспорты в основной навигации, нажмите Новая автоматизация и выберите тип автоматизации REST API.

Имя автоматизации

Введите понятное имя (например, «Мой бэкенд API», «Интеграция с вебхуком»).

Уведомления

Настройте, когда вы хотите получать уведомления:

  • Уведомление при обновлении кэша — уведомление, когда кэшированные данные обновлены
  • Уведомление при каждом запуске — уведомление при каждом выполнении автоматизации

Настройка URL

Укажите полный URL, на который нужно отправлять данные о здоровье: полный адрес с протоколом (http:// или https://).

Примеры URL:

  • https://api.example.com/health-data
  • https://webhook.site/your-unique-id
  • http://localhost:3000/api/health

Примечание: URL должен быть действительным и доступным с устройства. Неверный адрес не даст автоматизации запуститься.

Тайм-аут запроса

Выберите интервал тайм-аута для HTTP-запросов. От этого зависит, как долго приложение будет ждать ответ, прежде чем сочтёт запрос неудачным.

HTTP-заголовки

Добавьте пользовательские HTTP-заголовки для аутентификации или метаданных. Типичные случаи:

  • ключи API: X-API-Key: your-api-key
  • токены авторизации: Authorization: Bearer your-token
  • переопределение типа содержимого: Content-Type: application/json

Чтобы добавить заголовки:

  1. Нажмите Добавить заголовки
  2. Введите ключ заголовка в левом поле
  3. Введите значение заголовка в правом поле
  4. Повторите для дополнительных заголовков

Важно: у каждого ключа заголовка должно быть значение. Пустые заголовки игнорируются.

Настройки типа данных

Тип данных

Выберите, какой тип данных о здоровье экспортировать:

  • Показатели здоровья — шаги, пульс, сон и другие измерения
  • Тренировки — упражнения и фитнес-активности
  • Симптомы — симптомы и состояния здоровья
  • ЭКГ — записи электрокардиограммы
  • Уведомления о пульсе — события высокого/низкого пульса
  • Состояние — настроение и психическое состояние (iOS 18.0+)
  • Цикл — менструальный цикл и репродуктивное здоровье
  • Лекарства — приём лекарств и соблюдение режима (iOS 26.0+)

Настройка показателей здоровья

Если выбраны Показатели здоровья:

Выбор показателей здоровья — укажите, какие метрики включать: все доступные или только выбранные.

Совет: если включать только нужные метрики, обработка быстрее, а объём данных меньше.

Предпочитаемые источники — задайте приоритет источников, когда одну и ту же метрику дают несколько приложений.

Настройка тренировок

Если выбраны Тренировки:

Включать данные маршрута — включите, чтобы добавлять маршруты для тренировок с данными о местоположении.

Включать метрики тренировки — включите, чтобы добавлять метрики, собранные во время тренировки (пульс, калории и т. д.).

Группировка по времени (метрики тренировки) — при использовании версии экспорта 2 и включённых метриках тренировки:

  • Минуты — группировка метрик тренировки по минутам
  • Секунды — группировка метрик тренировки по секундам

Настройки экспорта

Формат экспорта

Выберите формат экспортируемых данных:

  • JSON — подробные структуры с вложенными объектами. Удобно для API, баз данных и приложений, которым нужны структурированные данные. В JSON больше деталей для сложных типов данных, например фазы сна и показатели при фибрилляции предсердий.

  • CSV — табличные данные, которые легко импортировать в таблицы. Удобно для простого анализа или если конечная точка ожидает CSV.

Примечание: заголовок Content-Type выставляется автоматически: application/json для JSON и multipart/form-data для CSV.

Версия экспорта

Выберите версию экспорта. Версионирование позволяет перейти на обновлённый формат в удобном темпе и снижает риск поломок сценариев.

  • Версия 1 — прежний формат; используйте, если существующие сценарии зависят от него
  • Версия 2 — текущий формат с расширенными данными тренировок и более подробными параметрами метаданных

Диапазон дат

Выберите, за какой период экспортировать данные:

  • По умолчанию — синхронизирует данные за полный предыдущий день плюс данные до текущей даты и времени
  • С последней синхронизации — при каждой синхронизации экспортирует все данные с момента последнего запуска экспорта до текущей даты и времени
  • Сегодня — синхронизирует все данные за текущие сутки до текущего момента
  • Вчера — синхронизирует все данные за полные предыдущие сутки
  • Предыдущие 7 дней — синхронизирует данные за полные семь предыдущих дней

Сводка данных

При формате JSON и типе данных «Показатели здоровья» можно включить или выключить сводку.

  • Вкл. — агрегированные сводки
  • Выкл. — по возможности разобранные данные с отдельными точками

Примечание: эта настройка действует только для JSON и показателей здоровья. При CSV или при выборе нескольких метрик данные всегда агрегируются.

Группировка по времени

При формате JSON и включённой сводке данных выберите способ агрегации.

Примечание: CSV всегда агрегирует данные. Агрегация по минутам и секундам сильно увеличивает время обработки и размер данных.

Пакетные запросы

В JSON можно включить пакетные запросы, чтобы отправлять данные несколькими запросами вместо одного тела.

  • Вкл. — распределяет данные по нескольким запросам, чтобы избежать слишком больших полезных нагрузок
  • Выкл. — отправляет все данные одним запросом

Периодичность синхронизации

Настройте, как часто автоматизация должна выгружать данные:

Выберите число и интервал.

Тестирование и проверка

Ручное тестирование

  1. На экране настройки автоматизации нажмите Ручной экспорт
  2. Выберите диапазон дат
  3. Нажмите Экспорт, чтобы отправить пробный запрос
  4. Проверьте на конечной точке, что данные получены

Просмотр журнала активности

  1. На экране настройки автоматизации нажмите Просмотр журнала активности
  2. Просмотрите последние запуски автоматизации
  3. Проверьте наличие ошибок или предупреждений
  4. Сверьте метки времени запросов и статус ответа

Проверка формата данных

Приложение автоматически добавляет в каждый запрос такие заголовки:

  • Content-Type — в зависимости от формата экспорта
  • automation-name — имя автоматизации
  • automation-id — уникальный идентификатор автоматизации
  • automation-aggregation — выбранная группировка по времени
  • automation-period — выбранный диапазон дат
  • session-id — уникальный идентификатор каждого запроса

Устранение неполадок

Частые проблемы

Данные не поступают на конечную точку

  • проверьте, что URL конечной точки верный;
  • убедитесь, что конечная точка принимает POST-запросы;
  • проверьте заголовки аутентификации;
  • смотрите логи конечной точки на входящие запросы;
  • проверьте сетевое подключение

Советы и рекомендации

  1. Автоматическая синхронизация:

    • заряжайте устройство и используйте Трансляцию iPhone на Mac (iPhone Mirroring)
      • при зарядке iOS меньше ограничивает производительность устройства, поэтому данные могут синхронизироваться чаще
      • при трансляции iPhone на Mac устройство ведёт себя как при разблокированном экране: данные о здоровье доступны Health Auto Export для автоматических действий
  2. Производительность:

    • подберите подходящую группировку по времени, чтобы сбалансировать детализацию и размер данных;
    • выбирайте только нужные метрики
  3. Надёжность:

    • задавайте адекватные значения тайм-аута с учётом времени ответа конечной точки;
    • регулярно просматривайте журнал активности
  4. Формат данных:

    • используйте JSON для структурированных данных и API;
    • используйте CSV для простого анализа или работы с таблицами;
    • при больших наборах данных или раздельной обработке рассмотрите пакетные запросы