Integrieren Sie eSignLive mit dem APEX SDK in Salesforce

Michael Williams, 30. September 2016
Thumbnail

Wir alle wissen, dass Salesforce eines der flexibelsten und leistungsstärksten Cloud-basierten CRM-Systeme auf dem Markt ist, und viele von Ihnen wissen wahrscheinlich, dass eSignLive über eine erstklassige App verfügt AppExchange zum Signieren von Dokumenten aller Art. Aber wussten Sie, dass eSignLive auch ein APEX SDK bietet? Anfang dieses Jahres eingeführt und ein Produkt, das wir sein werden nächste Woche bei Dreamforce ist das APEX SDK von eSignLive - ein vollständiges Toolkit, mit dem Salesforce-Entwickler E-Signatur-Funktionen schnell und einfach in die Salesforce- und Force.com-Anwendungen einführen können. Wenn Ihre Anforderungen nicht nur in der Lage sind, Dokumente zur Signatur von Salesforce zu senden, sondern auch in benutzerdefinierte Apps und Workflows integriert werden können, sind Sie hier genau richtig. Laden Sie das APEX SDK herunter [Promotion-ID = "17409"]

Einfaches APEX SDK Beispiel

Wie alle SDKs von eSignLive ist das APEX SDK unkompliziert und einfach zu starten. Ich dachte, ich würde ein einfaches Beispiel für das Erstellen einer eSignLive-Transaktion mit Dokumenten durchgehen, um zu zeigen, wie einfach es wirklich ist. In diesem Beispiel werde ich zeigen, wie ein Paket mit verschiedenen Einstellungen erstellt wird, z. B. einer E-Mail-Nachricht, dem Ablaufdatum und dem Festlegen der Auto-Vervollständigungseigenschaft eines Pakets. Als erstes erklären wir unsere Funktion:

