Salesforce için Adobe Acrobat Sign: Geliştirici Kılavuzu

Son güncelleme: 20 Şub 2024

Genel Bakış

Salesforce için Adobe Acrobat Sign: Geliştirici Kılavuzu, Salesforce geliştiricilerinin Salesforce paketinizi Adobe Acrobat Sign ile entegre etmek için gereken nesne ve parametreleri öğrenmesine yardımcı olmak üzere tasarlanmıştır.

Aşağıdakiler hakkında bilgi edinmek için bu belgedeki konulara bakın:

Dikkat

Salesforce için Adobe Acrobat Sign nesneleri gelecekteki bir sürümde değişebilir. Değişen nesnelere dayanan özel çözümler geliştiriyorsanız özelleştirmelerinizi güncellemeniz gerekebilir.

Geliştirici yönergeleri

  • Sözleşmenin tam olarak ne zaman imzalandığını öğrenmeniz gerekiyorsa güncellemeden sonra veya önce (kullanım durumu ve gereksinimlerine bağlı olarak) echosign_dev1__SIGN_Agreement__c nesnesine bir Apex tetiği uygulayın. echosign_dev1__Status__c alanı İmzalandı veya Onaylandı ya da diğer son durumlarına geçtiğinde sözleşme tamamlanır. 
  • Her bir imzalı PDF'nin ne zaman eklendiğini öğrenmeniz gerekiyorsa, örneğin her bir ara imzalı PDF'yi almanız gerekiyorsa, ekledikten sonra Ek veya ContentVersion nesnelerine bir Apex tetiği uygulayın ve ana sözleşmeye ve "- signed.pdf" veya "- approved.pdf" ile biten ya da başka bir son duruma sahip olan dosya adlarına bakın.
  • Bir alıcının sözleşmeyi ne zaman imzaladığını veya onayladığını öğrenmeniz gerekiyorsa güncellemeden sonra veya önce (kullanım durumu ve gereksinimlerine bağlı olarak) echosign_dev1__SIGN_Recipients__ nesnesine bir Apex tetiği uygulayın. echosign_dev1__Status__c alanı İmzalandı veya Onaylandı ya da diğer son durumlarına geçtiğinde alıcı tamamlanır.  
  • İmza için gönderilen sözleşme veya hatırlatıcı gönderilmesi gibi imzalama sürecinin bir parçası olan belirli bir olayın ne zaman gerçekleştiğini öğrenmeniz gerekiyorsa sözleşme olayları nesnesi (echosign_dev1__SIGN_AgreementEvent__c) üzerinde bir tetikleyici oluşturabilir ve olayın türünü kontrol edebilirsiniz
  • Tamamlanan bir sözleşmenin Son Sözleşme Durumu adları şunlardır: "İmzalandı", "Onaylandı", "Kabul Edildi", "Form Dolduruldu " ve "Teslim Edildi"
  • Sonlandırılan bir sözleşmenin Son Sözleşme Durumu adları şunlardır: "İptal Edildi/Reddedildi", "Süresi Doldu"

Güncellemelerin sırası

Sürüm 21'de güncellemelerin sırası değişti. Aşağıda sözleşmenin ve ilgili nesnelerinin güncelleme sırası yer almaktadır:

  1. Ekler 
  2. Alıcılar 
  3. Sözleşme (durum ve diğer özellikleri)
  4. Sözleşme Etkinlikleri 
  5. Chatter Yayınları 

Apex Hizmetleri

Apex Yöntemi kullanımda

Salesforce için Acrobat Sign V 21.0 sürümünden itibaren, tüm eşzamansız süreçler (otomatik güncellemeler ve veri eşlemeleri dahil) Salesforce'un önerdiği şekilde Future yöntemi yerine Queueable yöntemini kullanır.
Bu değişiklikle birlikte, otomatik güncelleme veya veri eşleme süreci için Salesforce kuyruğuna eklenen tüm özelleştirme işleri şu hatayla başarısız olur: "System.LimitException: Too many queueable jobs added to queue:2."

Kuyruğa alınabilir süreç, kuyruğa alınabilir işe Acrobat Sign tarafından alınmış yalnızca bir kuyruğa alınabilir iş alt öğesi ekleyebileceğinden bu hata oluşur. Ayrıntılar için bkz. Kuyruğa Alınabilir Apex Sınırları

