Commandes Flows

Les flows sont les paywalls et onboardings que vous créez dans le Flow & Paywall Builder. Le CLI gère le flow, sa configuration builder et sa publication. Une configuration builder est un volumineux document JSON que le Flow & Paywall Builder produit normalement — le CLI n’en génère pas. Pour créer ou modifier une configuration depuis le terminal, utilisez le skill flow-generator, qui pilote ces commandes à votre place. Avant la publication, le skill flow-audit vérifie si le flow est prêt pour la production. Les commandes sont listées ici à titre de référence.

adapty flows list

Lister tous les flows d’une application.

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

Accepte les flags de pagination.

adapty flows get

Obtenir les détails d’un flow spécifique.

adapty flows get --app <app-id> <flow-id>
ArgumentDescription
flow-idID du flow (UUID)
FlagRequisDescription
--appOuiID de l’app (UUID)

La réponse contient id, name, status et updated_at. Le statut est l’un des suivants :

StatutSignification
draftLe flow n’a jamais été publié
publishedLa version actuelle est en ligne
dirtyLe flow a déjà été publié, et la version actuelle comporte des modifications non publiées. Les utilisateurs continuent de voir la dernière version publiée
publishingLa publication est en cours
publication_failedLa dernière publication a échoué. Corrigez la configuration et publiez à nouveau
archivedLe flow est archivé

adapty flows create

Créer un flow. Le nouveau flow a un nom et pas de configuration. Pour ajouter une configuration, utilisez flows config update.

adapty flows create --app <app-id> --name "Onboarding"
FlagRequisDescription
--appOuiID de l’app (UUID)
--nameOuiNom du flow

adapty flows update

Renommer un flow.

adapty flows update --app <app-id> <flow-id> --name "Onboarding v2"
ArgumentDescription
flow-idIdentifiant du flow (UUID)
FlagRequisDescription
--appOuiIdentifiant de l’app (UUID)
--nameOuiNouveau nom du flow

adapty flows publish

Publiez la version actuelle d’un flow auprès de vos utilisateurs.

adapty flows publish --app <app-id> <flow-id>
ArgumentDescription
flow-idID du flow (UUID)
FlagRequisDescription
--appOuiID de l’app (UUID)
--yes, -yNonPublier sans demander de confirmation. Requis lorsque la sortie est redirigée ou que --json est utilisé

Comme la publication modifie ce que voient vos utilisateurs, la commande affiche le nom du flow et demande une confirmation. Toute réponse autre que y annule la commande avec le code de sortie 1. Avec --json ou dans un pipe, la commande refuse avec le code de sortie 2 plutôt que d’attendre une réponse ; passez donc --yes dans les scripts et les sessions d’agent.

La publication est asynchrone : la réponse indique status: publishing, et le flow n’est pas encore actif. Interrogez flows get jusqu’à ce que le statut devienne published ou publication_failed. En cas de publication_failed, flows config get indique la raison de l’échec.

La publication échoue avec une erreur HTTP 400 si le flow n’a pas de configuration, si la configuration n’est pas publiable, ou si la version actuelle est déjà active. Pour vérifier une configuration avant de la publier, utilisez flows config validate.

adapty flows config get

Lit la configuration du builder d’un flow.

adapty flows config get --app <app-id> <flow-id>
ArgumentDescription
flow-idID du flow (UUID)
FlagRequisDescription
--appOuiID de l’app (UUID)

La réponse contient config, remote_configs, status et updated_at. updated_at est un horodatage en millisecondes de la dernière modification de la configuration. Passez-le à flows config update via --expected-updated-at pour éviter d’écraser une modification concurrente. Un flow dont la configuration n’a jamais été écrite renvoie une erreur 404.

Après une tentative de publication, la réponse contient également trois champs décrivant le résultat. Lisez-les lorsque flows get indique publication_failed :

ChampDescription
publication_statusÉtat d’avancement de la publication de cette version du flow : transforming, transformed, uploading, uploaded, published, ou failed
transform_errorL’erreur brute de transformation — soit un payload JSON listant les problèmes, soit une chaîne récapitulative
publication_errorUn message lisible en cas d’échec de publication

adapty flows config update

Écrit la configuration du builder d’un flow.

adapty flows config update --app <app-id> <flow-id> --config-file config.json
ArgumentDescription
flow-idIdentifiant du flow (UUID)
FlagRequisDescription
--appOuiID de l’app (UUID)
--configL’un des deuxConfig du builder sous forme de chaîne JSON
--config-fileL’un des deuxChemin vers un fichier JSON contenant la config du builder, ou - pour lire depuis stdin
--remote-configsNonTableau JSON d’entrées {locale, data}, où data est le Remote Config sous forme de chaîne
--expected-updated-atNonLa valeur updated_at issue d’un précédent flows config get. Si la config a changé depuis cette lecture, la commande échoue au lieu d’écraser la modification. Omettez-le pour écraser sans condition

La sauvegarde de la config crée un brouillon et ne publie pas le flow. Sur un flow déjà publié, l’écriture crée une nouvelle version : le statut du flow passe à dirty, et les utilisateurs continuent de voir la version publiée jusqu’à ce que vous exécutiez flows publish.

adapty flows config validate

Vérifie si une configuration de builder est publiable, sans la sauvegarder.

adapty flows config validate --app <app-id> <flow-id> --config-file config.json
ArgumentDescription
flow-idID du flow (UUID)
FlagRequisDescription
--appOuiID de l’app (UUID)
--configL’un des deuxConfiguration du builder sous forme de chaîne JSON
--config-fileL’un des deuxChemin vers un fichier JSON contenant la configuration du builder, ou - pour lire depuis stdin

La réponse contient valid et une liste de issues. Lorsque la config n’est pas publiable, la commande quitte avec le code 1, ce qui permet aux scripts de s’en servir comme condition.

adapty flows config preview

Affiche un fichier de configuration local dans le navigateur. Cette commande n’effectue aucun appel API et n’accepte pas l’option --app.

adapty flows config preview ./config.json --screen <screen-id> --device iphone-14 --orientation portrait
ArgumentDescription
config-fileChemin vers un fichier JSON de configuration du builder local
OptionDéfautDescription
--screenPremier écran du flowID de l’écran à afficher
--deviceiphone-14Cadre de l’appareil à utiliser pour le rendu
--orientationportraitportrait ou landscape

Dans un terminal, la commande ouvre la prévisualisation dans votre navigateur. Avec --json ou dans un pipeline, elle affiche l’URL à la place. L’URL contient toute la configuration et peut être très longue : redirigez-la vers un outil de capture d’écran plutôt que de l’afficher. Les configurations de plus de 32 Ko environ s’affichent lentement.

adapty flows media upload

Envoyez une image à utiliser dans la configuration d’un flow.

adapty flows media upload --app <app-id> ./hero.png
ArgumentDescription
fileChemin vers le fichier image
FlagRequisDescription
--appOuiID de l’app (UUID)

Formats acceptés : GIF, HEIC, JPEG, PNG, SVG et WebP. La réponse contient l’id, le name et l’url CDN de l’image à référencer depuis la configuration.

Et ensuite