logo
Développement
Rechercher
Exécuter un workflow

Exécuter un workflow

Après avoir activé l'API Workflow et créé une clé API, vous pouvez invoquer le workflow via des entrées API et obtenir les résultats de l'exécution du workflow.

Méthode

POST

URL

https://api-${endpoint}.gptbots.ai/v1/workflow/invoke

Authentification

Pour plus de détails, consultez la méthode d'authentification dans la Présentation de l'API.

Requête

Exemple

curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/workflow/invoke' \ -H 'Authorization: Bearer ${API Key}' \ -H 'Content-Type: application/json' \ -d '{ "userId": "<your_user_id>", "input": { <your_workflow_input_params> }, "isAsync": true, "webhook": [ { "method": "POST", "url": "https://example-1.com", "headers": { "Accept": "application/json", "Authorization": "Bearer <your_token>" } }, { "method": "GET", "url": "https://example-2.com?fr=google", "headers": { "Accept": "application/json", "Authorization": "Bearer <your_token>" } } ] }'
                      
                      curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/workflow/invoke' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
    "userId": "<your_user_id>",
    "input": {
        <your_workflow_input_params>
    },
    "isAsync": true,
    "webhook": [
        {
            "method": "POST",
            "url": "https://example-1.com",
            "headers": {
                "Accept": "application/json",
                "Authorization": "Bearer <your_token>"
            }
        },
        {
            "method": "GET",
            "url": "https://example-2.com?fr=google",
            "headers": {
                "Accept": "application/json",
                "Authorization": "Bearer <your_token>"
            }
        }
    ]
}'

                    
Ce bloc de code dans la fenêtre flottante

En-têtes

Champ Type Obligatoire Description
Authorization Bearer ${API Key} O Validez les appels en utilisant Authorization: Bearer ${API Key} ; obtenez la clé sur la page des clés API en tant que clé API.
Content-Type application/json O Type de données, la valeur fixe est application/json.

Corps

Champ Type Obligatoire Description
userId String N Sert à identifier l'ID utilisateur de cette requête.
input Object O Le nœud "start" du workflow. Cet objet doit contenir une structure de paramètres d'entrée correspondant exactement à la configuration du nœud "start" du workflow.
isAsync Boolean N Définit si cette requête s'exécute de manière asynchrone.
- true : exécution asynchrone.
- false (par défaut) : exécution synchrone.
Remarque : Si true, vous pouvez soit utiliser "Résultat de la requête du workflow" pour récupérer le résultat, soit envoyer le résultat à l'adresse définie par "Webhook". Ces deux méthodes ne sont pas incompatibles.
webhook Tableau d'objets N Lors d'une opération asynchrone, le résultat d'exécution du workflow peut être envoyé au Webhook spécifié. Jusqu'à 5 entrées Webhook peuvent être définies.
webhook[].method String O Méthode de requête du Webhook.
webhook[].url String O URL (adresse) du Webhook.
webhook[].headers Object N En-têtes pour la requête Webhook, à définir selon les besoins.

Réponse

Exemple

Si l'exécution est synchrone, le résultat est le suivant :

{ "workflowId": "xxxxxxxx", "workflowName": "todayNews", "workflowVersion": "1.0.1", "workflowRunId": "xxxxxxxx", "input": { "topic": "News" }, "output": { "news": [ { "summary": "Un accident mortel bloque une autoroute principale à Haleiwa. Selon les services médicaux d'urgence, les ambulanciers sont intervenus sur les lieux de l'accident mercredi matin.", "media": "Hawaii News Now", "title": "Hawaii News Now - Breaking News, Latest News, Weather & Traffic" }, { "summary": "Crime à Hawaii : Un homme de 65 ans grièvement blessé dans une agression à Waikīkī. Jamil Hart reconnu coupable dans l'affaire de meurtre de Mililani. La police démantèle une salle de jeux illégale à Nanakuli.", "media": "KHON2", "title": "KHON2 : Hawaii News, Weather, Sports, Breaking News & Live" } ] }, "workflowExecutionTime": 8347, "status": "SUCCEED", "totalCost": 0.6928, "totalTokens": 1745, "startTime": 1758765323024, "endTime": 1758765331373 }
                      
                      {
    "workflowId": "xxxxxxxx",
    "workflowName": "todayNews",
    "workflowVersion": "1.0.1",
    "workflowRunId": "xxxxxxxx",
    "input": {
        "topic": "News"
    },
    "output": {
        "news": [
            {
                "summary": "Un accident mortel bloque une autoroute principale à Haleiwa. Selon les services médicaux d'urgence, les ambulanciers sont intervenus sur les lieux de l'accident mercredi matin.",
                "media": "Hawaii News Now",
                "title": "Hawaii News Now - Breaking News, Latest News, Weather & Traffic"
            },
            {
                "summary": "Crime à Hawaii : Un homme de 65 ans grièvement blessé dans une agression à Waikīkī. Jamil Hart reconnu coupable dans l'affaire de meurtre de Mililani. La police démantèle une salle de jeux illégale à Nanakuli.",
                "media": "KHON2",
                "title": "KHON2 : Hawaii News, Weather, Sports, Breaking News & Live"
            }
        ]
    },
    "workflowExecutionTime": 8347,
    "status": "SUCCEED",
    "totalCost": 0.6928,
    "totalTokens": 1745,
    "startTime": 1758765323024,
    "endTime": 1758765331373
}

                    
Ce bloc de code dans la fenêtre flottante

Si l'exécution est asynchrone, cette API retournera immédiatement le résultat suivant :

{ "workflowId": "xxxxxxxx", "workflowName": "todayNews", "workflowVersion": "1.0.1", "workflowRunId": "xxxxxxxx", "status": "PENDING" }
                      
                      {
    "workflowId": "xxxxxxxx",
    "workflowName": "todayNews",
    "workflowVersion": "1.0.1",
    "workflowRunId": "xxxxxxxx",
    "status": "PENDING"
}

                    
Ce bloc de code dans la fenêtre flottante

Vous pouvez interroger de manière asynchrone le résultat de l'exécution à l'aide du workflowRunId obtenu.

Corps

Champ Type Description
workflowId String ID du workflow.
workflowName String Nom du workflow.
workflowVersion String Numéro de version du workflow.
workflowRunId String ID d'exécution du workflow, utilisé pour identifier de manière unique cette exécution.
input Object Entrée pour le nœud "start", identique à l'entrée de la requête.
output Object Sortie du nœud "end", contenant les résultats de l'exécution du workflow.
workflowExecutionTime Number Temps d'exécution du workflow, en millisecondes.
status String Statut de l'invocation du workflow, valeurs possibles :
- SUCCEED : succès
- FAILED : échec
- PENDING : en attente
- RUNNING : en cours
totalCost Number Coût total en crédits pour cette exécution.
totalTokens Number Nombre total de jetons consommés pour cette exécution.
startTime Number Horodatage de début, en millisecondes.
endTime Number Horodatage de fin, en millisecondes.