Workflows
Workflow(ワークフロー)は、最もシンプルな形では、ソースデータを出力ドキュメントに変換するオートメーションのステージを表します。
Fields(フィールド)
| Field | Type | Editable | Description |
|---|---|---|---|
| id | String | false | ワークフローの一意のIDです。すべてのリクエストでワークフローを参照する際に使用します。 |
| name | String | true | ワークフローの名前です。 |
| color | String | true | Portant Workflow におけるワークフローアイコンの色を、# を先頭に付けた16進数文字列で表したものです。 |
| icon | String | true | Portant Workflow で使用されるアイコンの名前です。 |
| status | String | false | ワークフローの現在のステータスです。以下のいずれかになります。 - "COMPLETE": ワークフローは実行可能な状態です。 - "INCOMPLETE": ワークフローを実行するには、さらに設定が必要です。 - "ARCHIVED": ワークフローは使用できない状態です。 |
| autoCreate | Boolean | false | true の場合、ワークフローはソースイベントを監視し、イベントが届くたびに新しいオートメーションを作成します。 |
| owner | Owner | false | このワークフローのオーナーです。 |
| team | Team | false | このワークフローが属するチームです。 |
| source | Source | false | このワークフローのデータソースです。 |
| documents | Document | false | このワークフローのテンプレートドキュメントです。 |
| outgoingWebhook | false | このワークフローの Outgoing Webhook です。オートメーションイベントの監視に使用します。 | |
| createdByApi | Boolean | false | ワークフローが Developer API 経由で作成された場合に true になります。 |
| createdAt | String | false | ワークフローが作成された日時を示す ISO 8601 タイムスタンプです。 |
| updatedAt | String | false | ワークフローが最後に更新された日時を示す ISO 8601 タイムスタンプです。 |
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(エンドポイント)
すべてのワークフローを一覧表示する
GET /workflows/
API ユーザーが所有する、またはそのチームと共有されているすべての Workflow を返します。
Responses(レスポンス)
| Status | Body |
|---|---|
| 200 OK | Array<Workflow> |
| 403 Unauthorised | Error |
ワークフローを作成する
POST /workflows/
新しいワークフローを作成します。
Request(リクエスト)
JSON 形式の 部分的な Workflow オブジェクトを指定します。必須フィールドは name のみです。
{
name: "A simple workflow"
}
オプションのサブコンポーネントとその必須フィールドを含めることで、1 回の POST でワークフロー全体を作成することもできます。
? が付いたフィールドはオプションです。
{
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>"
}
}
レスポンス
| ステータス | ボディ |
|---|---|
| 201 Created | Workflow |
| 400 Bad Request | Error |
| 403 Unauthorised | Error |
ワークフローの取得
GET /workflows/<wkf_id>/
IDを指定して特定のワークフローを取得します。
レスポンス
| ステータス | ボディ |
|---|---|
| 200 OK | Workflow |
| 403 Unauthorised | Error |
| 404 Not Found | Error |
ワークフローの更新
PATCH /workflows/<wkf_id>/
IDを指定して特定のワークフローを更新します。
リクエスト
JSON形式の部分的な Workflowオブジェクトです。?が付いたフィールドは省略可能です。
{
name?: "...",
color?: "#...",
icon?: "..."
}
レスポンス
| ステータス | ボディ |
|---|---|
| 200 OK | Workflow |
| 400 Bad Request | Error |
| 403 Unauthorised | Error |
| 404 Not Found | Error |
ワークフローの削除
DELETE /workflows/<wkf_id>/
IDを指定して特定のワークフローを削除します。ワークフローは実際には削除されず、ステータスが"ARCHIVED"に設定されます。アーカイブされたワークフローは、カスタマーサクセスチームに連絡することで復元できます。
レスポンス
| ステータス | ボディ |
|---|---|
| 204 No Content | |
| 400 Bad Request | Error |
| 403 Unauthorised | Error |
| 404 Not Found | Error |