Webhooks – Biz size dönüş yaparız

Webhooks ile ArcGIS Enterprise üzerinde yapmış olduğunuz faaliyetleri başka uygulama, sunucu vb bildirerek interaktif entegrasyonlar sağlayabilirsiniz. Portal üzerinde gerçekleştirmiş olduğunuz oluşturma, yönetme ve konfigure etme işlemlerini webhooks ile tetikleyerek başka bir sunucuya istekler gönderebilirsiniz. Ufak bir örnek vermek gerekecek olursa, bir katmana veri girişi olduğu zaman bu veri girişini bir uygulamaya veya kendinizin geliştirmiş olduğu uygulamaya bildiri yapabilirsiniz. Bu şekilde aktivite odaklı iş akışlarınızı otomatikleştirebilirsiniz.  Webhooks özelliğinin ArcGIS Enterprise 10.7 ile kullanıma sunulduğunu hatırlatmakta fayda var.

Webhooks için bilmeniz gereken temel terimler;
Trigger Event (Tetkileyici olay): Webhook tetiklemek için ayarladığınız işlem. Örneğin, webhook’unuzu kuruluşunuzda belirli bir grup güncellendiğinde veya bir öge paylaşıldığında tetiklenecek şekilde yapılandırabilirsiniz. Bir webhook’un birden fazla tetikleme olayı olabilir.

Payload (Yük): Belirtilen etkinlik gerçekleştikten sonra webhook tarafından gönderilen tetikleyici etkinlik verileri.

Payload URL: Payload verisinin gönderildiği url adresidir. Yükünüzün nereye teslim edileceği konusunda tüm kontrole sahipsiniz. Microsoft Flow , Zapier , Integromat vb. birçok web servislerden birini kullanabilirsiniz . Bu servisler , otomatikleştirilmiş iş akışları oluşturmanıza ve Outlook, Slack, Power BI ve çok daha fazlası gibi birçok farklı uygulamayla yerleşik olarak gelmesine olanak tanır. Örneğin, organizasyona yeni bir öge eklendiğinde bir e-posta veya Slack mesajı gönderen bir iş akışı oluşturmak için Zapier’i kullanabilirsiniz .

Desteklenen Tetikleyiciler

Ögelere Bağlı Tetikleyiciler;

Portal üzerinde yapmış olduğunuz nesne ekleme çıkarma, veri ekleme vb. işlemler için aşağıdaki tetikleyiciler kullanılır.

Olaylar URL
Tüm ögeler için tüm tetikleyici olaylar /items
Portala bir öge eklenir /items/add
Herhangi bir öge silinir /items/delete
Herhangi bir öge güncellenir /items/update
Herhangi bir öge taşınır veya mülkiyeti değişir /items/move
Herhangi bir öge yayınlandı /items/publish
Herhangi bir öge paylaşılır /items/share
Herhangi bir öge paylaşılmamış /items/unshare
Herhangi bir ögenin sahipliği yeniden atandı /items/reassign
Belirli bir öge için tüm tetikleyici olaylar /items/<itemID>
Belirli bir öge silinir /items/<itemID>/delete
Belirli bir ögenin özellikleri güncellenir /items/<itemID>/update
Belirli bir ögenin sahipliği değiştirilir veya öge taşınır /items/<itemID>/move
Belirli bir öge yayınlandı /items/<itemID>/publish
Belirli bir öge paylaşılıyor /items/<itemID>/share
Belirli bir öge paylaşılmamış /items/<itemID>/unshare
Belirli bir ögenin yetki ataması yapılır /items/<itemID>/reassign

 

Gruplara Bağlı Tetikleyiciler;

Grup ayarlarında yapılan değişikliler için aşağıdaki tetikleyiciler kullanılır.

Olaylar URL
Tüm gruplar için tüm tetikleyici olaylar /groups
Bir grup eklendi /groups/add
Herhangi bir grup güncellenir /groups/update
Herhangi bir grup silinir /groups/delete
Silme Koruması herhangi bir grup için etkindir /groups/protect
Silme Koruması herhangi bir grup için devre dışı bırakılır /groups/unprotect
Herhangi bir gruba bir kullanıcı davet edildi /groups/invite
Herhangi bir gruba bir kullanıcı eklenir /groups/addUsers
Herhangi bir gruptan bir kullanıcı çıkarılır /groups/removeUsers
Herhangi bir grupta bir kullanıcının rolü güncellenir /groups/updateUsers
Herhangi bir grubun sahipliği yeniden atandı /groups/reassign
Belirli bir grup için tüm tetikleyici olaylar /groups/<groupID>
Belirli bir grup güncellenir /groups/<groupID>/update
Belirli bir grup silinir /groups/<groupID>/delete
Silme Koruması belirli bir grup için etkinleştirildi /groups/<groupID>/protect
Silme Koruması belirli bir grup için devre dışı bırakıldı /groups/<groupID>/unprotect
Bir kullanıcı belirli bir gruba davet edildi /groups/<groupID>/invite
Belirli bir gruba bir kullanıcı eklenir /groups/<groupID>/addUsers
Bir kullanıcı belirli bir gruptan çıkarılır /groups/<groupID>/removeUsers
Bir kullanıcının rolü belirli bir grupta güncellenir /groups/<groupID>/updateUsers
Belirli bir grubun sahipliği yeniden atandı /groups/<groupID>/reassign

 

