neyric / yousign-bundle
Yousign Bundle for Symfony
Installs: 16 060
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 3
Open Issues: 2
Type:symfony-bundle
Requires
- symfony/event-dispatcher: ^4.4 || ^5.0
- symfony/framework-bundle: ^4.4 || ^5.0
- symfony/http-client: ^4.4 || ^5.0
- symfony/yaml: ^4.4 || ^5.0
Requires (Dev)
- phpunit/phpunit: >=6.0
- symfony/browser-kit: ^4.4 || ^5.0
README
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
- YOUSIGN_BASE_URL (should be https://staging-app.yousign.com or https://api.yousign.com)
- YOUSIGN_API_KEY
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.