Sözleşme durumu değişmediğinde veya veri eşleme doğru şekilde çalışmadığında şu hata görüntülenebilir: "İşleri zincirlerken System.enqueueJob içeren yürütme işinden yalnızca bir iş ekleyebilirsiniz. Bir başka deyişle her bir kuyruğa alınabilir iş üst öğesinde yalnızca bir iş alt öğesi bulunabilir. Kuyruğa alınabilir aynı işten birden fazla iş alt öğesi başlatılamaz."

Bu hatayı gidermek için sorunlu tetikleme, işlem oluşturucu veya iş akışını bulup devre dışı bırakın veya senkronizasyonlu bir çağrı yapacak şekilde değiştirin ya da sonra gerçekleşecek şekilde planlayın.

Sözleşme Şablonu Hizmeti

Sözleşme şablonu hizmeti, yönetilen paket tarafından genel bir Apex hizmeti olarak görüntülenir. Bu, yönetilen paketin dışındaki Apex kodunun sözleşmeleri mevcut sözleşme şablonlarına göre yüklemesine olanak tanır. Sınıf ve görüntülenen tüm yöntemler, bu tür erişime izin vermek için genel olarak işaretlenir.

Apex hizmeti bu kullanım sınıfı ile görüntülenir: echosign_dev1.AgreementTemplateService

Yöntemler

genel

static Id load()

Varsayılan olarak işaretlenmiş ve ana nesne türü olmayan bir sözleşme şablonu kullanarak bir sözleşmeyi yükler.

genel

static Id load(String templateId)

Ana nesne türü olmayan belirtilen sözleşme şablonu kimliğini kullanarak bir sözleşmeyi yükler.

 

genel

static Id load(String templateId, String masterId)

Belirtilen sözleşme şablonu kimliğini ve belirtilen ana kayıt kimliğini kullanarak, türü belirtilen sözleşme şablonunda yapılandırılmış ana nesne türüyle eşleşmesi gereken bir sözleşmeyi yükler.

genel

static Id load(String templateId, String masterId, Map<String,AgreementTemplateVariable> agreementTemplateVariables)

Belirtilen sözleşme şablonu kimliğini ve belirtilen ana kayıt kimliğini kullanarak, türü belirtilen sözleşme şablonunda yapılandırılmış ana nesne türüyle eşleşmesi gereken bir sözleşmeyi yükler. Ayrıca belirtilen çalışma zamanı değişkenlerini ad değeri çiftleri olarak geçirir.

 

genel

static List<AgreementTemplateService.AgreementTemplateBasicInfo> getAgreementTemplateList(AgreementTemplateListOptions options)

Filtreleme seçeneklerine göre sözleşme şablonlarının listesini alır. Filtreleme seçenekleri ile birlikte bir sözleşme şablonu bulunamazsa boş bir liste döndürür.

genel

static AgreementTemplateService.AgreementTemplateDetails getAgreementTemplateDetails(String templateId)

Belirtilen sözleşme şablonu kimliği için sözleşme şablonu ayrıntılarını alır.

Sözleşme şablonu bulunamazsa boş bir nesne geri döndürür.

genel

static String getAgreementTemplateUrl(String templateId)

Sözleşme şablonu kimliği verilen sözleşme şablonunu düzenlemek için URL'yi alır.

genel

static String getNewAgreementTemplateUrl()

Adobe Sign'da yeni bir Sözleşme Şablonu oluşturmak için URL'yi alır.

 Oluşturucular

Access

İmza

genel

AgreementTemplateListOptions()

genel

AgreementTemplateListOptions(String masterObjectType, Boolean isActive, Boolean hasAttachment, Boolean hasRecipient, Boolean autoSend)

Genel Sınıf özellikleri

Genel Sınıf: AgreementTemplateService.AgreementTemplateListOptions

Access

Ad

genel

masterObjectType

genel

isActive

genel

hasAttachment

genel

hasRecipient

genel

autoSend

Not

Yukarıda listelenen bir alanda boş değer varsa sözleşme şablonları sorgulanırken ilgili alana hiçbir filtre uygulanmaz.

GENEL SINIF: AGREEMENTTEMPLATESERVICE.AGREEMENTTEMPLATEBASICINFO

