Portant Docs

Workflows

Un Workflow représente les étapes d'une automatisation qui, dans sa forme la plus simple, transforme des données sources en documents de sortie.

Fields (Champs)

FieldTypeEditableDescription
idStringfalseL'identifiant unique du workflow. Utilisé pour référencer le workflow dans toutes les requêtes.
nameStringtrueLe nom du workflow.
colorStringtrueLa couleur de l'icône du workflow dans Portant Workflow, sous forme de chaîne hexadécimale précédée de #.
iconStringtrueLe nom de l'icône utilisée dans Portant Workflow.
statusStringfalseLe statut actuel du workflow. L'une des valeurs suivantes :
- "COMPLETE" : le workflow est exécutable.
- "INCOMPLETE" : le workflow nécessite une configuration supplémentaire avant de pouvoir s'exécuter.
- "ARCHIVED" : le workflow n'est plus utilisable.
autoCreateBooleanfalseLorsque la valeur est true, le workflow écoute les événements sources et crée une nouvelle automatisation à chaque fois qu'un événement est reçu.
ownerOwnerfalseLe propriétaire de ce workflow.
teamTeamfalseL'équipe à laquelle appartient ce workflow.
sourceSourcefalseLa source de données de ce workflow.
documentsDocumentfalseLes documents modèles de ce workflow.
outgoingWebhook

Outgoing

Webhook

falseLe Webhook sortant de ce workflow, utilisé pour écouter les événements d'automatisation.
createdByApiBooleanfalseTrue lorsque le workflow a été créé via l'API développeur.
createdAtStringfalseUn horodatage ISO 8601 indiquant la date de création du workflow.
updatedAtStringfalseUn horodatage ISO 8601 indiquant la date de dernière mise à jour du workflow.

Example (Exemple)

```json
{
    "id": "wkf_kGQK9PBWDT1JCr",
    "name": "Invoice Workflow",
    "icon": "DocumentText",
    "color": "#cccccc",
    "status": "COMPLETE",
    "autoCreate": true,
    "owner": {
        "id": "usr_DsH4TGYXs4XPpB",
        "name": "Blake Lockley",
        "email": "blake@portant.co"
    },
    "team": null,
    "source": {
        "id": "src_NZHJYjlgrvklHb",
        "sourceType": "WEBHOOK",
        "sourceFields": [
            "Order Number",
            "LineItem.Name",
            "LineItem.Price",
        ],
        "webhookUrl": "https://webhooks.portant.co/50c7912b14c7acbe9df32521ec60a27c"
    },
    "documents": [
        {
            "id": "doc_5LGGqC5S78RNS0",
            "documentType": "GOOGLE_DOCS",
            "file": {
                "id": "1uNfBHAKhcgRsiftb7xRpTJRS0k9LY1iX1gUnTOE0zU4",
                "name": "Complete Workflow Please - [Template]",
                "url": "https://docs.google.com/document/d/1uNfBHAKhcgRsiftb7xRpTJRS0k9LY1iX1gUnTOE0zU4/edit?usp=drivesdk",
                "mimeType": "application/vnd.google-apps.document"
            },
            "outputName": "Document for {{First Name}}",
            "pdfPassword": "jeRe/\/\eyWaZH3re",
            "enablePdfPassword": true,
            "enablePdfPreventCopy": false,
            "previewUrl": "https://preview.portant.co/doc_5LGGqC5S78RNS0"
        }
    ],
    "outgoingWebhook": {
        "id": "owc_XY1Ys4gqrpX8cp",
        "webhookUrl": "https://webhook.site/d22c56ab-40ac-4f9a-93ef-02520235c0da"
    },
    "createdByApi": true,
    "createdAt": "2024-08-12T16:20:44.346666+10:00",
    "updatedAt": "2024-08-12T16:20:48.408357+10:00"
}
```

Endpoints (Points de terminaison)

List all workflows (Lister tous les workflows)

GET /workflows/

Retourne tous les Workflows appartenant à l'utilisateur de l'API ou partagés avec son équipe.

Responses (Réponses)

Status Body
200 OK Array<Workflow>
403 Unauthorised Error

Create a workflow (Créer un workflow)

POST /workflows/

Crée un nouveau workflow.

Request (Requête)

Un objet Workflow partiel au format JSON. Le seul champ obligatoire est name.

{
    name: "A simple workflow"
}

Vous pouvez également créer un workflow complet en une seule requête POST en incluant les sous-composants optionnels et leurs champs obligatoires.

Les champs suffixés par ? sont optionnels.

{
    name: "A complete Workflow from Scratch",
    color?: "#...",
    icon?: "...",
    source?: {
        "sourceFields": ["Field Name 1", "Field Name 2"]
    },
    document?: {
        fileId: "<google file id>"
    },
    outgoingWebhook?: {
        webhookUrl: "<webhook url for event listening>"
    }
}

Réponses

Statut Corps
201 Created Workflow
400 Bad Request Error
403 Unauthorised Error

Récupérer un workflow

GET /workflows/<wkf_id>/

Récupérer un workflow spécifique par son identifiant.

Réponses

Statut Corps
200 OK Workflow
403 Unauthorised Error
404 Not Found Error

Mettre à jour un workflow

PATCH /workflows/<wkf_id>/

Mettre à jour un workflow spécifique par son identifiant.

Requête

Un objet Workflow partiel au format JSON. Les champs suivis de ? sont facultatifs.

{
    name?: "...",
    color?: "#...",
    icon?: "..."
 }

Réponse

Statut Corps
200 OK Workflow
400 Bad Request Error
403 Unauthorised Error
404 Not Found Error

Supprimer un workflow

DELETE /workflows/<wkf_id>/

Supprimer un workflow spécifique par son identifiant. Le workflow n'est pas réellement supprimé, son statut est défini sur "ARCHIVED". Les workflows archivés peuvent être restaurés en contactant l'équipe de support client.

Réponse

Statut Corps
204 No Content
400 Bad Request Error
403 Unauthorised Error
404 Not Found Error