Portant Docs

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)

FieldTypeEditableDescription
idStringfalseO ID único do workflow. Utilizado para referenciar o workflow em todas as requisições.
nameStringtrueO nome do workflow.
colorStringtrueA cor do ícone do workflow no Portant Workflow como uma string hexadecimal, com prefixo #.
iconStringtrueO nome do ícone utilizado no Portant Workflow.
statusStringfalseO 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.
autoCreateBooleanfalseQuando verdadeiro, o workflow monitora eventos de origem e cria uma nova automação a cada vez que um evento chega.
ownerOwnerfalseO proprietário deste workflow.
teamTeamfalseA equipe à qual este workflow pertence.
sourceSourcefalseA origem dos dados para este workflow.
documentsDocumentfalseOs documentos de modelo para este workflow.
outgoingWebhook

Outgoing

Webhook

falseO Webhook de saída deste workflow, utilizado para monitorar eventos de automação.
createdByApiBooleanfalseVerdadeiro quando o workflow foi criado via API do desenvolvedor.
createdAtStringfalseUm timestamp ISO 8601 indicando quando o workflow foi criado.
updatedAtStringfalseUm 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