Ana içeriğe geç

Kanal Web Kancaları

Harici bir sistemin içeriği doğrudan bir Emakin kanalına göndermesi veya o 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 yalın bir yük kullanın veya kanal vakalarını oluşturmak ya da güncellemek için tanımlayıcılar ekleyin.

Yeni Web Hook Oluşturma

Yeni bir web hook oluşturmak için:

  1. Tümleştirmenin mesaj göndermesi gereken kanalı açın.
  2. Kanal menüsünden Düzenle’yi seçin.
  3. sekmesini açın Web Hooks ve Yeni Ekle’yi.
  4. Hook için bir amaç girin.
  5. Oluşturulan URL’yi Kopyala eylemiyle kopyalayın.
  6. Kanal değişikliklerini kaydedin.

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

Kanal Aktivitesi Gönderme

Hook 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 Bir 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 görüntülenen temel kanal web hook mesajı sonucu.

Ekli Bir 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"
        }
    ]
}

Kanalda dosya ve bağlantı ekleri içeren web hook mesajı.

Bir Kanalda Yeni Vaka Oluşturma

JSON yükü bir id özelliği içeriyorsa web hook, yalnızca mesaj göndermek yerine yeni bir vaka oluşturur. Bu id özellik kanal içinde benzersiz olmalıdır. Aynı id yeniden gönderilirse hook 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ıyla kanalda oluşturulan vaka.

Mevcut Bir Vakayı Güncelleme

Mevcut bir vakaya yeni mesaj eklemek için, daha önce bildirilen vaka veya mesaj tanımlayıcısını içeren bir references dizisi 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 web hook mesajıyla güncellenmiş mevcut vaka.