Справочник команд Adapty Developer CLI

В этой статье перечислены команды Adapty CLI для настройки аккаунта — приложений, уровней доступа, продуктов, пейволов, флоу, плейсментов и сегментов — а также команды для миграции проекта из RevenueCat, с их аргументами, флагами и допустимыми значениями. По командам для рекламных кампаний Apple Ads см. Команды Ads Manager.

Глобальные флаги

Эти флаги доступны для всех команд.

ФлагОписание
--jsonВывод в формате JSON вместо форматированного текста
--helpПоказать справку по команде

Все команды list также принимают флаги пагинации:

ФлагПо умолчаниюОписание
--page1Номер страницы
--page-size20Элементов на странице (макс.: 100)

Приложения

Управляйте приложениями в своём аккаунте Adapty. Настройки через дашборд описаны в разделе Настройки приложения.

adapty apps list

Список всех приложений в вашем аккаунте Adapty.

adapty apps list

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

adapty apps get

Получить сведения о конкретном приложении.

adapty apps get <app-id>
АргументОписание
app-idИдентификатор приложения (UUID)

adapty apps create

Создать новое приложение.

adapty apps create --title "My App" --platform ios --apple-bundle-id com.example.app
ФлагОбязательныйОписание
--titleДаНазвание приложения
--platformДаПлатформа: ios или android. Повторите для обеих: --platform ios --platform android
--apple-bundle-idОбязателен с --platform iosApple bundle ID
--google-bundle-idОбязателен с --platform androidGoogle bundle ID

adapty apps update

Обновить существующее приложение.

adapty apps update <app-id> --title "New Name"
АргументОписание
app-idID приложения (UUID)
ФлагОписание
--titleНовый заголовок приложения
--apple-bundle-idНовый Apple bundle ID
--google-bundle-idНовый Google bundle ID

Необходим хотя бы один флаг. --platform нельзя изменить после создания.

Уровни доступа

adapty access-levels list

Список всех уровней доступа приложения.

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

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

adapty access-levels get

Получить сведения о конкретном уровне доступа.

adapty access-levels get --app <app-id> <access-level-id>
АргументОписание
access-level-idID уровня доступа (UUID)
ФлагОбязателенОписание
--appДаID приложения (UUID)

adapty access-levels create

Создать новый уровень доступа.

adapty access-levels create --app <app-id> --sdk-id "pro" --title "Pro"
ФлагОбязательныйОписание
--appДаID приложения (UUID)
--sdk-idДаИдентификатор, используемый в коде приложения для проверки доступа (например, "pro" или "premium")
--titleДаОтображаемое название в дашборде Adapty

adapty access-levels update

Обновление существующего уровня доступа.

adapty access-levels update --app <app-id> <access-level-id> --title "Pro Access"
АргументОписание
access-level-idID уровня доступа (UUID)
ФлагОбязательныйОписание
--appДаID приложения (UUID)
--titleДаНовое отображаемое название

--sdk-id нельзя изменить после создания.

Продукты

Список продуктов Adapty

Список всех продуктов для приложения.

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

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

adapty products get

Получение сведений о конкретном продукте.

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

adapty products create

Создайте новый продукт.

Important

ID продукта в сторе и ID цены нельзя изменить после создания. Чтобы использовать другие ID стора, создайте новый продукт.

adapty products create --app <app-id> --title "Monthly" --access-level-id <access-level-id> --period monthly --ios-product-id com.example.monthly
ФлагОбязательныйОписание
--appДаID приложения (UUID)
--titleДаНазвание продукта
--access-level-idДаID уровня доступа (UUID), который открывает этот продукт
--periodДаПериод подписки: weekly, monthly, two_months, trimonthly, semiannual, annual, lifetime
--ios-product-idТребуется хотя бы один сторID продукта из App Store Connect
--android-product-idТребуется хотя бы один сторID продукта из Google Play Console
--android-base-plan-idОбязательный с --android-product-id, если не указан --period lifetimeID базового плана из Google Play Console
--stripe-product-idТребуется хотя бы один сторID продукта из Stripe
--stripe-price-idОбязательный с --stripe-product-idID цены из Stripe
--paddle-product-idТребуется хотя бы один сторID продукта из Paddle
--paddle-price-idОбязательный с --paddle-product-idID цены из Paddle