Access

Ad

genel

ad

genel

recordId

genel

url

genel

isDefault

genel

daysUntilExpiration

genel

language

GENEL SINIF: AGREEMENTTEMPLATESERVICE.AGREEMENTTEMPLATEDETAILS

Access

Ad

genel

mesaj

genel

ccList

genel

dataMappingName

genel

mergeMappingName

genel

url

genel

recipients

GENEL SINIF: AGREEMENTTEMPLATESERVICE.RECIPIENTINFO

Access

Ad

genel

recipientRole

genel

recipientType

genel

recipientName

genel

signOrder

Çalışma Zamanı Değişkenleri

echosign_dev1.AgreementTemplateVariable genel sınıfı aşağıdaki iki genel alana sahiptir:

  • ad: Sözleşme şablonunda yapılandırılmış çalışma zamanı değişkeni adıyla eşleşmesi gereken değişken adıdır.
  • değer: Şablon yüklemesi sırasında kullanılan değişken değeridir. Değer, değişkenin kullanıldığı yere bağlıdır. Örneğin, alıcı için kişi, potansiyel müşteri veya kullanıcı kayıt kimliği ya da e-posta olmalıdır. Belge değişkeni için bir ek kayıt kimliği olmalıdır.

Sonuç

Her yöntem, yeni oluşturulan sözleşme kaydının kimliğini döndürür veya yükleme işlemi sırasında bir hata oluşursa ayrıntılı bir hata mesajıyla birlikte bir istisna oluşturur.

API Hizmetleri

Adobe e-İmza API'si şablon hizmeti, yönetilen paket tarafından genel bir Apex hizmeti olarak görüntülenir. Bu, yönetilen paketin dışındaki Apex kodunun bu paketleyiciler aracılığıyla bir dizi Adobe e-İmza API'sini çalıştırmasına olanak tanır. Paketleyiciler API'nin kullanımını büyük ölçüde basitleştirir, çünkü tüketicilerin talep ve yanıt veri modeli oluşturması gerekmez. Ayrıca müşterilerin Salesforce verilerinin e-İmza veri modellerine dönüştürülmesiyle ilgilenmesi gerekmez. Tüketicilerin karmaşık işlemlerle uğraşmasına gerek kalmaz. Örneğin, tüketicinin sözleşme kayıt kimliğini ilettiği bir sözleşme göndermek için hizmet bunu sorgulayacak, ilgili tüm verileri çıkaracak, API'ye aktaracak ve sonucu ayrıştıracaktır.

Sınıf ve görüntülenen tüm yöntemler, bu tür erişime izin vermek için genel olarak işaretlenir.

  • Sürüm 17 ve altı, SOAP API'leri çağırır
  • Sürüm 18 ve üzeri, REST API'lerini çağırır

Apex hizmeti şu kullanım sınıfı ile görüntülenir: echosign_dev1.EchoSignApiService

Alternatif Alıcılar için Apex API Geliştirme

Güncellenmiş Apex API'si, 24.14 veya sonraki sürümlerden itibaren alternatif alıcıları değiştirmenize veya eklemenize olanak tanır ve "EchoSignApiService" genel sınıfı dahilinde erişilebilir. Bu sürümle birlikte iki yeni öğe sunulmuştur:

  • Genel bir fonksiyon:

    /**

    * Input params:

    * toBeChangedRecipientId: SIGN_Recipient__c Kimliği

    * newRecipientStr: Alıcı değiştirme veya alternatif alıcı için yeni alıcının SIGN_Recipient__c JSON dizesi

    * changeType: REPLACE or ALTERNATE

    */

    global static void changeRecipient(Id toBeChangedRecipientId, String newRecipientStr, RECIPIENT_CHANGE_TYPE changeType )

  • Genel bir numaralandırma: RECIPIENT_CHANGE_TYPE {REPLACE, ALTERNATE}

Alıcılar için bu API'yi çağırma örnek kodu (alıcı türü e-posta olarak)

// ilk olarak sözleşmeyle ilişkili tüm alıcıları sorgulayın

List<SIGN_Recipients__c> recipients = [SELECT Id, echosign_dev1__Agreement__c, echosign_dev1__Email_Address__c, echosign_dev1__ParticipantSet__c, echosign_dev1__Recipient_Type__c, echosign_dev1__Order_Number__c FROM echosign_dev1__SIGN_Recipients__c where echosign_dev1__Agreement__c = 'a0P7X000008Cc1GUAS'];

