igniterlabs/ti-ext-webhook

通过 Zapier 或其他第三方服务连接您的第三方应用程序到您的 TastyIgniter 网站。

资助包维护!
tastyigniter
Open Collective

安装: 45

依赖项: 0

建议者: 0

安全: 0

星标: 4

关注者: 3

分支: 2

开放问题: 1

类型:tastyigniter-extension

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;
    }
}