Example #1
0
 public static function createEnvelopeFromTemplate(Client $client, $templateId, $emailSubject, array $templateRoles, $status, $bannerId)
 {
     //Creates the data field containing the banner ID value
     $textTabs[0] = array("tabLabel" => "BannerId", "xPosition" => "435", "yPosition" => "440", "value" => $bannerId, "pageNumber" => "5", "documentId" => "1");
     $roles = $templateRoles;
     $roles[0]['tabs'] = array("textTabs" => $textTabs);
     $data = array("accountId" => $client->getAccountID(), "emailSubject" => $emailSubject, "templateId" => $templateId, "templateRoles" => $roles, "status" => $status);
     $http = new \Guzzle\Http\Client();
     //$request = $http->createRequest('POST', $client->getBaseUrl() . '/envelopes', ['body' => json_encode($data)]);
     $request = $http->createRequest('POST', $client->getBaseUrl() . '/envelopes');
     $request->setBody(json_encode($data), 'application/json');
     $request->setHeader('Content-Type', 'application/json');
     $request->setHeader('Accept', 'application/json');
     $request->setHeader('X-DocuSign-Authentication', $client->getAuthHeader());
     try {
         $response = $http->send($request);
         $result = $response->json();
     } catch (\Guzzle\Http\Exception\BadResponseException $e) {
         throw new \Exception(print_r($e->getResponse()->json(), true));
     }
     return new Envelope($result['envelopeId'], $result['uri'], $result['statusDateTime'], $result['status']);
 }