2016-08-08 43 views
0

Wie im Titel angegeben, verwende ich die DocuSign-REST-API in PHP, um eine Webanwendung zu entwickeln, die Informationen aus einem Formular (POST) zum Erstellen eines DocuSign-Umschlags verwendet muss letztendlich von den Empfängern signiert werden, deren E-Mails im Formular angegeben sind. Außer für den Nutzer, der die App derzeit nutzt, wird dieser sofort von ihm signiert.DocuSign-Umschlag muss an mehrere Empfänger für Signaturen gesendet werden

Gebäude Anfrage:

$data = array (
     'emailSubject' => 'DocuSign REST API Quickstart Sample', 
     'emailBlurb' => 'Shows how to create and send an envelope from a document.', 
     'recipients' => array (
      'signers' => array (
       0 => array (
        'email' => $recipientEmail1, 
        'name' => $recipientName1, 
        'clientUserId' => '1234', 
        'recipientId' => '1', 
        'routingOrder' => '1', 
        'tabs' => array (
         'signHereTabs' => array (
          0 => array (
           'xPosition' => '100', 
           'yPosition' => '600', 
           'documentId' => '1', 
           'pageNumber' => '1', 
           'value' => $recipientName1 
          ) 
         ), 
         'dateSignedTabs' => array (
          0 => array (
           'xPosition' => '250', 
           'yPosition' => '600', 
           'documentId' => '1', 
           'pageNumber' => '1' 
          ) 
         ), 
         "textTabs" => array(
          0 => array(
           'xPosition' => '200', 
           'yPosition' => '300', 
           'documentId' => '1', 
           'pageNumber' => '1', 
           "tabLabel"=> "animal", 
           "value" => $animal 
          ), 
          1 => array(
           'xPosition' => '200', 
           'yPosition' => '400', 
           'documentId' => '1', 
           'pageNumber' => '1', 
           "tabLabel"=> "color", 
           "value" => $color 
          ), 
          2 => array(
           'xPosition' => '200', 
           'yPosition' => '500', 
           'documentId' => '1', 
           'pageNumber' => '1', 
           "tabLabel"=> "number", 
           "value" => $number 
          ) 
         ) 
        ) 
       ), 
       1 => array (
        'email' => $recipientEmail2, 
        'name' => $recipientName2, 
        'clientUserId' => '2345', 
        'recipientId' => '2', 
        'routingOrder' => '2', 
        'tabs' => array (
         'signHereTabs' => array (
          0 => array (
           'xPosition' => '200', 
           'yPosition' => '600', 
           'documentId' => '1', 
           'pageNumber' => '1', 
           'value' => $recipientName2 
          ) 
         ), 
         'dateSignedTabs' => array (
          0 => array (
           'xPosition' => '250', 
           'yPosition' => '600', 
           'documentId' => '1', 
           'pageNumber' => '1' 
          ) 
         ), 
         "textTabs" => array(
          0 => array(
           'xPosition' => '200', 
           'yPosition' => '300', 
           'documentId' => '1', 
           'pageNumber' => '1', 
           "tabLabel"=> "animal", 
           "value" => $animal 
          ), 
          1 => array(
           'xPosition' => '200', 
           'yPosition' => '400', 
           'documentId' => '1', 
           'pageNumber' => '1', 
           "tabLabel"=> "color", 
           "value" => $color 
          ), 
          2 => array(
           'xPosition' => '200', 
           'yPosition' => '500', 
           'documentId' => '1', 
           'pageNumber' => '1', 
           "tabLabel"=> "number", 
           "value" => $number 
          ) 
         ) 
        ) 
       ) 
      ) 
     ),'documents' => array (
      0 => array (
       'documentId' => '1', 
       'name' => 'test.pdf', 
       'documentBase64' => base64_encode(file_get_contents($documentName)), 
      ) 
     ),'status' => 'sent', 
    ); 

Signing Ansicht:

$data = array(
     "returnUrl" => "http://www.docusign.com/devcenter", 
     "authenticationMethod" => "None", 
     "userName" => $recipientName1, 
     'clientUserId' => '1234', 
     "email" => $recipientEmail1 
    ); 

Antwort

1

Wenn Sie eine clientUserID für einen Empfänger angeben, dann werden Sie einen Umschlag erschaffen eingebettete Signatur verwendet wird. Wenn Sie möchten, dass DocuSign eine E-Mail an Ihre Empfänger sendet, um sie zu benachrichtigen, damit sie das Signing-Erlebnis starten können, sollten Sie die Remote-Signierung untersuchen. Wenn Sie den clientUserID-Parameter von jedem Unterzeichner entfernen, erhalten Sie eine Remote-Signierfunktion.

+0

haben Sie bemerkt, dass ich 2 signers in meiner Anfrage Array haben, aber nicht mehr als 2 meiner Meinung nach? Wie füge ich mehr Unterzeichner zur Ansicht hinzu? – pascalallen

+0

Haben Sie ein Beispiel? Danke für deine Hilfe. – pascalallen

0

So haben Sie mehrere Empfänger einen Umschlag zu unterzeichnen, und Sie möchten den ersten Empfänger sofort unter Verwendung Embedded Signing in Ihrer Website oder App, dann der Rest werden Remote-Empfänger sein, die Signierung per E-Mail ja initiieren?

Wenn dies der Fall ist, müssen Sie nur die clientUserId auf einen Wert ungleich Null für den ersten Empfänger setzen (wie Sie jetzt sind), dann nicht festlegen oder sogar die Eigenschaft für nachfolgende Empfänger, die per E-Mail unterzeichnen.

Wenn die Eigenschaft clientUserId festgelegt wird, teilt die DocuSign-Plattform dem Empfänger mit, dass er die eingebettete Signatur signiert und keine E-Mail sendet. Sobald der Empfänger dem Umschlag hinzugefügt wurde und der Umschlag sent ist, müssen Sie dann einen eindeutigen API-Aufruf pro Empfänger vornehmen, der sich in Embedded Mode anmeldet, aber da es nur eine in Ihrem Fall ist, müssen Sie nur eine zusätzliche API erstellen Aufruf (um die Empfängeransicht zu generieren).

So soll Ihre API Call-Flow im Grunde sein sein:

  1. Erstellen und Umschlag sendet mit ersten Empfängern eingebettet verbleibenden Fernbedienung.
  2. Generieren Sie die eingebettete Signatur (Empfängeransicht) für den ersten Empfänger und laden Sie sie über eine Umleitung, eine Webansicht oder einen gefürchteten iFrame.
  3. DONE

Wenn Sie die routingOrder für nachfolgende Empfänger konfiguriert haben, die ich in Ihrem Code sehen tun, dann wird die Plattform der verbleibenden Empfänger kümmern (dh Unterzeichnung Links generiert und die Benachrichtigungen per E-Mail, wenn es ist die Reihe in der Routing-Reihenfolge)

Für weitere Informationen:. DocuSign Developer Center