<?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. */ /** * Group.php. * * @author overtrue <i@overtrue.me> * @copyright 2015 overtrue <i@overtrue.me> * * @see https://github.com/overtrue * @see http://overtrue.me */ namespace EasyWeChat\User; use EasyWeChat\Core\AbstractAPI; /** * Class Group. */ class Group extends AbstractAPI { const API_GET = 'https://api.weixin.qq.com/cgi-bin/groups/get'; const API_CREATE = 'https://api.weixin.qq.com/cgi-bin/groups/create'; const API_UPDATE = 'https://api.weixin.qq.com/cgi-bin/groups/update'; const API_DELETE = 'https://api.weixin.qq.com/cgi-bin/groups/delete'; const API_USER_GROUP_ID = 'https://api.weixin.qq.com/cgi-bin/groups/getid'; const API_MEMBER_UPDATE = 'https://api.weixin.qq.com/cgi-bin/groups/members/update'; const API_MEMBER_BATCH_UPDATE = 'https://api.weixin.qq.com/cgi-bin/groups/members/batchupdate'; /** * Create group. * * @param string $name * * @return \EasyWeChat\Support\Collection */ public function create($name) { $params = [ 'group' => ['name' => $name], ]; return $this->parseJSON('json', [self::API_CREATE, $params]); } /** * List all groups. * * @return \EasyWeChat\Support\Collection */ public function lists() { return $this->parseJSON('get', [self::API_GET]); } /** * Update a group name. * * @param int $groupId * @param string $name * * @return \EasyWeChat\Support\Collection */ public function update($groupId, $name) { $params = [ 'group' => [ 'id' => $groupId, 'name' => $name, ], ]; return $this->parseJSON('json', [self::API_UPDATE, $params]); } /** * Delete group. * * @param int $groupId * * @return \EasyWeChat\Support\Collection */ public function delete($groupId) { $params = [ 'group' => ['id' => $groupId], ]; return $this->parseJSON('json', [self::API_DELETE, $params]); } /** * Get user group. * * @param string $openId * * @return \EasyWeChat\Support\Collection */ public function userGroup($openId) { $params = ['openid' => $openId]; return $this->parseJSON('json', [self::API_USER_GROUP_ID, $params]); } /** * Move user to a group. * * @param string $openId * @param int $groupId * * @return \EasyWeChat\Support\Collection */ public function moveUser($openId, $groupId) { $params = [ 'openid' => $openId, 'to_groupid' => $groupId, ]; return $this->parseJSON('json', [self::API_MEMBER_UPDATE, $params]); } /** * Batch move users to a group. * * @param array $openIds * @param int $groupId * * @return \EasyWeChat\Support\Collection */ public function moveUsers(array $openIds, $groupId) { $params = [ 'openid_list' => $openIds, 'to_groupid' => $groupId, ]; return $this->parseJSON('json', [self::API_MEMBER_BATCH_UPDATE, $params]); } }