Ana içeriğe geç

Process Signals

Harici bir sistemden iş akışına bildirim göndermek için süreç sinyali kullanın. Yapılandırılmış olayını tetiklemek için sinyal URL'sini GET veya POST ile çağırın. POST isteğine isteğe bağlı olarak XML veya düz metin verisi eklenebilir. API anahtarı veya kullanıcı oturumu açma gerekmez.

Çağıranın olay sonuçlarına veya Trigger seçeneklerine ihtiyacı varsa case/test-mode kullanın.

Sinyal yapılandırma

Alanadını düzenleme iznine sahip bir kiracı yöneticisi, sinyalleri Edit Domainbölümünde, yanındaki Process Signals sekmesinde yapılandırır: API Keys.

  1. Bir sinyal ekleyin ve oluşturulan Signal ID değerini kopyalayın..
  2. Hedef iş akışının dinlediği olaya Event Name değerini ayarlayın.
  3. Değeri Suppression Durationolarak ayarlayın, sinyali etkinleştirin ve alanadını kaydedin.
Ayar Açıklama
Signal ID Sinyal URL'sinde kullanılan benzersiz bir GUID.
Event Name Hedef kiracıda tetiklenecek olay. Bu kiracıdaki tüm eşleşen dinleyiciler yanıt verebilir.
Suppression Duration Kabul edilen sinyaller arasındaki en kısa süre. Varsayılan değer 5 saniyedir; değiştirmek için süre düzenleyicisini kullanın.
Etkin Sinyali etkinleştirir veya devre dışı bırakır. Yeni sinyaller varsayılan olarak devre dışıdır.

Sinyal URL'sini gizli tutun

URL'ye sahip olan herkes bu sinyali gönderebilir. HTTPS kullanın ve URL'yi gönderen sistemde gizli bilgi olarak saklayın. URL'yi yayımlamaktan veya bağlantılara, önizlemelere ya da otomatik sistem durumu denetimlerine eklemekten kaçının. Açığa çıkarsa sinyal GUID'sini değiştirin.

Sinyal gönderme

Hedef kiracının ana bilgisayar adını kullanın ve <signal-guid> yapılandırılmış Signal ID ile değiştirin:

1
GET https://mydomain.emakin.com/rest/v1/signals/<signal-guid>

İstek gövdesi olmayan bir POST isteği de sinyal gönderir:

1
curl --request POST "${EMAKIN_SIGNAL_URL}"

Değerini EMAKIN_SIGNAL_URL tam özel sinyal URL'si olarak ayarlayın. Kimlik doğrulama üstbilgisi veya sorgu parametreleri gerekmez. Sorgu parametreleri kabul edilmez. HEAD ve OPTIONS olay tetiklemez.

İsteğe bağlı veri ekleme

POST isteğinin gövdesinde UTF-8 metni olarak veri gönderin.

XML

1
2
3
4
curl --request POST \
  --header "Content-Type: application/xml" \
  --data-binary '<Report><Value>42</Value></Report>' \
  "${EMAKIN_SIGNAL_URL}"

Geçerli bir XML belgesi, özgün kök öğesiyle birlikte olaya aktarılır.

Düz metin

1
2
3
4
curl --request POST \
  --header "Content-Type: text/plain; charset=utf-8" \
  --data-binary 'Report submitted' \
  "${EMAKIN_SIGNAL_URL}"

XML olarak ayrıştırılamayan içerik, bir öğenin metin değeri olarak aktarılır <Data> Örneğin, Report submitted şuna dönüşür: <Data>Report submitted</Data>. Metin değeri korunurken XML özel karakterleri kaçışlanır. JSON, hatalı XML ve DTD bildirimleri içeren XML düz metin olarak işlenir.

Veri isteğe bağlıdır. Boş bir POST gövdesi veya GET isteği <Data />sağlar. GET isteği gövdeleri yok sayılır.

Yinelenen sinyaller

Suppression Duration aynı sinyali tetikleyen yinelenen çağrıların çok sık gerçekleşmesini önler. Varsayılan 5 saniyelik aralıkta, kabul edilen ilk çağrı olayı tetikler; bu 5 saniye içinde aynı sinyale yapılan sonraki çağrılar yok sayılır. Aralık dolduktan sonra yapılan başka bir çağrı olayı yeniden tetikleyebilir.

Kabul edilen ilk istek veriyi sağlar. Bastırılan çağrılar bu veriyi değiştirmez ve daha sonra yeniden oynatılmaz. Ayrı sinyallerin bastırma aralıkları birbirinden bağımsızdır. Yeni ve geçerli bildirimlerin de iletilmesine olanak tanıyan bir aralık seçin; aralık içindeki yeni bir bildirim de yinelenen bildirim gibi yok sayılır.

Aynı kaynak IP'den gelen sık çağrılara hız sınırlaması da uygulanabilir. Hız sınırına takılan çağrılar aynı boş yanıtı alır.

Yanıt

1
2
HTTP/1.1 204 No Content
Cache-Control: no-store

Yanıt, olayın tamamlanması beklenmeden döndürülür. Aynı boş 204 yanıt; kabul edilen, bilinmeyen, devre dışı bırakılmış, bastırılmış, hız sınırına takılmış veya başarısız sinyal isteklerinde döndürülür. Bu yanıt olayın çalıştığını doğrulamaz. Bağlantı, proxy ve diğer istek işleme hataları farklı yanıtlar üretebilir.

Entegrasyonu doğrulamak için ortaya çıkan iş akışı davranışını kontrol edin. Beklenen aksiyon gerçekleşmezse hedef kiracıyı, sinyal kimliğini, etkin durumunu, olay dinleyicilerini ve bastırma aralığını kontrol edin. Gerekirse bir yöneticiden günlükleri incelemesini isteyin. Uç nokta olay sonucu döndürmedi diye tek başına isteği yeniden denemeyin.