Comandos de flows

Los flows son los paywalls y onboardings que construyes en el Flow & Paywall Builder. La CLI gestiona el registro del flow, su configuración del builder y la publicación. Una configuración del builder es un documento JSON extenso que normalmente genera el Flow & Paywall Builder, y la CLI no lo genera por sí sola. Para crear o editar una configuración desde la 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 enumeran aquí como referencia.

adapty flows list

Lista todos los flows de una aplicación.

adapty flows list --app <app-id>
FlagRequiredDescription
--appYesApp ID (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>
ArgumentDescription
flow-idFlow ID (UUID)
FlagRequiredDescription
--appYesApp ID (UUID)

La respuesta contiene id, name, status y updated_at. El status es uno de los siguientes:

EstadoSignificado
draftEl flow nunca ha sido publicado
publishedLa versión actual está activa
dirtyEl flow fue publicado anteriormente y la versión actual tiene cambios sin publicar. Los usuarios siguen viendo la última versión publicada
publishingLa publicación está en curso
publication_failedLa última publicación falló. Corrige la configuración y vuelve a publicar
archivedEl 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"
FlagObligatorioDescripción
--appSíID de la app (UUID)
--nameSíNombre del flow

adapty flows update

Renombra un flow.

adapty flows update --app <app-id> <flow-id> --name "Onboarding v2"
ArgumentDescription
flow-idID del flow (UUID)
FlagRequiredDescription
--appYesID de la app (UUID)
--nameYesNuevo 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>
ArgumentoDescripción
flow-idID del flow (UUID)
FlagObligatorioDescripción
--appSíID de la app (UUID)
--yes, -yNoPublica sin pedir confirmación. Obligatorio cuando la salida se redirige 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 con código de salida 2 en lugar de esperar una respuesta, así que usa --yes en scripts y sesiones de agentes.

La publicación es asíncrona: la respuesta devuelve status: publishing y el flow aún no está activo. Consulta flows get hasta que el estado pase a published o publication_failed. Si ocurre 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>
ArgumentDescription
flow-idFlow ID (UUID)
FlagRequiredDescription
--appYesApp 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 sobreescribir 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:

CampoDescripción
publication_statusEl estado de publicación de esta versión del flow: transforming, transformed, uploading, uploaded, published o failed
transform_errorEl error de transformación sin procesar: puede ser un payload JSON con los problemas o una cadena de resumen
publication_errorUn 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
ArgumentDescription
flow-idID del flow (UUID)
IndicadorRequeridoDescripción
--appSíID de la app (UUID)
--configUno de los dosConfiguración del Builder como cadena JSON
--config-fileUno de los dosRuta a un archivo JSON con la configuración del Builder, o - para leer desde stdin
--remote-configsNoArray JSON de entradas {locale, data}, donde data es el Remote Config como cadena
--expected-updated-atNoEl 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

Al escribir la configuración se 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
ArgumentoDescripción
flow-idID del flow (UUID)
FlagRequeridoDescripción
--appSíID de la app (UUID)
--configUna de las dosConfiguración del builder como cadena JSON
--config-fileUna de las dosRuta 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 termina con el código 1, por lo que los scripts pueden usarlo como condición de bloqueo.

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
ArgumentoDescripción
config-fileRuta a un archivo JSON de configuración del builder local
FlagPor defectoDescripción
--screenLa primera pantalla del flowID de pantalla a renderizar
--deviceiphone-14Marco de dispositivo en el que renderizar
--orientationportraitportrait o landscape

En la terminal, el comando abre la vista previa en tu navegador. Cuando se usa con pipes o con --json, imprime la URL en su lugar. La URL contiene toda la configuración y es larga: pásala por un pipe a una herramienta de capturas de pantalla en lugar de imprimirla. Las configuraciones de más de 32 KB aproximadamente 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
ArgumentoDescripción
fileRuta al archivo de imagen
FlagObligatorioDescripción
--appSíID de la app (UUID)

Formatos aceptados: GIF, HEIC, JPEG, PNG, SVG y WebP. La respuesta contiene el id, el name y la url del CDN de la imagen para referenciarla desde la configuración.

¿Qué viene ahora?