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)
| Field | Type | Editable | Description |
|---|---|---|---|
| id | String | false | L'identifiant unique du workflow. Utilisé pour référencer le workflow dans toutes les requêtes. |
| name | String | true | Le nom du workflow. |
| color | String | true | La couleur de l'icône du workflow dans Portant Workflow, sous forme de chaîne hexadécimale précédée de #. |
| icon | String | true | Le nom de l'icône utilisée dans Portant Workflow. |
| status | String | false | Le 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. |
| autoCreate | Boolean | false | Lorsque 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. |
| owner | Owner | false | Le propriétaire de ce workflow. |
| team | Team | false | L'équipe à laquelle appartient ce workflow. |
| source | Source | false | La source de données de ce workflow. |
| documents | Document | false | Les documents modèles de ce workflow. |
| outgoingWebhook | false | Le Webhook sortant de ce workflow, utilisé pour écouter les événements d'automatisation. | |
| createdByApi | Boolean | false | True lorsque le workflow a été créé via l'API développeur. |
| createdAt | String | false | Un horodatage ISO 8601 indiquant la date de création du workflow. |
| updatedAt | String | false | Un 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 |