API reference¶
Yousign\YousignApi offers the following methods to interact with all domains of the REST API.
Before all examples, you must instanciate the client.
use Yousign\YousignApi;
/*
* API token
*/
$token = '123456789';
/*
* Production mode
*/
$production = false;
/*
* Instanciate API wrapper
*/
$yousign = new YousignApi($token, $production);
User¶
getUsers()¶
Get all users.
Parameters¶
None
Return Values¶
Yousign\Model\UserCollection See Making your first call
Examples¶
$users = $yousign->getUsers();
postUser(array $user)¶
Create an user.
Warning
This implies that each user created by this means (API) or through the application will be billed according to your plan.
Parameters¶
array $user
Return Values¶
Yousign\Model\User
Examples¶
$user = $yousign->postUser([
"firstname" => "John",
"lastname" => "Doe",
"email" => "api@yousign.fr",
"title" => "API teacher",
"phone" => "+33612345678",
"organization" => "/organizations/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
]);
File¶
postFile(array $file)¶
Create a new file as a signable file or an attachment.
Parameters¶
array See Advanced mode Step 2 or Basic mode Step 1
Return Values¶
Yousign\Model\File See Advanced mode Step 4
Examples¶
Create a signable file
$file = $yousign->postFile(
'name' => 'Name of my signable file.pdf',
'content' => base64_encode(
file_get_contents(
'/storage_path/filename.pdf'
)
),
// A procedure must have been created before to link
// file to it.
'procedure' => $procedure->getId(),
);
Create an attachment file
$file = $yousign->postFile([
'name' => 'Name of my signable file.pdf',
'content' => base64_encode(
file_get_contents(
'/storage_path/filename.pdf'
)
),
// A procedure must have been created before to link
// file to it.
'procedure' => $procedure->getId(),
'type' => 'attachment',
]);
// /files/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
echo $file->getId();
File objects¶
postFileObject(array $fileObject)¶
Create a new signature image in a signable file.
Parameters¶
array See Advanced mode Step 4
Return Values¶
Yousign\Model\FileObject
Examples¶
Create a signature image
A file and a member must have been created before (See Advanced mode Step 4)
$fileObject = $yousign->postFileObject(
"file" => $file->getId(),
"member" => $member->getId(),
"position" => "230,499,464,589",
"page" => 2,
"mention" => "Read and approved",
"mention2" => "Signed By John Doe"
);
// /file_objects/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
echo $fileObject->getId();
// /files/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
echo $fileObject->getFile();
// /members/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
echo $fileObject->getMember()->getId();
Members¶
As they are referenced by a procedure, members are created during (Basic mode) or after(Advanced mode) procedure creation.
For different types of member, see _advanced_features_tutorial.members.
postMember(array $member)¶
Create a new member.
Parameters¶
array See Advanced mode Step 3
Return Values¶
Yousign\Model\Member See Advanced mode Step 3
Examples¶
Create a member
$member = $yousign->postMember([
"firstname" => "John",
"lastname" => "Doe",
"email" => "john.doe@yousign.fr",
"phone" => "+33612345678",
"procedure" => $procedure->getId(),
]);
Procedure¶
postProcedure(array $procedure)¶
Create a new procedure.
Parameters¶
array See Basic mode Step 2 or Advanced mode Step 1
Return Values¶
Yousign\Model\Procedure See Basic mode Step 3
Examples¶
Create a procedure in advanced mode
For more, see Advanced mode.
$procedure = $yousign->postProcedure([
"name" => "My first procedure",
"description" => "Description of my procedure with advanced mode",
"start" => false,
]);
// /procedures/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
echo $procedure->getId();
Create a procedure in basic mode
For more, see Basic mode.
$procedure = $yousign->postProcedure([
"name" => "My first procedure",
"description" => "Awesome! Here is the description of my first procedure",
"members" => [
[
"firstname" => "John",
"lastname" => "Doe",
"email" => "john.doe@yousign.fr",
"phone" => "+33612345678",
"fileObjects" => [
[
"file" => $file->getId(),
"page" => 2,
"position" => "230,499,464,589",
"mention" => "Read and approved",
"mention2" => "Signed by John Doe"
]
]
]
]
]);
// /procedures/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
echo $procedure->getId();
foreach ($procedure->getMembers() as $member) {
// /members/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
echo $member->getId();
}
foreach ($procedure->getFiles() as $file) {
// /files/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
echo $file->getId();
}
putProcedure(string $id, array $procedure)¶
Update a procedure. Start a procedure in Advanced mode.
Return Values¶
Yousign\Model\Procedure
Examples¶
Start a procedure in advanced mode
For more, see Advanced mode.
$procedure = $yousign->putProcedure(
$procedure->getId(), [
"start" => true,
]);
// /procedures/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
echo $procedure->getId();
foreach ($procedure->getMembers() as $member) {
// /members/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
echo $member->getId();
}
foreach ($procedure->getFiles() as $file) {
// /files/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
echo $file->getId();
}
HTTP client options¶
Sometimes you may need to configure low-level things like HTTP headers, timeout, proxy options.
This Yousign API client uses Guzzle HTTP client under the scene. You can pass an array of options once, before calling API.
After the first call to the API is made, options are immutable.
setClientOptions(array $options)¶
Parameters¶
array See http://docs.guzzlephp.org/en/stable/request-options.html
Return Values¶
Yousign\YousignApi
Examples¶
Configure a proxy before creating a procedure
For more, see Advanced mode.
$yousign = new YousignApi($token, $production);
// Set up a proxy
$yousign->setClientOptions([
'proxy' => 'tcp://localhost:8125',
]);
$procedure = $yousign->postProcedure([
"name" => "My first procedure",
"description" => "Description of my procedure with advanced mode",
"start" => false,
]);