From 7c35cae8f56436c3583afd6604fcb9dc4de83536 Mon Sep 17 00:00:00 2001 From: Tao Huang Date: Sat, 21 Sep 2019 19:33:42 +0800 Subject: [PATCH] Add message API --- lib/dingtalk/api/message.rb | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/lib/dingtalk/api/message.rb b/lib/dingtalk/api/message.rb index eb6ff3f..2e1624e 100644 --- a/lib/dingtalk/api/message.rb +++ b/lib/dingtalk/api/message.rb @@ -1,13 +1,36 @@ module Dingtalk module Api class Message < Base - def send_with(params) - http_post("send?access_token=#{access_token}", params) + def send(userid_list, msg) + http_post("asyncsend_v2?access_token=#{access_token}", { + agent_id: @corp.agent_id, + userid_list: userid_list, + msg: msg + }) + end + + def send_to_departments(dept_id_list, msg) + http_post("asyncsend_v2?access_token=#{access_token}", { + agent_id: @corp.agent_id, + dept_id_list: dept_id_list, + msg: msg + }) + end + + def send_to_all_users(msg) + if @corp.isv_mode? + raise 'ISV not supporting sending messages to all users' + end + http_post("asyncsend_v2?access_token=#{access_token}", { + agent_id: @corp.agent_id, + to_all_user: true, + msg: msg + }) end private def base_url - 'message' + 'topapi/message/corpconversation' end end end -- libgit2 0.21.0