Каждый продукт требует как минимум один стор: --ios-product-id, --android-product-id, --stripe-product-id или --paddle-product-id. Один продукт может содержать идентификаторы сразу нескольких сторов.

Чтобы продавать продукт в вебе через Stripe или Paddle, сначала подключите платёжного провайдера к Adapty: см. Stripe и Paddle. Для каждого из этих сторов нужно передать одновременно идентификатор продукта и идентификатор цены. Если передать только один из них, команда завершится с ошибкой.

adapty products create --app <app-id> --title "Monthly" --access-level-id <access-level-id> --period monthly --stripe-product-id prod_xxx --stripe-price-id price_xxx

Продукт только для веба является допустимым: можно создать продукт с идентификаторами Stripe или Paddle без идентификаторов App Store или Google Play.

adapty products update

Обновить существующий продукт.

Идентификаторы продукта в сторе и цены нельзя изменить после создания — они недоступны в этой команде. Чтобы использовать другие идентификаторы стора, создайте новый продукт.

adapty products update --app <app-id> <product-id> --title "Monthly" --access-level-id <access-level-id>
АргументОписание
product-idID продукта (UUID)
ФлагОбязательныйОписание
--appДаID приложения (UUID)
--titleНетНазвание продукта
--access-level-idНетID (UUID) уровня доступа, который открывает этот продукт

Пейволы

Список пейволов Adapty

Список всех пейволов приложения.

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

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

adapty paywalls get

Получить детали конкретного пейвола.

adapty paywalls get --app <app-id> <paywall-id>
ArgumentDescription
paywall-idPaywall ID (UUID)
FlagRequiredDescription
--appYesApp ID (UUID)

adapty paywalls create

Создание нового пейвола.

adapty paywalls create --app <app-id> --title "Default Paywall" --product-id <product-id>
ФлагОбязательныйОписание
--appДаID приложения (UUID)
--titleДаНазвание пейвола
--product-idДаID продукта (UUID). Повторите для нескольких продуктов: --product-id <id1> --product-id <id2>

adapty paywalls update

Замените все поля существующего пейвола.

Important

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

adapty paywalls update --app <app-id> <paywall-id> --title "Default Paywall" --product-id <product-id>

Эта команда заменяет все поля пейвола, включая полный список продуктов.

АргументОписание
paywall-idID пейвола (UUID)
ФлагОбязательныйОписание
--appДаID приложения (UUID)
--titleДаНазвание пейвола
--product-idДаID продукта (UUID). Повторите для нескольких продуктов: --product-id <id1> --product-id <id2>

adapty paywalls placements

Выводит все плейсменты, в которых используется указанный пейвол.

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

Используйте эту команду перед заменой пейвола, чтобы увидеть, какие плейсменты будут затронуты.

Элементы этого списка не содержат поля is_active. Чтобы узнать статус активации плейсмента, используйте placements list или placements get.

Флоу

Флоу — это пейволы и онбординги, которые вы создаёте в 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"
АргументОписание
flow-idID флоу (UUID)
ФлагОбязателенОписание
--appДаID приложения (UUID)
--nameДаНовое название флоу

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

В терминале команда открывает предпросмотр в браузере. При использовании pipe или флага --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 для обращения из конфига.

Плейсменты

Плейсменты — это точки, в которых флоу, пейволы и онбординги показываются пользователям. Тип контента плейсмента задаётся при создании, поэтому при переходе с пейволов на флоу нужно создавать новые плейсменты, а не обновлять существующие — для этого в скилле migrate-placements есть команды, которые автоматизируют этот процесс.

