Blueは、他のシステムにデータを送信するためのアウトゴーイングウェブフックをサポートしています。


ウェブフックは、何かが発生したときにあるアプリケーションから別のアプリケーションに送信される自動メッセージです。たとえば、Blueで新しいレコードが作成されると、ウェブフックを設定してそのレコードに関するデータを別のシステムに送信できます。

Blueのウェブフックは、イベントが発生してからミリ秒単位で即座にトリガーされます。このリアルタイムの特性により、Blueを他のビジネスシステムと統合する際に非常に貴重です。

ウェブフック

  • システム間でのリアルタイムデータ同期
  • Blueイベントに対する応答とアクションの実行能力
  • 変更を繰り返しポーリングする必要なし;即座にプッシュ
  • カスタム統合とワークフローの作成

前例のない制御

Blueのウェブフックは、以下の点で詳細な制御を提供します:

  • どのイベントがウェブフックをトリガーするか、どのプロジェクトからかを正確に指定
  • レコードの範囲を絞り込むためのフィルター
  • セキュリティを強化するための署名検証

ウェブフックの作成

Blueでは、プロジェクト管理者が個人設定の下でウェブフックを作成できます。指定する内容:

  • ウェブフック名
  • データを送信するペイロードURL
  • 署名用のオプションの秘密鍵

トリガー

ウェブフックは、以下を含むさまざまなBlueイベントによってトリガーされます:

  • レコードの作成/更新/削除
  • コメントの追加/編集
  • 担当者の変更
  • チェックリストのステータス変更
  • カスタムフィールドの値の変更
  • その他多数

ウェブフックペイロード

トリガーされると、Blueはイベントのすべての詳細を含むJSONペイロードを指定されたURLに送信します。

以下はペイロードの例です:

{
  "event": "RECORD_CREATED",
  "record": {
    "id": "1234",
    "title": "New record"
    ...
  },
  "company": {
    "id": "5678"  
  },
  "project": {
    "id": "91011"
  },
  "user": {
    "id": "1213" 
  }
}

署名

ペイロードが本当にBlueからのものであることを検証するために、オプションの署名を確認できます。OAuthと同様に、署名はペイロードの内容を選択した秘密鍵でハッシュ化することによって作成されます。

Node.jsでのサンプル検証

const crypto = require('crypto');
const key = 'secret'; 
const body = {...webhookPayload} 
const hash = crypto.createHmac('sha256', key).update(body);
const signature = hash.digest('hex');

追加の統合

カスタムウェブフックに加えて、BlueはZapierPabbly Connectなどのツールとの統合も提供し、Blueデータを数百の人気アプリと簡単に接続できます。

ウェブフックレスポンスの例

{

  "event": "TODO_CREATED",

  "webhook": {

    "id": "clb4qaopy0000vt24mlp28v03",

    "uid": "edb5b5d51dc9461a952160dbe72153b4",

    "name": "Testing webhook",

    "url": "https://httpdump.app/dumps/7cc66eda-8e83-4039-ba49-4c36db14d508",

    "secret": "",

    "status": "HEALTHY",

    "enabled": true,

    "metadata": {

      "events": [

        "TODO_CREATED",

        "TODO_DELETED",

        "TODO_MOVED",

        "TODO_NAME_CHANGED",

        "TODO_CHECKLIST_CREATED",

        "TODO_CHECKLIST_NAME_CHANGED",

        "TODO_CHECKLIST_DELETED",

        "TODO_CHECKLIST_ITEM_CREATED",

        "TODO_LIST_CREATED",

        "TODO_LIST_DELETED",

        "TODO_LIST_NAME_CHANGED",

        "COMMENT_CREATED",

        "COMMENT_DELETED",

        "COMMENT_UPDATED"

      ],

      "projectIds": [

        "clakt90vu000bvt64hhffqleq",

        "claulnu1y0000vtrcjurjgds4",

        "clb4gay0y000qvtzs8smaays8"

      ]

    },

    "createdById": "claksl2ye0000vtas0h0ln71e",

    "createdAt": "2022-12-01T07:01:25.014Z",

    "updatedAt": "2022-12-01T11:23:00.661Z"

  },

  "currentValue": {

    "id": "clb4zna6x0000vt1swuwso25f",

    "uid": "11021cb836f34732b31e5ebd5dd5eb27",

    "title": "GGGG",

    "html": null,

    "text": null,

    "position": "32767.5",

    "archived": false,

    "done": false,

    "startedAt": null,

    "duedAt": null,

    "timezone": null,

    "createdAt": "2022-12-01T11:23:09.000Z",

    "updatedAt": "2022-12-01T11:23:09.241Z",

    "createdById": "claksl2ye0000vtas0h0ln71e",

    "todoListId": "clakt9v5t000kvt64f563l90l",

    "todoCustomFields": [],

    "todoUsers": [],

    "todoTags": [],

    "todoList": {

      "id": "clakt9v5t000kvt64f563l90l",

      "uid": "df0e931e6e8f4fc2905ece9da167d2d3",

      "createdAt": "2022-11-17T08:29:22.000Z",

      "updatedAt": "2022-11-17T08:29:22.050Z",

      "title": "ETEST",

      "position": 131070,

      "createdById": "claksl2ye0000vtas0h0ln71e",

      "projectId": "clakt90vu000bvt64hhffqleq",

      "project": {

        "id": "clakt90vu000bvt64hhffqleq",

        "uid": "d7db469a8908496f8e5f5e68030fe4c8",

        "slug": "teest",

        "name": "TEEST",

        "description": "",

        "archived": false,

        "createdAt": "2022-11-17T08:28:43.000Z",

        "updatedAt": "2022-11-17T08:28:42.811Z",

        "isTemplate": false,

        "isOfficialTemplate": false,

        "category": "GENERAL",

        "companyId": "clakt8jud0002vt64205yyj10",

        "imageId": null,

        "hideEmailFromRoles": null,

        "company": {

          "id": "clakt8jud0002vt64205yyj10",

          "uid": "400eb3f8238c486caf40957618be9662",

          "slug": "rogue",

          "name": "Rogue",

          "description": null,

          "createdAt": "2022-11-17T08:28:21.000Z",

          "updatedAt": "2022-11-17T08:28:20.726Z",

          "freeTrialExpiredAt": "2022-12-01T08:28:15.000Z",

          "freeTrialStartedAt": "2022-11-17T08:28:15.000Z",

          "subscribedAt": null,

          "imageId": null,

          "subscriptionPlanId": "clakt8jue0003vt64e40q2prj",

          "freeTrialExtendedById": null,

          "freeTrialExtendedAt": null

        }

      }

    }

  }

}
開発者サポート


質問がある場合は、[support@blue.cc](support@blue.cc)までご連絡ください。私たちがサポートいたします。また、統合サポートのためのプロフェッショナルサービスも提供しています。

AIアシスタント

回答はAIを使用して生成されており、間違いが含まれる可能性があります。

どのようにお手伝いできますか?

Blueやこのドキュメントについて何でも聞いてください。

送信するにはEnterを押してください • 新しい行を作成するにはShift+Enterを押してください • ⌘Iで開く