Kullanıcılara Bağlı Tetikleyiciler;

Kullanıcılarla ilişkili bir değişiklik olması durumunda aşağıdaki tetikleyiciler kullanılır.

Olaylar URL
Portaldaki tüm kullanıcılar için tüm tetikleyici olaylar /users
Kuruluşa bir kullanıcı eklendi /users/add
Portala herhangi bir kullanıcı giriş yaptı /users/signIn
Herhangi bir kullanıcı portaldan çıkış yaptı /users/singOut
Herhangi bir kullanıcı silinir /users/delete
Herhangi bir kullanıcının profili güncellenir /users/update
Herhangi bir kullanıcının hesabı devre dışı bırakılır /users/disable
Herhangi bir kullanıcının hesabı etkinleştirildi /users/enable
Herhangi bir kullanıcıya yeni bir rol atandı /users/updateUserRole
Herhangi bir kullanıcıya yeni bir kullanıcı türü atandı /users/updateUserLicenseType
Belirli bir kullanıcıyla ilişkili tüm tetikleyici olaylar /users/<username>
Portalda belirli bir kullanıcı oturum açtı /users/<username>/signIn
Portalda belirli bir kullanıcı oturumu kapatıldı /users/<username>/signOut
Belirli bir kullanıcı silinir /users/<username>/delete
Belirli bir kullanıcının profili güncellenir /users/<username>/update
Belirli bir kullanıcının hesabı devre dışı bırakılır /users/<username>/disable
Belirli bir kullanıcının hesabı etkinleştirildi /users/<username>/enable
Belirli bir kullanıcıya yeni bir rol atandı /users/<username>/updateUserRole
Belirli bir kullanıcıya yeni bir kullanıcı türü atandı /users/<username>/updateUserLicenseType

 

Rollere Bağlı Tetikleyiciler;

Organizasyon üzerinde rollerde bir değişiklik yapılması durumunda aşağıdaki tetikleyiciler kullanılabilir.

Olaylar URL
Portaldaki tüm roller için tüm tetikleyici olaylar /roles
Yeni bir rol oluşturulur /roles/add
Mevcut bir rol güncellenir /roles/updated
Mevcut bir rol silinir /roles/delete

 

Payload için Kullanılacak Parametreler

Payload verisi json formatında olup aşağıdaki parametreleri içerebilmektedir.

Parametre Veri Tipi Açıklama
webhookName string Payload ileten webhook adı.
webhookId string Payload ileten webhook kimliği.
portalURL string Webhook’un kayıtlı olduğu portalın URL’si.
when timestamp Payload teslim edildiği zaman.
username string Etkinliği tetikleyen kullanıcı.
userId string Etkinliği tetikleyen kullanıcının kimliği.
when timestamp Olayın meydana geldiği saat.
operation string Kullanıcı tarafından gerçekleştirilen işlem:

  • add
  • addUsers
  • delete
  • disable
  • enable
  • invite
  • move
  • protect
  • publish
  • removeUsers
  • share
  • unprotect
  • unshare
  • update
  • updateUsers
source string İşlemin gerçekleştirildiği öge türü. Bu türler item, group ve user olabilir.
id string İşlemin gerçekleştirildiği kaynak ögenin id verisi
properties object Ek özellikler

  • sharedToGroups — Item paylaşıldığında (groupID, Organization, or Everyone)
  • unsharedFromGroups — Item paylaşımdan kaldırıldığında (groupID, Organization, or Everyone)
  • removeUserNames — Bir gruptan kaldırılan kullanıcıların kullanıcı adları
  • updateUserNames — Grup rolleri güncellenen kullanıcıların kullanıcı adları
  • invitedUserNames — Gruba davet edilen kullanıcıların kullanıcı adları
  • addedUserNames — Gruba eklenen kullanıcıların kullanıcı adları
  • userRoleUpdatedTo — Kullanıcıların atandığı yeni rol
  • reassignedTo — Yeni bir kullanıcıya item veya grup ataması yapıldığında
  • userLicenseTypeUpdatedTo — Bir kullanıcının atandığı yeni kullanıcı türü
  • name — Oluşturulan, silinen veya güncellenen rolün adı

 

Özel çözümler ve profesyonel destek için Esri Türkiye Profesyonel Hizmet birimi ile iletişim kurabilirsiniz.

Önceki Yazı
Ücretsiz Mekansal Veri Bilimi Kursumuz Yayında!
Yazıyı görüntüle
Sonraki Yazı
ArcGIS Living Atlas ile Kullanıma Hazır Derin Öğrenme Modelleri
Yazıyı görüntüle