com-company/yousign-bundle
Bundle Symfony pour intégrer Yousign (API v3, compat v2) : configuration via variables d’environnement, envoi de demandes de signature et gestion des webhooks (routes, listeners/handlers, payloads) avec binding d’événements.
Component Symfony pour signature Yousign V3
$ composer require com-company/yousign-bundle
###> yousign ###
#dev URI = 'https://staging-api.yousign.com'
#prod URI = 'https://api.yousign.com'
YOUSIGN_V2_URI=''
YOUSIGN_V2_APP_URI=''
YOUSIGN_V2_TOKEN=''
YOUSIGN_V2_ACCESS_KEY='' #que si vous gérez les webhook yousign
###< yousign ###
###> yousign V3 ###
#dev URI = 'https://api-sandbox.yousign.app/v3/'
#prod URI = 'https://api.yousign.app/v3/'
YOUSIGN_V3_URI=''
YOUSIGN_V3_TOKEN=''
YOUSIGN_V3_ACCESS_KEY='' #que si vous gérez les webhook yousign
###< yousign V3###
yousign:
resource: '@YousignBundle/Resources/config/routes.yaml'
prefix: /api/subscription/yousign
Pour chaque event que vous souhaitez écouter, créez une class implémentant EventHandlerInterface
<?php
interface EventHandlerInterface
{
public function handle(WebhookPayload $payload): void;
public function onError(YousignException $e): void;
}
Créer un fichier yousign.yaml dans le dossier config/packages avec le contenu suivant:
yousign:
eventHandlers:
default: 'App\Service\Signature\WebhookProcess'
bindings:
- {event: 'yousign.webhook.signature.completed', service: 'App\Service\Signature\WebhookProcess'}
Où event est le nom de l'event yousign à écouter et service est la méthode à appeler lors de la réception de l'event
la class déclarée avec default (default: 'App\Service\Signature\WebhookProcess') intercepte tous les events qui ne sont pas bindés
Remarque : La classe WebhookPayload est conçue pour porter les infos des évènements de type signature_request (les plus communs). Si vous utilisez des évènements plus spécifiques (exemple : les évènements de vérifications de documents d'identité), le contenu du webhook sera contenu tel quel dans la propriété $rawData de WebhookPayload
Afin de préprarer la transition vers V3, le bundle ne renvoie que des statuts de Yousign V3, même pour les signatures initiées en V2. Chaque statut de V2 est mappé à un statut V3 correspondant.
How can I help you explore Laravel packages today?