SIGN_Recipients__c newRecipient = null;

SIGN_Recipients__c replacedRecipient = null;

// değiştirilmesi gereken bir alıcı veya alternatifini bulun

// bu durumda alıcıyı e-postası ile bulun.

// değiştirilecek veya alternatif olarak kullanılması gereken alıcıyı bulmak için daha fazla koşul eklenebilir.

for(SIGN_Recipients__c recipient: recipients) {

    if (rep.echosign_dev1__Email_Address__c == 'someUser@example.com') {

         newRecipient = recipient.clone(false, true, false, false);

         replacedRecipient = recipient;

    }

}

// yeni alıcı için e-posta adresini güncelleyin

newRecipient.echosign_dev1__Email_Address__c = ''someNewUser@abc.com';

// JSON dizesine serileştirin

String newRecipientStr = JSON.serialize(newRecipient);

Try {

    echosign_dev1.EchoSignApiService.changeRecipient(replacedRecipient.Id, newRecipientStr, EchoSignApiService.RECIPIENT_CHANGE_TYPE.REPLACE);

} catch (Exception ex) {

    // istisnayı ele alın ve gerekirse yeniden oluşturun

}

Yöntemler

genel

static void cancelDocument(Id agreementId)

Belirtilen sözleşme kimliğine sahip sözleşmeyi iptal eder.

genel

static echosign_dev1.EchoSignApiService.DocumentInfo getDocumentInfo(Id agreementId)

Belirtilen sözleşme kimliği için ayrıntılı bilgileri alır.

genel

static List<EchoSignApiService.SigningUrl>

getSigningUrls(Id agreementId) 

Belirtilen sözleşme kimliği için tüm imzalama URL'lerini alır.

genel

static void removeDocument(Id agreementId)

Belirtilen sözleşme kimliğine sahip sözleşmeyi iptal eder ve Salesforce'taki sözleşme kaydını siler (sözleşme Adobe e-İmza hesabından kaldırılmaz).

genel static void replaceSigner(Id replacementRecipientId)
V 24.14 ile kullanımdan kaldırıldı. v24.14'ten önceki paket sürümleri V5 API'larına dayandıkları için bunları kullanmaya devam edebilir.
genel static void replaceSigner(Id replacementRecipientId, Dize mesajı)
V 24.14 ile kullanımdan kaldırıldı. v24.14'ten önceki paket sürümleri V5 API'larına dayandıkları için bunları kullanmaya devam edebilir.

genel

static echosign_dev1.EchoSignApiService.

SendDocumentResult sendDocument(Id agreementId)

Sözleşmeyi belirtilen sözleşme kimliğiyle gönderir, sonucu belge anahtarı ve URL'lerle birlikte döndürür.

genel

static void sendReminder(Id agreementId)

Belirtilen sözleşme kimliği için geçerli imzalayana bir hatırlatıcı gönderir.

genel static void updateAgreement(Id agreementId)  Sözleşmeyi belirtilen agreementId ile günceller
genel static EchoSignApiService.AgreementViewUrl getViewAgreementUrl(Id agreementId)
Belirtilen anlaşma kimliği için Sign'dan görüntüleme özelliği olan görüntüleme/yönetim sayfasını getirir.
Not: Güvenlik nedenleriyle, oluşturulan anlaşma URL'sinin yalnızca geçici bir ömrü vardır, bu nedenle Adobe Sign hizmetlerinden yeni bir URL almak için bir REST-HTTPS çağrısı oluşturur.
genel static void changeRecipient(Id toBeChangedRecipientId, String newRecipientStr, EchoSignApiService.RECIPIENT_CHANGE_TYPE changeType ) 24.14 sürümünden itibaren kullanıma sunulacak olan bu API, sözleşme alıcılarını değiştirir.

İç Sınıflar

  • Genel Sınıf: DocumentHistoryEvent
ÖZELLİKLER (2)

Access

Ad

genel

String eventType

genel

String participantEmail

OLUŞTURUCULAR (1)

Access

İmza

genel

DocumentHistoryEvent()

  • Genel Sınıf: DocumentInfo
