deegitalbe / laravel-trustup-io-messaging-webhooks-listeners
我们的包用于监听消息 webhook
v1.1.3
2023-02-24 16:59 UTC
Requires
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.5
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