iPhone · Команды iOS 27 — экспериментально

Связь → команда → уведомления

Настройте адрес на ПК, один раз создайте команду на iPhone и проверьте обычное уведомление банка. Ни UUID, ни дату вручную заполнять не нужно — их подготовит DonoX.

Экспериментальное подключение через «Команды» iOS 27. Совместимость уведомлений, доступность их текста и запуск при заблокированном экране зависят от устройства. Готовая проверенная iCloud-команда пока не опубликована; ниже — ручной путь. Проверка Safari подтверждает только связь с ПК.

01 · НА КОМПЬЮТЕРЕ

Подготовьте постоянный адрес

  1. В DonoX откройте Подключение → iPhone · Команды iOS 27 → Настроить приём с iPhone.
  2. Выберите «Постоянный адрес · без своего домена». Раскройте «Первый раз? Настроить ngrok за 3 шага»: создайте учётную запись ngrok, установите агент Windows и выполните его команду добавления authtoken только в терминале своего ПК.
  3. Скопируйте выданный ngrok dev domain из раздела Domains. Вставьте его в мастер DonoX и нажмите «Запустить постоянное подключение». Если агент не найден, укажите установленный ngrok.exe.
  4. Дождитесь проверки HTTPS, выберите банк и создайте QR. Откройте его камерой iPhone. На мобильной странице нажмите «Проверить связь».

Свой домен покупать не требуется. Адрес ngrok привязан к учётной записи; перед каждым эфиром запускайте соединение в DonoX. ПК, DonoX и туннель должны работать всё время приёма. Бесплатный план имеет лимиты, включая количество HTTP-запросов; одно уведомление использует два запроса. Условия указаны в документации ngrok.

Authtoken ngrok и ключ DonoX — разные секреты. Authtoken вводится только на ПК; ключ DonoX копируется на iPhone из QR-страницы. Не отправляйте их в чат или отчёт.

Пробный адрес и первое открытие Safari

Для быстрой проверки доступно пробное соединение Cloudflare без аккаунта. После нового запуска туннеля адрес меняется: его придётся обновить в команде.

На бесплатном ngrok при первом открытии Safari может показать страницу сервиса: нажмите Visit Site. В запросах команды добавьте ngrok-skip-browser-warning: 1. Этот заголовок не заменяет ключ DonoX.

QR действует 10 минут, используется один раз и меняет ключ. Держите страницу открытой до сохранения команды; перезагрузка потребует нового QR.

02 · НА IPHONE

Соберите 5 действий

Откройте «Команды» → «+», назовите команду DonoX — уведомления. На странице из QR раскройте «Собрать вручную». Там есть кнопки для ваших адресов, банка и значения Authorization.

  1. Получить текст из входных данных / Get Text from Input.
    Вход — переменная «Входные данные команды» / Shortcut Input. Результат — текст уведомления.
  2. Получить содержимое URL / Get Contents of URL.
    Адрес — кнопка «Копировать URL подготовки». Метод POST. В дополнительных параметрах добавьте заголовки:
    Authorization: [значение кнопки с Bearer целиком]
    Content-Type: application/json
    ngrok-skip-browser-warning: 1
    Тип тела — JSON, два поля типа Текст / Text:

    body = переменная результата действия 1, «Получить текст».
    bank_id = значение кнопки «Копировать bank_id» (для Kaspi — kaspi).

  3. Получить значение словаря / Get Dictionary Value.
    Ключ — payload_json. Словарь — ответ действия 2. Результат уже содержит готовый JSON в виде текста.
  4. Получить содержимое URL / Get Contents of URL.
    Адрес — кнопка «Копировать URL отправки». Метод POST, те же три заголовка. Тип тела — Файл / File. Нажмите поле тела и выберите переменную результата действия 3, значение payload_json.

    Файл из «Файлов» выбирать не нужно. Текст передаётся неизменным: без добавленных кавычек, новых JSON-полей или преобразования словаря payload.

  5. Показать результат / Show Result.
    Вход — ответ действия 4. Это окно нужно только для проверки. Позже удалите его, чтобы команда работала без окна.

Для фоновой работы после действий 1 и 3 добавьте «Если» → «не имеет значения» → «Остановить эту команду» → «Конец если». Проверяются соответственно извлечённый текст и payload_json. Пустой вход должен завершать запуск.

Названия действий зависят от языка iOS. Выбирайте цветные переменные редактора: набранное слово «Текст» не подставляет результат предыдущего шага.

03 · ПРОВЕРКА

Сначала текст, затем уведомление

