Skip to content

omnisign/yousign API reference

Floor
Provider · Omnisign
Version
1.x
Conformance suite
not wired
Verified for real
Verified in part
Licence
MIT
composer require omnisign/yousign:1.x-dev

Read from the package's own PHP files at the commit 303a336c694c: its namespaces, classes, interfaces and enums, their public constants, properties and methods with their PHPDoc, and the options its factories take. Nothing of it is run.

Omnisign\Yousign

  • Api class

    Yousign's public API v3 - "Youtrust Public API v3" since the company's new name; the hosts and headers keep Yousign's: a bearer API key, JSON, a multipart upload for documents.

    5 methods · 1 property · 5 constants

  • YousignGatewayFactory class

    Yousign - Youtrust since its new name: simple, advanced and qualified electronic signatures, by e-mail or in the application's page.

    14 options · 1 method

Omnisign\Yousign\Action

  • AbstractAction class

    An action on Yousign's API v3.

    1 method

  • CancelAction class

    POST /signature_requests/{id}/cancel: reason "other", the application's words as the note.

    2 methods

  • CreateAction class

    A signature request in four calls: the request (POST /signature_requests), each document (POST .../documents, multipart), each signer with their fields (POST .../signers) - a draft, sent by Send (activate).

    2 methods

  • DownloadAction class

    The signed documents (GET .../documents/download?version=completed: a PDF, a ZIP when several) and the audit trail (GET .../audit_trails/download?merge=true).

    2 methods

  • FetchAction class

    GET /signature_requests/{id}: its status and its signers'.

    2 methods

  • NotifyAction class

    A webhook's call: X-Yousign-Signature-256 checked, event_name read.

    2 methods

  • RemindAction class

    POST /signature_requests/{id}/signers/{signerId}/send_reminder, for each signer asked who has not signed.

    2 methods

  • SendAction class

    POST /signature_requests/{id}/activate: ongoing; embedded, each signer's signature_link comes back.

    2 methods

  • SigningUrlAction class

    A signer's signature_link, as GET .../signers lists it - given for an envelope sent embedded (delivery_mode none), once activated.

    2 methods

Omnisign\Yousign

Api class

final class Api Api.php:19

Yousign's public API v3 - "Youtrust Public API v3" since the company's new name; the hosts and headers keep Yousign's: a bearer API key, JSON, a multipart upload for documents.

