eonx-com/easy-webhook

发送webhook从未如此简单(持久化、重试、异步)

6.0.0 2024-09-11 15:35 UTC

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 包的全局设置可以通过应用程序中的配置文件进行配置。有关更多信息,请参阅 配置