Aracılığıyla paylaş


Tetikleyiciler arasında bağıntı kurmak için bağlama kimlikleri kullanma

Tetikleyici tabanlı, yinelenebilir yolculuklar için müşteri, önceki çalıştırmayı tamamlamadan bir yolculuğu yineleyebilir. Örneğin, randevu onayları ve anımsatıcıları gönderen bir yolculuk düşünün. Bir kişi ilk randevusuna kaydolduğunda yolculuğa girer ve onay alır. Randevudan bir gün önce bir hatırlatma alana kadar yolculukta beklemeye devam eder. Bu süre zarfında, aynı kişi ikinci bir randevu için kaydolabilir. Yolculuk katılımcısı ikinci randevu için aynı yolculuğa ikinci kez başlayacaktır. Başka bir deyişle, aynı kişi şimdi aynı yolculuğun iki örneğinden geçiyor.

Böyle bir durumda, yolculuk katılımcısı randevulardan birini iptal ederse, yalnızca iptal edilen randevuyla ilişkili yolculuktan çıkmalıdır. Örneğin, ilk randevuyu iptal ederse, ilk randevuyla ilişkili yolculuktan çıkması ancak ikinci randevuyla ilişkili yolculuğa devam etmesi gerekir. Kullanıma hazır Dataverse tabanlı olaylar kullanıyorsanız davranış otomatiktir ve başka bir eyleme gerek yoktur. Ancak özel tetikleyiciler kullanıyorsanız, tetikleyicinin ilişkilendirilmesi gereken belirli yolculuk örneğini doğru bir şekilde tanımlamak için tetikleyiciyi yapılandırmanız gerekir.

Yolculuğun her örneğini benzersiz olarak tanımlamak için bindingId özniteliğini kullanma

Her özel tetikleyici, tetikleyiciyi bir yolculuğun belirli örneklerine bağlamak için kullanılabilecek isteğe bağlı birbindingId özniteliğine sahiptir. bindingId özniteliği olmadığında tetikleyici, kişinin katıldığı yolculuğun tüm örnekleri üzerinde eyleme geçer. Örneğin, kişi iki randevu için kaydolduysa ancak birini iptal ettiyse ve iptal edilen tetikleyici bindingId'yi kullanmadıysa bu kişi, yolculuğun her iki örneğinden de çıkar. Tekrarlanabilir yolculuklarda tetikleyiciler kullanmayı düşünüyorsanız, tetikleyiciye bir bindingId eklemeniz önerilir.

Bir yolculuğu başlatan tetikleyici bir bindingId içerdiğinde, bu kimlik yolculuk örneğini tanımlamak için kullanılır. Yolculuk örneğini tanımlamak için, başka bir olay aynı bindingId'yi kullanmalıdır. bindingId'nin biçimi şu şekildedir: {entityType}/{entityId}. Örneğin, başlangıç olayınız Randevu Onaylandı adlı bir Randevu varlığıysa ve entityId değeri "123" ise bindingId Appointment/123 şeklinde olur. Randevu İptal Edildi çıkış olayınız aynı varlık türünde olmalı ve yolculuk örneğini benzersiz olarak tanımlamak için aynı bindingId'yi (Appointment/123) kullanmalıdır.

Yolculukta yalnızca özel tetikleyiciler kullanıyorsanız, yolculuk örneklerini tanımlamak için benzersiz dizelere güvenebilirsiniz.

Not

Özel tetikleyici, bindingId eksikse veya bağlama farklı bir varlık türü içinse, birinin katıldığı bir yolculuğun tüm örnekleri üzerinde eyleme geçer.

Özel tetikleyiciler ve kullanıma hazır olaylar veya özel iş olayları arasında ilişki oluşturma

Özel tetikleyiciler ve kullanıma hazır veya özel iş olaylarının birleşimini kullanmak istiyorsanız bindingId, Dataverse tablosunu ve satırını benzersiz olarak tanımlamak için özel biçimlendirme kullanır. Örneğin, yolculuğunuz kullanıma hazırFırsat Oluşturuldu etkinliğiyle başlayabilir. Daha sonra çıkış olayı için Fırsat Kazanıldı adlı özel bir tetikleyici kullanabilirsiniz. Fırsat Kazanıldı özel tetikleyicisi, her örneği benzersiz olarak tanımlamak için Fırsat Oluşturuldu olayının şablonunu izleyen bir bindingId içermelidir.

