Настройте адрес на ПК, один раз создайте команду на iPhone и проверьте обычное уведомление банка. Ни UUID, ни дату вручную заполнять не нужно — их подготовит DonoX.
Экспериментальное подключение через «Команды» iOS 27. Совместимость уведомлений, доступность их текста и запуск при заблокированном экране зависят от устройства. Готовая проверенная iCloud-команда пока не опубликована; ниже — ручной путь. Проверка Safari подтверждает только связь с ПК.
01 · НА КОМПЬЮТЕРЕ
Подготовьте постоянный адрес
В DonoX откройте Подключение → iPhone · Команды iOS 27 → Настроить приём с iPhone.
Выберите «Постоянный адрес · без своего домена». Раскройте «Первый раз? Настроить ngrok за 3 шага»: создайте учётную запись ngrok, установите агент Windows и выполните его команду добавления authtoken только в терминале своего ПК.
Скопируйте выданный ngrok dev domain из раздела Domains. Вставьте его в мастер DonoX и нажмите «Запустить постоянное подключение». Если агент не найден, укажите установленный ngrok.exe.
Дождитесь проверки 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.
Получить текст из входных данных / Get Text from Input. Вход — переменная «Входные данные команды» / Shortcut Input. Результат — текст уведомления.
Получить содержимое 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).
Получить значение словаря / Get Dictionary Value. Ключ — payload_json. Словарь — ответ действия 2. Результат уже содержит готовый JSON в виде текста.
Получить содержимое URL / Get Contents of URL. Адрес — кнопка «Копировать URL отправки». Метод POST, те же три заголовка. Тип тела — Файл / File. Нажмите поле тела и выберите переменную результата действия 3, значение payload_json.
Файл из «Файлов» выбирать не нужно. Текст передаётся неизменным: без добавленных кавычек, новых JSON-полей или преобразования словаря payload.
Показать результат / Show Result. Вход — ответ действия 4. Это окно нужно только для проверки. Позже удалите его, чтобы команда работала без окна.
Для фоновой работы после действий 1 и 3 добавьте «Если» → «не имеет значения» → «Остановить эту команду» → «Конец если». Проверяются соответственно извлечённый текст и payload_json. Пустой вход должен завершать запуск.
Названия действий зависят от языка iOS. Выбирайте цветные переменные редактора: набранное слово «Текст» не подставляет результат предыдущего шага.
03 · ПРОВЕРКА
Сначала текст, затем уведомление
На ПК включите «Проверка команды» перед тестом. Пока режим включён, новая подготовка создаёт тестовые события. Проверочный текст не должен попасть в реальные сборы.
Создайте временную команду DonoX — тест. Действие «Текст»:
Пополнение: 500 ₸
Отправитель: Тест
Для Сбера используйте «Зачисление: 500 ₽» вместо первой строки.
Добавьте «Выполнить команду» → DonoX — уведомления. Раскройте поле входа и выберите результат действия «Текст». Запустите эту временную команду.
Ожидайте test_recognized на ПК и в ответе. Тест Safari подтверждает только сеть; он не заменяет этот тест команды.
Затем откройте «Автоматизация» → «+» → «Уведомление» / Notification → «Приложение» / App → ваш банк. Для первого опыта оставьте текстовые фильтры пустыми.
Добавьте «Выполнить команду» → DonoX — уведомления. Во входе выберите динамические данные события, предлагаемые iOS. Входом должен стать текст уведомления, а не постоянный тестовый пример.
Оставьте проверку включённой, дождитесь обычного уведомления банка и проверьте результат на ПК. Отдельно проверьте запуск без подтверждения, блокировку экрана и скрытые превью.
После проверки удалите DonoX — тест и «Показать результат», отключите режим проверки на ПК, выберите режим iPhone и запустите приём.
Триггер Notification описан в руководстве Apple для iOS 27. Доступность триггера и полей проверяются на вашем устройстве. Если вход пуст или триггера нет, автоматическая передача пока не настроена.
Уведомление есть, а текста нет — короткая диагностика
Создайте временную DonoX — вход из трёх действий. Ключ и сеть ей не нужны.
«Получить текст из входных данных» → снова исходный Shortcut Input.
«Быстрый просмотр» → результат «Получить текст».
Чтобы посмотреть тип, нажмите токен Shortcut Input → Type / Тип. Если доступно действие Get Type, можно показать его результат отдельно. В каждом действии явно выберите нужную переменную.
Для контроля вызовите «DonoX — вход» из временного «Текста» с непустым примером. Оба просмотра должны показать пример. Затем передайте ей динамический вход настоящей автоматизации с разблокированным экраном.
Если это словарь или список, смотрите реальные свойства. Не придумывайте ключи title/body: банковское уведомление не обязано быть JSON. Нужны сумма, имя и комментарий, если они присутствуют в уведомлении.
Версия iOS:
Исходный тип и доступные свойства:
Результат «Получить текст»:
Обезличенный пример (без имён, реквизитов и ключей):
Отчёт никуда автоматически не отправляется. После проверки удалите временную автоматизацию. Quick Look требует экран и не подходит для фоновой рабочей команды.
«Сервер не найден» или адрес изменился
Запустите и проверьте адрес в мастере ПК. Для смены только адреса новый QR не нужен: он меняет ключ.
В ручной команде обновите адреса обоих сетевых действий: подготовки и отправки.
В шаблоне с одним кодом подключения измените только endpoint в первом «Тексте». Сохраните key, bank_id, числовую version.
Выполните текстовый тест с включённой проверкой. Постоянный dev domain ngrok позволит сохранить тот же адрес при новом запуске.
Ошибки и повторная отправка
Результат
Что проверить
Пустой body
В подготовке выберите переменную результата «Получить текст».
Нет payload_json
Проверьте URL подготовки, ключ и ответ первого POST. Отправку пока не запускайте.
401
Authorization должен содержать 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 ещё обязательны; до этого ссылка установки отсутствует. Чистый общий шаблон не содержит клиентского ключа.