setono / sylius-webhook-plugin
Handle webhooks in your Sylius store
Installs: 3 688
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 6
Type:sylius-plugin
Requires
- php: >=7.4
- doctrine/persistence: ^2.3
- knplabs/knp-menu: ^3.3
- psr/event-dispatcher: ^1.0
- setono/doctrine-object-manager-trait: ^1.1
- sylius/resource-bundle: ^1.6
- symfony/config: ^4.4 || ^5.4 || ^6.0
- symfony/console: ^4.4 || ^5.4 || ^6.0
- symfony/dependency-injection: ^4.4 || ^5.4 || ^6.0
- symfony/http-foundation: ^4.4 || ^5.4 || ^6.0
- symfony/http-kernel: ^4.4 || ^5.4 || ^6.0
- symfony/messenger: ^4.4 || ^5.4 || ^6.0
- symfony/uid: ^5.4 || ^6.0
- webmozart/assert: ^1.11
Requires (Dev)
- api-platform/core: ^2.7
- friendsofsymfony/oauth-server-bundle: >2.0.0-alpha.0 ^2.0@dev
- lexik/jwt-authentication-bundle: ^2.16
- matthiasnoback/symfony-config-test: ^4.3
- matthiasnoback/symfony-dependency-injection-test: ^4.3
- phpunit/phpunit: ^9.5
- psalm/plugin-phpunit: ^0.17
- psalm/plugin-symfony: ^3.1
- roave/security-advisories: dev-latest
- setono/code-quality-pack: ^2.2
- sylius/admin-api-bundle: ^1.11
- sylius/sylius: ~1.10.14
- symfony/debug-bundle: ^4.4 || ^5.4 || ^6.0
- symfony/dotenv: ^4.4 || ^5.4 || ^6.0
- symfony/intl: ^4.4 || ^5.4 || ^6.0
- symfony/maker-bundle: ^1.36
- symfony/property-info: ^4.4 || ^5.4 || ^6.0
- symfony/serializer: ^4.4 || ^5.4 || ^6.0
- symfony/web-profiler-bundle: ^4.4 || ^5.4 || ^6.0
- symfony/webpack-encore-bundle: ^1.15
- dev-master
- v0.1.0
- dev-dependabot/composer/lexik/jwt-authentication-bundle-tw-2.18
- dev-dependabot/composer/phpunit/phpunit-tw-9.6
- dev-dependabot/composer/setono/code-quality-pack-tw-2.4
- dev-dependabot/composer/psalm/plugin-phpunit-tw-0.18
- dev-dependabot/composer/psalm/plugin-symfony-tw-4.0
- dev-dependabot/composer/doctrine/persistence-tw-2.5
This package is auto-updated.
Last update: 2024-12-13 08:12:45 UTC
README
Handle webhooks in your Sylius store
Installation
Step 1: Download the plugin
composer require setono/sylius-webhook-plugin
Step 2: Enable the plugin
Then, enable the plugin by adding the following to the list of registered plugins/bundles
in the config/bundles.php
file of your project:
<?php return [ // ... Setono\SyliusWebhookPlugin\SetonoSyliusWebhookPlugin::class => ['all' => true], // It is important to add plugin before the grid bundle Sylius\Bundle\GridBundle\SyliusGridBundle::class => ['all' => true], // ... ];
NOTE that you must instantiate the plugin before the grid bundle, else you will see an exception like
You have requested a non-existent parameter "setono_sylius_webhook.model.endpoint.class".
Step 3: Import routing
# config/routes/setono_sylius_webhook.yaml setono_sylius_webhook: resource: "@SetonoSyliusWebhookPlugin/Resources/config/routes.yaml"
If you don't use localized URLs, use this routing file instead: @SetonoSyliusWebhookPlugin/Resources/config/routes_no_locale.yaml
Step 4: Configure plugin
# config/packages/setono_sylius_webhook.yaml imports: - { resource: "@SetonoSyliusWebhookPlugin/Resources/config/app/config.yaml" }
Step 5: Update database schema
Use Doctrine migrations to create a migration file and update the database.
$ bin/console doctrine:migrations:diff $ bin/console doctrine:migrations:migrate
Step 6: Using asynchronous transport (optional, but recommended)
All events in this plugin will extend the EventInterface. Therefore, you can route all events easily by adding this to your Messenger config:
# config/packages/messenger.yaml framework: messenger: routing: # Route all command messages to the async transport # This presumes that you have already set up an 'async' transport # See docs on how to setup a transport like that: https://symfony.com/doc/current/messenger.html#transports-async-queued-messages 'Setono\SyliusWebhookPlugin\Message\Event\EventInterface': async