Intégrer un workflow par API

Créer un nouveau Job

Pour charger un document dans un Workflow donné, vous avez besoin :

  • du headers pour vous authentifier (voir Authentification)

  • du workflow_uuid (str), c’est-à-dire l’uuid du worflow qui ne changera pas en fonction de sa version. Vous pouvez également prendre le workflow_id (int), mais gardez à l'esprit que ce dernier sera incrémenter lors de la publication d'une nouvelle version.

  • du folder_path, c’est-à-dire le répertoire dans lequel sont stockés les documents

Si l'extrait de code ci-dessous s'exécute correctement, la variable file_id est incrémentée avec les ID de jobs.

import os
import requests

URL_SERVER = 'https://staging.workflow.recital.ai/workflows/api/v1'
workflow_uuid = "..."
folder_path = "..."
callback_url = "..."

files    = os.listdir(folder_path)
files_id = []
for file_name in files:
    file_path = folder_path+file_name
    with open(file_path, "rb") as file:
        file_post = requests.post(
            url=f'{URL_SERVER}/jobs/',
            files={"file": (file_name, file, "application/pdf")},
            params={"workflow_uuid": workflow_uuid}
            headers=headers
        )
        if file_post.status_code == 201:
            files_id.append(file_post.json()) # JSON response contains the files_id
        else:
            raise Exception(f'{file_path} has not been uploaded - {file_post.status_code

Si l'envoie du document s'est bien passé, vous pourrez suivre l'évolution de votre document dans l'onglet "Jobs" du Workflow.

Dernière mise à jour