examples/api-samples/public/docs/envelope-sample.html in groupdocs-1.5.3 vs examples/api-samples/public/docs/envelope-sample.html in groupdocs-1.5.4
- old
+ new
@@ -1,132 +1,374 @@
-<!DOCTYPE html> <html> <head> <title>envelope-sample.rb</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <link rel="stylesheet" media="all" href="docco.css" /> </head> <body> <div id="container"> <div id="background"></div> <div id="jump_to"> Jump To … <div id="jump_wrapper"> <div id="jump_page"> <a class="source" href="annotation-sample.html"> annotation-sample.rb </a> <a class="source" href="envelope-sample.html"> envelope-sample.rb </a> <a class="source" href="sample1.html"> sample1.rb </a> <a class="source" href="sample10.html"> sample10.rb </a> <a class="source" href="sample11.html"> sample11.rb </a> <a class="source" href="sample12.html"> sample12.rb </a> <a class="source" href="sample13.html"> sample13.rb </a> <a class="source" href="sample14.html"> sample14.rb </a> <a class="source" href="sample15.html"> sample15.rb </a> <a class="source" href="sample16.html"> sample16.rb </a> <a class="source" href="sample17.html"> sample17.rb </a> <a class="source" href="sample18.html"> sample18.rb </a> <a class="source" href="sample19.html"> sample19.rb </a> <a class="source" href="sample2.html"> sample2.rb </a> <a class="source" href="sample20.html"> sample20.rb </a> <a class="source" href="sample21.html"> sample21.rb </a> <a class="source" href="sample22.html"> sample22.rb </a> <a class="source" href="sample3.html"> sample3.rb </a> <a class="source" href="sample4.html"> sample4.rb </a> <a class="source" href="sample5.html"> sample5.rb </a> <a class="source" href="sample6.html"> sample6.rb </a> <a class="source" href="sample7.html"> sample7.rb </a> <a class="source" href="sample8.html"> sample8.rb </a> <a class="source" href="sample9.html"> sample9.rb </a> </div> </div> </div> <table cellpadding="0" cellspacing="0"> <thead> <tr> <th class="docs"> <h1> envelope-sample.rb </h1> </th> <th class="code"> </th> </tr> </thead> <tbody> <tr id="section-1"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-1">¶</a> </div> <p>GET request</p> </td> <td class="code"> <div class="highlight"><pre><span class="n">get</span> <span class="s1">'/envelope-sample'</span> <span class="k">do</span>
- <span class="n">haml</span> <span class="ss">:envelope_sample</span>
-<span class="k">end</span>
-
-
</pre></div> </td> </tr> <tr id="section-2"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-2">¶</a> </div> <p>POST request to handle callback when document was signed</p> </td> <td class="code"> <div class="highlight"><pre>
-<span class="n">post</span> <span class="s1">'/envelope-sample/sign'</span> <span class="k">do</span>
-
</pre></div> </td> </tr> <tr id="section-3"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-3">¶</a> </div> <p>Content Type of callback is application/json</p> </td> <td class="code"> <div class="highlight"><pre>
- <span class="n">data</span> <span class="o">=</span> <span class="no">JSON</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">body</span><span class="o">.</span><span class="n">read</span><span class="p">)</span>
- <span class="k">begin</span>
- <span class="k">raise</span> <span class="s1">'Empty params!'</span> <span class="k">if</span> <span class="n">data</span><span class="o">.</span><span class="n">empty?</span>
-
</pre></div> </td> </tr> <tr id="section-4"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-4">¶</a> </div> <p>create empty file and write data as "key: value" to it</p> </td> <td class="code"> <div class="highlight"><pre>
- <span class="n">out_file</span> <span class="o">=</span> <span class="no">File</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="s1">'signed'</span><span class="p">,</span> <span class="s1">'w'</span><span class="p">)</span>
- <span class="n">data</span><span class="o">.</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="o">|</span>
- <span class="n">out_file</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">"</span><span class="si">#{</span><span class="n">key</span><span class="si">}</span><span class="s2">: </span><span class="si">#{</span><span class="n">value</span><span class="si">}</span><span class="s2"> </span><span class="se">\n</span><span class="s2">"</span><span class="p">)</span>
- <span class="k">end</span>
- <span class="n">out_file</span><span class="o">.</span><span class="n">close</span>
- <span class="k">rescue</span> <span class="no">Exception</span> <span class="o">=></span> <span class="n">e</span>
- <span class="n">err</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">message</span>
- <span class="k">end</span>
-<span class="k">end</span>
-
-
-
</pre></div> </td> </tr> <tr id="section-5"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-5">¶</a> </div> <p>POST request to handle callback and download envelop when document was signed</p> </td> <td class="code"> <div class="highlight"><pre>
-<span class="n">post</span> <span class="s1">'/envelope-sample/sign-and-download'</span> <span class="k">do</span>
- <span class="n">data</span> <span class="o">=</span> <span class="no">JSON</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="n">request</span><span class="o">.</span><span class="n">body</span><span class="o">.</span><span class="n">read</span><span class="p">)</span>
- <span class="k">begin</span>
- <span class="k">raise</span> <span class="s1">'Empty params!'</span> <span class="k">if</span> <span class="n">data</span><span class="o">.</span><span class="n">empty?</span>
- <span class="no">GroupDocs</span><span class="o">.</span><span class="n">configure</span> <span class="k">do</span> <span class="o">|</span><span class="n">groupdocs</span><span class="o">|</span>
- <span class="n">groupdocs</span><span class="o">.</span><span class="n">client_id</span> <span class="o">=</span> <span class="s1">''</span> <span class="c1"># Your client Client ID here</span>
- <span class="n">groupdocs</span><span class="o">.</span><span class="n">private_key</span> <span class="o">=</span> <span class="s1">''</span> <span class="c1"># Your API Key here</span>
- <span class="n">groupdocs</span><span class="o">.</span><span class="n">api_server</span> <span class="o">=</span> <span class="s1">'https://api.groupdocs.com'</span>
- <span class="k">end</span>
- <span class="n">data</span><span class="o">.</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">key</span><span class="p">,</span> <span class="n">value</span><span class="o">|</span>
- <span class="k">if</span> <span class="n">key</span> <span class="o">==</span> <span class="s1">'SourceId'</span>
-
</pre></div> </td> </tr> <tr id="section-6"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-6">¶</a> </div> <p>Create envelop with id and name as SourceId parameter from callback</p> </td> <td class="code"> <div class="highlight"><pre>
- <span class="n">envelope</span> <span class="o">=</span> <span class="ss">GroupDocs</span><span class="p">:</span><span class="ss">:Signature</span><span class="o">::</span><span class="no">Envelope</span><span class="o">.</span><span class="n">new</span> <span class="nb">id</span><span class="p">:</span> <span class="n">value</span><span class="p">,</span>
- <span class="nb">name</span><span class="p">:</span> <span class="n">value</span>
-
</pre></div> </td> </tr> <tr id="section-7"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-7">¶</a> </div> <p>download signed documents as archive</p> </td> <td class="code"> <div class="highlight"><pre>
- <span class="n">envelope</span><span class="o">.</span><span class="n">signed_documents!</span> <span class="s1">'.'</span>
- <span class="k">end</span>
- <span class="k">end</span>
- <span class="k">rescue</span> <span class="no">Exception</span> <span class="o">=></span> <span class="n">e</span>
- <span class="n">err</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">message</span>
- <span class="k">end</span>
-<span class="k">end</span>
-
-
</pre></div> </td> </tr> <tr id="section-8"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-8">¶</a> </div> <p>GET request to check if envelop was signed</p> </td> <td class="code"> <div class="highlight"><pre>
-<span class="n">get</span> <span class="s1">'/envelope-sample/check'</span> <span class="k">do</span>
- <span class="k">if</span> <span class="no">File</span><span class="o">.</span><span class="n">exist?</span><span class="p">(</span><span class="s1">'signed'</span><span class="p">)</span>
- <span class="no">File</span><span class="o">.</span><span class="n">readlines</span><span class="p">(</span><span class="s1">'signed'</span><span class="p">)</span><span class="o">.</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">line</span><span class="o">|</span>
- <span class="k">end</span>
- <span class="k">else</span>
- <span class="s1">'Have not signed yet'</span>
- <span class="k">end</span>
-<span class="k">end</span>
-
-
</pre></div> </td> </tr> <tr id="section-9"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-9">¶</a> </div> <p>POST request</p> </td> <td class="code"> <div class="highlight"><pre>
-<span class="n">post</span> <span class="s1">'/envelope-sample'</span> <span class="k">do</span>
- <span class="n">set</span> <span class="ss">:client_id</span><span class="p">,</span> <span class="n">params</span><span class="o">[</span><span class="ss">:client_id</span><span class="o">]</span>
- <span class="n">set</span> <span class="ss">:private_key</span><span class="p">,</span> <span class="n">params</span><span class="o">[</span><span class="ss">:private_key</span><span class="o">]</span>
-
- <span class="k">begin</span>
- <span class="k">raise</span> <span class="s1">'Please enter all required parameters'</span> <span class="k">if</span> <span class="n">settings</span><span class="o">.</span><span class="n">client_id</span><span class="o">.</span><span class="n">empty?</span> <span class="ow">or</span> <span class="n">settings</span><span class="o">.</span><span class="n">private_key</span><span class="o">.</span><span class="n">empty?</span>
-
- <span class="no">GroupDocs</span><span class="o">.</span><span class="n">configure</span> <span class="k">do</span> <span class="o">|</span><span class="n">groupdocs</span><span class="o">|</span>
- <span class="n">groupdocs</span><span class="o">.</span><span class="n">client_id</span> <span class="o">=</span> <span class="n">params</span><span class="o">[</span><span class="ss">:client_id</span><span class="o">]</span>
- <span class="n">groupdocs</span><span class="o">.</span><span class="n">private_key</span> <span class="o">=</span> <span class="n">params</span><span class="o">[</span><span class="ss">:private_key</span><span class="o">]</span>
- <span class="n">groupdocs</span><span class="o">.</span><span class="n">api_server</span> <span class="o">=</span> <span class="s1">'https://stage-api.groupdocs.com'</span>
- <span class="k">end</span>
-
-
</pre></div> </td> </tr> <tr id="section-10"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-10">¶</a> </div> <p>upload document</p> </td> <td class="code"> <div class="highlight"><pre>
- <span class="n">filepath</span> <span class="o">=</span> <span class="s2">"</span><span class="si">#{</span><span class="no">Dir</span><span class="o">.</span><span class="n">tmpdir</span><span class="si">}</span><span class="s2">/</span><span class="si">#{</span><span class="n">params</span><span class="o">[</span><span class="ss">:file</span><span class="o">][</span><span class="ss">:filename</span><span class="o">]</span><span class="si">}</span><span class="s2">"</span>
- <span class="no">File</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="s1">'wb'</span><span class="p">)</span> <span class="p">{</span> <span class="o">|</span><span class="n">f</span><span class="o">|</span> <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">params</span><span class="o">[</span><span class="ss">:file</span><span class="o">][</span><span class="ss">:tempfile</span><span class="o">].</span><span class="n">read</span><span class="p">)</span> <span class="p">}</span>
- <span class="n">file</span> <span class="o">=</span> <span class="ss">GroupDocs</span><span class="p">:</span><span class="ss">:Storage</span><span class="o">::</span><span class="no">File</span><span class="o">.</span><span class="n">upload!</span><span class="p">(</span><span class="n">filepath</span><span class="p">,</span> <span class="p">{},</span> <span class="n">client_id</span><span class="p">:</span> <span class="n">settings</span><span class="o">.</span><span class="n">client_id</span><span class="p">,</span> <span class="n">private_key</span><span class="p">:</span> <span class="n">settings</span><span class="o">.</span><span class="n">private_key</span><span class="p">)</span>
- <span class="n">document</span> <span class="o">=</span> <span class="n">file</span><span class="o">.</span><span class="n">to_document</span>
-
-
</pre></div> </td> </tr> <tr id="section-11"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-11">¶</a> </div> <p>create envelope</p> </td> <td class="code"> <div class="highlight"><pre>
- <span class="n">envelope</span> <span class="o">=</span> <span class="ss">GroupDocs</span><span class="p">:</span><span class="ss">:Signature</span><span class="o">::</span><span class="no">Envelope</span><span class="o">.</span><span class="n">new</span>
- <span class="n">envelope</span><span class="o">.</span><span class="n">name</span> <span class="o">=</span> <span class="s1">'Envelope'</span>
- <span class="n">envelope</span><span class="o">.</span><span class="n">email_subject</span> <span class="o">=</span> <span class="s1">'Sing this!'</span>
- <span class="n">envelope</span><span class="o">.</span><span class="n">create!</span>
-
-
</pre></div> </td> </tr> <tr id="section-12"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-12">¶</a> </div> <p>add document to envelope</p> </td> <td class="code"> <div class="highlight"><pre>
- <span class="n">envelope</span><span class="o">.</span><span class="n">add_document!</span> <span class="n">document</span>
-
-
</pre></div> </td> </tr> <tr id="section-13"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-13">¶</a> </div> <p>update document object after it's created</p> </td> <td class="code"> <div class="highlight"><pre>
- <span class="n">document</span> <span class="o">=</span> <span class="n">envelope</span><span class="o">.</span><span class="n">documents!</span><span class="o">.</span><span class="n">first</span>
-
-
</pre></div> </td> </tr> <tr id="section-14"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-14">¶</a> </div> <p>add new recipient to envelope</p> </td> <td class="code"> <div class="highlight"><pre>
- <span class="n">roles</span> <span class="o">=</span> <span class="ss">GroupDocs</span><span class="p">:</span><span class="ss">:Signature</span><span class="o">::</span><span class="no">Role</span><span class="o">.</span><span class="n">get!</span>
- <span class="n">recipient</span> <span class="o">=</span> <span class="ss">GroupDocs</span><span class="p">:</span><span class="ss">:Signature</span><span class="o">::</span><span class="no">Recipient</span><span class="o">.</span><span class="n">new</span>
- <span class="n">recipient</span><span class="o">.</span><span class="n">email</span> <span class="o">=</span> <span class="s1">'john@smith.com'</span>
- <span class="n">recipient</span><span class="o">.</span><span class="n">first_name</span> <span class="o">=</span> <span class="s1">'John'</span>
- <span class="n">recipient</span><span class="o">.</span><span class="n">last_name</span> <span class="o">=</span> <span class="s1">'Smith'</span>
- <span class="n">recipient</span><span class="o">.</span><span class="n">role_id</span> <span class="o">=</span> <span class="n">roles</span><span class="o">.</span><span class="n">detect</span> <span class="p">{</span> <span class="o">|</span><span class="n">role</span><span class="o">|</span> <span class="n">role</span><span class="o">.</span><span class="n">name</span> <span class="o">==</span> <span class="s1">'Signer'</span> <span class="p">}</span><span class="o">.</span><span class="n">id</span>
- <span class="n">envelope</span><span class="o">.</span><span class="n">add_recipient!</span> <span class="n">recipient</span>
-
-
</pre></div> </td> </tr> <tr id="section-15"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-15">¶</a> </div> <p>update recipient object after it's created</p> </td> <td class="code"> <div class="highlight"><pre>
- <span class="n">recipient</span> <span class="o">=</span> <span class="n">envelope</span><span class="o">.</span><span class="n">recipients!</span><span class="o">.</span><span class="n">first</span>
-
-
</pre></div> </td> </tr> <tr id="section-16"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-16">¶</a> </div> <p>You can add fields manually.</p> </td> <td class="code"> <div class="highlight"><pre>
-
-
</pre></div> </td> </tr> <tr id="section-17"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-17">¶</a> </div> <p>add city field to envelope
-field = GroupDocs::Signature::Field.get!.detect { |f| f.type == :single<em>line }
-field.name = 'City'
-field.location = { location</em>x: 0.3, location<em>y: 0.2, page: 1 }
-envelope.add</em>field! field, document, recipient</p> </td> <td class="code"> <div class="highlight"><pre>
-
-
</pre></div> </td> </tr> <tr id="section-18"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-18">¶</a> </div> <p>add signature field to envelope
+<!DOCTYPE html>
+
+<html>
+<head>
+ <title>envelope-sample.rb</title>
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+ <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
+ <link rel="stylesheet" media="all" href="docco.css" />
+</head>
+<body>
+ <div id="container">
+ <div id="background"></div>
+
+ <ul class="sections">
+
+ <li id="title">
+ <div class="annotation">
+ <h1>envelope-sample.rb</h1>
+ </div>
+ </li>
+
+
+
+ <li id="section-1">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-1">¶</a>
+ </div>
+ <p>GET request</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre>get <span class="string">'/envelope-sample'</span> <span class="keyword">do</span>
+ haml <span class="symbol">:envelope_sample</span>
+<span class="keyword">end</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-2">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-2">¶</a>
+ </div>
+ <p>POST request to handle callback when document was signed</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre>post <span class="string">'/envelope-sample/sign'</span> <span class="keyword">do</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-3">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-3">¶</a>
+ </div>
+ <p>Content Type of callback is application/json</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> data = <span class="constant">JSON</span>.parse(request.body.read)
+ <span class="keyword">begin</span>
+ raise <span class="string">'Empty params!'</span> <span class="keyword">if</span> data.empty?</pre></div></div>
+
+ </li>
+
+
+ <li id="section-4">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-4">¶</a>
+ </div>
+ <p>create empty file and write data as "key: value" to it</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> out_file = <span class="constant">File</span>.new(<span class="string">'signed'</span>, <span class="string">'w'</span>)
+ data.each <span class="keyword">do</span> |key, value|
+ out_file.write(<span class="string">"<span class="subst">#{key}</span>: <span class="subst">#{value}</span> \n"</span>)
+ <span class="keyword">end</span>
+ out_file.close
+ <span class="keyword">rescue</span> <span class="constant">Exception</span> => e
+ err = e.message
+ <span class="keyword">end</span>
+<span class="keyword">end</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-5">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-5">¶</a>
+ </div>
+ <p>POST request to handle callback and download envelop when document was signed</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre>post <span class="string">'/envelope-sample/sign-and-download'</span> <span class="keyword">do</span>
+ data = <span class="constant">JSON</span>.parse(request.body.read)
+ <span class="keyword">begin</span>
+ raise <span class="string">'Empty params!'</span> <span class="keyword">if</span> data.empty?
+ <span class="constant">GroupDocs</span>.configure <span class="keyword">do</span> |groupdocs|
+ groupdocs.client_id = <span class="string">''</span> <span class="comment"># Your client Client ID here</span>
+ groupdocs.private_key = <span class="string">''</span> <span class="comment"># Your API Key here</span>
+ groupdocs.api_server = <span class="string">'https://api.groupdocs.com'</span>
+ <span class="keyword">end</span>
+ data.each <span class="keyword">do</span> |key, value|
+ <span class="keyword">if</span> key == <span class="string">'SourceId'</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-6">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-6">¶</a>
+ </div>
+ <p>Create envelop with id and name as SourceId parameter from callback</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> envelope = <span class="constant">GroupDocs::Signature::Envelope</span>.new <span class="symbol">id:</span> value,
+ <span class="symbol">name:</span> value</pre></div></div>
+
+ </li>
+
+
+ <li id="section-7">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-7">¶</a>
+ </div>
+ <p>download signed documents as archive</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> envelope.signed_documents! <span class="string">'.'</span>
+ <span class="keyword">end</span>
+ <span class="keyword">end</span>
+ <span class="keyword">rescue</span> <span class="constant">Exception</span> => e
+ err = e.message
+ <span class="keyword">end</span>
+<span class="keyword">end</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-8">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-8">¶</a>
+ </div>
+ <p>GET request to check if envelop was signed</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre>get <span class="string">'/envelope-sample/check'</span> <span class="keyword">do</span>
+ <span class="keyword">if</span> <span class="constant">File</span>.exist?(<span class="string">'signed'</span>)
+ <span class="constant">File</span>.readlines(<span class="string">'signed'</span>).each <span class="keyword">do</span> |line|
+ <span class="keyword">end</span>
+ <span class="keyword">else</span>
+ <span class="string">'Have not signed yet'</span>
+ <span class="keyword">end</span>
+<span class="keyword">end</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-9">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-9">¶</a>
+ </div>
+ <p>POST request</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre>post <span class="string">'/envelope-sample'</span> <span class="keyword">do</span>
+ set <span class="symbol">:client_id</span>, params[<span class="symbol">:client_id</span>]
+ set <span class="symbol">:private_key</span>, params[<span class="symbol">:private_key</span>]
+
+ <span class="keyword">begin</span>
+ raise <span class="string">'Please enter all required parameters'</span> <span class="keyword">if</span> settings.client_id.empty? <span class="keyword">or</span> settings.private_key.empty?
+
+ <span class="constant">GroupDocs</span>.configure <span class="keyword">do</span> |groupdocs|
+ groupdocs.client_id = params[<span class="symbol">:client_id</span>]
+ groupdocs.private_key = params[<span class="symbol">:private_key</span>]
+ groupdocs.api_server = <span class="string">'https://stage-api.groupdocs.com'</span>
+ <span class="keyword">end</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-10">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-10">¶</a>
+ </div>
+ <p>upload document</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> filepath = <span class="string">"<span class="subst">#{<span class="constant">Dir</span>.tmpdir}</span>/<span class="subst">#{params[<span class="symbol">:file</span>][<span class="symbol">:filename</span>]}</span>"</span>
+ <span class="constant">File</span>.open(filepath, <span class="string">'wb'</span>) { |f| f.write(params[<span class="symbol">:file</span>][<span class="symbol">:tempfile</span>].read) }
+ file = <span class="constant">GroupDocs::Storage::File</span>.upload!(filepath, {}, <span class="symbol">client_id:</span> settings.client_id, <span class="symbol">private_key:</span> settings.private_key)
+ document = file.to_document</pre></div></div>
+
+ </li>
+
+
+ <li id="section-11">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-11">¶</a>
+ </div>
+ <p>create envelope</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> envelope = <span class="constant">GroupDocs::Signature::Envelope</span>.new
+ envelope.name = <span class="string">'Envelope'</span>
+ envelope.email_subject = <span class="string">'Sing this!'</span>
+ envelope.create!</pre></div></div>
+
+ </li>
+
+
+ <li id="section-12">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-12">¶</a>
+ </div>
+ <p>add document to envelope</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> envelope.add_document! document</pre></div></div>
+
+ </li>
+
+
+ <li id="section-13">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-13">¶</a>
+ </div>
+ <p>update document object after it's created</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> document = envelope.documents!.first</pre></div></div>
+
+ </li>
+
+
+ <li id="section-14">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-14">¶</a>
+ </div>
+ <p>add new recipient to envelope</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> roles = <span class="constant">GroupDocs::Signature::Role</span>.get!
+ recipient = <span class="constant">GroupDocs::Signature::Recipient</span>.new
+ recipient.email = <span class="string">'john@smith.com'</span>
+ recipient.first_name = <span class="string">'John'</span>
+ recipient.last_name = <span class="string">'Smith'</span>
+ recipient.role_id = roles.detect { |role| role.name == <span class="string">'Signer'</span> }.id
+ envelope.add_recipient! recipient</pre></div></div>
+
+ </li>
+
+
+ <li id="section-15">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-15">¶</a>
+ </div>
+ <p>update recipient object after it's created</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> recipient = envelope.recipients!.first</pre></div></div>
+
+ </li>
+
+
+ <li id="section-16">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-16">¶</a>
+ </div>
+ <p>You can add fields manually.</p>
+<p>add city field to envelope
+field = GroupDocs::Signature::Field.get!.detect { |f| f.type == :single_line }
+field.name = 'City'
+field.location = { location_x: 0.3, location_y: 0.2, page: 1 }
+envelope.add_field! field, document, recipient</p>
+<p>add signature field to envelope
field = GroupDocs::Signature::Field.get!.detect { |f| f.type == :signature }
-field.location = { location<em>x: 0.3, location</em>y: 0.3, page: 1 }
-envelope.add_field! field, document, recipient</p> </td> <td class="code"> <div class="highlight"><pre>
-
-
</pre></div> </td> </tr> <tr id="section-19"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-19">¶</a> </div> <p>URL for callback
-webhook = 'http://groupdocs-ruby-samples.herokuapp.com/envelope-sample/sign'</p> </td> <td class="code"> <div class="highlight"><pre>
- <span class="n">webhook</span> <span class="o">=</span> <span class="s1">'http://77.81.243.48/?q=groupdocs_signature/signature_callback'</span>
-
-
</pre></div> </td> </tr> <tr id="section-20"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-20">¶</a> </div> <p>send envelope</p> </td> <td class="code"> <div class="highlight"><pre>
- <span class="n">envelope</span><span class="o">.</span><span class="n">send!</span> <span class="n">webhook</span>
-
-
</pre></div> </td> </tr> <tr id="section-21"> <td class="docs"> <div class="pilwrap"> <a class="pilcrow" href="#section-21">¶</a> </div> <p>construct embedded signature url</p> </td> <td class="code"> <div class="highlight"><pre>
- <span class="n">url</span> <span class="o">=</span> <span class="s2">"https://stage-apps.groupdocs.com/signature/signembed/</span><span class="si">#{</span><span class="n">envelope</span><span class="o">.</span><span class="n">id</span><span class="si">}</span><span class="s2">/</span><span class="si">#{</span><span class="n">recipient</span><span class="o">.</span><span class="n">id</span><span class="si">}</span><span class="s2">"</span>
- <span class="n">iframe</span> <span class="o">=</span> <span class="s2">"<iframe src='</span><span class="si">#{</span><span class="n">url</span><span class="si">}</span><span class="s2">' frameborder='0' width='720' height='600'></iframe>"</span>
-
- <span class="k">rescue</span> <span class="no">Exception</span> <span class="o">=></span> <span class="n">e</span>
- <span class="n">err</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">message</span>
- <span class="k">end</span>
-
- <span class="n">haml</span> <span class="ss">:envelope_sample</span><span class="p">,</span> <span class="ss">:locals</span> <span class="o">=></span> <span class="p">{</span><span class="ss">:client_id</span> <span class="o">=></span> <span class="n">settings</span><span class="o">.</span><span class="n">client_id</span><span class="p">,</span> <span class="ss">:private_key</span> <span class="o">=></span> <span class="n">settings</span><span class="o">.</span><span class="n">private_key</span><span class="p">,</span> <span class="ss">:err</span> <span class="o">=></span> <span class="n">err</span><span class="p">,</span> <span class="ss">:iframe</span> <span class="o">=></span> <span class="n">iframe</span><span class="p">}</span>
-<span class="k">end</span>
-
-</pre></div> </td> </tr> </tbody> </table> </div> </body> </html>
\ No newline at end of file
+field.location = { location_x: 0.3, location_y: 0.3, page: 1 }
+envelope.add_field! field, document, recipient</p>
+<p>URL for callback
+webhook = '<a href="http://groupdocs-ruby-samples.herokuapp.com/envelope-sample/sign">http://groupdocs-ruby-samples.herokuapp.com/envelope-sample/sign</a>'</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> webhook = <span class="string">'http://77.81.243.48/?q=groupdocs_signature/signature_callback'</span></pre></div></div>
+
+ </li>
+
+
+ <li id="section-17">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-17">¶</a>
+ </div>
+ <p>send envelope</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> envelope.send! webhook</pre></div></div>
+
+ </li>
+
+
+ <li id="section-18">
+ <div class="annotation">
+
+ <div class="pilwrap ">
+ <a class="pilcrow" href="#section-18">¶</a>
+ </div>
+ <p>construct embedded signature url</p>
+
+ </div>
+
+ <div class="content"><div class='highlight'><pre> url = <span class="string">"https://stage-apps.groupdocs.com/signature/signembed/<span class="subst">#{envelope.id}</span>/<span class="subst">#{recipient.id}</span>"</span>
+ iframe = <span class="string">"<iframe src='<span class="subst">#{url}</span>' frameborder='0' width='720' height='600'></iframe>"</span>
+
+ <span class="keyword">rescue</span> <span class="constant">Exception</span> => e
+ err = e.message
+ <span class="keyword">end</span>
+
+ haml <span class="symbol">:envelope_sample</span>, <span class="symbol">:locals</span> => {<span class="symbol">:client_id</span> => settings.client_id, <span class="symbol">:private_key</span> => settings.private_key, <span class="symbol">:err</span> => err, <span class="symbol">:iframe</span> => iframe}
+<span class="keyword">end</span></pre></div></div>
+
+ </li>
+
+ </ul>
+ </div>
+</body>
+</html>