ÖZELLİKLER (5)

Access

Ad

genel

Map<string,list> historyByEmail

genel

Map<String,EchoSignApiService.ParticipantInfo>
participantsByEmail

genel

Map<String,EchoSignApiService.ParticipantInfo>
participantsByName

genel

String senderEmail

genel

Dize durumu

OLUŞTURUCULAR (1)

Access

İmza

genel

DocumentInfo()

  • Genel Sınıf: ParticipantInfo
ÖZELLİKLER (5)

Access

Ad

genel

String company

genel

String email

genel

String name

genel

Dize durumu

genel

String title

OLUŞTURUCULAR (1)

Access

İmza

genel

ParticipantInfo()

  • Genel Sınıf: SendDocumentResult
ÖZELLİKLER (3)

Access

Ad

genel

String documentKey

genel

İstisna hatası

genel

String url

OLUŞTURUCULAR (1)

Access

İmza

genel

SendDocumentResult()

  • Genel Sınıf: SigningUrl
ÖZELLİKLER (3)

Access

Ad

genel

String email

genel

String esignUrl

genel

String simpleEsignUrl

OLUŞTURUCULAR (1)

Access

İmza

Genel

 

Apex Toplu Hizmetleri

Ana e-İmza sözleşme eylemlerini toplu olarak göstererek bir dizi sözleşme üzerinde işlem yapılmasını sağlar. Bu sınıf Salesforce Database.Batchable arabirimini uygular. Bu, kayıtları 5'li kümelere ayırıp her kümeyi yönetici sınırlarına uyulmasını sağlayan tek bir işlem olarak işleyecek dilediğiniz sayıda kaydı işleyebilir.

Apex toplu hizmeti, şu kullanım sınıfı ile görüntülenir: echosign_dev1.EchoSignActionBatch

Parametreler

Bir toplu işlemi başlatmak için aşağıdaki parametreleri belirtmeniz gerekir:

  • Sağlanan eylemin gerçekleştirileceği sözleşme kaydı kimliklerinin bir listesi: Eylem aşağıdaki desteklenen değerlerden herhangi birine sahip olabilir: Hatırlat, Gönder, İptal Et, Sil veya Güncelle.
  • Geçerli kullanıcı oturum kimliği: Yalnızca bir güncelleme işlem türü için gereklidir.
  • Gönderen kullanıcı kaydı: Toplu işleme tamamlandıktan sonra kullanıcıyı bir e-posta aracılığıyla bilgilendirmek için kullanılır.

Kullanım Örneği

User submitterUser = UserInfo.getUserId();

EchoSignActionBatch batch = new EchoSignActionBatch( agreementIds, 'Remind', UserInfo.getSessionId(), submitterUser); Id syncProcessId = Database.executeBatch(batch, 5);

Sözleşme Şablonu Kümesi

Bir SOQL sorgusu ve bir sözleşme şablonu kayıt kimliği alır. Sorgu, her biri bir sözleşme kaydı oluşturmak üzere sağlanan sözleşme şablonundan yürütülecek olan bir dizi ana nesne kaydı almak için yürütülür. Bu sınıf Salesforce Database.Batchable arabirimini uygular. Bu, kayıtları 5'li kümelere ayırıp her kümeyi yönetici sınırlarına uyulmasını sağlayan tek bir işlem olarak işleyecek dilediğiniz sayıda kaydı işleyebilir.

SOQL sorgusu tarafından döndürülen kayıt türleri, sağlanan sözleşme şablonu ana nesne türüyle eşleşmelidir. Her kayıt için sözleşme şablonu hizmeti başlatılır.

Apex toplu hizmeti, şu kullanım sınıfı ile görüntülenir:

echosign_dev1.AgreementTemplateBatch

Parametreler

Bir toplu işlemi başlatmak için aşağıdaki parametreleri belirtmeniz gerekir:

  • Yürütülecek SOQL sorgusu: Seçilen alan olarak kayıt kimliğini içermelidir. Diğer alanlar isteğe bağlıdır.
  • Sözleşme şablonu kayıt kimliği: Bir sözleşmeyi yüklemek için ana kayıt kimliği ile birlikte kullanılır.

Kullanım Örneği

