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:
|
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
|
Özel çözümler ve profesyonel destek için Esri Türkiye Profesyonel Hizmet birimi ile iletişim kurabilirsiniz.