aureolebigben/wizi-yousign-client

该软件包的最新版本(2.2)没有可用的许可信息。

用于签署文档的新版本yousign的客户端

2.2 2022-06-10 15:56 UTC

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();