class Wechat::CorpApi

Attributes

agentid[R]

Public Class Methods

new(appid, secret, token_file, agentid, network_setting, jsapi_ticket_file) click to toggle source
Calls superclass method
# File lib/wechat/corp_api.rb, line 7
def initialize(appid, secret, token_file, agentid, network_setting, jsapi_ticket_file)
  super()
  @client = HttpClient.new(QYAPI_BASE, network_setting)
  @access_token = Token::CorpAccessToken.new(@client, appid, secret, token_file)
  @agentid = agentid
  @jsapi_ticket = Ticket::CorpJsapiTicket.new(@client, @access_token, jsapi_ticket_file)
  @qcloud = nil
end

Public Instance Methods

agent(agentid) click to toggle source
# File lib/wechat/corp_api.rb, line 35
def agent(agentid)
  get 'agent/get', params: { agentid: agentid }
end
agent_list() click to toggle source
# File lib/wechat/corp_api.rb, line 31
def agent_list
  get 'agent/list'
end
batch_get_by_user(userid_list, cursor: nil, limit: nil) click to toggle source
# File lib/wechat/corp_api.rb, line 26
def batch_get_by_user(userid_list, cursor: nil, limit: nil)
  # https://developer.work.weixin.qq.com/document/path/93010
  post 'externalcontact/batch/get_by_user', JSON.generate(userid_list: userid_list, cursor: cursor, limit: limit)
end
batch_job_result(jobid) click to toggle source
# File lib/wechat/corp_api.rb, line 84
def batch_job_result(jobid)
  get 'batch/getresult', params: { jobid: jobid }
end
batch_replaceparty(media_id) click to toggle source
# File lib/wechat/corp_api.rb, line 88
def batch_replaceparty(media_id)
  post 'batch/replaceparty', JSON.generate(media_id: media_id)
end
batch_replaceuser(media_id) click to toggle source
# File lib/wechat/corp_api.rb, line 96
def batch_replaceuser(media_id)
  post 'batch/replaceuser', JSON.generate(media_id: media_id)
end
batch_syncuser(media_id) click to toggle source
# File lib/wechat/corp_api.rb, line 92
def batch_syncuser(media_id)
  post 'batch/syncuser', JSON.generate(media_id: media_id)
end
checkin(useridlist, starttime = Time.now.beginning_of_day, endtime = Time.now.end_of_day, opencheckindatatype = 3) click to toggle source
# File lib/wechat/corp_api.rb, line 39
def checkin(useridlist, starttime = Time.now.beginning_of_day, endtime = Time.now.end_of_day, opencheckindatatype = 3)
  post 'checkin/getcheckindata', JSON.generate(
    opencheckindatatype: opencheckindatatype,
    starttime: starttime.to_i,
    endtime: endtime.to_i,
    useridlist: useridlist
  )
end
convert_to_openid(userid) click to toggle source
# File lib/wechat/corp_api.rb, line 56
def convert_to_openid(userid)
  post 'user/convert_to_openid', JSON.generate(userid: userid, agentid: agentid)
end
convert_to_userid(openid) click to toggle source
# File lib/wechat/corp_api.rb, line 60
def convert_to_userid(openid)
  post 'user/convert_to_userid', JSON.generate(openid: openid)
end
custom_message_send(message) click to toggle source
# File lib/wechat/corp_api.rb, line 203
def custom_message_send(message)
  post 'message/send', message.is_a?(Wechat::Message) ? message.agent_id(agentid).to_json : JSON.generate(message.merge(agent_id: agentid)), content_type: :json
end
department(departmentid = 1) click to toggle source
# File lib/wechat/corp_api.rb, line 112
def department(departmentid = 1)
  get 'department/list', params: { id: departmentid }
end
department_create(name, parentid) click to toggle source
# File lib/wechat/corp_api.rb, line 100
def department_create(name, parentid)
  post 'department/create', JSON.generate(name: name, parentid: parentid)
end
department_delete(departmentid) click to toggle source
# File lib/wechat/corp_api.rb, line 104
def department_delete(departmentid)
  get 'department/delete', params: { id: departmentid }
end
department_update(departmentid, name = nil, parentid = nil, order = nil) click to toggle source
# File lib/wechat/corp_api.rb, line 108
def department_update(departmentid, name = nil, parentid = nil, order = nil)
  post 'department/update', JSON.generate({ id: departmentid, name: name, parentid: parentid, order: order }.compact)
end
follow_user_list() click to toggle source
# File lib/wechat/corp_api.rb, line 21
def follow_user_list
  # https://developer.work.weixin.qq.com/document/path/92576
  get 'externalcontact/get_follow_user_list'
end
get_externalcontact(external_userid, cursor = nil) click to toggle source
# File lib/wechat/corp_api.rb, line 16
def get_externalcontact(external_userid, cursor = nil)
  # https://developer.work.weixin.qq.com/document/path/92114
  get 'externalcontact/get', params: { external_userid: external_userid, cursor: cursor }
end
get_material(media_id) click to toggle source
# File lib/wechat/corp_api.rb, line 179
def get_material(media_id)
  post 'material/get_material', JSON.generate(media_id: media_id), params: { agentid: agentid }, as: :file
end
getuserinfo(code) click to toggle source
# File lib/wechat/corp_api.rb, line 52
def getuserinfo(code)
  get 'user/getuserinfo', params: { code: code }
end
invite_user(userid) click to toggle source
# File lib/wechat/corp_api.rb, line 64
def invite_user(userid)
  post 'invite/send', JSON.generate(userid: userid)
