Tüm Ürünler
Search
Belge Merkezi

Data Management:Özel webhook bildirimlerini kullanma

Son Güncelleme:Oct 04, 2026

SMS, e-posta, DingTalk, DingTalk sohbet robotu ve Lark üzerinden yapılan bildirimlere ek olarak, Data Management DMS özel webhook'ları da destekler.

Yapılandırma

Webhook'unuzu yapılandırmak için kişisel ayarlarınızdaki Webhook bölümüne gidin, uç nokta URL'nizi girin ve Webhook bildirim kanalını seçin.

Ayrıca bir imzalama yöntemi ve bir imzalama anahtarı yapılandırmanız gerekir. Webhook URL bağlantınızı doğrulamak için Test düğmesine tıklayın. Bildirim ayarları panelinde; DingTalk (exclusive), DingTalk, DingTalk chatbot, Email, Lark ve SMS gibi diğer kanalları da seçebilirsiniz.

Daha fazla bilgi için bkz. Kişisel bilgilerinizi ve bildirim yöntemlerinizi yapılandırma.

Olaylar

DMS'de bir bildirim tetiklendiğinde sistem, yapılandırdığınız webhook URL'sine bir HTTP POST isteği gönderir. İstek bir başlık ve gövdeden oluşur.

İstek başlığı

DMS-Event: Message Hook

İstek gövdesi

Parametre

Tür

Açıklama

submitterUid

String

İsteği gönderen kullanıcının UID değeri.

submitterName

String

İsteği gönderen kullanıcının adı.

category

String

Özellik modülü. Örnekler: bilet, görev orkestrasyonu veya veri ambarı geliştirme.

module

String

İş türü. Örnekler: izin başvurusu, veri değişikliği, şema tasarımı veya veri dışa aktarma.

event

String

Belirli olay. Örnekler: Onay Bekliyor, Başarılı ve Başarısız.

taskId

String

Biletin veya görev akışının ID değeri.

taskName

String

Görevin adı.

eventTime

String

Olayın gerçekleştiği zaman.

message

String

Sistemin yerleşik mesaj metni.

targetUsers

Array of objects

Hedeflenen alıcılar. Birden fazla alıcı desteklenir.

receivers

Array of objects

Gerçek alıcıları temsil eden nesne dizisi. Yapılandırılmış bir bildirim yöntemi olmayan kullanıcılar bildirim almaz.

uid

String

Alıcının UID değeri.

name

String

Alıcının adı.

signatureMethod

String

İmzalama yöntemi. Aşağıdaki imzalama yöntemleri desteklenir:

  • None (varsayılan): İmza kullanılmaz.

  • HMAC_SHA1: HMAC-SHA1 algoritmasını kullanır.

signatureText

String

Webhook URL'si, imzalama anahtarı ve mesaj olayından hesaplanan bir HmacSha1 değeri olan dijital imza. Örnek: 4mOdwflN1CgxxxxxxxuipuCYYWk=.

İstek gövdesi örneği

{
"messageEvent":{
    "submitterName":"xxx",
    "submitterUid":"167382665015xxxx",
    "category":"ticket",
    "event":"Succeeded",
    "eventTime":1625630049930,
    "message":"[Data Management DMS] Webhook test, code: 144619 ",
    "module":"data change",
    "receivers":[{"name":"xxx1","uid":"167382665015xxxx"},{"name":"xxx2","uid":"167382665016xxxx"}],
    "targetUsers":[{"name":"xxx1","uid":"167382665015xxxx"},{"name":"xxx2","uid":"167382665016xxxx"}],
    "taskName":"Webhook test"
    },
"signatureMethod":"HMAC_SHA1",
"signatureText":"4mOdwflN1Cg5NdM2XPuipuCYYWk="
 }

Yanıt örneği

{"root":"","success":true}                   //Success
{"root":"error message","success":false}     //Failure

İmza doğrulama

Bir imzalama anahtarı yapılandırdıysanız imzayı doğrulamak için aşağıdaki kodu kullanın.

// Verifies the signature of the incoming message
public void callback(String message) {
    JSONObject jsonObject = JSONObject.parseObject(message, Feature.OrderedField);
    String webhookUrl = "Your configured webhook URL";
    String signatureKey = "Your configured signature key";
    String origin = webhookUrl + signatureKey + JSON.toJSONString(jsonObject.getJSONObject("messageEvent"));
    // The signature from the DMS message
    String signatureText = jsonObject.getString("signatureText");
    // The signature calculated on your end
    String expectedSignatureText = signatureByHmacSha1(origin, signatureKey);
    assert Objects.equals(signatureText, expectedSignatureText);
}
public String signatureByHmacSha1(String origin, String key) {
    final String charset = "UTF-8";
    String result = "N/A";
    try {
        SecretKey secretKey = new SecretKeySpec(key.getBytes(charset), "HmacSHA1");
        Mac mac = Mac.getInstance("HmacSHA1");
        mac.init(secretKey);
        result = Base64.getEncoder().encodeToString(mac.doFinal(origin.getBytes(charset)));
    } catch (Exception ex){
    }
    return result;
}

Webhook alıcı örneği

Webhook uç noktanızı test etmek ve olay yükünü görüntülemek için basit bir echo betiği oluşturabilirsiniz.

  1. Aşağıdaki betiği print_http_body.rb olarak kaydedin.

    require 'webrick'
    server = WEBrick::HTTPServer.new(:Port => ARGV.first)
    server.mount_proc '/' do |req, res|
      puts req.body
    end
    trap 'INT' do
      server.shutdown
    end
    server.start
  2. Kullanılmayan bir bağlantı noktası seçin (örneğin 8000) ve betiği çalıştırın: ruby print_http_body.rb 8000.

  3. DMS konsolunda webhook URL'sini yapılandırın (örneğin, http://my.host:8000/). Daha fazla bilgi için bkz. Kişisel bilgilerinizi ve bildirim yöntemlerinizi yapılandırma.

    Sunucunuz HTTP Temel Kimlik Doğrulaması gerektiriyorsa kullanıcı adını ve parolayı URL'ye ekleyebilirsiniz. Örnek:

    http://userName:password@my.host:8080/project/test-job
  4. Modify notification method iletişim kutusunda webhook URL'nizin yanındaki Test seçeneğine tıklayın. Sunucunuz DMS'den bir test bildirimi alır.

    Sunucu aşağıdaki örneğe benzer bir bildirim alır:

    {
    "messageEvent":{
        "submitterName":"xxx",
        "submitterUid":"167382665015xxxx",
        "category":"ticket",
        "event":"Succeeded",
        "eventTime":1625630049930,
        "message":"[Data Management DMS] Webhook test, code: 144619 ",
        "module":"data change",
        "receivers":[{"name":"xxx1","uid":"167382665015xxxx"}],
        "targetUsers":[{"name":"xxx1","uid":"167382665015xxxx"}],
        "taskName":"Webhook test"
        },
    "signatureMethod":"HMAC_SHA1",
    "signatureText":"4mOdwflN1Cg5NdM2XPuipuCYYWk="
     }
    127.0.0.1 - - [20/Apr/2021:20:07:47 CST] "POST / HTTP/1.1" 200 0