scandiweb_test / pimcore-webhooks
一个用于实现webhooks的Pimcore捆绑包
dev-master
2023-11-29 07:45 UTC
Requires
- php: ^8.0
- pimcore/pimcore: >=10.0
Requires (Dev)
This package is not auto-updated.
Last update: 2024-10-03 10:02:17 UTC
README
此扩展提供了一种简单的方法,在指定的类上发生Pimcore事件时,通过json将数据对象发送到外部站点。此捆绑包通过安装webHook类来安装,从而可以在UI中定义要监听并发送数据到外部站点的数据对象。
如何安装WebHookBundle
1. 使用composer下载并安装捆绑包
要安装WebHookBundle,首先打开您的终端并输入
docker-compose exec php bash
composer require sintra/pimcore-webhooks:dev-main
通过composer安装Toolbox Bundle后,打开Pimcore后端,转到 工具
=> 扩展
- 在
启用/禁用
行中点击绿色的+
按钮 - 在
安装/卸载
行中点击绿色的+
按钮
2. 配置捆绑包
捆绑包安装完毕后,您可以开始创建您的webhooks!请按照以下步骤操作。
- 创建一个名为
Webhooks
的文件夹。虽然这不是必需的,您也可以将其命名为您想要的任何名称。 - 在它里面创建一个webhook对象
- 在设置面板中,您可以指定要监控的类名、要监听的事件以及要发送json对象的站点URL
- 在安全面板中,您可以设置一个API密钥以提供给指定的URL,以及一对公钥/私钥以生成签名
以下视频展示了如何几秒钟内完成此操作。 现在您已准备好使用Webhook捆绑包了!
Webhook配置
可用选项
您可以指定
- 要监控的类
- 发送数据的URL
- 要监听的事件
可用的事件有
- preAdd
- postAdd
- postAddFailure
- preUpdate
- postUpdate
- postUpdateFailure
- deleteInfo
- preDelete
- postDelete
- postDeleteFailure
- postCopy
- postCsvItemExport
一旦事件发生,您数据的json表示将发送到指定的URL。在头部指定了哪个事件被触发。
每个事件将触发如下请求
- 头部
x-listen-event
:包含被触发的事件的名称x-apikey
:包含用于认证目的的随机生成的密钥x-signature
:包含使用OPENSSL_ALGO_SHA1创建的数据签名;公钥存储在网站设置中
- 主体包含两个主要部分
dataObject
:您的数据对象的json表示arguments
:如果在发生失败时抛出异常,则包含异常代码和消息
安全设置
为了确保传输信息的真实性和安全性,在头部有一个随机生成的API密钥,以及通过一对密钥(公钥/私钥)生成的签名,这些密钥存储在Pimcore网站设置中。这些在捆绑包安装时会自动创建,但您也可以使用自己的。
要运行测试,您不需要创建任何webhooks或类,这些将自动创建,您只需初始化testURL属性为有效的URL即可。