String agreementTemplateId = [SELECT Id from echosign_dev1__Agreement_Template__c where Name = 'Default Template']; String soqlQuery = 'SELECT Id from Contact where Account.IsActive = true';

AgreementTemplateBatch batch = new AgreementTemplateBatch(soqlQuery, agreementTemplateId); Id syncProcessId = Database.executeBatch(batch, 5);

Sözleşme Şablonu Hizmet Kümesi

Ana nesne kayıt kimliklerinin listesini ve ana nesne türünü alır, bunlar sorgulanır ve ardından her biri bir sözleşme kaydı oluşturmak için sağlanan sözleşme şablonu aracılığıyla çalıştırılır. Bu sınıf Salesforce Database.Batchable arabirimini uygular. Bu, kayıtları 5'li kümelere ayırıp her kümeyi yönetici sınırlarına uyulmasını sağlayan tek bir işlem olarak işleyecek dilediğiniz sayıda kaydı işleyebilir.

Sağlanan ana nesne türü, sağlanan sözleşme şablonu ana nesne türüyle eşleşmelidir. Her kayıt için sözleşme şablonu hizmeti başlatılır.

Apex toplu hizmeti, şu kullanım sınıfı ile görüntülenir:

echosign_dev1.AgreementTemplateServiceBatch

Parametreler

Bir toplu işlemi başlatmak için aşağıdaki parametreleri belirtmeniz gerekir:

  • Ana kayıt kimlikleri listesi.
  • Sözleşme şablonu kayıt kimliği: Bir sözleşmeyi yüklemek için ana kayıtlarla birlikte kullanılır.
  • Ana kayıtlar için sorgulamak üzere ana nesne adı.

Kullanım Örneği

String agreementTemplateId = [SELECT Id from echosign_dev1__Agreement_Template__c where Name = 'Default Template'];

AgreementTemplateBatch batch = new AgreementTemplateServiceBatch(new List<Id>{'01p50000000HoMB'}, agreementTemplateId, 'Contact');
Id syncProcessId = Database.executeBatch(batch, 5);

REST Hizmetleri

Sözleşme Şablonu Hizmeti

Sözleşme şablonu hizmeti, yönetilen paket tarafından Salesforce REST web hizmeti olarak görüntülenir. Bu, Salesforce kuruluşu dışındaki harici sistemlerin sözleşmeleri mevcut sözleşme şablonlarına göre yüklemesine olanak tanır. Salesforce'un içinden özel REST Apex hizmetlerine erişme ve bunları çalıştırma hakkında daha fazla bilgi için lütfen Apex REST kullanarak REST API'leri Oluşturma makalesine bakın. Kullanımlar kimlik doğrulama ve yetkilendirme için geçerli bir oturum kimliği sağlamalıdır.

Web hizmeti aşağıdaki URL'den görüntülenir:

https://<instance_name>.salesforce.com/services/apexrest/echosign_dev1/template/load/<template_id>?masterId=<master_id>&varName1=var Value1&varName2=varValue2

Not
  • Örnek adı, kuruluş örneğinize bağlı olarak değişir.
  • https://_<instance_name>_.salesforce.com/services/apexrest/echosign_dev1/template/load/<template_id>, 20.0 ve sonraki paket sürümleri için bir POST HTTP yöntemidir.
    • Sürüm 20'den önceki sürümlerde GETyöntemi kullanılır.

Şablon kimliği

URL'nin son bölümü, sözleşmeyi yüklemek için kullanılması gereken geçerli Salesforce kuruluşundaki sözleşme şablonu kaydının kimliğidir. URL'nin bu kısmı isteğe bağlıdır. Atlanırsa varsayılan olarak işaretlenen sözleşme şablonu yüklenir. Şablon kimliği atlanırsa ve varsayılan sözleşme şablonu kimliği yoksa bir hata döndürülür.

Şablon kimliği 15 veya 18 karakter biçiminde olabilir.

Ana kimlik

masterId parametresi, sözleşmeyi belirli bir sözleşme şablonundan yüklemek için hangi ana kaydın kullanılması gerektiğini belirtir. Bu parametre isteğe bağlıdır, ancak ana nesne türünü belirten ve şablonda bu ana nesneye referans veren tüm sözleşme şablonları için belirtilmelidir.

Ana kimlik 15 veya 18 karakter biçiminde olabilir.

