eonx-com / easy-webhook
发送webhook从未如此简单(持久化、重试、异步)
6.0.0
2024-09-11 15:35 UTC
Requires
- php: ^8.2
- eonx-com/easy-event-dispatcher: ^6.0
- eonx-com/easy-lock: ^6.0
- eonx-com/easy-pagination: ^6.0
- eonx-com/easy-random: ^6.0
- eonx-com/easy-utils: ^6.0
- nesbot/carbon: ^3.7
- nette/utils: ^4.0
- symfony/config: ^7.0
- symfony/console: ^7.0
- symfony/dependency-injection: ^7.0
- symfony/http-client: ^7.0
- symfony/http-foundation: ^7.0
- symfony/http-kernel: ^7.0
Requires (Dev)
- doctrine/dbal: ^3.0
- eonx-com/easy-event-dispatcher: ^6.0
- eonx-com/easy-test: ^6.0
- illuminate/database: ^11.0
- laravel/lumen-framework: ^11.0
- phpunit/phpunit: ^10.2
Suggests
- doctrine/dbal: To use Doctrine DBAL for persistence
- symfony/messenger: To send webhooks asynchronously using Symfony Messenger
- dev-feature/easy-webhooks
- 6.x-dev
- dev-master / 6.1.x-dev
- 6.0.0
- 6.0.0-rc.1
- 6.0.0-alpha.5
- 6.0.0-alpha.4
- 6.0.0-alpha.3
- 6.0.0-alpha.2
- 6.0.0-alpha
- 5.13.2
- 5.13.1
- 5.13.0
- 5.12.1
- 5.12.0
- 5.11.3
- 5.11.2
- 5.11.1
- 5.11.0
- 5.10.5
- 5.10.4
- 5.10.3
- 5.10.2
- 5.10.1
- 5.10.0
- 5.9.3
- 5.9.2
- 5.9.1
- 5.9.0
- 5.8.0
- 5.7.5
- 5.7.4
- 5.7.3
- 5.7.2
- 5.7.1
- 5.7.0
- 5.6.16
- 5.6.15
- 5.6.14
- 5.6.13
- 5.6.12
- 5.6.11
- 5.6.10
- 5.6.9
- 5.6.8
- 5.6.7
- 5.6.6
- 5.6.5
- 5.6.4
- 5.6.3
- 5.6.2
- 5.6.1
- 5.6.0
- 5.5.0
- 5.4.0
- 5.3.2
- 5.3.1
- 5.3.0
- 5.2.2
- 5.2.1
- 5.2.0
- 5.1.7
- 5.1.6
- 5.1.5
- 5.1.4
- 5.1.3
- 5.1.2
- 5.1.1
- 5.1.0
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.x-dev
- 4.5.6
- 4.5.5
- 4.5.4
- 4.5.3
- 4.5.1
- 4.5.0
- 4.4.5
- 4.4.4
- 4.4.3
- 4.4.2
- 4.4.1
- 4.4.0
- 4.3.38
- 4.3.37
- 4.3.36
- 4.3.35
- 4.3.34
- 4.3.33
- 4.3.32
- 4.3.31
- 4.3.30
- 4.3.29
- 4.3.28
- 4.3.27
- 4.3.26
- 4.3.25
- 4.3.24
- 4.3.23
- 4.3.22
- 4.3.21
- 4.3.20
- 4.3.19
- 4.3.18
- 4.3.17
- 4.3.16
- 4.3.15
- 4.3.14
- 4.3.13
- 4.3.12
- 4.3.11
- 4.3.10
- 4.3.9
- 4.3.8
- 4.3.7
- 4.3.6
- 4.3.5
- 4.3.4
- 4.3.3
- 4.3.2
- 4.3.1
- 4.3.0
- 4.2.7
- 4.2.6
- 4.2.5
- 4.2.4
- 4.2.3
- 4.2.2
- 4.2.1
- 4.2.0
- 4.1.42
- 4.1.41
- 4.1.40
- 4.1.39
- 4.1.38
- 4.1.37
- 4.1.36
- 4.1.35
- 4.1.34
- 4.1.33
- 4.1.32
- 4.1.31
- 4.1.30
- 4.1.29
- 4.1.28
- 4.1.27
- 4.1.26
- 4.1.25
- 4.1.24
- 4.1.23
- 4.1.22
- 4.1.21
- 4.1.20
- 4.1.19
- 4.1.18
- 4.1.17
- 4.1.16
- 4.1.15
- 4.1.14
- 4.1.13
- 4.1.12
- 4.1.11
- 4.1.10
- 4.1.9
- 4.1.8
- 4.1.7
- 4.1.6
- 4.1.5
- 4.1.4
- 4.1.3
- 4.1.2
- 4.1.1
- 4.1.0
- 4.1.0-rc1
- 4.0.15
- 4.0.14
- 4.0.13
- 4.0.12
- 4.0.11
- 4.0.10
- 4.0.9
- 4.0.8
- 4.0.7
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 3.x-dev
- 3.4.29
- 3.4.28
- 3.4.27
- 3.4.26
- 3.4.25
- 3.4.24
- 3.4.24-beta1
- 3.4.23
- 3.4.22
- 3.4.21
- 3.4.20
- 3.4.19
- 3.4.18
- 3.4.17
- 3.4.16
- 3.4.15
- 3.4.14
- 3.4.13
- 3.4.12
- 3.4.11
- 3.4.10
- 3.4.9
- 3.4.8
- 3.4.7
- 3.4.6
- 3.4.5
- 3.4.4
- 3.4.3
- 3.4.2
- 3.4.1
- 3.4.0
- 3.3.15
- 3.3.14
- 3.3.13
- 3.3.12
- 3.3.11
- 3.3.10
- 3.3.9
- 3.3.8
- 3.3.7
- 3.3.6
- 3.3.5
- 3.3.4
- 3.3.3
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.14
- 3.2.13
- 3.2.12
- 3.2.11
- 3.2.10
- 3.2.9
- 3.2.8
- 3.2.7
- 3.2.6
- 3.2.5
- 3.2.4
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.2.0-alpha4
- 3.2.0-alpha3
- 3.2.0-alpha2
- 3.2.0-alpha1
- 3.1.9
- 3.1.8
- 3.1.7
- 3.1.6
- 3.1.5
- 3.1.5-alpha8
- 3.1.5-alpha7
- 3.1.5-alpha6
- 3.1.5-alpha5
- 3.1.5-alpha4
- 3.1.5-alpha3
- 3.1.5-alpha2
- 3.1.5-alpha1
- 3.1.4
- 3.1.3
- 3.1.2
- 3.1.2-alpha4
- 3.1.2-alpha3
- 3.1.2-alpha2
- 3.1.2-alpha1
- 3.1.1
- 3.1.1-alpha2
- 3.1.1-alpha1
- 3.1.0
- 3.1.0-rc2
- 3.1.0-rc1
- 3.0.30
- 3.0.29
- 3.0.28
- 3.0.27
- 3.0.26
- 3.0.25
- 3.0.24
- 3.0.23
- 3.0.22
- 3.0.21
- 3.0.20
- 3.0.19
- 3.0.18
- 3.0.17
- 3.0.16
- 3.0.15
- 3.0.14
- 3.0.14-alpha3
- 3.0.14-alpha2
- 3.0.14-alpha1
- 3.0.13
- 3.0.12
- 3.0.11
- 3.0.10
- 3.0.9
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.5-alpha4
- 3.0.5-alpha3
- 3.0.5-alpha2
- 3.0.5-alpha1
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 3.0.0-alpha2
- 3.0.0-alpha1
- 2.5.33
- 2.5.32
- 2.5.31
- 2.5.30
- 2.5.29
- 2.5.28
- 2.5.27
- v2.5.26
- v2.5.25
- v2.5.24
- v2.5.23
- v2.5.22
- v2.5.21
- v2.5.20
- v2.5.19
- v2.5.18
- v2.5.17
- v2.5.16
- v2.5.15
- v2.5.14
- v2.5.13
- v2.5.12
- v2.5.11
- v2.5.10
- v2.5.9
- v2.5.8
- v2.5.7
- v2.5.6
- v2.5.5
- v2.5.4
- v2.5.3
- v2.5.2
- v2.5.1
- v2.5.0
- v2.4.49
- v2.4.48
- v2.4.47
- v2.4.46
- v2.4.45
- v2.4.44
- v2.4.43
- v2.4.42
- v2.4.41
- v2.4.40
- v2.4.39
- v2.4.38
- v2.4.37
- v2.4.36
- v2.4.35
- v2.4.34
- v2.4.33
- v2.4.32
- v2.4.31
- v2.4.30
- v2.4.29
- v2.4.28
- v2.4.27
- v2.4.26
- v2.4.25
- v2.4.24
- v2.4.23
- v2.4.22
- v2.4.21
- v2.4.20
- dev-feature/swoole-error-response
- dev-hotfix/swoole-pdo-client-pool-own-implementation
- dev-np/investigate-swoole-errors-in-aws
- dev-feature/git-subtree-for-split-1
- dev-feature/git-subtree-for-split
- dev-feature/easy-async-refactor
- dev-3.x-split-test
- dev-feature/exception-to-status-code
- dev-feature/easy-request-id
- dev-feature/error-handler-framework-agnostic
- dev-feature/easy-bugsnag
- dev-integration/easy-api-token-and-easy-security
- dev-feature/easy-webhook-profiler
- dev-feature/refactory-easy-api-token
- dev-feature/search-in-easy-core
This package is auto-updated.
Last update: 2024-09-19 04:49:20 UTC
README
---eonx_docs--- 标题:简介 重量:0 ---eonx_docs---
简介
EasyWebhook 包允许你在项目中实现灵活、可配置的 webhook 功能。webhook 是一种将 HTTP 请求发送到 URL 的机制,通常包含关于应用中发生的事件的信息。
使用 EasyWebhook 包,你可以
- 配置 webhook
- 将 webhook 作为 HTTP 请求发送到 URL,并在失败时重试
- 同步或异步发送 webhook
- 接收 webhook 响应
- 将 webhook 和结果持久化到您的选择存储中
- 在 webhook 成功或失败时触发事件
需要包(Composer)
安装此包的推荐方法是使用 Composer
$ composer require eonx-com/easy-webhook
使用概述
Webhook 类 定义了 webhook 的配置,例如发送 webhook HTTP 请求的 URL。
WebhookClient 类 触发应用于 webhook 的中间件堆栈的处理。
中间件堆栈 是 EasyWebhook 包的核心。堆栈中的每个中间件都负责 webhook 处理的不同部分,包括
- 将 webhook 作为 HTTP 请求发送。
- 使用 WebhookResult 类 获取 HTTP 请求的响应,以保存响应。
- 如有必要,重试 webhook。EasyWebhook 包有一个默认的重试策略,但你可以实现自己的。有关更多信息,请参阅 重试策略。
- 在存储中持久化 webhook 和它们的响应。你可以实现自己的存储,但 EasyWebhook 包提供了三个内置存储选项:null 存储、数组存储和 Doctrine DBAL 存储。有关更多信息,请参阅 存储。
- 在 webhook 成功或失败时触发事件。有关更多信息,请参阅 事件。
有关中间件的详细信息,包括如何实现自定义中间件,请参阅 中间件。
默认情况下,webhook 是异步发送的,但你也可以配置 webhook 为同步发送。有关更多信息,请参阅 同步发送。
可以将 webhook 配置为在特定日期和时间后发送。你可以运行 easy-webhooks:send-due-webhooks
控制台命令以在 cron 作业中发送到期的 webhook。有关更多信息,请参阅 控制台。
EasyWebhook 包的全局设置可以通过应用程序中的配置文件进行配置。有关更多信息,请参阅 配置。