end
material(media_id) click to toggle source
# File lib/wechat/corp_api.rb, line 173
def material(media_id)
  ActiveSupport::Deprecation.new.warn('material is deprecated. use get_material instead.')

  post 'material/get_material', JSON.generate(media_id: media_id), params: { agentid: agentid }, as: :file
end
material_add(type, file) click to toggle source
# File lib/wechat/corp_api.rb, line 183
def material_add(type, file)
  post_file 'material/add_material', file, params: { type: type, agentid: agentid }
end
material_count() click to toggle source
# File lib/wechat/corp_api.rb, line 165
def material_count
  get 'material/get_count', params: { agentid: agentid }
end
material_delete(media_id) click to toggle source
# File lib/wechat/corp_api.rb, line 187
def material_delete(media_id)
  get 'material/del', params: { media_id: media_id, agentid: agentid }
end
material_list(type, offset, count) click to toggle source
# File lib/wechat/corp_api.rb, line 169
def material_list(type, offset, count)
  post 'material/batchget', JSON.generate(type: type, agentid: agentid, offset: offset, count: count)
end
menu() click to toggle source
menu_create(menu) click to toggle source
menu_delete() click to toggle source
message_send(userid, message) click to toggle source
# File lib/wechat/corp_api.rb, line 191
def message_send(userid, message)
  post 'message/send', Message.to(userid).text(message).agent_id(agentid).to_json, content_type: :json
end
msgaudit_check_room_agree(roomid) click to toggle source
# File lib/wechat/corp_api.rb, line 215
def msgaudit_check_room_agree(roomid)
  post 'msgaudit/check_room_agree', JSON.generate(roomid: roomid)
end
msgaudit_check_single_agree(info) click to toggle source
# File lib/wechat/corp_api.rb, line 211
def msgaudit_check_single_agree(info)
  post 'msgaudit/get_permit_user_list', JSON.generate(info: info)
end
msgaudit_get_permit_user_list(type = nil) click to toggle source
# File lib/wechat/corp_api.rb, line 207
def msgaudit_get_permit_user_list(type = nil)
  post 'msgaudit/get_permit_user_list', JSON.generate(type: type)
end
msgaudit_groupchat(roomid) click to toggle source
# File lib/wechat/corp_api.rb, line 219
def msgaudit_groupchat(roomid)
  post 'msgaudit/groupchat/get', JSON.generate(roomid: roomid)
end
news_message_send(userid, title, description, link_url, pic_url) click to toggle source
# File lib/wechat/corp_api.rb, line 195
def news_message_send(userid, title, description, link_url, pic_url)
  post 'message/send', Message.to(userid).news([{ title: title,
                                                  description: description,
                                                  url: link_url,
                                                  pic_url: pic_url }])
                              .agent_id(agentid).to_json, content_type: :json
end
tag(tagid) click to toggle source
# File lib/wechat/corp_api.rb, line 140
def tag(tagid)
  get 'tag/get', params: { tagid: tagid }
end
tag_add_user(tagid, userids = nil, departmentids = nil) click to toggle source
# File lib/wechat/corp_api.rb, line 144
def tag_add_user(tagid, userids = nil, departmentids = nil)
  post 'tag/addtagusers', JSON.generate(tagid: tagid, userlist: userids, partylist: departmentids)
end
tag_create(tagname, tagid = nil) click to toggle source
# File lib/wechat/corp_api.rb, line 124
def tag_create(tagname, tagid = nil)
  post 'tag/create', JSON.generate(tagname: tagname, tagid: tagid)
end
tag_del_user(tagid, userids = nil, departmentids = nil) click to toggle source
# File lib/wechat/corp_api.rb, line 148
def tag_del_user(tagid, userids = nil, departmentids = nil)
  post 'tag/deltagusers', JSON.generate(tagid: tagid, userlist: userids, partylist: departmentids)
end
tag_delete(tagid) click to toggle source
# File lib/wechat/corp_api.rb, line 132
def tag_delete(tagid)
  get 'tag/delete', params: { tagid: tagid }
end
tag_update(tagid, tagname) click to toggle source
# File lib/wechat/corp_api.rb, line 128
def tag_update(tagid, tagname)
  post 'tag/update', JSON.generate(tagid: tagid, tagname: tagname)
end
tags() click to toggle source
# File lib/wechat/corp_api.rb, line 136
def tags
  get 'tag/list'
end
user(userid) click to toggle source
# File lib/wechat/corp_api.rb, line 48
def user(userid)
  get 'user/get', params: { userid: userid }
end
user_auth_success(userid) click to toggle source
# File lib/wechat/corp_api.rb, line 68
def user_auth_success(userid)
  get 'user/authsucc', params: { userid: userid }
end
user_batchdelete(useridlist) click to toggle source
# File lib/wechat/corp_api.rb, line 80
def user_batchdelete(useridlist)
  post 'user/batchdelete', JSON.generate(useridlist: useridlist)
end
user_create(user) click to toggle source
# File lib/wechat/corp_api.rb, line 72
def user_create(user)
  post 'user/create', JSON.generate(user)
end
user_delete(userid) click to toggle source
# File lib/wechat/corp_api.rb, line 76
def user_delete(userid)
  get 'user/delete', params: { userid: userid }
end
user_list(department_id, fetch_child = 0, status = 0) click to toggle source
# File lib/wechat/corp_api.rb, line 120
def user_list(department_id, fetch_child = 0, status = 0)
  get 'user/list', params: { department_id: department_id, fetch_child: fetch_child, status: status }
end
user_simplelist(department_id, fetch_child = 0, status = 0) click to toggle source
# File lib/wechat/corp_api.rb, line 116
def user_simplelist(department_id, fetch_child = 0, status = 0)
  get 'user/simplelist', params: { department_id: department_id, fetch_child: fetch_child, status: status }
end