igniterlabs / ti-ext-webhook
通过 Zapier 或其他第三方服务连接您的第三方应用程序到您的 TastyIgniter 网站。
资助包维护!
tastyigniter
Open Collective
1.5.2
2024-08-31 13:35 UTC
README
Webhooks 扩展允许您将 TastyIgniter 网站与外部系统集成
它将您的网站转变为强大的优化 webhook 系统,以便您的网站可以与 Zapier 等第三方应用程序通信。
例如
- 当在您的 TastyIgniter 网站上创建新预订时,将数据发送到 OpenTable。
- 当在您的 TastyIgniter 网站上放置新订单时,将数据发送到您的 POS。
用法
在管理用户界面中
- 转到 系统 > 设置 > Webhooks 设置 以配置扩展设置
- 转到 工具 > Webhooks 以管理发出的 webhook。
- 转到 工具 > 自动化 以在发生某些事件时自动发出 webhook。
功能
- 在您的 TastyIgniter 平台上发生某些事件时发送数据。
- 每个发出的 webhook 的高级设置
- 支持 JSON 和表单 urlencode
- 与 Zapier、automate.io 等进行测试。
高级
注册 webhook 事件的示例
这是一个扩展注册 webhook 事件以触发发出 webhook 的示例。
public function registerWebhookEvents() { return [ 'events' => [ 'customer' => \IgniterLabs\Webhook\WebhookEvents\Customer::class, ], ]; }
Webhook 事件类的示例
Webhook 事件类负责准备传递给发出 webhook 的参数。
class Customer extends \IgniterLabs\Webhook\WebhookEvents\BaseEvent { /** * Returns information about this event, including name and description. */ public function eventDetails() { return [ 'name' => 'Customers', 'description' => 'Customer created, updated or deleted.', 'setup' => '$/igniterlabs/webhook/webhookevents/customer/setup.md', ]; } public static function registerEventListeners() { return [ 'created' => 'eloquent.created: Admin\Models\Customers_model', 'updated' => 'eloquent.updated: Admin\Models\Customers_model', 'deleted' => 'eloquent.deleted: Admin\Models\Customers_model', ]; } public static function makePayloadFromEvent(array $args, $actionCode = null) { $params = []; $customer = array_get($args, 0); if ($customer instanceof Customers_model) $params['customer'] = $customer->toArray(); return $params; } }