const PROVIDER = 'yousign'
const URL = 'https://api.yousign.app/v3'
const SANDBOX_URL = 'https://api-sandbox.yousign.app/v3'
const STATUSES = ['draft' => Status::DRAFT, 'ongoing' => Status::SENT, 'approval' => Status::SENT, 'paused' => Status::SENT, 'done' => Status::COMPLETED, 'declined' => Status…

A signature request's status, as the family's.

const SIGNER_STATUSES = ['initiated' => SignerStatus::WAITING, 'notified' => SignerStatus::NOTIFIED, 'verified' => SignerStatus::OPENED, 'processing' => SignerStatus::OPENED, 'conse…

A signer's status, as the family's.

public readonly string $url

Api::__construct()

public function __construct(readonly HttpClientInterface $http, readonly string $apiKey, public readonly string $url = self::URL, readonly ?string $webhookSecret = null)

Api::json()

public function json(string $method, string $path, array $json = []): array

Api::upload()

public function upload(string $path, string $content, string $filename, string $type, bool $signable): array
Returns

the document uploaded

Api::download()

public function download(string $path, array $query = []): Answer

A file: a PDF, or a ZIP when several.

Api::verify()

public function verify(string $body, ?string $signature): array

A webhook's call, its X-Yousign-Signature-256 checked: "sha256=" and the HMAC-SHA-256 of the raw body under the subscription's secret.

YousignGatewayFactory class

final class YousignGatewayFactory extends GatewayFactory YousignGatewayFactory.php:30

Yousign - Youtrust since its new name: simple, advanced and qualified electronic signatures, by e-mail or in the application's page.

options: api_key: '%env(YOUSIGN_API_KEY)%' # required sandbox: false # true: api-sandbox.yousign.app - signatures without legal value webhook_secret: '%env(default::YOUSIGN_WEBHOOK_SECRET)%' # the subscription's secret: notify() checks X-Yousign-Signature-256 with it url: ~ # another API root

Options

OptionDefault
sandboxfalse
webhook_secretnull
urlnull
omnisign.capabilitiesnew Capabilities([Level::SIMPLE, Level::ADVANCED, Level::QUALIFIED], embedded: true, ordered: true, identityCheck: true, thirdParty: true)
omnisign.apifn(Config $c) => new Api($this->http ?? HttpClient::create(), (string) $c['api_key'], rtrim((string) ($c->get('url') ?: ($c->bool('sandbox') ? Api::SANDBOX_U…
omnisign.action.createnew CreateAction()
omnisign.action.sendnew SendAction()
omnisign.action.fetchnew FetchAction()
omnisign.action.remindnew RemindAction()
omnisign.action.cancelnew CancelAction()
omnisign.action.downloadnew DownloadAction()
omnisign.action.signing_urlnew SigningUrlAction()
omnisign.action.notifystatic fn(Config $c) => $c->get('webhook_secret') ? new NotifyAction() : null
api_keyrequired

YousignGatewayFactory::__construct()

public function __construct(readonly ?HttpClientInterface $http = null)

Omnisign\Yousign\Action

AbstractAction class

abstract class AbstractAction implements ActionInterface, ApiAwareInterface AbstractAction.php:14

An action on Yousign's API v3.

AbstractAction::__construct()

public function __construct()

CancelAction class

final class CancelAction extends AbstractAction CancelAction.php:9

POST /signature_requests/{id}/cancel: reason "other", the application's words as the note.

CancelAction::supports()

public function supports(Request $request): bool

CancelAction::execute()

public function execute(Request $request): void

CreateAction class

final class CreateAction extends AbstractAction CreateAction.php:20

A signature request in four calls: the request (POST /signature_requests), each document (POST .../documents, multipart), each signer with their fields (POST .../signers) - a draft, sent by Send (activate).

CreateAction::supports()

public function supports(Request $request): bool

CreateAction::execute()

public function execute(Request $request): void

DownloadAction class

final class DownloadAction extends AbstractAction DownloadAction.php:14

The signed documents (GET .../documents/download?version=completed: a PDF, a ZIP when several) and the audit trail (GET .../audit_trails/download?merge=true).

DownloadAction::supports()

public function supports(Request $request): bool

DownloadAction::execute()

public function execute(Request $request): void

FetchAction class

final class FetchAction extends AbstractAction FetchAction.php:9

GET /signature_requests/{id}: its status and its signers'.

FetchAction::supports()

public function supports(Request $request): bool

FetchAction::execute()

public function execute(Request $request): void

NotifyAction class

final class NotifyAction extends AbstractAction NotifyAction.php:11

A webhook's call: X-Yousign-Signature-256 checked, event_name read.

NotifyAction::supports()

public function supports(Request $request): bool

NotifyAction::execute()

public function execute(Request $request): void

RemindAction class

final class RemindAction extends AbstractAction RemindAction.php:10

POST /signature_requests/{id}/signers/{signerId}/send_reminder, for each signer asked who has not signed.

RemindAction::supports()

public function supports(Request $request): bool

RemindAction::execute()

public function execute(Request $request): void

SendAction class

final class SendAction extends AbstractAction SendAction.php:9

POST /signature_requests/{id}/activate: ongoing; embedded, each signer's signature_link comes back.

SendAction::supports()

public function supports(Request $request): bool

SendAction::execute()

public function execute(Request $request): void

SigningUrlAction class

final class SigningUrlAction extends AbstractAction SigningUrlAction.php:15

A signer's signature_link, as GET .../signers lists it - given for an envelope sent embedded (delivery_mode none), once activated.

SigningUrlAction::supports()

public function supports(Request $request): bool

SigningUrlAction::execute()

public function execute(Request $request): void