deegitalbe/laravel-trustup-io-messaging-webhooks-listeners

我们的包用于监听消息 webhook

v1.1.3 2023-02-24 16:59 UTC

This package is auto-updated.

Last update: 2024-09-24 20:05:48 UTC


README

先决条件

此包使用 deegitalbe/server-authorization 包来验证请求。请参考其 文档,确保它在您的项目中正确配置。

安装

composer require deegitalbe/laravel-trustup-io-messaging-webhooks-listeners

发布配置

php artisan vendor:publish --provider="Deegitalbe\LaravelTrustupIoMessagingWebhooksListeners\Providers\LaravelTrustupIoMessagingWebhooksListenersServiceProvider" --tag="config"

可用的监听器

消息已创建

定义您的监听器

use Deegitalbe\LaravelTrustupIoMessagingWebhooksListeners\Contracts\Listeners\Messages\TrustupIoMessagingMessageCreatedListenerContract;

class MessageCreatedListener implements TrustupIoMessagingMessageCreatedListenerContract
{
    public function onMessageCreated(array $webhookData): void
    {
        
    }
}

在配置中注册您的监听器

    /**
     * Messaging microservice listeners.
     */
    "listeners" => [
        /**
         * Message related listeners.
         */
        "messages" =>  [
            /**
             *  Message created listener.
             * 
             * @implements \Deegitalbe\LaravelTrustupIoMessagingWebhooksListeners\Contracts\Listeners\Messages\TrustupIoMessagingMessageCreatedListenerContract
             */
            "created" => MessageCreatedListener::class
        ]
    ]

Webhook 数据结构

{
    "message": {
    "id": 4339,
    "type": "text",
    "text": "The order of the message is not really good",
    "status": null,
    "user_id": 38943,
    "conversation_id": 2767,
    "conversation": {
        "id": 2767,
        "app_name": "trustup-io-ticketing",
        "type": "conversation",
        "title": "null",
        "model": "ticket",
        "model_id": "840942e5-b63e-4ab5-8f72-079e7a35be0e",
        "user_id": 38943,
        "meta": null,
        "deleted_at": null,
        "created_at": "2023-02-23T15:59:08.000000Z",
        "updated_at": "2023-02-23T15:59:08.000000Z"
    },
    "seen_by": [],
    "deleted_at": null,
    "created_at": "2023-02-24T14:54:37.000000Z",
    "updated_at": "2023-02-24T14:54:37.000000Z"
    }
}

监听器配置

将以下任一接口添加到您的监听器中来自定义它。

仅限于您当前的应用程序

use Deegitalbe\LaravelTrustupIoMessagingWebhooksListeners\Contracts\Listeners\Config\ListenToCorrespondingAppKey;

class MessageCreatedListener implements ListenToCorrespondingAppKey