Bir yolculuk kullanıma hazır veya özel bir iş olayı tarafından başlatıldığında, yolculuğun her örneği {entityType}/{unique row ID} şablonu tarafından benzersiz olarak tanımlanabilir. Bu şablon, özel tetikleyiciler ve kullanıma hazır veya özel iş olayları arasında ilişki oluşturmak için herhangi bir özel tetikleyicinin bindingId özniteliğine eklenmelidir.

Fırsat Kazanıldı özel tetikleyicisi söz konusu olduğunda bindingId şu şekilde olabilir:

  • bindingId = opportunity/{unique ID of the opportunity row}

Özel tetikleyiciler yukarıda açıklanan bindingId şablonunu izlerse, bunlar diğer iş olaylarıyla birlikte kullanıldığında bile tam yolculuk örneğini tanımlamak için kullanılabilir. bindingId uygulandığında, yolculuğun tüm örnekleri üzerinde eyleme geçer.

Not

Bağlama yalnızca aynı varlık türleri arasında çalışır.

Özel tetikleyiciye bindingId nasıl eklenir?

Özel tetikleyicinin kod parçacığında bindingId özniteliğini değiştirebilirsiniz.

Varolan bir özel tetikleyicinin kod parçacığına erişmek için:

  1. Customer Insights - Journeys>Etkileşim>Tetikleyicilerine gidin.
  2. bindingId eklemek istediğiniz özel tetikleyiciyi seçin.
  3. Kod parçacığına git'i seçin.

    Kod parçacığına git ekran görüntüsü

  4. Kod parçacığı kopyalayın ve seçtiğiniz kod düzenleyicisine yapıştırın. Yukarıda belirtilen biçimleri izleyerek bindingId özniteliğini değiştirin (yalnızca özel tetikleyicilerle kullanıyorsanız benzersiz bir dize veya özel tetikleyiciler ve kullanıma hazır olaylar veya özel iş olayları arasında ilişki kuruyorsanız {table_name}/{unique row ID}).

Yeni bir özel tetikleyici oluştururken bindingId eklemek için aynı adımları izleyebilirsiniz.

bindingId yorumu

/ karakteri ayrılmıştır. bindingId'nin her zaman / ile ayrılmış biçimde olduğu varsayılır ve başta veya sonda gelen herhangi bir / karakteri kaldırılır. Ayrıca, sonuçta / yoktur. Uygulama, özniteliği her zaman {entityType}/{entityId} şeklinde yorumlamaya çalışır.

Örnekler:

"A/B"
will be interpreted as 
{entityType = "A"}/{entityId = "B"}
"A"
will be interpreted as 
{entityType = ""}/{entityId = "A"}
"A/B/C" 
will be interpreted as 
{entityType = "AB"}/{entityId = "C"}
""
will be interpreted as 
{entityType = ""}/{entityId = ""}
"A/B/"
will be interpreted as 
{entityType = "A"}/{entityId = "B"}
"///A/B////"
will be interpreted as 
{entityType = "A"}/{entityId = "B"}

Karşılaştırma algoritması:

[Case 0] trigger has bindingId = "", meaning no restriction at all
    Always resume.
[Case 1] entityType matches, and entityId matches:
    Resume.
[Case 2] entityType matches, but entityId doesn't match:
    No resume.
[Case 3] entityType doesn't match trigger:
    It doesn't make sense to apply binding, so we fall back to what we have now and let it resume the journey instance. 

Örnekler:

Trigger event: "incident/000"
Resume event: "incident/000"
Result: Case 1 resume
Trigger event: "incident/000"
Resume event: "incident/001"
Result: Case 2 no resume
Trigger event: "incident/000"
Resume event: "opportunity/001"
Result: Case 3 resume
Trigger event: "incident/000"
Resume event: "opportunity/000"
Result: Case 3 resume
Trigger event: "incident/000"
Resume event: "random string"
Result: Case 3 resume
Trigger event: "random string"
Resume event: "random string"
Result: Case 1 resume
Trigger event: "random string 1"
Resume event: "random string 2"
Result: Case 2 no resume
Trigger event: "random string 2"
Resume event: ""
Result: Case 2 no resume
Trigger event: ""
Resume event: ""
Result: Case 0 resume
Trigger event: ""
Resume event: "incident/000"
Result: Case 0 resume
Trigger event: "incident/000"
Resume event: ""
Result: Case 3 resume