Skip to content

ericabouaf/yousign-bundle

Repository files navigation

Yousign Bundle for Symfony Build Status Latest Stable Version Total Downloads License

A Symfony bundle for Yousign.

  • Provide a service to access the API for a better Symfony integration
  • Webhook handler (HTTP controller) + Webhook Event

Requirements

  • Php >= 7.1
  • Symfony 4.4 or 5+

Installation

$ composer require neyric/yousign-bundle

Load the bundle in your app

$bundles = [
    // ...
    new \Neyric\YousignBundle\NeyricYousignBundle(),
];

Configuration

The bundle (in particular the YousignApiClient), expects those 2 environement variables to be defined

Using the webhook handler

First, setup the route in your routes.yaml file :

neyric_yousign:
    path: /yousign_webook/hook_handler # Customizable url
    controller: Neyric\YousignBundle\Controller\YousignController::webhookHandlerAction

Create a subscriber

use Neyric\YousignBundle\Event\WebhookEvent;

class MySubscriber implements EventSubscriberInterface
{
    
    public function onYousignWebhook(WebhookEvent $event)
    {
        $headers = $event->getHeaders();

        if (array_key_exists('x-my-custom-header', $headers)) {
            // ...
        }

        // ...
    }

    public static function getSubscribedEvents()
    {
        return [
            WebhookEvent::class => ['onYousignWebhook'],
        ];
    }
}

And eventually declare the service with the kernel.event_subscriber tag :

    App\Subscriber\MySubscriber:
        class: App\Subscriber\MySubscriber
        tags:
            - { name: kernel.event_subscriber }

Prepare a local tunnel

Using a local tunnel will save you a lot of time because you can test locally. The recommended choice is ngrok. Ngrok is a tool to tunnel our local server to the web, making our local webhook handlers available to the email providers webhooks.

License

neyric/yousign-bundle is distributed under MIT license, see the LICENSE file.

Contacts

Report bugs or suggest features using issue tracker on GitHub.

About

Yousign Bundle for Symfony

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages