Limites
Les bornes numériques, règles de validation et erreurs courantes lors de la création d'une relance.
Cette page regroupe toutes les contraintes vérifiées à la validation d'un JSON de relance. Une relance qui ne respecte pas ces règles est refusée avec une liste explicite des problèmes.
Bornes numériques
| Élément | Minimum | Maximum |
|---|---|---|
Nombre de blocs dans nodes | 1 | 500 |
Nombre de liaisons dans edges | 0 | 1200 |
Longueur de name | 1 caractère | 160 caractères |
Longueur de description | 0 caractère | 500 caractères |
Longueur de id (bloc ou liaison) | 1 caractère | 120 caractères |
Longueur de data.label | 1 caractère | 160 caractères |
Longueur de data.subtitle | 0 caractère | 160 caractères |
Longueur de data.channel | 1 caractère | 80 caractères |
Longueur de data.description | 0 caractère | 500 caractères |
Longueur de edges[i].label | 0 caractère | 120 caractères |
Nombre d'entrées dans data.parameters | 0 | 24 |
Longueur d'une clé parameters | 1 caractère | 80 caractères |
Longueur d'une valeur parameters | 0 caractère | 500 caractères |
temperature (IA) | 0.0 | 1.0 |
max_output_tokens (IA) | 1 | 2000 |
timeout_seconds (HTTP) | 1 | 60 |
Règles de validation
Les règles suivantes sont vérifiées dans cet ordre. La première règle qui échoue interrompt la validation et le message d'erreur est affiché à l'utilisateur.
Règles structurelles
- La racine doit être un objet JSON valide.
- Le champ
nameest obligatoire, en texte non vide. - Le champ
statusest obligatoire, et doit valoirdraft,activeoupaused. - Le champ
trigger_typeest obligatoire, et doit valoirmissed_call,shopify,prestashop,csv_importouwebhook. - Le champ
nodesest obligatoire, et doit être un tableau non vide. - Le champ
edges, s'il est présent, doit être un tableau.
Règles sur les blocs
- Chaque bloc doit avoir un
iden texte non vide, unique dans le plan. - Chaque bloc doit avoir un
typeparmitrigger,condition,message,action. - Chaque bloc doit avoir un
positionavecxetynumériques. - Chaque bloc doit avoir un
dataavec unlabelen texte non vide et unchannelen texte non vide. - Le bloc de type
triggerdoit correspondre autrigger_typeà la racine (voir table de correspondance dans Déclencheurs). - Un plan doit contenir au moins un bloc de type
trigger. - Le
data.parametersd'un bloc, s'il est présent, doit être un objet (non un tableau) avec un maximum de 24 entrées. - Toutes les valeurs de
data.parametersdoivent être des chaînes de texte.
Règles sur les liaisons
- Chaque liaison doit avoir un
iden texte non vide, unique dans le plan. - Chaque liaison doit référencer un
sourceet untargetexistants dans le tableaunodes. - Le
labeld'une liaison, s'il est présent, doit être un texte de 120 caractères maximum.
Erreurs courantes
Voici les erreurs les plus fréquentes et la façon de les corriger.
Le type "depart" n'est pas autorisé
Vous avez utilisé depart au lieu de trigger. Les quatre types autorisés sont : trigger, condition, message, action. Corrigez toutes les valeurs de nodes[i].type.
Le trigger_type "appel_manque" n'est pas autorisé
Vous avez utilisé appel_manque au lieu de missed_call. Les cinq trigger_type autorisés sont : missed_call, shopify, prestashop, csv_import, webhook.
id dupliqué dans nodes
Deux blocs ont le même id. Chaque bloc doit avoir un identifiant unique. Préfixez par exemple les ids : trigger-1, check-1, send-wa-1, task-1.
La source "x" n'existe pas dans nodes
Une liaison référence un source ou un target qui n'existe pas. Vérifiez l'orthographe et l'unicité des ids.
Le champ "parameters" doit être un objet
parameters doit être un objet {}, pas un tableau [], pas une chaîne, pas un nombre. Toutes les valeurs à l'intérieur doivent être des chaînes de texte.
headers_json invalide : doit être du JSON en texte
Le champ headers_json doit contenir du JSON valide, mais sous forme de texte (avec guillemets échappés). Exemple : "{\"Authorization\": \"Bearer xxxxxx\"}".
Caractère inattendu à la ligne N
Le JSON contient une virgule manquante, une accolade non fermée, ou un caractère parasite. Re-vérifiez le JSON avec un validateur externe (par exemple jq . fichier.json).
Cycle détecté
Un plan qui forme un cycle infini (A → B → A) est accepté par la validation, mais détecté à l'exécution et la relance est mise en pause. Pour éviter ce problème, ne créez pas de boucle dans les liaisons.
Au-delà des limites
Si vous dépassez la limite des 500 blocs ou des 1200 liaisons, scindez votre relance en plusieurs relances plus petites. Une relance peut en déclencher une autre via un appel HTTP à l'API d'automatisation (voir Actions : Appeler une source HTTP).