adapty placements list

Вывод списка всех плейсментов для приложения.

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

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

Каждый элемент содержит id, developer_id, title и is_active. is_active равно true для активного плейсмента и false для неактивного.

adapty placements get

Получить детали конкретного плейсмента.

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

Ответ содержит поля id, developer_id, title, is_active и массив audiences. is_active равно true для активного плейсмента и false для неактивного. Каждый элемент массива аудиторий содержит content_type (paywall или flow), segment_ids, priority, а также paywall_id или flow_id. Аудитория по умолчанию имеет segment_ids: [] и наибольшее значение priority (вычисляется последней). См. Структуру audiences.

adapty placements create

Создать новый плейсмент.

adapty placements create --app <app-id> --title "Main" --developer-id "main" --audiences '[{"content_type":"paywall","segment_ids":[],"paywall_id":"<paywall-id>","priority":0}]'
ФлагОбязательныйОписание
--appДаID приложения (UUID)
--titleДаНазвание плейсмента
--developer-idДаСтроковый идентификатор, используемый в коде приложения для запроса этого плейсмента
--audiencesОдин из двухJSON-массив элементов аудитории, каждый с явным content_type. См. Структура аудиторий
--paywall-idОдин из двухУстарело. ID пейвола (UUID). На стороне клиента оборачивается в единую аудиторию по умолчанию

Передайте ровно один из параметров: --audiences или --paywall-id. Передача обоих или ни одного из них вызывает ошибку.

Warning

--paywall-id устарел и будет удалён. При передаче этого флага CLI выводит предупреждение в stderr и преобразует значение в аудиторию по умолчанию. Для новой автоматизации используйте --audiences.

adapty placements update

Заменяет все поля существующего плейсмента.

adapty placements update --app <app-id> <placement-id> --title "Main" --developer-id "main" --audiences '[{"content_type":"paywall","segment_ids":[],"paywall_id":"<paywall-id>","priority":0}]'

Эта команда заменяет все поля плейсмента, включая полный список аудиторий.

АргументОписание
placement-idID плейсмента (UUID)
ФлагОбязательныйОписание
--appДаID приложения (UUID)
--titleДаНазвание плейсмента
--developer-idДаСтроковый идентификатор, используемый в коде приложения для запроса этого плейсмента
--audiencesОдин из двухJSON-массив записей аудиторий, каждая с явным content_type. См. Форма audiences
--paywall-idОдин из двухУстарело. ID пейвола (UUID). Заменяет все аудитории одной аудиторией по умолчанию
Warning

Передача --paywall-id перезаписывает все аудитории на плейсменте. Аудитории для конкретных сегментов удаляются. Чтобы сохранить их, используйте --audiences и включите все записи, которые хотите оставить.

Структура аудиторий

Флаг --audiences принимает JSON-массив. Каждая запись содержит:

ПолеТипОписание
content_typestring"paywall" или "flow". Обязательно для каждой записи. Все записи в одном плейсменте должны иметь одинаковое значение
segment_idsstring[]ID сегментов, на которые нацелена эта аудитория. Длина 0 или 1. Пустой массив обозначает аудиторию по умолчанию — резервный вариант для пользователей, не попавших ни в один другой сегмент
paywall_idstringID пейвола (UUID), показываемого пользователям в этой аудитории. Обязательно, когда content_type равен "paywall"
flow_idstringID флоу (UUID), показываемого пользователям в этой аудитории. Обязательно, когда content_type равен "flow"
prioritynumberНумерация с 0, уникальная в рамках плейсмента. Аудитории оцениваются от меньшего к большему; аудитория по умолчанию должна иметь наибольшее значение

У плейсмента должна быть ровно одна аудитория по умолчанию.

Тип контента плейсмента фиксируется при создании, поэтому placements update не может переключить плейсмент с пейвола на флоу и наоборот. Разместите флоу в отдельном плейсменте — см. Создание нового плейсмента для флоу.