На ПК включите «Проверка команды» перед тестом. Пока режим включён, новая подготовка создаёт тестовые события. Проверочный текст не должен попасть в реальные сборы.

  1. Создайте временную команду DonoX — тест. Действие «Текст»:
    Пополнение: 500 ₸
    Отправитель: Тест
    Для Сбера используйте «Зачисление: 500 ₽» вместо первой строки.
  2. Добавьте «Выполнить команду» → DonoX — уведомления. Раскройте поле входа и выберите результат действия «Текст». Запустите эту временную команду.
  3. Ожидайте test_recognized на ПК и в ответе. Тест Safari подтверждает только сеть; он не заменяет этот тест команды.
  4. Затем откройте «Автоматизация» → «+» → «Уведомление» / Notification → «Приложение» / App → ваш банк. Для первого опыта оставьте текстовые фильтры пустыми.
  5. Добавьте «Выполнить команду» → DonoX — уведомления. Во входе выберите динамические данные события, предлагаемые iOS. Входом должен стать текст уведомления, а не постоянный тестовый пример.
  6. Оставьте проверку включённой, дождитесь обычного уведомления банка и проверьте результат на ПК. Отдельно проверьте запуск без подтверждения, блокировку экрана и скрытые превью.
  7. После проверки удалите DonoX — тест и «Показать результат», отключите режим проверки на ПК, выберите режим iPhone и запустите приём.

Триггер Notification описан в руководстве Apple для iOS 27. Доступность триггера и полей проверяются на вашем устройстве. Если вход пуст или триггера нет, автоматическая передача пока не настроена.

Уведомление есть, а текста нет — короткая диагностика

Создайте временную DonoX — вход из трёх действий. Ключ и сеть ей не нужны.

  1. «Быстрый просмотр» / Quick Look → исходный Shortcut Input.
  2. «Получить текст из входных данных» → снова исходный Shortcut Input.
  3. «Быстрый просмотр» → результат «Получить текст».

Чтобы посмотреть тип, нажмите токен Shortcut Input → Type / Тип. Если доступно действие Get Type, можно показать его результат отдельно. В каждом действии явно выберите нужную переменную.

Для контроля вызовите «DonoX — вход» из временного «Текста» с непустым примером. Оба просмотра должны показать пример. Затем передайте ей динамический вход настоящей автоматизации с разблокированным экраном.

Если это словарь или список, смотрите реальные свойства. Не придумывайте ключи title/body: банковское уведомление не обязано быть JSON. Нужны сумма, имя и комментарий, если они присутствуют в уведомлении.

Версия iOS:
Исходный тип и доступные свойства:
Результат «Получить текст»:
Обезличенный пример (без имён, реквизитов и ключей):

Отчёт никуда автоматически не отправляется. После проверки удалите временную автоматизацию. Quick Look требует экран и не подходит для фоновой рабочей команды.

«Сервер не найден» или адрес изменился

Запустите и проверьте адрес в мастере ПК. Для смены только адреса новый QR не нужен: он меняет ключ.

  1. В ручной команде обновите адреса обоих сетевых действий: подготовки и отправки.
  2. В шаблоне с одним кодом подключения измените только endpoint в первом «Тексте». Сохраните key, bank_id, числовую version.
  3. Выполните текстовый тест с включённой проверкой. Постоянный dev domain ngrok позволит сохранить тот же адрес при новом запуске.
Ошибки и повторная отправка
РезультатЧто проверить
Пустой bodyВ подготовке выберите переменную результата «Получить текст».
Нет payload_jsonПроверьте URL подготовки, ключ и ответ первого POST. Отправку пока не запускайте.
401Authorization должен содержать Bearer и действующий ключ целиком.
403 / 423Включите iPhone, выбранный банк и приём на ПК.
409При повторе изменились поля с прежним ID.
429Подождите перед повтором: слишком много запросов.
unknownТекст дошёл, но формат не распознан. Нужен обезличенный пример.

Повторять нужно только второй POST с тем же payload_json. Новый запуск всей команды снова вызовет подготовку, получит новый UUID и станет отдельным событием. После неоднозначного сетевого сбоя сначала проверьте статус на ПК.

Этот минимальный вариант не сохраняет офлайн-очередь на телефоне. Сбой сети может прервать команду. Сервер не восстановит уведомление, которое телефон не отправил.

Для своего HTTPS-прокси и автора шаблона

Прокси должен направляться только на http://127.0.0.1:10001 с локальным Host 127.0.0.1:10001. Порт 9999 — личная панель управления; его не публикуйте. Сохраняйте Authorization; не записывайте ключи и тела запросов в логи.

GET /ios/connect
GET /ios/connect.js
GET /ios/connect.css
POST /api/integrations/ios/setup/probe
POST /api/integrations/ios/setup/claim
POST /api/integrations/ios/setup/test
POST /api/integrations/ios/shortcut/prepare
POST /api/integrations/ios/notifications

Подготовка принимает JSON с двумя Text-полями body/bank_id. Она возвращает Text payload_json: UUID, UTC-время и Boolean test уже готовы. Сам prepare не отправляет событие. Отправка неизменной строки — следующий отдельный POST.

Файлы издателя находятся в ios_shortcut/. Windows создаёт неподписанный черновик. Проверка на iPhone, подпись при необходимости и реальная публикация iCloud ещё обязательны; до этого ссылка установки отсутствует. Чистый общий шаблон не содержит клиентского ключа.

Типы JSON/Form/File для сетевого действия описаны в инструкции Apple по запросам.