scandiweb_test/pimcore-webhooks

一个用于实现webhooks的Pimcore捆绑包

安装: 1

依赖: 0

建议者: 0

安全: 0

类型:pimcore-bundle

dev-master 2023-11-29 07:45 UTC

This package is not auto-updated.

Last update: 2024-10-03 10:02:17 UTC


README

Compile and Tests CodeFactor

此扩展提供了一种简单的方法,在指定的类上发生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!请按照以下步骤操作。

  1. 创建一个名为 Webhooks 的文件夹。虽然这不是必需的,您也可以将其命名为您想要的任何名称。
  2. 在它里面创建一个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即可。