CLI проверяет каждую запись перед отправкой запроса. Запись с отсутствующим или неизвестным content_type, либо без ID, которого требует content_type, завершается с кодом 2, и ничего не отправляется.

Флоу можно привязать только после его публикации. draft-флоу или флоу, чья первая публикация ещё не завершена, будет отклонён сервером; CLI распознаёт это отклонение и завершает работу с кодом 2, выводя команду flows publish для данного флоу. Чтобы опубликовать флоу, используйте flows publish или Flow & Paywall Builder, а затем дождитесь, когда его статус станет published.

Пример с одной целевой аудиторией и одной аудиторией по умолчанию:

adapty placements update <placement-id> --app <app-id> --title "Main" --developer-id "main" \
  --audiences '[{"content_type":"paywall","segment_ids":["<vip-segment-id>"],"paywall_id":"<vip-paywall-id>","priority":0},{"content_type":"paywall","segment_ids":[],"paywall_id":"<default-paywall-id>","priority":1}]'

Пример плейсмента, который показывает опубликованный флоу всем пользователям:

adapty placements create --app <app-id> --title "Onboarding" --developer-id "onboarding" \
  --audiences '[{"content_type":"flow","segment_ids":[],"flow_id":"<flow-id>","priority":0}]'

Чтобы заменить пейвол в нескольких плейсментах без потери маршрутизации по сегментам:

  1. Найдите затронутые плейсменты:

    adapty paywalls placements --app <app-id> <old-paywall-id>
  2. Для каждого из них считайте полный массив audiences:

    adapty placements get --app <app-id> <placement-id> --json
  3. Замените совпадающие значения paywall_id на стороне клиента.

  4. Запишите изменённые данные обратно:

    adapty placements update --app <app-id> <placement-id> --title "<title>" --developer-id "<developer-id>" --audiences '<modified-payload>'

Сегменты

Сегменты доступны через CLI только для чтения. Создавайте и редактируйте их в дашборде Adapty. Используйте эти команды, чтобы найти идентификаторы сегментов при составлении аудиторий плейсментов.

adapty segments list

Список всех сегментов приложения.

adapty segments list --app <app-id>
FlagRequiredDescription
--appYesApp ID (UUID)

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

adapty segments get

Получите сведения о конкретном сегменте.

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

В ответе содержатся id, title и description. Правила фильтрации через этот API не доступны.

Миграции

Перенесите проект RevenueCat в Adapty: каталог продуктов, а также, при необходимости, события стора и историю транзакций. Adapty выполняет каждую миграцию последовательно и сообщает, какие действия можно выполнить следующими, — поэтому перед каждым действием читайте status. Полная процедура описана в статье Миграция из RevenueCat.

Все команды, кроме list, create, use, current и unuse, принимают флаг миграции:

ФлагОбязательныйОписание
-m, --migrationНетID миграции. Если не указан, CLI использует переменную окружения ADAPTY_MIGRATION, затем миграцию, сохранённую командой create или use.

adapty migrations list

Просмотр ваших миграций и флоу миграций, которые можно запустить, сгруппированных по приложениям.

adapty migrations list

adapty migrations create

Запустить миграцию и сохранить её как текущую.

adapty migrations create --name <app-name>
adapty migrations create --flow <flow> --app <app-id>
ФлагОбязателенОписание
--nameОдин из --name или --flowНазвание нового приложения Adapty. Запускает миграцию каталога. Нельзя использовать вместе с --flow или --app.
--flowОдин из --name или --flowФлоу для запуска в существующем приложении, как показывает adapty migrations list. Требует --app.
--appС --flowID приложения (UUID)
--no-selectНетСоздать миграцию без сохранения её как текущей

Флоу, доступные для существующего приложения после миграции каталога:

