Files
park/vendor/overtrue/wechat/src/OfficialAccount/Guide/Client.php
MeSHard b22d09bd39 init
2025-12-01 11:19:23 +08:00

992 lines
30 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/*
* This file is part of the overtrue/wechat.
*
* (c) overtrue <i@overtrue.me>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace EasyWeChat\OfficialAccount\Guide;
use EasyWeChat\Kernel\BaseClient;
use EasyWeChat\Kernel\Exceptions\InvalidConfigException;
use EasyWeChat\Kernel\Support\Collection;
use Psr\Http\Message\ResponseInterface;
/**
* Class Client.
*
* @author MillsGuo <millsguo@gmail.com>
*/
class Client extends BaseClient
{
/**
* 添加顾问
* @param string $guideAccount
* @param string $guideOpenid
* @param string $guideHeadImgUrl
* @param string $guideNickname
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function createAdviser($guideAccount = '', $guideOpenid = '', $guideHeadImgUrl = '', $guideNickname = '')
{
$params = $this->selectAccountAndOpenid(array(), $guideAccount, $guideOpenid);
if (!empty($guideHeadImgUrl)) {
$params['guide_headimgurl'] = $guideHeadImgUrl;
}
if (!empty($guideNickname)) {
$params['guide_nickname'] = $guideNickname;
}
return $this->httpPostJson('cgi-bin/guide/addguideacct', $params);
}
/**
* 获取顾问信息
* @param string $guideAccount
* @param string $guideOpenid
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function getAdviser($guideAccount = '', $guideOpenid = '')
{
$params = $this->selectAccountAndOpenid(array(), $guideAccount, $guideOpenid);
return $this->httpPostJson('cgi-bin/guide/getguideacct', $params);
}
/**
* 修改顾问的昵称或头像
* @param string $guideAccount
* @param string $guideOpenid
* @param string $guideHeadImgUrl
* @param string $guideNickname
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function updateAdviser($guideAccount = '', $guideOpenid = '', $guideHeadImgUrl = '', $guideNickname = '')
{
$params = $this->selectAccountAndOpenid(array(), $guideAccount, $guideOpenid);
if (!empty($guideHeadImgUrl)) {
$params['guide_headimgurl'] = $guideHeadImgUrl;
}
if (!empty($guideNickname)) {
$params['guide_nickname'] = $guideNickname;
}
return $this->httpPostJson('cgi-bin/guide/updateguideacct', $params);
}
/**
* 删除顾问
* @param string $guideAccount
* @param string $guideOpenid
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function deleteAdviser($guideAccount = '', $guideOpenid = '')
{
$params = $this->selectAccountAndOpenid(array(), $guideAccount, $guideOpenid);
return $this->httpPostJson('cgi-bin/guide/delguideacct', $params);
}
/**
* 获取服务号顾问列表
*
* @return mixed
*
* @throws InvalidConfigException
*/
public function getAdvisers($count, $page)
{
$params = [
'page' => $page,
'num' => $count
];
return $this->httpPostJson('cgi-bin/guide/getguideacctlist', $params);
}
/**
* 生成顾问二维码
* @param string $guideAccount
* @param string $guideOpenid
* @param string $qrCodeInfo
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function createQrCode($guideAccount = '', $guideOpenid = '', $qrCodeInfo = '')
{
$params = $this->selectAccountAndOpenid(array(), $guideAccount, $guideOpenid);
if (!empty($qrCodeInfo)) {
$params['qrcode_info'] = $qrCodeInfo;
}
return $this->httpPostJson('cgi-bin/guide/guidecreateqrcode', $params);
}
/**
* 获取顾问聊天记录
* @param string $guideAccount
* @param string $guideOpenid
* @param string $openid
* @param int $beginTime
* @param int $endTime
* @param int $page
* @param int $count
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function getBuyerChatRecords($guideAccount = '', $guideOpenid = '', $openid = '', $beginTime = 0, $endTime = 0, $page = 1, $count = 100)
{
$params = [
'page' => $page,
'num' => $count
];
$params = $this->selectAccountAndOpenid($params, $guideAccount, $guideOpenid);
if (!empty($openid)) {
$params['openid'] = $openid;
}
if (!empty($beginTime)) {
$params['begin_time'] = $beginTime;
}
if (!empty($endTime)) {
$params['end_time'] = $endTime;
}
return $this->httpPostJson('cgi-bin/guide/getguidebuyerchatrecord', $params);
}
/**
* 设置快捷回复与关注自动回复
* @param string $guideAccount
* @param string $guideOpenid
* @param bool $isDelete
* @param array $fastReplyListArray
* @param array $guideAutoReply
* @param array $guideAutoReplyPlus
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function setConfig($guideAccount = '', $guideOpenid = '', $isDelete = false, $fastReplyListArray = array(), $guideAutoReply = array(), $guideAutoReplyPlus = array())
{
$params = [
'is_delete' => $isDelete
];
$params = $this->selectAccountAndOpenid($params, $guideAccount, $guideOpenid);
if (!empty($fastReplyListArray)) {
$params['guide_fast_reply_list'] = $fastReplyListArray;
}
if (!empty($guideAutoReply)) {
$params['guide_auto_reply'] = $guideAutoReply;
}
if (!empty($guideAutoReplyPlus)) {
$params['guide_auto_reply_plus'] = $guideAutoReplyPlus;
}
return $this->httpPostJson('cgi-bin/guide/setguideconfig', $params);
}
/**
* 获取快捷回复与关注自动回复
* @param string $guideAccount
* @param string $guideOpenid
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function getConfig($guideAccount = '', $guideOpenid = '')
{
try {
$params = $this->selectAccountAndOpenid(array(), $guideAccount, $guideOpenid);
} catch (InvalidConfigException $e) {
$params = array();
}
return $this->httpPostJson('cgi-bin/guide/getguideconfig', $params);
}
/**
* 设置离线自动回复与敏感词
* @param bool $isDelete
* @param array $blackKeyword
* @param array $guideAutoReply
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function setAdviserConfig(bool $isDelete, array $blackKeyword = [], array $guideAutoReply = [])
{
$params = [
'is_delete' => $isDelete
];
if (!empty($blackKeyword)) {
$params['black_keyword'] = $blackKeyword;
}
if (!empty($guideAutoReply)) {
$params['guide_auto_reply'] = $guideAutoReply;
}
return $this->httpPostJson('cgi-bin/guide/setguideacctconfig', $params);
}
/**
* 获取离线自动回复与敏感词
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function getAdviserConfig()
{
return $this->httpPostJson('cgi-bin/guide/getguideacctconfig', array());
}
/**
* 允许微信用户复制小程序页面路径
* @param string $wxaAppid 小程序APPID
* @param string $wxUsername 微信用户的微信号
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function allowCopyMiniAppPath(string $wxaAppid, string $wxUsername)
{
$params = [
'wxa_appid' => $wxaAppid,
'wx_username' => $wxUsername
];
return $this->httpPostJson('cgi-bin/guide/pushshowwxapathmenu', $params);
}
/**
* 传入微信号或OPENID二选一
* @param array $params
* @param string $guideAccount
* @param string $guideOpenid
* @return array
* @throws InvalidConfigException
*/
protected function selectAccountAndOpenid($params, $guideAccount = '', $guideOpenid = '')
{
if (!is_array($params)) {
throw new InvalidConfigException("传入配置参数必须为数组");
}
if (!empty($guideOpenid)) {
$params['guide_openid'] = $guideOpenid;
} elseif (!empty($guideAccount)) {
$params['guide_account'] = $guideAccount;
} else {
throw new InvalidConfigException("微信号和OPENID不能同时为空");
}
return $params;
}
/**
* 新建顾问分组
* @param string $groupName
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function createGroup(string $groupName)
{
$params = [
'group_name' => $groupName
];
return $this->httpPostJson('cgi-bin/guide/newguidegroup', $params);
}
/**
* 获取顾问分组列表
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function getGuideGroups()
{
return $this->httpPostJson('cgi-bin/guide/getguidegrouplist', array());
}
/**
* 获取指定顾问分组信息
* @param int $groupId
* @param int $page
* @param int $num
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function getGroups(int $groupId, int $page, int $num)
{
$params = [
'group_id' => $groupId,
'page' => $page,
'num' => $num
];
return $this->httpPostJson('cgi-bin/guide/getgroupinfo', $params);
}
/**
* 分组内添加顾问
* @param int $groupId
* @param string $guideAccount
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function addGroupGuide(int $groupId, string $guideAccount)
{
$params = [
'group_id' => $groupId,
'gruide_account' => $guideAccount
];
return $this->httpPostJson('cgi-bin/guide/addguide2guidegroup', $params);
}
/**
* 分组内删除顾问
* @param int $groupId
* @param string $guideAccount
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function deleteGroupGuide(int $groupId, string $guideAccount)
{
$params = [
'group_id' => $groupId,
'guide_account' => $guideAccount
];
return $this->httpPostJson('cgi-bin/guide/delguide2guidegroup', $params);
}
/**
* 获取顾问所在分组
* @param string $guideAccount
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function getGuideGroup(string $guideAccount)
{
$params = [
'guide_account' => $guideAccount
];
return $this->httpPostJson('cgi-bin/guide/getgroupbyguide', $params);
}
/**
* 删除指定顾问分组
* @param int $groupId
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function deleteGroup(int $groupId)
{
$params = [
'group_id' => $groupId
];
return $this->httpPostJson('cgi-bin/guide/delguidegroup', $params);
}
/**
* 为顾问分配客户
* @param string $guideAccount
* @param string $guideOpenid
* @param array $buyerList
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function createBuyerRelation(string $guideAccount, string $guideOpenid, array $buyerList)
{
$params = [
'buyer_list' => $buyerList
];
$params = $this->selectAccountAndOpenid($params, $guideAccount, $guideOpenid);
return $this->httpPostJson('cgi-bin/guide/addguidebuyerrelation', $params);
}
/**
* 为顾问移除客户
* @param string $guideAccount
* @param string $guideOpenid
* @param array $openidList
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function deleteBuyerRelation(string $guideAccount, string $guideOpenid, array $openidList)
{
$params = [
'openid_list' => $openidList
];
$params = $this->selectAccountAndOpenid($params, $guideAccount, $guideOpenid);
return $this->httpPostJson('cgi-bin/guide/delguidebuyerrelation', $params);
}
/**
* 获取顾问的客户列表
* @param string $guideAccount
* @param string $guideOpenid
* @param int $page
* @param int $num
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function getBuyerRelations(string $guideAccount, string $guideOpenid, int $page, int $num)
{
$params = [
'page' => $page,
'num' => $num
];
$params = $this->selectAccountAndOpenid($params, $guideAccount, $guideOpenid);
return $this->httpPostJson('cgi-bin/guide/getguidebuyerrelationlist', $params);
}
/**
* 为客户更换顾问
* @param string $oldGuideTarget
* @param string $newGuideTarget
* @param array $openidList
* @param bool $useTargetOpenid true使用OPENIDfalse使用微信号
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function rebindBuyerGuide(string $oldGuideTarget, string $newGuideTarget, array $openidList, bool $useTargetOpenid = true)
{
$params = [
'openid_list' => $openidList
];
if ($useTargetOpenid) {
$params['old_guide_openid'] = $oldGuideTarget;
$params['new_guide_openid'] = $newGuideTarget;
} else {
$params['old_guide_account'] = $oldGuideTarget;
$params['new_guide_account'] = $newGuideTarget;
}
return $this->httpPostJson('cgi-bin/guide/rebindguideacctforbuyer', $params);
}
/**
* 修改客户昵称
* @param string $guideAccount
* @param string $guideOpenid
* @param string $openid
* @param string $nickname
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function updateBuyerRelation(string $guideAccount, string $guideOpenid, string $openid, string $nickname)
{
$params = [
'openid' => $openid,
'buyer_nickname' => $nickname
];
$params = $this->selectAccountAndOpenid($params, $guideAccount, $guideOpenid);
return $this->httpPostJson('cgi-bin/guide/updateguidebuyerrelation', $params);
}
/**
* 查询客户所属顾问
* @param string $openid
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function getBuyerRelation(string $openid)
{
$params = [
'openid' => $openid
];
return $this->httpPostJson('cgi-bin/guide/getguidebuyerrelationbybuyer', $params);
}
/**
* 查询指定顾问和客户的关系
* @param string $guideAccount
* @param string $guideOpenid
* @param string $openid
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function getBuyerRelationByGuide(string $guideAccount, string $guideOpenid, string $openid)
{
$params = [
'openid' => $openid
];
$params = $this->selectAccountAndOpenid($params, $guideAccount, $guideOpenid);
return $this->httpPostJson('cgi-bin/guide/getguidebuyerrelation', $params);
}
/**
* 新建可查询的标签类型
* @param string $tagName
* @param array $tagValues
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function newTagOption(string $tagName, array $tagValues)
{
$params = [
'tag_name' => $tagName,
'tag_values' => $tagValues
];
return $this->httpPostJson('cgi-bin/guide/newguidetagoption', $params);
}
/**
* 删除指定标签类型
* @param string $tagName
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function deleteTagOption(string $tagName)
{
$params = [
'tag_name' => $tagName
];
return $this->httpPostJson('cgi-bin/guide/delguidetagoption', $params);
}
/**
* 为标签添加可选值
* @param string $tagName
* @param array $tagValues
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function createTagOption(string $tagName, array $tagValues)
{
$params = [
'tag_name' => $tagName,
'tag_values' => $tagValues
];
return $this->httpPostJson('cgi-bin/guide/addguidetagoption', $params);
}
/**
* 获取标签和可选值
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function getTagOption()
{
return $this->httpPostJson('cgi-bin/guide/getguidetagoption', array());
}
/**
* 为客户设置标签
* @param string $guideAccount
* @param string $guideOpenid
* @param array $openidList
* @param string $tagValue
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function setBuyersTag(string $guideAccount, string $guideOpenid, array $openidList, string $tagValue)
{
$params = [
'tag_value' => $tagValue,
'openid_list' => $openidList
];
$params = $this->selectAccountAndOpenid($params, $guideAccount, $guideOpenid);
return $this->httpPostJson('cgi-bin/guide/addguidebuyertag', $params);
}
/**
* 查询客户标签
* @param string $guideAccount
* @param string $guideOpenid
* @param string $openid
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function getBuyerTags(string $guideAccount, string $guideOpenid, string $openid)
{
$params = [
'openid' => $openid
];
$params = $this->selectAccountAndOpenid($params, $guideAccount, $guideOpenid);
return $this->httpPostJson('cgi-bin/guide/getguidebuyertag', $params);
}
/**
* 根据标签值筛选粉丝
* @param string $guideAccount
* @param string $guideOpenid
* @param int $pushCount
* @param array $tagValues
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function getBuyerByTag(string $guideAccount, string $guideOpenid, int $pushCount = 0, array $tagValues = array())
{
$params = $this->selectAccountAndOpenid(array(), $guideAccount, $guideOpenid);
if ($pushCount > 0) {
$params['push_count'] = $pushCount;
}
if (count($tagValues) > 0) {
$params['tag_values'] = $tagValues;
}
return $this->httpPostJson('cgi-bin/guide/queryguidebuyerbytag', $params);
}
/**
* 删除客户标签
* @param string $guideAccount
* @param string $guideOpenid
* @param string $tagValue
* @param array $openidList
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function deleteBuyerTag(string $guideAccount, string $guideOpenid, string $tagValue, array $openidList)
{
$params = [
'tag_value' => $tagValue
];
$params = $this->selectAccountAndOpenid($params, $guideAccount, $guideOpenid);
if (count($openidList) > 0) {
$params['openid_list'] = $openidList;
}
return $this->httpPostJson('cgi-bin/guide/delguidebuyertag', $params);
}
/**
* 设置自定义客户信息
* @param string $guideAccount
* @param string $guideOpenid
* @param string $openid
* @param array $displayTagList
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function setBuyerDisplayTags(string $guideAccount, string $guideOpenid, string $openid, array $displayTagList)
{
$params = [
'openid' => $openid,
'display_tag_list' => $displayTagList
];
$params = $this->selectAccountAndOpenid($params, $guideAccount, $guideOpenid);
return $this->httpPostJson('cgi-bin/guide/addguidebuyerdisplaytag', $params);
}
/**
* 获取自定义客户信息
* @param string $guideAccount
* @param string $guideOpenid
* @param string $openid
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function getBuyerDisplayTags(string $guideAccount, string $guideOpenid, string $openid)
{
$params = [
'openid' => $openid
];
$params = $this->selectAccountAndOpenid($params, $guideAccount, $guideOpenid);
return $this->httpPostJson('cgi-bin/guide/getguidebuyerdisplaytag', $params);
}
/**
* 添加小程序卡片素材
* @param string $mediaId
* @param string $title
* @param string $path
* @param string $appid
* @param int $type
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function createCardMaterial(string $mediaId, string $title, string $path, string $appid, int $type = 0)
{
$params = [
'media_id' => $mediaId,
'type' => $type,
'title' => $title,
'path' => $path,
'appid' => $appid
];
return $this->httpPostJson('cgi-bin/guide/setguidecardmaterial', $params);
}
/**
* 查询小程序卡片素材
* @param int $type
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function getCardMaterial(int $type = 0)
{
$params = [
'type' => $type
];
return $this->httpPostJson('cgi-bin/guide/getguidecardmaterial', $params);
}
/**
* 删除小程序卡片素材
* @param string $title
* @param string $path
* @param string $appid
* @param int $type
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function deleteCardMaterial(string $title, string $path, string $appid, int $type = 0)
{
$params = [
'type' => $type,
'title' => $title,
'path' => $path,
'appid' => $appid
];
return $this->httpPostJson('cgi-bin/guide/delguidecardmaterial', $params);
}
/**
* 添加图片素材
* @param string $mediaId
* @param int $type
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function createImageMaterial(string $mediaId, int $type = 0)
{
$params = [
'media_id' => $mediaId,
'type' => $type
];
return $this->httpPostJson('cgi-bin/guide/setguideimagematerial', $params);
}
/**
* 查询图片素材
* @param int $type
* @param int $start
* @param int $num
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function getImageMaterial(int $type, int $start, int $num)
{
$params = [
'type' => $type,
'start' => $start,
'num' => $num
];
return $this->httpPostJson('cgi-bin/guide/getguideimagematerial', $params);
}
/**
* 删除图片素材
* @param int $type
* @param string $picUrl
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function deleteImageMaterial(int $type, string $picUrl)
{
$params = [
'type' => $type,
'picurl' => $picUrl
];
return $this->httpPostJson('cgi-bin/guide/delguideimagematerial', $params);
}
/**
* 添加文字素材
* @param int $type
* @param string $word
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function createWordMaterial(int $type, string $word)
{
$params = [
'type' => $type,
'word' => $word
];
return $this->httpPostJson('cgi-bin/guide/setguidewordmaterial', $params);
}
/**
* 查询文字素材
* @param int $type
* @param int $start
* @param int $num
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function getWordMaterial(int $type, int $start, int $num)
{
$params = [
'type' => $type,
'start' => $start,
'num' => $num
];
return $this->httpPostJson('cgi-bin/guide/getguidewordmaterial', $params);
}
/**
* 删除文字素材
* @param int $type
* @param string $word
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function deleteWordMaterial(int $type, string $word)
{
$params = [
'type' => $type,
'word' => $word
];
return $this->httpPostJson('cgi-bin/guide/delguidewordmaterial', $params);
}
/**
* 添加群发任务,为指定顾问添加群发任务
* @param string $guideAccount
* @param string $guideOpenid
* @param string $taskName
* @param string $taskRemark
* @param int $pushTime
* @param array $openidArray
* @param array $materialArray
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function createMasSendJob(string $guideAccount, string $guideOpenid, string $taskName, string $taskRemark, int $pushTime, array $openidArray, array $materialArray)
{
$params = [
'task_name' => $taskName,
'push_time' => $pushTime,
'openid' => $openidArray,
'material' => $materialArray
];
if (!empty($taskRemark)) {
$params['task_remark'] = $taskRemark;
}
$params = $this->selectAccountAndOpenid($params, $guideAccount, $guideOpenid);
return $this->httpPostJson('cgi-bin/guide/addguidemassendjob', $params);
}
/**
* 获取群发任务列表
* @param string $guideAccount
* @param string $guideOpenid
* @param array $taskStatus
* @param int $offset
* @param int $limit
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function getMasSendJobs(string $guideAccount, string $guideOpenid, array $taskStatus = [], int $offset = 0, int $limit = 50)
{
$params = $this->selectAccountAndOpenid(array(), $guideAccount, $guideOpenid);
if (!empty($taskStatus)) {
$params['task_status'] = $taskStatus;
}
if ($offset > 0) {
$params['offset'] = $offset;
}
if ($limit != 50) {
$params['limit'] = $limit;
}
return $this->httpPostJson('cgi-bin/guide/getguidemassendjoblist', $params);
}
/**
* 获取指定群发任务信息
* @param string $taskId
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function getMasSendJob(string $taskId)
{
$params = [
'task_id' => $taskId
];
return $this->httpPostJson('cgi-bin/guide/getguidemassendjob', $params);
}
/**
* 修改群发任务
* @param string $taskId
* @param string $taskName
* @param string $taskRemark
* @param int $pushTime
* @param array $openidArray
* @param array $materialArray
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function updateMasSendJob(string $taskId, string $taskName, string $taskRemark, int $pushTime, array $openidArray, array $materialArray)
{
$params = [
'task_id' => $taskId
];
if (!empty($taskName)) {
$params['task_name'] = $taskName;
}
if (!empty($taskRemark)) {
$params['task_remark'] = $taskRemark;
}
if (!empty($pushTime)) {
$params['push_time'] = $pushTime;
}
if (!empty($openidArray)) {
$params['openid'] = $openidArray;
}
if (!empty($materialArray)) {
$params['material'] = $materialArray;
}
return $this->httpPostJson('cgi-bin/guide/updateguidemassendjob', $params);
}
/**
* 取消群发任务
* @param string $taskId
* @return array|Collection|object|ResponseInterface|string
* @throws InvalidConfigException
*/
public function cancelMasSendJob(string $taskId)
{
$params = [
'task_id' => $taskId
];
return $this->httpPostJson('cgi-bin/guide/cancelguidemassendjob', $params);
}
}