企業(yè)釘釘用戶及事件訂閱通知

v2.0.0
版本
2025-05-20
版本更新時(shí)間
327
安裝
2
star
Webman Dingtalk
封裝釘釘接口,處理釘釘事件訂閱,觸發(fā)事件
安裝
composer require srako/wenman-dingtalk
composer require playcat/queue
配置
- 添加 .env 環(huán)境變量
DING_CORP_ID=dingxxxxxxx
DING_AGENT_ID=xxxxxxxx
DING_CLIENT_ID=xxxxxxxx
DING_CLIENT_SECRET=xxxxxxxx
DING_AES_KEY=xxxxxxxx
DING_TOKEN=xxxxxxxx
使用
- 添加釘釘事件訂閱隊(duì)列
<?php
namespace app\queue\cat;
use Playcat\Queue\Protocols\ConsumerData;
use Playcat\Queue\Protocols\ConsumerInterface;
use support\Log;
class DingMessage implements ConsumerInterface
{
public string $queue = 'ding-message';
public function consume(ConsumerData $data): void
{
$message = $data->getQueueData();
Log::info('釘釘事件通知', $message);
}
}
添加的命令
- 刷新部門和用戶(觸發(fā)變更事件)
php webman dingtalk:RefreshDepartmentsAndUsers
釘釘接口調(diào)用示例
發(fā)送工作通知消息
請(qǐng)求方式:POST(HTTPS)
請(qǐng)求地址:https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2?access_token=ACCESS_TOKEN
$params = [
'agent_id' => env('DINGTALK_AGENTID'),
'userid_list' => '0841582759859766',
'msg' => [
'msgtype' => 'text',
'text' => [
'content' => '當(dāng)前時(shí)間:'.date('Y-m-d H:i:s'),
],
],
];
$ret = DingTalk::post('/topapi/message/corpconversation/asyncsend_v2', $params);