ФлоуОписание
transactionsИмпорт истории транзакций из ежедневного Cloud Export RevenueCat
transactions_supportИмпорт истории транзакций через поддержку RevenueCat и поддержку Adapty — для тарифов RevenueCat без Cloud Export
apple_eventsПересылка уведомлений App Store в Adapty при сохранении их получения в RevenueCat
google_eventsПодключение Adapty к топику Pub/Sub, который RevenueCat использует для уведомлений Google Play

adapty migrations use

Сохраняет миграцию как текущую, чтобы другие команды не требовали флага -m.

adapty migrations use <migration-id>
АргументОписание
migration-idID миграции из adapty migrations list

CLI проверяет доступ к миграции перед сохранением ID. Сохранённая миграция привязана к текущему токену и применяется во всех терминалах.

adapty migrations current

Показывает текущую миграцию и её источник: переменную окружения ADAPTY_MIGRATION или сохранённый выбор.

adapty migrations current

adapty migrations unuse

Очищает сохранённую миграцию. Значение ADAPTY_MIGRATION, заданное в оболочке, действует до тех пор, пока вы не сбросите его.

adapty migrations unuse

adapty migrations status

Показывает состояние миграции, её проблемы и доступные следующие действия.

adapty migrations status
ФлагОбязательныйОписание
--waitНетОпрашивать до изменения состояния миграции, затем вернуть последнее состояние
--timeoutНетВремя опроса для --wait: 1–600 секунд, по умолчанию 120. Принимает 300, 300s или 5m. Требует --wait.

С флагом --json поля next_actions и available_actions содержат для каждого действия его ID, читаемые ресурсы, input_schema и текст confirm.

Код завершения 0 означает, что запрос выполнен успешно, но не что миграция прошла успешно. Проверьте migration.state в ответе.

Шаги миграции adapty

Показывает чеклист миграции и статус каждого шага.

adapty migrations steps

adapty migrations show

Просмотр доступных ресурсов или чтение одного из них.

adapty migrations show [resource]
АргументОписание
resourceНазвание ресурса, например apps, mapping, report или export-config. Если не указать, отобразится список ресурсов, доступных на текущем шаге.

adapty migrations run

Выполняет действие из adapty migrations status.

adapty migrations run <action-id>
АргументОписание
action-idID действия из next_actions или available_actions в adapty migrations status
ФлагОбязательныйОписание
--inputНетВходные данные действия в виде JSON-объекта, соответствующего input_schema действия. Без входных данных CLI отправляет {}.
--input-fileНетПуть к файлу с входными данными действия или - для чтения из stdin. Нельзя использовать вместе с --input.
-y, --yesДля действий с текстом confirmПодтверждает действие после прочтения текста confirm. Интерактивного запроса нет.
--openНетОткрывает ссылку действия даже при использовании pipe или --json
--no-browserНетВыводит ссылку действия без открытия браузера

Действия бывают двух видов:

  • Input actions отправляют ваши данные в Adapty — например, список приложений RevenueCat для миграции или ваши решения по маппингу.
  • External actions открывают страницу в дашборде Adapty — например, чтобы вставить секретный API-ключ RevenueCat. Заполните страницу, затем проверьте status.

adapty migrations close

Завершите или отмените миграцию. После этого её нельзя будет открыть снова.

adapty migrations close --outcome finish --yes
ФлагОбязателенОписание
--outcomeДаfinish помечает миграцию как завершённую; cancel отменяет её
-y, --yesДаПодтвердите закрытие

Auth

КомандаОписание
adapty auth loginАутентификация через браузер с использованием device flow
adapty auth logoutОчистить сохранённые учётные данные и сохранённую миграцию локально
adapty auth whoamiПроверить токен на сервере и показать информацию о пользователе
adapty auth statusПоказать локальное состояние аутентификации без обращения к серверу
adapty auth revokeОтозвать токен на сервере, затем очистить его и сохранённую миграцию локально

Подробнее о каждой команде см. в разделе Аутентификация.