Download the PHP package firevel/webhook-gateway-laravel-client without Composer
On this page you can find all versions of the php package firevel/webhook-gateway-laravel-client. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download firevel/webhook-gateway-laravel-client
More information about firevel/webhook-gateway-laravel-client
Files in firevel/webhook-gateway-laravel-client
Package webhook-gateway-laravel-client
Short Description Webhook Gateway client for Laravel
License MIT
Informations about the package webhook-gateway-laravel-client
Readme
Webhook Gateway client for Laravel
This package is developed to share events between micro-services and 3rd party integrations.
Installation
Install using composer:
Publish config:
Client
Client is responsible for receiving events from Webhook Gateway and dispatching them as internal Laravel events.
Setup
- Create client account on Webhook Gateway using client url (by default
https://[HOST]/events
). - Set client secret in
config/webhookgateway.php
orWEBHOOKGATEWAY_CLIENT_SECRET
env variable.
Usage
Set channels you would like to listen to in Webhook Gateway subscribers section. Events are always starting with service for example billing.invoice.created
.
You can also use Laravel event listeners.
Events include WebhookEvent $event
payload, that contains methods:
You can set custom webhook event class in webhookgateway.event_class
configuration.
Service
Use service configuration to share Laravel events with Webhook Gateway and other micro-services.
Setup
- Create a new service at Webhook Gateway and set service name with service secret.
- Set Webhook Gateway service name, and secret in
config/webhookgateway.php
. - Select events you would like to share with Webhook Gateway using
webhookgateway.channels
config.
Usage
Sharing events
Events matching webhookgateway.channels
pattern, are going to be shared with other micro services subscribed to namespace used in channels configuration. Webhook Gateway will automatically add service prefix to every event dispatched.
For example if you are using service name billing
and setup channel
every save event of invoice model going to be dispatched as billing.invoice.created
.
Eloquent events
By default, eloquent models are transformer to array using (array) $model
. If you would like to customize event format add to your model:
You can also attach meta data to each event by adding to your model:
Laravel events
To share Laravel events with event gateway you can use regular webhookgateway.channels
configuration for example:
You can use toEventArray
and eventMetadata
method to customize payload or meta data.
FAQ
Can I use WebHook gateway as Event Broadcasting driver?
You would need to build custom driver (check Illuminate\Contracts\Broadcasting
). Broadcasting driver is not the part of this package as laravel broadcasting was developed for other purposes (web sockets).
Credits
- SpringboardVR for initial implementation.
All versions of webhook-gateway-laravel-client with dependencies
illuminate/support Version ~5.5.0|~5.6.0|~5.7.0|~5.8.0|^6.0|^7.0|^8.0|^9.0|^10.0