Code sample: CreateInstantPosting - PHP

<< Click to Display Table of Contents >>

Navigation:  Reference > Code samples >

Code sample: CreateInstantPosting - PHP

 

ini_set('soap.wsdl_cache_enabled', 0);

ini_set('soap.wsdl_cache_ttl', 0);

 

$documentSign = new DocumentSign();

$testDocumentPath = __DIR__ . '/testdokument.pdf';

$testDocument = file_get_contents($testDocumentPath);

 

$recipients = [

[

'Name'=>'your name',

'Email'=>'est@somesite.com'

]

];

 

$attachment =

[

'File'=>$testDocument,

'FileName'=>'Testdokument.pdf',

'Description'=>'Test',

'ActionType'=>'Sign'

];

 

$data = [

'DistributorSystemID'=>'Testing 123',

'Title'=>'Instant Signeringstest',

'Description'=>'Test av Signant InstantSign',

'UseWidget'=>true,

'Recipients'=>$recipients,

'AfterSignRedirectDelay'=>0,

'AfterSignRedirectUrl'=>'http://www.google.com',

'CancelUrl'=>'http://www.google.no/RequestCanceled',

'AfterSignAction'=>'Redirect',

'AttachmentToSign'=>$attachment

];

 

$documentSign->CreateInstantPosting($data);

 

exit;

 

class DocumentSign

{

protected $distributorID;

protected $accessCode;

protected $postingsServiceWsdl;

 

/* DocumentSign constructor. */

 

public function __construct()

{

$this->distributorID = 'Contact Signant for distributorID';

$this->accessCode = 'Contact Signant for accessCode';

$this->postingsServiceWsdl = 'https://test3.signant.no/ws/v1/InstantSignatureService.svc?wsdl';

}

 

/* Connects to the CreateInstantPosting service and sends a document. */

 

public function CreateInstantPosting($data)

{

require_once __DIR__ . '/nusoap/lib/nusoap.php';

try

{

$client = new SoapClient($this->postingsServiceWsdl, array('trace' => 1, 'encoding' => 'UTF-8'));

 

print_r($client);

print_r('<hr>');

 

$output = $client->CreateInstantPosting(array("DistributorID" => $this->distributorID, "AccessCode" => $this->accessCode, "Posting" => $data));

 

$result = $output->CreateInstantPosting;

print_r($output);

print_r('<hr>');

 

$success = $result->Success;

 

if (!$success) {

return false;

}

}

catch (Exception $e)

{

debug($e);

}

}

 

public function DownloadInstantAttachment($postingID, $attachmentID)

{

try

{

$client = new SoapClient($this->postingsServiceWsdl, array('trace' => 1, 'exception' => 0));

$output = $client->DownloadInstantAttachment(array("DistributorID" => $this->distributorID, "AccessCode" => $this->accessCode, "PostingID" => $postingID, "AttachmentID" => $attachmentID ));

$success = $output->DownloadInstantAttachmentResponse->Success;

$status = $output->DownloadInstantAttachmentResponse->Status;

 

if (!$success) {

return false;

}

 

debug($output);

 

}

catch (Exception $e)

{

debug($e);

}

}

}