Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Yousign Bundle Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Yousign V3 Signature Interface

Component Symfony pour signature Yousign V3

Installation

$ composer require com-company/yousign-bundle

Configuration au sein de votre projet

1 . Déclaration des variables d'environnement

    ###> 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###

2. Si votre application va gerer les webhooks

1. Créer un fichier yousign.yaml dans le dossier config/routes avec le contenu suivant:

yousign:
    resource: '@YousignBundle/Resources/config/routes.yaml'
    prefix: /api/subscription/yousign
  • Vous pouvez éditer les prefix à votre convenance
  • La routes des webhooks sera : {prefix} /webhook/{version} où version est la version de l'api yousign (v2 ou v3)

2. Déclarer les events listeners:

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

3.STATUTS DE SIGNATURE/MEMBRES:

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.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
directorytree/privacy-filter-classifier
directorytree/privacy-filter
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi
splash/scopes
splash/toolkit
testo/output-teamcity
testo/bridge-symfony
spatie/flare-daemon-runtime