Workflows
Um Workflow representa os estágios de uma automação que, em sua forma mais simples, transforma dados de origem em documentos de saída.
Fields (Campos)
| Field | Type | Editable | Description |
|---|---|---|---|
| id | String | false | O ID único do workflow. Utilizado para referenciar o workflow em todas as requisições. |
| name | String | true | O nome do workflow. |
| color | String | true | A cor do ícone do workflow no Portant Workflow como uma string hexadecimal, com prefixo #. |
| icon | String | true | O nome do ícone utilizado no Portant Workflow. |
| status | String | false | O status atual do workflow. Um dos seguintes: - "COMPLETE": o workflow pode ser executado. - "INCOMPLETE": o workflow precisa de mais configuração antes de poder ser executado. - "ARCHIVED": o workflow não está mais disponível para uso. |
| autoCreate | Boolean | false | Quando verdadeiro, o workflow monitora eventos de origem e cria uma nova automação a cada vez que um evento chega. |
| owner | Owner | false | O proprietário deste workflow. |
| team | Team | false | A equipe à qual este workflow pertence. |
| source | Source | false | A origem dos dados para este workflow. |
| documents | Document | false | Os documentos de modelo para este workflow. |
| outgoingWebhook | false | O Webhook de saída deste workflow, utilizado para monitorar eventos de automação. | |
| createdByApi | Boolean | false | Verdadeiro quando o workflow foi criado via API do desenvolvedor. |
| createdAt | String | false | Um timestamp ISO 8601 indicando quando o workflow foi criado. |
| updatedAt | String | false | Um timestamp ISO 8601 indicando quando o workflow foi atualizado pela última vez. |
Example (Exemplo)
```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
List all workflows (Listar todos os workflows)
GET /workflows/
Retorna todos os Workflows pertencentes ao usuário da API ou compartilhados com a equipe desse usuário.
Responses (Respostas)
| Status | Body |
|---|---|
| 200 OK | Array<Workflow> |
| 403 Unauthorised | Error |
Create a workflow (Criar um workflow)
POST /workflows/
Cria um novo workflow.
Request (Requisição)
Um objeto Workflow parcial em formato JSON. O único campo obrigatório é name.
{
name: "A simple workflow"
}
Também é possível criar um workflow completo em um único POST incluindo os subcomponentes opcionais e seus campos obrigatórios.
Os campos com sufixo ? são opcionais.
{
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>"
}
}
Respostas
| Status | Body |
|---|---|
| 201 Created | Workflow |
| 400 Bad Request | Error |
| 403 Unauthorised | Error |
Recuperar um workflow
GET /workflows/<wkf_id>/
Recupere um workflow específico pelo ID.
Respostas
| Status | Body |
|---|---|
| 200 OK | Workflow |
| 403 Unauthorised | Error |
| 404 Not Found | Error |
Atualizar um workflow
PATCH /workflows/<wkf_id>/
Atualize um workflow específico pelo ID.
Requisição
Um objeto Workflow parcial em formato JSON. Os campos com sufixo ? são opcionais.
{
name?: "...",
color?: "#...",
icon?: "..."
}
Resposta
| Status | Body |
|---|---|
| 200 OK | Workflow |
| 400 Bad Request | Error |
| 403 Unauthorised | Error |
| 404 Not Found | Error |
Excluir um workflow
DELETE /workflows/<wkf_id>/
Exclua um workflow específico pelo ID. O workflow não é excluído de fato; seu status é definido como "ARCHIVED". Workflows arquivados podem ser restaurados entrando em contato com a equipe de sucesso do cliente.
Resposta
| Status | Body |
|---|---|
| 204 No Content | |
| 400 Bad Request | Error |
| 403 Unauthorised | Error |
| 404 Not Found | Error |