qingclouds / work-wechat-developer
企业微信php-sdk
v1.0.0
2022-06-14 06:34 UTC
Requires
- php: >=7.0
- guzzlehttp/guzzle: ^7.3
This package is auto-updated.
Last update: 2025-06-27 15:18:09 UTC
README
环境需求
- PHP >= 7.0.0
- Composer >= 2.0
安装
composer require qingclouds/work-wechat-developer
验证URL有效性
$service = new WorkWechat\EventService('corpId','encodingAesKey','token'); try{ // 需要自行urldecode echo $service->verifyURL('msgSignature',(int)'timestamp','nonce','msgEncrypt'); }catch (\Exception $e){ print $e; echo ''; }
接收post业务数据
$service = new WorkWechat\EventService('corpId','encodingAesKey','token'); $xml = file_get_contents("php://input"); try{ // 需要自行urldecode // 接收到的数据已转为array $service->decryptMsg('msgSignature',(int)'timestamp','nonce',$xml); }catch (\Exception $e){ print $e; echo 'fail'; }
网页授权
$url = WorkWechat\AuthService::getRedirectUrl('corpId','https://www.baidu.com')
扫码登录
$url = WorkWechat\AuthService::getQrCodeUrl('corpId','agentId','https://www.baidu.com','')
获取access_token
// 已增加本地文件缓存 $service = new WorkWechat\AccessTokenService('corpId','secret'); $accessToken = $service->getToken(); // 刷新access_token $accessToken = $service->refresh();
获取访问用户身份
$service = new WorkWechat\UserService(); $service->setAccessToken($accessToken); $service->companyUserByCode('code');
读取成员
$userService = new WorkWechat\UserService(); $userService->setAccessToken($accessToken); $userService->detail('userId')
获取客户详情
$customerService = new WorkWechat\CustomerService(); $customerService->setAccessToken($accessToken); $customerService->customerDetail('externalUserid')
联系客户统计
$customerService = new WorkWechat\CustomerService(); $customerService->setAccessToken($accessToken); $customerService->userBehaviorData(['userid','userid',...],['deptmentId',...],1618780712,1649903913)
企业部门
$departmentService = new WorkWechat\DepartmentService(); $departmentService->setAccessToken($accessToken); // 获取所有部门 $departmentService->list(); // 获取某个部门及下级部门 $departmentService->list(id); // 部门详情 $departmentService->detail(id); // 所有部门及部门下属员工 $departmentService->totalUserList(); // 所有部门及部门下属员工 树形结构 $departmentService->departmentTreeANdTotalUser();
发送文本消息
$messageService = new WorkWechat\MessageService('agentId'); $messageService->setAccessToken($accessToken); $messageService->setMessage('text-message'); // 设置发送的文本消息 $messageService->setSecrecy(1); // 设置消息是否保密 0-否 1-是 $messageService->sendTextMsgToCompanyUser('userId','userId','userId','userId','userId','userId','userId'); // 向多个/一个userId发送此消息
如何获取external_userid
获取企业jsapi ticket
$service = new WorkWechat\TicketService('corpId','secret'); $service->setAccessToken($accessToken); $service->company(); // 刷新企业jsapi ticket $service->refreshCompany()
获取应用jsapi ticket
$service = new WorkWechat\TicketService('corpId','secret'); $service->setAccessToken($accessToken); $service->agent(); // 刷新应用jsapi ticket $service->refreshCompany()
明文corpid转换为加密corpid
$service = new WorkWechat\TicketService('corpId','secret'); $service->setAccessToken($accessToken); $service->openCorpId("corpid");