Blue mendukung Webhook keluar untuk mengirim data ke sistem lain.


Webhook adalah pesan otomatis yang dikirim dari satu aplikasi ke aplikasi lain ketika sesuatu terjadi. Misalnya, ketika catatan baru dibuat di Blue, webhook dapat dikonfigurasi untuk mengirim data tentang catatan tersebut ke sistem lain.

Webhook Blue dipicu secara instan, dalam milidetik setelah peristiwa terjadi. Sifat real-time ini menjadikannya sangat berharga untuk mengintegrasikan Blue dengan sistem bisnis lainnya.

Webhook

  • Penyelarasan data real-time di seluruh sistem
  • Kemampuan untuk merespons dan mengambil tindakan pada peristiwa Blue
  • Tidak perlu melakukan polling berulang kali untuk perubahan; langsung dikirim
  • Buat integrasi dan alur kerja kustom

Kontrol yang Tak Tertandingi

Webhook Blue memberi Anda kontrol yang sangat rinci atas:

  • Persis peristiwa mana yang harus memicu webhook dan dari proyek mana
  • Filter untuk mempersempit lingkup catatan
  • Validasi tanda tangan untuk keamanan yang lebih baik

Membuat Webhook

Di Blue, Administrator Proyek dapat membuat webhook di bawah pengaturan pribadi. Anda menentukan:

  • Nama webhook
  • URL payload untuk mengirim data
  • Rahasia opsional untuk tanda tangan

Pemicu

Webhook dapat dipicu oleh berbagai peristiwa Blue, termasuk:

  • Catatan dibuat/diperbarui/dihapus
  • Komentar ditambahkan/diedit
  • Penugasan diubah
  • Status checklist diubah
  • Nilai bidang kustom diubah
  • Dan banyak lagi

Payload Webhook

Ketika dipicu, Blue mengirim payload JSON yang berisi semua detail peristiwa ke URL yang Anda tentukan.

Berikut adalah contoh payload:

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

Tanda Tangan

Untuk memvalidasi bahwa payload benar-benar berasal dari Blue, tanda tangan opsional dapat diperiksa. Mirip dengan OAuth, tanda tangan dibuat dengan menghash konten payload menggunakan kunci rahasia yang Anda pilih.

Contoh Validasi di 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');

Integrasi Tambahan

Selain webhook kustom, Blue juga menawarkan integrasi dengan alat seperti Zapier dan Pabbly Connect untuk menyederhanakan penghubungan data Blue dengan ratusan aplikasi populer.

Contoh respons Webhook

{

  "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

        }

      }

    }

  }

}
Dukungan Pengembang


Jika Anda memiliki pertanyaan, silakan hubungi kami di [support@blue.cc](support@blue.cc), dan kami dapat membantu. Kami juga menawarkan layanan profesional untuk dukungan integrasi.

Asisten AI

Respon dihasilkan menggunakan AI dan mungkin mengandung kesalahan.

Bagaimana saya bisa membantu Anda?

Tanyakan apa saja tentang Blue atau dokumentasi ini.

Masukkan untuk mengirim • Shift+Masukkan untuk baris baru • ⌘I untuk membuka