aureolebigben / wizi-yousign-client
该软件包的最新版本(2.2)没有可用的许可信息。
用于签署文档的新版本yousign的客户端
2.2
2022-06-10 15:56 UTC
Requires
- php: >=5.3.0
- ext-curl: *
- ext-json: *
This package is auto-updated.
Last update: 2024-09-10 21:01:57 UTC
README
用于签署文档的新版本yousign的客户端
使用方法
基本流程
<?php
require_once __DIR__ . '/../vendor/autoload.php'; // Autoload files using Composer autoload
use WiziYousignClient\WiziSignClient;
/**
* ici votre clef d'api Yousign
*/
$testkey = 'YourYousign_API_KEY';
/**
* On instancie notre client
*/
$client = new WiziSignClient($testkey,'dev');
/**
* Création d'une nouvelle signature envoie du fichier a faire signer
* @param filepath
*
*/
$client->newProcedure('testPDFPourYS.pdf');
$members = array(
array(
'firstname' => 'olivier',
'lastname' => 'nival',
'email' => 'olivier.nival@gmail.com',
'phone' => '0652233424',
'fileObjects' => array(
array(
'file' => $client->getIdfile(),
'page' => 1,
'position' => "230,499,464,589",
'mention' => "Read and approved",
"mention2" =>"Signed by John Doe"
)
)
)
);
/**
* On termine la procedure de création de signature en envoyant la liste des utilisateurs , un titre a la signature, une description à la signature
*/
$client->addMembersOnProcedure($members,'encore une nouvelle signature','signature généré par le client php WiziYousignClient');
高级流程
<?php
require_once __DIR__ . '/../vendor/autoload.php'; // Autoload files using Composer autoload
use WiziYousignClient\WiziSignClient;
/**
* ici votre clef d'api Yousign
*/
$testkey = 'YourYousign_API_KEY';
/**
* On instancie notre client
*/
$client = new WiziSignClient($testkey,'dev');
/**
* ici nous créons une procedure en mode avancé
*
*/
$parameters = array(
'name' => "Ma procedure en mode avancé",
'description' => "Creation d'une procedure de signature en mmode avancé",
'start'=> false
);
/**
* initialisation de la procedure
*
* @param $parameters
* @param bool $notifmail
* @return bool|string
*/
$client->AdvancedProcedureCreate($parameters);
$filepath = 'testPDFPourYS.pdf';
$namefile = 'pdfaadvanceproc';
/**
* ici on ajoute le fichier à signer avec le chemin du fichier et le nom que l'on veut en sortie
*/
$client->AdvancedProcedureAddFile($filepath,$namefile);
/**
* on ajoute les personnes devant signer
* pour chaques personnes devant signer il faut executer successivement
* $client->AdvancedProcedureAddMember($firstname,$lastname,$email,$phone)
* ET $client->AdvancedProcedureFileObject($position,$page,$mention,$mention2,$reason);
*/
$firstname = "olivier";
$lastname = "nival";
$email = "olivier.nival@gmail.com";
$phone = '0652233424';
/**
* ajout du membre
* @param $firstname
* @param $lastname
* @param $email
* @param $phone
* @return bool|string
*/
$client->AdvancedProcedureAddMember($firstname,$lastname,$email,$phone);
$position = "230,499,464,589";
$page = 1;
$mention = "Read and approved";
$mention2 = "Signed by ".$firstname." ".$lastname;
$reason = "Signed by ".$firstname." ".$lastname." (Yousign)";
/**
* positionnement de la signature du membre sur le doc
* @param $position
* @param $page
* @param $mention
* @param $mention2
* @param $reason
* @return bool|string
*/
$client->AdvancedProcedureFileObject($position,$page,$mention,$mention2,$reason);
/**
* on declenche le démarage de la signature les personnes pourront maintenant signer
*/
$client->AdvancedProcedurePut();
基本流程,包含yousign发来的电子邮件通知
<?php
require_once __DIR__ . '/../vendor/autoload.php'; // Autoload files using Composer autoload
use WiziYousignClient\WiziSignClient;
/**
* ici votre clef d'api Yousign
*/
$testkey = 'YourYousign_API_KEY';
/**
* On instancie notre client
*/
$client = new WiziSignClient($testkey, 'dev');
/**
* Création d'une nouvelle signature envoie du fichier a faire signer
* @param filepath
*
*/
$client->newProcedure('testPDFPourYS.pdf');
$members = array(
array(
"firstname" => "Olivier",
"lastname"=> "Nival",
"email" => "olivier.nival@gmail.com",
"phone" => "0652233424",
'fileObjects' => array(
array(
"file"=> $client->getIdfile(),
"page"=> 2,
"position"=> "230,499,464,589",
"mention"=> "Read and approved",
"mention2"=> "Signed by John Doe"
)
)
),
);
$mailsubject = "Sujet du mail";
$mailMessage = " Bonjour vous devez signer votre document <tag data-tag-type=\"button\" data-tag-name=\"url\" data-tag-title=\"Access to documents\">Access to documents</tag>";
/**
* ajout des membres et démarage de la nignature
* envoi du mail au personnes qui doivent signer
*/
$client->addMemberWhithMailNotif($members,$ProcName = 'Ma signature',
$ProcDesc = 'masignature description', $mailsubject, $mailMessage, $arrayTo = array("@creator", "@members", "olivier@wizi.eu") );
高级流程,包含Webhooks管理
在这里,我们可以要求yousign在签署的每个步骤向我们服务器发送请求。用于接收yousign在签署步骤中发送请求的PHP页面
votredomaine.com/webhookget
在这个简单的例子中,脚本将接收yousign发送的内容并将其写入一个文本文件。您可以根据需要触发的事件调整您的逻辑。
<?php
$text = '************************************************************************';
file_put_contents('./request.txt', $text.PHP_EOL, FILE_APPEND);
$text = file_get_contents('php://input');
file_put_contents('./request.txt', $text.PHP_EOL, FILE_APPEND);
有了这个之后,以下是允许创建包含webhook的流程的PHP代码。
mondomaine.com/creersignatureavecwebhook
<?php
require_once __DIR__ . '/../vendor/autoload.php'; // Autoload files using Composer autoload
use WiziYousignClient\WiziSignClient;
/**
* ici votre clef d'api Yousign
*/
$testkey = 'Your_API_KEY';
/**
* On instancie notre client
*/
$client = new WiziSignClient($testkey, 'dev');
/**
* ici nous créons une procedure en mode avancé
*
*/
$parameters = array(
'name' => "Ma procedure en mode avancé",
'description' => "Creation d'une procedure de signature en mmode avancé",
'start' => false
);
/**
* initialisation de la procedure
*
* @param $parameters
* @param bool $notifmail
* @return bool|string
*/
$client->AdvancedProcedureCreate($parameters,$webhook = true,$webhookMethod = 'POST',$webhookUrl = 'http://votredomaine.com/webhookget.php',$webhookHeader = 'testwebhook');
$filepath = 'testPDFPourYS.pdf';
$namefile = 'pdfaadvanceproc';
/**
* ici on ajoute le fichier à signer avec le chemin du fichier et le nom que l'on veut en sortie
*/
$client->AdvancedProcedureAddFile($filepath, $namefile);
/**
* on ajoute les personnes devant signer
* pour chaques personnes devant signer il faut executer successivement
* $client->AdvancedProcedureAddMember($firstname,$lastname,$email,$phone)
* ET $client->AdvancedProcedureFileObject($position,$page,$mention,$mention2,$reason);
*/
$firstname = "olivier";
$lastname = "nival";
$email = "olivier.nival@gmail.com";
$phone = '0652233424';
/**
* ajout du membre
* @param $firstname
* @param $lastname
* @param $email
* @param $phone
* @return bool|string
*/
$client->AdvancedProcedureAddMember($firstname, $lastname, $email, $phone);
$position = "230,499,464,589";
$page = 1;
$mention = "Read and approved";
$mention2 = "Signed by " . $firstname . " " . $lastname;
$reason = "Signed by " . $firstname . " " . $lastname . " (Yousign)";
/**
* positionnement de la signature du membre sur le doc
* @param $position
* @param $page
* @param $mention
* @param $mention2
* @param $reason
* @return bool|string
*/
$client->AdvancedProcedureFileObject($position, $page, $mention, $mention2, $reason);
/**
* on declenche le démarage de la signature les personnes pourront maintenant signer
*/
$client->AdvancedProcedurePut();