Workflows
Un Workflow representa las etapas de una automatización que, en su forma más simple, transforma datos de origen en documentos de salida.
Fields
| Field | Type | Editable | Description |
|---|---|---|---|
| id | String | false | El ID único del workflow. Se utiliza para hacer referencia al workflow en todas las solicitudes. |
| name | String | true | El nombre del workflow. |
| color | String | true | El color del icono del workflow en Portant Workflow como cadena hexadecimal, con el prefijo #. |
| icon | String | true | El nombre del icono utilizado en Portant Workflow. |
| status | String | false | El estado actual del workflow. Uno de: - "COMPLETE": el workflow puede ejecutarse. - "INCOMPLETE": el workflow necesita más configuración antes de poder ejecutarse. - "ARCHIVED": el workflow ya no está disponible. |
| autoCreate | Boolean | false | Cuando es true, el workflow escucha eventos del origen y crea una nueva automatización cada vez que llega uno. |
| owner | Owner | false | El propietario de este workflow. |
| team | Team | false | El equipo al que pertenece este workflow. |
| source | Source | false | El origen de datos para este workflow. |
| documents | Document | false | Los documentos de plantilla para este workflow. |
| outgoingWebhook | false | El Webhook saliente de este workflow, utilizado para escuchar eventos de automatización. | |
| createdByApi | Boolean | false | Es true cuando el workflow fue creado a través de la API para desarrolladores. |
| createdAt | String | false | Una marca de tiempo ISO 8601 que indica cuándo se creó el workflow. |
| updatedAt | String | false | Una marca de tiempo ISO 8601 que indica cuándo se actualizó el workflow por última vez. |
Example
```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
GET /workflows/
Devuelve todos los Workflows que son propiedad del usuario de la API o que están compartidos con su equipo.
Responses
| Status | Body |
|---|---|
| 200 OK | Array<Workflow> |
| 403 Unauthorised | Error |
Create a workflow
POST /workflows/
Crea un nuevo workflow.
Request
Un objeto Workflow parcial en formato JSON. El único campo obligatorio es name.
{
name: "A simple workflow"
}
También puede crear un workflow completo en un único POST incluyendo los subcomponentes opcionales y sus campos obligatorios.
Los campos con el sufijo ? son opcionales.
{
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>"
}
}
Respuestas
| Estado | Cuerpo |
|---|---|
| 201 Created | Workflow |
| 400 Bad Request | Error |
| 403 Unauthorised | Error |
Recuperar un workflow
GET /workflows/<wkf_id>/
Recupera un workflow específico por ID.
Respuestas
| Estado | Cuerpo |
|---|---|
| 200 OK | Workflow |
| 403 Unauthorised | Error |
| 404 Not Found | Error |
Actualizar un workflow
PATCH /workflows/<wkf_id>/
Actualiza un workflow específico por ID.
Solicitud
Un objeto Workflow parcial en formato JSON. Los campos marcados con ? son opcionales.
{
name?: "...",
color?: "#...",
icon?: "..."
}
Respuesta
| Estado | Cuerpo |
|---|---|
| 200 OK | Workflow |
| 400 Bad Request | Error |
| 403 Unauthorised | Error |
| 404 Not Found | Error |
Eliminar un workflow
DELETE /workflows/<wkf_id>/
Elimina un workflow específico por ID. El workflow no se elimina de forma permanente; su estado se establece en "ARCHIVED". Los workflows archivados pueden restaurarse poniéndose en contacto con el equipo de atención al cliente.
Respuesta
| Estado | Cuerpo |
|---|---|
| 204 No Content | |
| 400 Bad Request | Error |
| 403 Unauthorised | Error |
| 404 Not Found | Error |