Çalışma Zamanı Değişkenleri

Ek parametreler, sözleşme şablonunda belirtilen çalışma zamanı değişkenlerini doldurmak için kullanılan ad değeri çiftleri olarak çalışma zamanı değişkenleri olarak kullanılır.

Sonuç

REST web hizmeti, aşağıdaki alanları içeren bir LoadResult nesnesi döndürür:

  • agreementId: Sözleşme yükleme işlemi başarılı olursa, yeni oluşturulan sözleşme kaydının kimliğini içerir.
  • error: Sözleşmenin yüklenmesi sırasında herhangi bir hata meydana geldiyse bu alanda ayrıntılı bir hata mesajı yer alır.

Arka Plan Hizmeti

Arka plan hizmeti özelliği, paket müşterilerinin Arka Plan Eylemi (echosign_dev1 Background_Actions c) alanını ilgili değere güncelleyerek bir sözleşme nesnesi üzerinde çeşitli eylemler başlatmalarını sağlar. Alan değeri boş bir değerden veya başka bir değerden aşağıdaki değerlerden birine değiştirildiğinde eylem, e-İmza yönetilen paketinin bir parçası olan bir tetikten başlatılır.

  • Hatırlat
  • Gönder
  • İptal
  • Sil
  • Güncelle

Tüm eylemler senkronize olmayan gelecek modda yürütülür, böylece durum sözleşmedeki Hata alanına kaydedilir.

Geriye Dönük Uyumluluk Değişiklikleri

  • Belgeler ve alıcılar güncellendikten sonra sözleşme durumu artık güncellenir.
    • v21 öncesi durum daha önce ayarlanmıştır.
  • İmzalanan Sözleşme nesnesi (Görüntü URL'lerinin saklandığı) artık hiç eklenmemektedir
    • v21 sürümünden önce, diğer tüm güncellemeler tamamlandıktan sonra ekleniyordu
  • Salesforce yazılımsal kısıtlamalara göre asenkron Apex için maksimum bilgi isteği veya yanıt boyutu 12 MB ile sınırlıdır: https://developer.salesforce.com/docs/atlas.en-us.210.0.apexcode.meta/apexcode/apex_gov_limits.htm
    • 12 MB'den büyük belgeler, sınırın üzerinde olduğundan Sign'dan alınamaz.
  • Sözleşme olayı açıklamaları değiştirilmiştir. Artık Sign API'sinin getirdiği açıklamayla ve denetim raporlarıyla eşleştirmektedir.
  • Güncelleme işlemi artık Salesforce'ta yerel bir Apex toplu işlem (senkronize olmayan bir işlem) olarak çalıştırılır
    • Daha önce, Salesforce dışından API çağrıları kullanılarak yapılan bir güncellemeydi
    • Salesforce, çalışmakta olan bir senkronize olmayan işlemden başka bir senkronize olmayan işlem çağrılmasını sınırlandırdığından, senkronize olmayan işlemler başlatan bu durum güncellemelerinden tetikleyiciler artık çalışmamaktadır
  • v21 sürümünden önce, sözleşme özelliği güncellemeleri ayrı güncelleme çağrılarına bölünmüştü, artık sözleşme nesnesi bütünüyle tek bir işlemde güncellenmektedir.
  • v21 sürümünden önce, başarısız sözleşmeler yalnızca Salesforce içerisinden manuel bir güncelleme yapılarak yeniden denenebiliyordu
    • Sign arka ucu, başarısız olayları belirlenen bir sayıda otomatik olarak tekrar denediğinden artık güncellemeler daha güvenilir haldedir.
  • Manuel güncellemeler, artık ilgili nesneler de dahil olmak üzere sözleşmelerin tüm yönlerini güncellemektedir.
  • Artık iletilen sözleşmeler normal güncellemeler gibi senkronize olmayan modda çalışır ve ek özellikler normal güncellemeler gibi güncellenir.
  • Sözleşmenin farklı yönlerinin güncellemelerini etkinleştirmek/devre dışı bırakmak için yeni ayarlar kullanılmaya başlanmıştır.
  • Salesforce'ta imzalı bir PDF depolandığında artık PDF dosya adının sonuna bir tanımlayıcı (-imzalandı ya da -onaylandı) eklenmeyecek.