Команды Flows

Флоу — это пейволы и онбординги, которые вы создаёте во Flow & Paywall Builder. CLI управляет записью флоу, конфигом билдера и публикацией. Конфиг билдера — это объёмный JSON-документ, который обычно генерирует Flow & Paywall Builder; CLI сам его не создаёт. Чтобы создать или отредактировать конфиг в терминале, используйте скилл flow-generator, который выполняет эти команды за вас. Перед публикацией скилл flow-audit проверяет, готов ли флоу к продакшену. Ниже приведён справочник команд.

adapty flows list

Показывает список всех флоу для приложения.

adapty flows list --app <app-id>
ФлагОбязательныйОписание
--appДаID приложения (UUID)

Принимает флаги пагинации.

adapty flows get

Получить подробную информацию о конкретном флоу.

adapty flows get --app <app-id> <flow-id>
АргументОписание
flow-idID флоу (UUID)
ФлагОбязательныйОписание
--appДаID приложения (UUID)

Ответ содержит id, name, status и updated_at. Возможные значения статуса:

СтатусЗначение
draftФлоу ещё ни разу не публиковался
publishedТекущая версия активна
dirtyФлоу публиковался ранее, и текущая версия содержит неопубликованные изменения. Пользователи видят последнюю опубликованную версию
publishingПубликация выполняется
publication_failedПоследняя публикация завершилась с ошибкой. Исправьте конфигурацию и опубликуйте снова
archivedФлоу заархивирован

adapty flows create

Создать флоу. Новый флоу имеет название, но не имеет конфигурации. Чтобы добавить конфигурацию, используйте flows config update.

adapty flows create --app <app-id> --name "Onboarding"
ФлагОбязателенОписание
--appДаID приложения (UUID)
--nameДаНазвание флоу

adapty flows update

Переименовать флоу.

adapty flows update --app <app-id> <flow-id> --name "Onboarding v2"
ArgumentDescription
flow-idFlow ID (UUID)
FlagRequiredDescription
--appYesApp ID (UUID)
--nameYesНовое имя флоу

adapty flows publish

Опубликовать текущую версию флоу для ваших пользователей.

adapty flows publish --app <app-id> <flow-id>
АргументОписание
flow-idID флоу (UUID)
ФлагОбязательныйОписание
--appДаID приложения (UUID)
--yes, -yНетОпубликовать без запроса подтверждения. Обязателен, если вывод передаётся по пайпу или используется --json

Поскольку публикация меняет то, что видят пользователи, команда выводит имя флоу и запрашивает подтверждение. Любой ответ, кроме y, отменяет команду с кодом выхода 1. При использовании флага --json или в пайпе команда отказывается выполняться с кодом выхода 2 вместо ожидания ответа, поэтому в скриптах и агентских сессиях передавайте --yes.

Публикация выполняется асинхронно: в ответе возвращается status: publishing, и флоу ещё не активен. Опрашивайте flows get до тех пор, пока статус не станет published или publication_failed. При publication_failed причину можно узнать через flows config get.

Публикация завершается с HTTP 400, если у флоу нет конфига, конфиг не готов к публикации или текущая версия уже активна. Чтобы проверить конфиг перед публикацией, используйте flows config validate.

adapty flows config get

Получить конфигурацию конструктора для флоу.

adapty flows config get --app <app-id> <flow-id>
АргументОписание
flow-idID флоу (UUID)
ФлагОбязательныйОписание
--appДаID приложения (UUID)

Ответ содержит поля config, remote_configs, status и updated_at. updated_at — это метка времени в миллисекундах, соответствующая последнему изменению конфига. Передайте её в flows config update через --expected-updated-at, чтобы не затереть параллельно сделанные правки. Если конфиг флоу ни разу не записывался, возвращается 404.

После попытки публикации ответ также содержит три поля, описывающие её результат. Читайте их, когда flows get возвращает publication_failed:

ПолеОписание
publication_statusСтатус публикации данной версии флоу: transforming, transformed, uploading, uploaded, published или failed
transform_errorНеобработанная ошибка трансформации — либо JSON-пейлоад с описанием проблем, либо строка с кратким описанием
publication_errorПонятное сообщение об ошибке публикации

adapty flows config update

Записывает конфигурацию билдера для флоу.

adapty flows config update --app <app-id> <flow-id> --config-file config.json
АргументОписание
flow-idID флоу (UUID)
ФлагОбязательныйОписание
--appДаID приложения (UUID)
--configОдин из двухКонфиг Builder в виде JSON-строки
--config-fileОдин из двухПуть к JSON-файлу с конфигом Builder или - для чтения из stdin
--remote-configsНетJSON-массив записей {locale, data}, где data — Remote Config в виде строки
--expected-updated-atНетЗначение updated_at из предыдущего вызова flows config get. Если конфиг изменился после этого чтения, команда завершится с ошибкой вместо перезаписи изменений. Опустите параметр, чтобы перезаписать безусловно

Сохранение конфига создаёт черновик, но не публикует его. Для опубликованного флоу запись создаёт новую версию: статус флоу становится dirty, и пользователи видят опубликованную версию до тех пор, пока вы не выполните flows publish.

adapty flows config validate

Проверяет, готова ли конфигурация билдера к публикации, без её сохранения.

adapty flows config validate --app <app-id> <flow-id> --config-file config.json
АргументОписание
flow-idID флоу (UUID)
ФлагОбязателенОписание
--appДаID приложения (UUID)
--configОдин из двухКонфигурация билдера в виде JSON-строки
--config-fileОдин из двухПуть к JSON-файлу с конфигурацией билдера или - для чтения из stdin

Ответ содержит valid и список issues. Если конфиг нельзя опубликовать, команда завершается с кодом 1, что позволяет использовать это в скриптах.

adapty flows config preview

Отображает локальный файл конфигурации в браузере. Эта команда не обращается к API и не принимает флаг --app.

adapty flows config preview ./config.json --screen <screen-id> --device iphone-14 --orientation portrait
АргументОписание
config-fileПуть к локальному файлу JSON с конфигурацией билдера
ФлагПо умолчаниюОписание
--screenПервый экран флоуID экрана для отображения
--deviceiphone-14Фрейм устройства для отображения
--orientationportraitportrait или landscape

В терминале команда открывает превью в браузере. При перенаправлении вывода или с флагом --json она печатает URL. URL содержит полный конфиг и может быть длинным: передайте его в инструмент для скриншотов, а не выводите напрямую. Конфиги размером более ~32 КБ отображаются медленно.

adapty flows media upload

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

adapty flows media upload --app <app-id> ./hero.png
АргументОписание
fileПуть к файлу изображения
ФлагОбязательныйОписание
--appДаID приложения (UUID)

Поддерживаемые форматы: GIF, HEIC, JPEG, PNG, SVG и WebP. В ответе содержатся id, name изображения и CDN url для ссылки из конфига.

Что дальше