public static void createPackageWithDocumentsExample (Zeichenfolge packageName, Boolesche automatische Vervollständigung, Zeichenfolge packageDescription, DateTime packageDue, Zeichenfolge emailMessage)
{

Als Nächstes müssen wir unser eSignLive SDK-Objekt erstellen.

ESignLiveSDK sdk = new ESignLiveSDK ();

Anschließend richten Sie die Beispielpaket- und Dokumentdaten ein

ESignLiveAPIObjects.Package_x pkg = new ESignLiveAPIObjects.Package_x ();
Map  blobMap = neue Map  ();

Blob b1 = File1_Blob_Contents;
Blob b2 = File2_Blob_Contents;

blobMap.put ('testDocumentOne', b1);
blobMap.put ('testDocumentTwo', b2);

Hier lege ich die Paketeigenschaften basierend auf den an die Funktion übergebenen Werten fest.

pkg.name = packageName;
pkg.autocomplete = autocomplete;
pkg.description = packageDescription;

In diesem Abschnitt des Codes wird ein neuer Textanker erstellt, um zu definieren, wohin ein Signaturblock relativ zum Text "testDocumentOne" im Dokument verschoben werden soll.

ESignLiveAPIObjects.ExtractAnchor ea = new ESignLiveAPIObjects.ExtractAnchor ();
ea.text = 'testDocumentOne';
ea.index = 0;
ea.width = 150;
Höhe = 40;
ea.anchorPoint = ESignLiveAPIObjects.AnchorPoint.TOPRIGHT;
ea.characterIndex = 12;
ea.leftOffset = -20;
ea.topOffset = -60;

Hier wird das Signaturblockfeld tatsächlich erstellt und der oben erstellte Extraktionsanker wird zum Platzieren des Signaturblocks verwendet.

ESignLiveAPIObjects.Field f1 = new ESignLiveAPIObjects.Field ();
f1.type = 'SIGNATURE';
f1.page = 0;
f1.extract = false; 
f1.left = 0;
f1.subtype = 'FULLNAME';
f1.top = 0;
f1.extractAnchor = ea;

Dieser nächste Block zeigt die Erstellung eines weiteren Ankers, der für die Platzierung eines Datumsfelds erstellt wurde. Beachten Sie die Bindung "Approval.Signed" im Feld.

ESignLiveAPIObjects.ExtractAnchor ea1 = new ESignLiveAPIObjects.ExtractAnchor ();
ea1.text = 'testDocumentOne';
ea1.index = 0;
ea1.width = 150;
ea1.height = 40;
ea1.anchorPoint = ESignLiveAPIObjects.AnchorPoint.BOTTOMRIGHT;
ea1.characterIndex = 12;
ea1.leftOffset = -40;
ea1.topOffset = 0;

ESignLiveAPIObjects.Field f2 = new ESignLiveAPIObjects.Field ();
f2.type = 'INPUT';
f2.page = 0;
f2.extract = false; 
f2.left = 0;
f2.subtype = 'LABEL';
	f2.binding = '{Approval.signed}';
f2.top = 0;
f2.extractAnchor = ea1;

Als nächstes wird im Beispiel die Autorisierung eingerichtet. Hier fügen Sie die SMS-PIN-Authentifizierung oder Fragen und Antworten hinzu, wenn Sie eine sicherere Transaktion benötigen.

List  Challenges = new List  ();
        
ESignLiveAPIObjects.Delivery Delivery = new ESignLiveAPIObjects.Delivery ();
Delivery.email = true;
Delivery.provider = true;

ESignLiveAPIObjects.Auth auth = new ESignLiveAPIObjects.Auth ();
auth.challenges = Herausforderungen;
auth.scheme = ESignLiveAPIObjects.AuthScheme.NONE;

Der folgende Code erstellt einen Unterzeichner und verwendet die oben erstellten Autorisierungs- und Übermittlungsobjekte. Anschließend wird der Unterzeichner zu einer Liste hinzugefügt, die unten bei der Erstellung der Paketrolle verwendet werden soll.

ESignLiveAPIObjects.Signer signer = new ESignLiveAPIObjects.Signer ();
signer.auth = auth;
signer.delivery = Lieferung;
signer.firstName = 'firstName';
signer.lastName = 'lastName';
signer.email = 'fnln @test .com ';
signer.name = 'firstNamelastName';

List  signers = new List  ();
signers.add (signer);

Wie oben angegeben, wird das Rollenobjekt jetzt erstellt und die oben erstellte Unterzeichnerliste wird verwendet, um die Unterzeichner innerhalb der Rolle zu definieren. Sie können auch einen Rollennamen und eine ID festlegen.

ESignLiveAPIObjects.Role role = new ESignLiveAPIObjects.Role ();
role.signers = signers;
role.reassign = true;
role.name = 'firstNamelastName';
role.id = 'firstNamelastName';
role.type = 'SIGNER';

Hier wird das Genehmigungsobjekt unter Verwendung der soeben erstellten Rolle und der oben erstellten Felder (Signatur und Datum) erstellt.

ESignLiveAPIObjects.Approval Approval1 = new ESignLiveAPIObjects.Approval ();
Approval1.role = 'firstNamelastName';
Approval1.fields = neue Liste  {f1, f2};

Was wäre ein Dokumentenpaket ohne Dokumente? Als Nächstes müssen Sie für jeden der Blobs, die wir in das Paket hochladen möchten, ein Dokumentobjekt erstellen. Sie werden sehen, dass das im letzten Block erstellte Genehmigungsobjekt hier verwendet wird, um die Genehmigungen und Felder für das Dokument festzulegen.

ESignLiveAPIObjects.Document doc1 = new ESignLiveAPIObjects.Document ();
doc1.name = 'testDocumentOne';
doc1.approvals = neue Liste  {Approval1};

ESignLiveAPIObjects.Document doc2 = new ESignLiveAPIObjects.Document ();
doc2.name = 'testDocumentTwo';

Wenn Sie eSignLive bereits verwendet haben, wissen Sie, dass die Erstellung eines Pakets letztendlich zwei Elemente umfasst: die Dokumente und die Rollen / Unterzeichner. Dieser nächste Codeabschnitt zeigt, wie Sie diese dem Paketobjekt hinzufügen, bevor Sie das Paket erstellen.

pkg.documents = neue Liste  {doc1, doc2};
pkg.roles = neue Liste  {role};

Nachdem Ihr Paket vollständig eingerichtet ist, müssen Sie nur noch die Funktion createPackage aufrufen und das oben erstellte Paketobjekt und die blobMap übergeben.

String response = sdk.createPackage (pkg, blobMap);

Drucken Sie abschließend die Bestätigung, dass das Paket erstellt wurde, an die Konsole und schließen Sie die Funktion.

System.debug ('=> PackageId:' + Antwort);
}

Das ist es. Wenn Sie diesem Punkt gefolgt sind, sollten Sie mit dem APEX SDK erfolgreich ein Dokumentpaket mit Dokumentbinärdateien erstellt haben. Wenn Sie Fragen zum APEX SDK haben, schauen Sie sich das an Dokumentation oder stellen Sie eine Frage in der Entwicklergemeinschaft .

Auf dem Weg zu Dreamforce?

Stell sicher, dass du Schauen Sie am Stand 401 oder 2112 vorbei um mit Doug Exner zu sprechen, einem unserer Anwendungstechniker, der unsere leistungsstarke Integration von elektronischen Signaturen in Salesforce demonstrieren wird. Verpassen Sie nicht unsere Sitzung " Argumente für elektronische Signaturen in Salesforce und Force.com "Donnerstag, 6. Oktober, 11:00 - 11:20 Uhr im Partner Theatre 1 in Moscone South Vielen Dank fürs Lesen! Wenn Sie Fragen haben, können Sie diese gerne in den Kommentaren veröffentlichen.

  Treten Sie der eSignLive Developer Community bei - Michael Williams Twitter | Facebook | LinkedIn