cyril-bochet / yousign-api-client
Yousign API 客户端 · 法国电子签名解决方案。
1.3
2023-03-23 09:34 UTC
Requires
- php: >=7.4.0
- ext-curl: *
- ext-json: *
README
README 翻译
Yousign 客户端 API · 法国电子签名解决方案。
目录
简单流程
use YousignApiClient\YousignApiClient; // Votre clé API $apikey = 'API_KEY'; $env = 'test'; $client = new YousignApiClient($apikey, $env); // Nouvelle procédure $client->newProcedure('test.pdf'); $members = array( array( 'firstname' => 'Cyril', 'lastname' => 'Bochet', 'email' => 'cyril@mail.com', 'phone' => '0102030405', 'fileObjects' => array( array( 'file' => $client->getIdfile(), 'page' => 1, 'position' => "202,205,389,284", 'mention' => "Lu et approuvé", "mention2" => "" ) ) // Autre membre, etc. ) ); $client->addMembersToProcedure($members, 'Procédure test', 'Signature test.');
高级流程
创建高级流程时,您可以使用 webhooks。
例如:当有人签署您的文件时,Yousign 可以向您发送 webhook 通知。
您可以设置一个 URL 来处理 Yousign 发送的通知。
然后根据您的需求处理请求。(邮件、记录流程状态等)
高级流程还允许您创建 邮件通知。
例如:当某人拒绝签署您的文件时,您可以创建一个通知。(触发器:"procedure.refused")
use YousignApiClient\YousignApiClient; // Votre clé API $apikey = 'API_KEY'; $env = 'test'; $client = new YousignApiClient($apikey, $env); // Paramètres de la procédure $parameters = array( 'name' => "Ma procédure avancée", 'description' => "Création d'une procédure avancée.", 'start' => false ); // Création de la procédure // Liste des déclencheurs (mails et webhooks) : "procedure.started", "procedure.finished", "procedure.refused", "member.started", "member.finished" $emails = [ "member.started" => array( "subject" => "Hey! You are invited to sign!", "message" => "Hello <tag data-tag-type=\"string\" data-tag-name=\"recipient.firstname\"></tag> <tag data-tag-type=\"string\" data-tag-name=\"recipient.lastname\"></tag>, <br><br> You have ben invited to sign a document, please click on the following button to read it: <tag data-tag-type=\"button\" data-tag-name=\"url\" data-tag-title=\"Access to documents\">Access to documents</tag>", "to" => ["@member"]), "procedure.refused" => array( "subject" => "John, created a procedure.", "message" => "The content of this email is totally awesome.", "to" => ["@creator", "@members"]), //etc. ]; $webhooks = [ "member.started" => array( "url" => "https://testyousign.requestcatcher.com", "method" => "POST", "headers" => array( "X-Custom-Header" => 'test' )), //etc. ]; $client->newAdvancedProcedure($parameters); $filePath = 'file.pdf'; $fileName = 'file.pdf'; // On ajoute le fichier à signer $client->advancedProcedureAddFile($filePath, $fileName); // On définit le·s différent·s emplacement·s de signature $emplacementsSignature = array( [ 'position' => '64,71,245,142', 'page' => 2, 'mention' => 'Certifié exact et sincère.', 'mention2' => '', 'reason' => '' ], [ 'position' => '87,297,270,369', 'page' => 12, 'mention' => 'Je certifie avoir bien reçu le document.', 'mention2' => '', 'reason' => '' ] ); // On ajoute le·s membre·s à la procédure $member = $client->advancedProcedureAddMember($prenom, $nom, $mail, $tel, $type); // On ajoute les emplacements de signature à la procédure foreach ($emplacementsSignature as $emplacement) { $client->advancedProcedureFileObject($emplacement["position"], $emplacement["page"], $emplacement["mention"], $emplacement["mention2"], $emplacement["reason"]); } // On lance la procédure $client->advancedProcedureStart();
文件下载
// Pour l'exemple je télécharge le fichier directement après avoir lancé la procédure, mais en utilisant les webhooks vous pouvez le télécharger à n'importe quel moment. // le fichier que l'on souhaite télécharger $file = $client->advancedProcedureAddFile($filePath, $fileName); $client->advancedProcedureStart(); // On récupère le fichier en base64 ou en binaire $binary=false; $client->downloadFile($file['id'], $binary);
获取用户
$client->getUsers();
标签管理(邮件消息)
有用链接
要了解签名位置的坐标:https://placeit.yousign.fr
Yousign API 完整文档:https://dev.yousign.com