Referencia de comandos del Adapty Developer CLI
Este artículo enumera los comandos de la CLI de Adapty para configurar tu cuenta (apps, niveles de acceso, productos, paywalls, flows, placements y segmentos), además de los comandos para migrar un proyecto de RevenueCat, con sus argumentos, flags y valores aceptados. Para campañas de Apple Ads, consulta Comandos de Ads Manager.
Para la configuración de autenticación y la gestión de tokens, consulta Autenticación.
Flags globales
Estos flags están disponibles en todos los comandos.
| Flag | Descripción |
|---|---|
--json | Mostrar la salida en JSON en lugar de texto formateado |
--help | Mostrar la ayuda del comando |
Todos los comandos list también aceptan flags de paginación:
| Flag | Por defecto | Descripción |
|---|---|---|
--page | 1 | Número de página |
--page-size | 20 | Elementos por página (máx.: 100) |
Apps
Gestiona las apps de tu cuenta de Adapty. Para la configuración desde el dashboard, consulta App settings.
adapty apps list
Lista todas las apps de tu cuenta de Adapty.
adapty apps list
Acepta flags de paginación.
adapty apps get
Obtén los detalles de una app específica.
adapty apps get <app-id>
| Argumento | Descripción |
|---|---|
app-id | ID de la app (UUID) |
adapty apps create
Crea una nueva app.
adapty apps create --title "My App" --platform ios --apple-bundle-id com.example.app
| Flag | Requerido | Descripción |
|---|---|---|
--title | Sí | Título de la app |
--platform | Sí | Plataforma: ios o android. Repite para ambas: --platform ios --platform android |
--apple-bundle-id | Requerido con --platform ios | Bundle ID de Apple |
--google-bundle-id | Requerido con --platform android | Bundle ID de Google |
adapty apps update
Actualiza una app existente.
adapty apps update <app-id> --title "New Name"
| Argumento | Descripción |
|---|---|
app-id | ID de la app (UUID) |
| Flag | Descripción |
|---|---|
--title | Nuevo título de la app |
--apple-bundle-id | Nuevo bundle ID de Apple |
--google-bundle-id | Nuevo bundle ID de Google |
Se requiere al menos un flag. --platform no se puede cambiar después de la creación.
Niveles de acceso
adapty access-levels list
Lista todos los niveles de acceso de una app.
adapty access-levels list --app <app-id>
| Flag | Requerido | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
Acepta flags de paginación.
adapty access-levels get
Obtén los detalles de un nivel de acceso específico.
adapty access-levels get --app <app-id> <access-level-id>
| Argumento | Descripción |
|---|---|
access-level-id | ID del nivel de acceso (UUID) |
| Flag | Requerido | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
adapty access-levels create
Crea un nuevo nivel de acceso.
adapty access-levels create --app <app-id> --sdk-id "pro" --title "Pro"
| Flag | Requerido | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
--sdk-id | Sí | Identificador utilizado en el código de la app para comprobar el acceso (por ejemplo, "pro" o "premium") |
--title | Sí | Etiqueta de visualización en el Adapty Dashboard |
adapty access-levels update
Actualiza un nivel de acceso existente.
adapty access-levels update --app <app-id> <access-level-id> --title "Pro Access"
| Argumento | Descripción |
|---|---|
access-level-id | ID del nivel de acceso (UUID) |
| Flag | Requerido | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
--title | Sí | Nueva etiqueta de visualización |
--sdk-id no se puede cambiar después de la creación.
Productos
adapty products list
Lista todos los productos de una app.
adapty products list --app <app-id>
| Flag | Requerido | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
Acepta flags de paginación.
adapty products get
Obtén los detalles de un producto específico.
adapty products get --app <app-id> <product-id>
| Argumento | Descripción |
|---|---|
product-id | ID del producto (UUID) |
| Flag | Requerido | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
adapty products create
Crea un nuevo producto.
Los IDs del producto de la store y del precio no se pueden cambiar una vez creados. Para usar IDs de store diferentes, crea un nuevo producto.
adapty products create --app <app-id> --title "Monthly" --access-level-id <access-level-id> --period monthly --ios-product-id com.example.monthly
| Indicador | Requerido | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
--title | Sí | Título del producto |
--access-level-id | Sí | ID (UUID) del nivel de acceso que desbloquea este producto |
--period | Sí | Período de suscripción: weekly, monthly, two_months, trimonthly, semiannual, annual, lifetime |
--ios-product-id | Al menos un store requerido | ID del producto en App Store Connect |
--android-product-id | Al menos un store requerido | ID del producto en Google Play Console |
--android-base-plan-id | Requerido con --android-product-id salvo que se use --period lifetime | ID del plan base en Google Play Console |
--stripe-product-id | Al menos un store requerido | ID del producto en Stripe |
--stripe-price-id | Requerido con --stripe-product-id | ID de precio en Stripe |
--paddle-product-id | Al menos un store requerido | ID del producto en Paddle |
--paddle-price-id | Requerido con --paddle-product-id | ID de precio en Paddle |
Cada producto necesita al menos un store: --ios-product-id, --android-product-id, --stripe-product-id o --paddle-product-id. Un mismo producto puede tener IDs para varios stores a la vez.
Para vender un producto en la web mediante Stripe o Paddle, primero conecta el proveedor de pago a Adapty: consulta Stripe y Paddle. Para cada uno de estos stores, pasa el ID del producto y el ID del precio juntos. El comando falla si solo pasas uno de los dos.
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
Un producto exclusivo de web es válido: puedes crear un producto con IDs de Stripe o Paddle sin necesidad de IDs de App Store o Google Play.
adapty products update
Actualiza un producto existente.
Los IDs de producto de la store y de precio no se pueden cambiar tras la creación y no están disponibles en este comando. Para usar IDs de store diferentes, crea un nuevo producto.
adapty products update --app <app-id> <product-id> --title "Monthly" --access-level-id <access-level-id>
| Argumento | Descripción |
|---|---|
product-id | ID del producto (UUID) |
| Flag | Requerido | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
--title | No | Título del producto |
--access-level-id | No | ID (UUID) del nivel de acceso que desbloquea este producto |
Paywalls
adapty paywalls list
Lista todos los paywalls de una app.
adapty paywalls list --app <app-id>
| Flag | Requerido | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
Acepta flags de paginación.
adapty paywalls get
Obtén los detalles de un paywall específico.
adapty paywalls get --app <app-id> <paywall-id>
| Argumento | Descripción |
|---|---|
paywall-id | ID del paywall (UUID) |
| Flag | Requerido | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
adapty paywalls create
Crea un nuevo paywall.
adapty paywalls create --app <app-id> --title "Default Paywall" --product-id <product-id>
| Flag | Requerido | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
--title | Sí | Título del paywall |
--product-id | Sí | ID (UUID) del producto. Repite para varios productos: --product-id <id1> --product-id <id2> |
adapty paywalls update
Reemplaza todos los campos de un paywall existente.
Una vez que un paywall está vinculado a un placement, sus productos no se pueden cambiar. Para usar productos distintos en un paywall en producción, crea un nuevo paywall y actualiza el placement para que apunte a él.
adapty paywalls update --app <app-id> <paywall-id> --title "Default Paywall" --product-id <product-id>
Este comando reemplaza todos los campos del paywall, incluida la lista completa de productos.
| Argumento | Descripción |
|---|---|
paywall-id | ID del paywall (UUID) |
| Flag | Requerido | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
--title | Sí | Título del paywall |
--product-id | Sí | ID (UUID) del producto. Repite para varios productos: --product-id <id1> --product-id <id2> |
adapty paywalls placements
Lista todos los placements que actualmente usan un paywall determinado.
adapty paywalls placements --app <app-id> <paywall-id>
| Argumento | Descripción |
|---|---|
paywall-id | ID del paywall (UUID) |
| Flag | Obligatorio | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
Usa este comando antes de cambiar un paywall para ver qué placements se verían afectados.
Los elementos de esta lista no contienen el campo is_active. Para consultar el estado de activación de un placement, usa placements list o placements get.
Flows
Los flows son los paywalls y onboardings que construyes en el Flow & Paywall Builder. El CLI gestiona el registro del flow, su configuración del builder y la publicación. La configuración del builder es un documento JSON extenso que normalmente genera el Flow & Paywall Builder; el CLI no genera uno. Para crear o editar una configuración desde el terminal, usa el skill flow-generator, que ejecuta estos comandos por ti. Antes de publicar, el skill flow-audit verifica si el flow está listo para producción. Los comandos se incluyen aquí como referencia.
Lista de flows de Adapty
Lista todos los flows de una aplicación.
adapty flows list --app <app-id>
| Flag | Requerido | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
Acepta flags de paginación.
adapty flows get
Obtén los detalles de un flow específico.
adapty flows get --app <app-id> <flow-id>
| Argument | Description |
|---|---|
flow-id | Flow ID (UUID) |
| Flag | Required | Description |
|---|---|---|
--app | Yes | App ID (UUID) |
La respuesta contiene id, name, status y updated_at. El estado es uno de:
| Estado | Significado |
|---|---|
draft | El flow nunca ha sido publicado |
published | La versión actual está activa |
dirty | El flow fue publicado anteriormente y la versión actual tiene cambios sin publicar. Los usuarios siguen viendo la última versión publicada |
publishing | La publicación está en curso |
publication_failed | La última publicación falló. Corrige la configuración y vuelve a publicar |
archived | El flow está archivado |
adapty flows create
Crea un flow. El nuevo flow tiene un nombre y sin configuración. Para añadir una configuración, usa flows config update.
adapty flows create --app <app-id> --name "Onboarding"
| Flag | Requerido | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
--name | Sí | Nombre del flow |
adapty flows update
Renombra un flow.
adapty flows update --app <app-id> <flow-id> --name "Onboarding v2"
| Argumento | Descripción |
|---|---|
flow-id | ID del flow (UUID) |
| Flag | Obligatorio | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
--name | Sí | Nuevo nombre del flow |
adapty flows publish
Publica la versión actual de un flow para tus usuarios.
adapty flows publish --app <app-id> <flow-id>
| Argumento | Descripción |
|---|---|
flow-id | ID del flow (UUID) |
| Flag | Requerido | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
--yes, -y | No | Publica sin pedir confirmación. Requerido cuando la salida se redirige por tubería o se usa --json |
Dado que publicar cambia lo que ven tus usuarios, el comando muestra el nombre del flow y pide confirmación. Cualquier respuesta distinta de y cancela el comando con código de salida 1. Con --json o en una tubería, el comando rechaza la operación con código de salida 2 en lugar de esperar una respuesta, así que usa --yes en scripts y sesiones de agente.
La publicación es asíncrona: la respuesta devuelve status: publishing y el flow aún no está activo. Consulta flows get periódicamente hasta que el estado pase a published o publication_failed. Si el estado es publication_failed, flows config get indica el motivo.
La publicación falla con HTTP 400 cuando el flow no tiene configuración, cuando la configuración no es publicable o cuando la versión actual ya está activa. Para validar una configuración antes de publicarla, usa flows config validate.
adapty flows config get
Lee la configuración del builder de un flow.
adapty flows config get --app <app-id> <flow-id>
| Argument | Description |
|---|---|
flow-id | Flow ID (UUID) |
| Flag | Required | Description |
|---|---|---|
--app | Yes | App ID (UUID) |
La respuesta contiene config, remote_configs, status y updated_at. updated_at es una marca de tiempo en milisegundos del último cambio de configuración. Pásala a flows config update como --expected-updated-at para evitar sobrescribir una edición concurrente. Un flow cuya configuración nunca se ha escrito devuelve 404.
Tras un intento de publicación, la respuesta también incluye tres campos que describen cómo fue. Léelos cuando flows get indique publication_failed:
| Campo | Descripción |
|---|---|
publication_status | El progreso de publicación de esta versión del flow: transforming, transformed, uploading, uploaded, published o failed |
transform_error | El error de transformación sin procesar: un payload JSON con los problemas o una cadena resumen |
publication_error | Un mensaje legible para una publicación fallida |
adapty flows config update
Escribe la configuración del builder de un flow.
adapty flows config update --app <app-id> <flow-id> --config-file config.json
| Argument | Description |
|---|---|
flow-id | ID del flow (UUID) |
| Flag | Obligatorio | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
--config | Uno de los dos | Configuración del Builder como cadena JSON |
--config-file | Uno de los dos | Ruta a un archivo JSON con la configuración del Builder, o - para leer desde stdin |
--remote-configs | No | Array JSON de entradas {locale, data}, donde data es el Remote Config como cadena |
--expected-updated-at | No | El valor updated_at de un flows config get anterior. Si la configuración cambió después de esa lectura, el comando falla en lugar de sobrescribir el cambio. Omítelo para sobrescribir sin condiciones |
Escribir la configuración guarda un borrador sin publicarlo. En un flow publicado, la escritura crea una nueva versión: el estado del flow pasa a dirty, y los usuarios siguen viendo la versión publicada hasta que ejecutes flows publish.
adapty flows config validate
Comprueba si una configuración del builder es publicable, sin guardarla.
adapty flows config validate --app <app-id> <flow-id> --config-file config.json
| Argumento | Descripción |
|---|---|
flow-id | ID del flow (UUID) |
| Flag | Requerido | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
--config | Uno de los dos | Configuración del builder como cadena JSON |
--config-file | Uno de los dos | Ruta a un archivo JSON con la configuración del builder, o - para leer desde stdin |
La respuesta contiene valid y una lista de issues. Cuando la configuración no es publicable, el comando sale con código 1, para que los scripts puedan usarlo como condición.
adapty flows config preview
Renderiza un archivo de configuración local en el navegador. Este comando no realiza ninguna llamada a la API y no acepta el flag --app.
adapty flows config preview ./config.json --screen <screen-id> --device iphone-14 --orientation portrait
| Argumento | Descripción |
|---|---|
config-file | Ruta a un archivo JSON de configuración del builder local |
| Flag | Por defecto | Descripción |
|---|---|---|
--screen | La primera pantalla del flow | ID de pantalla a renderizar |
--device | iphone-14 | Marco de dispositivo en el que renderizar |
--orientation | portrait | portrait o landscape |
En un terminal, el comando abre la vista previa en el navegador. Si se usa con una tubería o con --json, imprime la URL en su lugar. La URL contiene toda la configuración y es larga: pásala a una herramienta de capturas de pantalla en lugar de imprimirla. Las configuraciones de más de aproximadamente 32 KB se renderizan lentamente.
adapty flows media upload
Sube una imagen para usarla en la configuración de un flow.
adapty flows media upload --app <app-id> ./hero.png
| Argumento | Descripción |
|---|---|
file | Ruta al archivo de imagen |
| Flag | Requerido | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
Formatos aceptados: GIF, HEIC, JPEG, PNG, SVG y WebP. La respuesta contiene el id, el name y la url de CDN de la imagen para referenciarla desde la configuración.
Placements
Los placements son los puntos donde tus flows, paywalls y onboardings llegan a los usuarios. El tipo de contenido de un placement se fija en el momento de su creación, por lo que migrar una app de paywalls a flows implica crear nuevos placements en lugar de actualizar los existentes — la skill migrate-placements gestiona estos comandos para hacerlo en bloque.
adapty placements list
Lista todos los placements de una app.
adapty placements list --app <app-id>
| Flag | Obligatorio | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
Acepta flags de paginación.
Cada elemento contiene id, developer_id, title e is_active. is_active es true para un placement activo y false para uno inactivo.
adapty placements get
Obtén los detalles de un placement específico.
adapty placements get --app <app-id> <placement-id>
| Argumento | Descripción |
|---|---|
placement-id | ID del placement (UUID) |
| Flag | Requerido | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
La respuesta contiene id, developer_id, title, is_active y un array audiences. is_active es true para un placement activo y false para uno inactivo. Cada entrada de audiencia incluye content_type (paywall o flow), segment_ids, priority y paywall_id o flow_id. La audiencia por defecto tiene segment_ids: [] y el valor de prioridad más alto (la última en evaluarse). Consulta Forma del objeto audiences.
adapty placements create
Crea un nuevo placement.
adapty placements create --app <app-id> --title "Main" --developer-id "main" --audiences '[{"content_type":"paywall","segment_ids":[],"paywall_id":"<paywall-id>","priority":0}]'
| Flag | Obligatorio | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
--title | Sí | Título del placement |
--developer-id | Sí | Identificador de cadena utilizado en el código de la app para solicitar este placement |
--audiences | Uno de los dos | Array JSON de entradas de audiencia, cada una con un content_type explícito. Ver Formato de audiencias |
--paywall-id | Uno de los dos | Obsoleto. ID del paywall (UUID). Se envuelve en el lado del cliente en una única audiencia predeterminada |
Pasa exactamente uno de --audiences o --paywall-id. Si se pasan ambos o ninguno, se producirá un error.
--paywall-id está obsoleto y se eliminará. Al usarlo, la CLI muestra una advertencia en stderr y convierte el valor en una audiencia por defecto. Para nuevas automatizaciones, usa --audiences.
adapty placements update
Reemplaza todos los campos de un placement existente.
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}]'
Este comando reemplaza todos los campos del placement, incluida la lista completa de audiencias.
| Argumento | Descripción |
|---|---|
placement-id | ID del placement (UUID) |
| Flag | Obligatorio | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
--title | Sí | Título del placement |
--developer-id | Sí | Identificador de cadena usado en el código de la app para solicitar este placement |
--audiences | Uno de los dos | Array JSON de entradas de audiencia, cada una con un content_type explícito. Ver Formato de audiencias |
--paywall-id | Uno de los dos | Obsoleto. ID del paywall (UUID). Reemplaza todas las audiencias con una única audiencia predeterminada |
Al usar --paywall-id se sobreescriben todas las audiencias del placement. Las audiencias específicas de segmento se eliminan. Para conservarlas, usa --audiences e incluye todas las entradas que quieras mantener.
Forma de las audiencias
El flag --audiences acepta un array JSON. Cada entrada tiene:
| Campo | Tipo | Descripción |
|---|---|---|
content_type | string | "paywall" o "flow". Obligatorio en cada entrada. Todas las entradas de un placement deben tener el mismo valor |
segment_ids | string[] | IDs de segmento objetivo de esta audiencia. Longitud 0 o 1. Un array vacío indica la audiencia predeterminada — el fallback para usuarios que no coinciden con ningún otro segmento |
paywall_id | string | ID (UUID) del paywall que se muestra a los usuarios de esta audiencia. Obligatorio cuando content_type es "paywall" |
flow_id | string | ID (UUID) del flow que se muestra a los usuarios de esta audiencia. Obligatorio cuando content_type es "flow" |
priority | number | Basado en 0, único dentro del placement. Las audiencias se evalúan de menor a mayor; la audiencia predeterminada debe tener el valor más alto |
Un placement debe tener exactamente una audiencia predeterminada.
El tipo de contenido de un placement se fija al crearlo, por lo que placements update no puede cambiar un placement de paywall a flow ni al revés. Sirve el flow desde un placement propio; consulta Crear un nuevo placement para tu flow.
El CLI valida cada entrada antes de enviar la solicitud. Si una entrada tiene un content_type ausente o desconocido, o le falta el ID que requiere su content_type, el comando termina con el código 2 y no se envía nada.
Un flow solo puede adjuntarse una vez que ha sido publicado. Un flow en estado draft, o cuya primera publicación aún está en curso, es rechazado por el servidor; el CLI reconoce ese rechazo y finaliza con el código 2, imprimiendo el comando flows publish para ese flow. Para publicar un flow, usa flows publish o el Flow & Paywall Builder, y espera a que su estado llegue a published.
Ejemplo con una audiencia específica y una por defecto:
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}]'
Ejemplo de un placement que sirve un flow publicado a todos los usuarios:
adapty placements create --app <app-id> --title "Onboarding" --developer-id "onboarding" \
--audiences '[{"content_type":"flow","segment_ids":[],"flow_id":"<flow-id>","priority":0}]'
Para intercambiar un paywall en varios placements sin perder el enrutamiento por segmento:
-
Encuentra los placements afectados:
adapty paywalls placements --app <app-id> <old-paywall-id> -
Para cada uno, lee el array completo de
audiences:adapty placements get --app <app-id> <placement-id> --json -
Reemplaza los valores
paywall_idcoincidentes en el cliente. -
Escribe el payload modificado de vuelta:
adapty placements update --app <app-id> <placement-id> --title "<title>" --developer-id "<developer-id>" --audiences '<modified-payload>'
Segmentos
Los segmentos son de solo lectura a través de la CLI. Créalos y edítalos en el Adapty dashboard. Usa estos comandos para buscar los IDs de segmento al componer audiencias de placements.
adapty segments list
Lista todos los segmentos de una app.
adapty segments list --app <app-id>
| Flag | Requerido | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
Acepta flags de paginación.
adapty segments get
Obtén los detalles de un segmento específico.
adapty segments get --app <app-id> <segment-id>
| Argumento | Descripción |
|---|---|
segment-id | ID del segmento (UUID) |
| Flag | Requerido | Descripción |
|---|---|---|
--app | Sí | ID de la app (UUID) |
La respuesta contiene id, title y description. Las reglas de filtro no están expuestas a través de esta API.
Migraciones
Mueve un proyecto de RevenueCat a Adapty: su catálogo, y opcionalmente sus eventos de store y su historial de transacciones. Adapty ejecuta cada migración como una secuencia de pasos e indica qué acciones puedes ejecutar a continuación, así que lee status antes de cada acción. Para conocer el procedimiento completo, consulta Migración desde RevenueCat.
Todos los comandos excepto list, create, use, current y unuse aceptan el flag de migración:
| Flag | Obligatorio | Descripción |
|---|---|---|
-m, --migration | No | ID de migración. Sin él, el CLI usa la variable de entorno ADAPTY_MIGRATION, luego la migración guardada por create o use. |
adapty migrations list
Lista tus migraciones y los flows de migración que puedes iniciar, agrupados por app.
adapty migrations list
adapty migrations create
Inicia una migración y la guarda como la actual.
adapty migrations create --name <app-name>
adapty migrations create --flow <flow> --app <app-id>
| Flag | Obligatorio | Descripción |
|---|---|---|
--name | Uno de --name o --flow | Nombre de la nueva app de Adapty. Inicia la migración del catálogo. No se puede combinar con --flow ni con --app. |
--flow | Uno de --name o --flow | Flow que se iniciará en una app existente, tal como lo muestra adapty migrations list. Requiere --app. |
--app | Con --flow | ID de la app (UUID) |
--no-select | No | Crea la migración sin guardarla como la actual |
Los flows disponibles para una app existente tras su migración de catálogo:
| Flow | Descripción |
|---|---|
transactions | Importa el historial de transacciones desde una exportación diaria de RevenueCat Cloud Export |
transactions_support | Importa el historial de transacciones a través del soporte de RevenueCat y el soporte de Adapty, para los planes de RevenueCat sin Cloud Export |
apple_events | Reenvía las notificaciones de App Store a Adapty mientras RevenueCat sigue recibiéndolas |
google_events | Suscribe a Adapty al tema Pub/Sub que RevenueCat utiliza para las notificaciones de Google Play |
adapty migrations use
Guarda una migración como la actual, para que los demás comandos no necesiten -m.
adapty migrations use <migration-id>
| Argumento | Descripción |
|---|---|
migration-id | ID de migración obtenido con adapty migrations list |
La CLI verifica que tienes acceso a la migración antes de guardar el ID. La migración guardada pertenece al token actual y se aplica en cualquier terminal.
adapty migrations current
Muestra la migración actual y su origen: la variable de entorno ADAPTY_MIGRATION o la selección guardada.
adapty migrations current
adapty migrations unuse
Borra la migración guardada. Un valor ADAPTY_MIGRATION establecido en tu shell permanece activo hasta que lo elimines.
adapty migrations unuse
adapty migrations status
Muestra el estado de una migración, sus problemas y las acciones que puedes ejecutar a continuación.
adapty migrations status
| Flag | Requerido | Descripción |
|---|---|---|
--wait | No | Sondea hasta que la migración cambie y devuelve el estado más reciente |
--timeout | No | Tiempo de sondeo para --wait: de 1 a 600 segundos, 120 por defecto. Acepta 300, 300s o 5m. Requiere --wait. |
Con --json, next_actions y available_actions muestran el ID de cada acción, los recursos que lee, su input_schema y el texto de confirm.
El código de salida 0 indica que la solicitud se completó correctamente, no que la migración haya tenido éxito. Comprueba migration.state en la respuesta.
adapty migrations steps
Muestra el checklist de migración y el estado de cada paso.
adapty migrations steps
adapty migrations show
Lista los recursos que puedes leer ahora, o lee uno.
adapty migrations show [resource]
| Argument | Description |
|---|---|
resource | Resource name, for example apps, mapping, report, or export-config. Omit it to list the resources available at the current step. |
adapty migrations run
Ejecuta una acción de adapty migrations status.
adapty migrations run <action-id>
| Argument | Description |
|---|---|
action-id | Action ID from next_actions or available_actions in adapty migrations status |
| Indicador | Requerido | Descripción |
|---|---|---|
--input | No | Entrada de la acción como objeto JSON que coincide con el input_schema de la acción. Sin entrada, la CLI envía {}. |
--input-file | No | Ruta a un archivo con la entrada de la acción, o - para leerla desde stdin. No se puede combinar con --input. |
-y, --yes | Para acciones con texto confirm | Confirma la acción después de leer su texto confirm. No hay ningún prompt interactivo. |
--open | No | Abre el enlace de la acción incluso con una tubería o --json |
--no-browser | No | Imprime el enlace de la acción sin abrir un navegador |
Las acciones son de dos tipos:
- Acciones de entrada envían tus datos a Adapty, por ejemplo, las apps de RevenueCat que quieres migrar o tus decisiones de mapeo.
- Acciones externas abren una página en el Adapty Dashboard, por ejemplo, para pegar la clave de API secreta de RevenueCat. Completa la página y luego comprueba
status.
adapty migrations close
Finaliza o cancela una migración. No podrás reabrirla después.
adapty migrations close --outcome finish --yes
| Flag | Required | Description |
|---|---|---|
--outcome | Yes | finish marca la migración como completada; cancel la abandona |
-y, --yes | Yes | Confirma el cierre |
Auth
| Comando | Descripción |
|---|---|
adapty auth login | Autenticarse mediante el navegador usando el flujo de dispositivo |
adapty auth logout | Eliminar las credenciales almacenadas y la migración guardada localmente |
adapty auth whoami | Verificar el token con el servidor y mostrar información del usuario |
adapty auth status | Mostrar el estado de autenticación local sin llamar al servidor |
adapty auth revoke | Revocar el token en el servidor y luego eliminarlo junto con su migración guardada localmente |
Consulta Autenticación para obtener información detallada sobre cada comando.