Ana içeriğe geç

Kanal Web Kancaları

Harici bir sistemin içeriği doğrudan bir Emakin kanalına göndermesi veya bu kanalda vakalar oluşturup güncellemesi gerektiğinde kanal web kancalarını kullanın.

Web kancaları kanal özelliklerinden oluşturulur ve oluşturulan URL verildikten sonra ayrı bir kimlik doğrulama akışı gerektirmez.

Tipik İş Akışı

  1. Hedef kanalda bir web kancası oluşturun.
  2. Oluşturulan URL'yi kopyalayın.
  3. Harici sistemden bu URL'ye JSON yükleri gönderin.
  4. Aktivite mesajları için düz bir yük kullanın veya kanal vakalarını oluşturmak ya da güncellemek için tanımlayıcılar ekleyin.

Yeni Web Kancası Oluşturma

Yeni bir web kancası oluşturmak için:

  1. Entegrasyonun ileti göndereceği kanalı açın.
  2. Kanal menüsünden Düzenle'yi seçin.
  3. Şunu açın: Web Hooks sekmesini açıp şunu seçin: Add New.
  4. Kanca için bir amaç girin.
  5. Oluşturulan URL'yi şu aksiyonla kopyalayın: Copy aksiyonu.
  6. Kanal değişikliklerini kaydedin.

Oluşturulan URL'yi ve amaç alanını içeren kanal web hook ayarları.

Kanal Aktivitesini Gönderme

Kanca oluşturulduktan sonra kanalda yeni bir aktivite oluşturmak için JSON verisi gönderin. Oluşturulan web hook URL'si gerekli tanımlayıcı bilgileri zaten içerir.

Temel Mesaj Gönderme

1
2
3
4
5
6
7
POST /hooks/channels/f923d83a-3350-42d0-b9cb-620032730294/8459b574-62ea-4ea7-bbae-a132fbfee5df
Host: my.emakin.com
Content-Type: application/json

{
    "text": "my message"
}

Aktivite akışında temel kanal web hook mesajının sonucu.

Eklerle Birlikte Mesaj Gönderme

Aşağıdaki yük, hem dosya hem de bağlantı ekleri içeren bir mesaj gönderir:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
POST /hooks/channels/f923d83a-3350-42d0-b9cb-620032730294/8459b574-62ea-4ea7-bbae-a132fbfee5df
Host: my.emakin.com
Content-Type: application/json

{
    "text": "my message",
    "attachments": [
        {
            "@type": "file",
            "displayName": "my file",
            "ext": "txt",
            "url": "http://myserver/myfile"
        },
        {
            "@type": "link",
            "url": "http://www.google.com",
            "displayName": "http://www.google.com"
        }
    ]
}

Kanal içindeki dosya ve bağlantı eklerini içeren web hook mesajı.

Kanaldaki Yeni Vakayı Oluşturma

JSON yükü bir id özelliği içeriyorsa web hook yalnızca mesaj göndermek yerine yeni bir vaka oluşturur. id Bu özellik ilgili kanalda benzersiz olmalıdır. Aynı id yeniden gönderilirse kanca yinelenen bir vaka oluşturmaz.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
POST /hooks/channels/f923d83a-3350-42d0-b9cb-620032730294/8459b574-62ea-4ea7-bbae-a132fbfee5df
Host: my.emakin.com
Content-Type: application/json

{
    "id": "event1",
    "text": "my message",
    "attachments": [
        {
            "@type": "file",
            "displayName": "my file",
            "ext": "txt",
            "url": "http://myserver/myfile"
        },
        {
            "@type": "link",
            "url": "http://www.google.com",
            "displayName": "http://www.google.com"
        }
    ]
}

Bu yük yeni bir vaka oluşturur ve mesajı bu vakaya ekler.

Web hook mesajından kanalda oluşturulan vaka.

Mevcut Vakayı Güncelleme

Mevcut bir vakaya yeni bir mesaj eklemek için daha önce bildirilen vaka veya mesaj tanımlayıcısını içeren bir references dizi ekleyin.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
POST /hooks/channels/f923d83a-3350-42d0-b9cb-620032730294/8459b574-62ea-4ea7-bbae-a132fbfee5df
Host: my.emakin.com
Content-Type: application/json

{
    "id": "event2",
    "references": ["event1"],
    "text": "my message",
    "attachments": [
        {
            "@type": "file",
            "displayName": "my file",
            "ext": "txt",
            "url": "http://myserver/myfile"
        },
        {
            "@type": "link",
            "url": "http://www.google.com",
            "displayName": "http://www.google.com"
        }
    ]
}

Bu yük, mevcut vaka dizisine yeni bir mesaj ekler.

Yeni bir web hook mesajıyla güncellenen mevcut vaka.