釘釘群機器人開發接口


獲取自定義機器人webhook

步驟一,在機器人管理頁面選擇“自定義”機器人,輸入機器人名字並選擇要發送消息的群。如果需要的話,可以為機器人設置一個頭像。點擊“完成添加”,完成后會生成Hook地址,如下圖:

步驟二,點擊“復制”按鈕,即可獲得這個機器人對應的Webhook地址,其格式如下:

https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx

使用自定義機器人

(1)獲取到Webhook地址后,用戶可以向這個地址發起HTTP POST 請求,即可實現給該釘釘群發送消息。注意,發起POST請求時,必須將字符集編碼設置成UTF-8。

(2)當前自定義機器人支持文本 (text)、鏈接 (link)、markdown(markdown)、ActionCard、FeedCard消息類型,大家可以根據自己的使用場景選擇合適的消息類型,達到最好的展示樣式。

(3)自定義機器人發送消息時,可以通過手機號碼指定“被@人列表”。在“被@人列表”里面的人員收到該消息時,會有@消息提醒(免打擾會話仍然通知提醒,首屏出現“有人@你”)。

(4)當前機器人尚不支持應答機制 (該機制指的是群里成員在聊天@機器人的時候,釘釘回調指定的服務地址,即Outgoing機器人)。

SDK :

可以下載SDK,簡化調用方式。

消息發送頻率限制:

每個機器人每分鍾最多發送20條。消息發送太頻繁會嚴重影響群成員的使用體驗,大量發消息的場景 (譬如系統監控報警) 可以將這些信息進行整合,通過markdown消息以摘要的形式發送到群里。

測試自定義機器人

通過下面方法,可以快速驗證自定義機器人是否可以正常工作:

使用命令行工具curl(最新版本:7.29.0)。

為避免出錯,請將以下命令直接復制到命令行,再將xxxxxxxx替換為真實access_token;若測試出錯,請檢查復制的命令是否和測試命令一致,多特殊字符會報錯

curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx' \
   -H 'Content-Type: application/json' \
   -d '{"msgtype": "text", 
        "text": {
             "content": "我就是我, 是不一樣的煙火"
        }
      }'

 

 python示例:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#author tom
import requests
import json

def dingTalk():
    headers={
        "Content-Type": "application/json"
            }
    data={"msgtype": "text",
            "text": {
                 "content": "我就是我, 是不一樣的煙火"
            }
          }
    json_data=json.dumps(data)
    requests.post(url='https://oapi.dingtalk.com/robot/send?access_token=35fd4b08dea143f19921121f0a6282dcb014ebb11dae72114ed569c9effe8e5e',data=json_data,headers=headers)

 

 

消息類型及數據格式

text類型

{
    "msgtype": "text", "text": { "content": "我就是我, 是不一樣的煙火@156xxxx8827" }, "at": { "atMobiles": [ "156xxxx8827", "189xxxx8325" ], "isAtAll": false } }

參數

參數類型

必須

說明

msgtype

String

消息類型,此時固定為:text

content

String

消息內容

atMobiles

Array

被@人的手機號(在content里添加@人的手機號)

isAtAll

bool

@所有人時:true,否則為:false

link類型

{
    "msgtype": "link", "link": { "text": "這個即將發布的新版本,創始人陳航(花名“無招”)稱它為“紅樹林”。 而在此之前,每當面臨重大升級,產品經理們都會取一個應景的代號,這一次,為什么是“紅樹林”?", "title": "時代的火車向前開", "picUrl": "", "messageUrl": "https://www.dingtalk.com/s?__biz=MzA4NjMwMTA2Ng==&mid=2650316842&idx=1&sn=60da3ea2b29f1dcc43a7c8e4a7c97a16&scene=2&srcid=09189AnRJEdIiWVaKltFzNTw&from=timeline&isappinstalled=0&key=&ascene=2&uin=&devicetype=android-23&version=26031933&nettype=WIFI" } }

參數

參數類型

必須

說明

msgtype

String

消息類型,此時固定為:link

title

String

消息標題

text

String

消息內容。如果太長只會部分展示

messageUrl

String

點擊消息跳轉的URL

picUrl

String

圖片URL

markdown類型

{
     "msgtype": "markdown", "markdown": { "title":"杭州天氣", "text": "#### 杭州天氣 @156xxxx8827\n" + "> 9度,西北風1級,空氣良89,相對溫度73%\n\n" + "> ![screenshot](https://gw.alicdn.com/tfs/TB1ut3xxbsrBKNjSZFpXXcXhFXa-846-786.png)\n" + "> ###### 10點20分發布 [天氣](http://www.thinkpage.cn/) \n" }, "at": { "atMobiles": [ "156xxxx8827", "189xxxx8325" ], "isAtAll": false } }

參數

類型

必選

說明

msgtype

String

此消息類型為固定markdown

title

String

首屏會話透出的展示內容

text

String

markdown格式的消息

atMobiles

Array

被@人的手機號(在text內容里要有@手機號)

isAtAll

bool

@所有人時:true,否則為:false

說明:目前只支持md語法的子集,具體支持的元素如下:

標題
# 一級標題 ## 二級標題 ### 三級標題 #### 四級標題 ##### 五級標題 ###### 六級標題 引用 > A man who stands for nothing will fall for anything. 文字加粗、斜體 **bold** *italic* 鏈接 [this is a link](http://name.com) 圖片 ![](http://name.com/pic.jpg) 無序列表 - item1 - item2 有序列表 1. item1 2. item2

整體跳轉ActionCard類型

{
    "actionCard": { "title": "喬布斯 20 年前想打造一間蘋果咖啡廳,而它正是 Apple Store 的前身", "text": "![screenshot](@lADOpwk3K80C0M0FoA) ### 喬布斯 20 年前想打造的蘋果咖啡廳 Apple Store 的設計正從原來滿滿的科技感走向生活化,而其生活化的走向其實可以追溯到 20 年前蘋果一個建立咖啡館的計划", "hideAvatar": "0", "btnOrientation": "0", "singleTitle" : "閱讀全文", "singleURL" : "https://www.dingtalk.com/" }, "msgtype": "actionCard" }

參數

類型

必選

說明

msgtype

string

true

此消息類型為固定actionCard

title

string

true

首屏會話透出的展示內容

text

string

true

markdown格式的消息

singleTitle

string

true

單個按鈕的方案。(設置此項和singleURL后btns無效)

singleURL

string

true

點擊singleTitle按鈕觸發的URL

btnOrientation

string

false

0-按鈕豎直排列,1-按鈕橫向排列

hideAvatar

string

false

0-正常發消息者頭像,1-隱藏發消息者頭像

通過整體跳轉ActionCard類型消息發出的消息樣式如下:

獨立跳轉ActionCard類型

{
    "actionCard": { "title": "喬布斯 20 年前想打造一間蘋果咖啡廳,而它正是 Apple Store 的前身", "text": "![screenshot](@lADOpwk3K80C0M0FoA) ### 喬布斯 20 年前想打造的蘋果咖啡廳 Apple Store 的設計正從原來滿滿的科技感走向生活化,而其生活化的走向其實可以追溯到 20 年前蘋果一個建立咖啡館的計划", "hideAvatar": "0", "btnOrientation": "0", "btns": [ { "title": "內容不錯", "actionURL": "https://www.dingtalk.com/" }, { "title": "不感興趣", "actionURL": "https://www.dingtalk.com/" } ] }, "msgtype": "actionCard" }

參數

類型

必選

說明

msgtype

string

true

此消息類型為固定actionCard

title

string

true

首屏會話透出的展示內容

text

string

true

markdown格式的消息

btns

array

true

按鈕的信息:title-按鈕方案,actionURL-點擊按鈕觸發的URL

btnOrientation

string

false

0-按鈕豎直排列,1-按鈕橫向排列

hideAvatar

string

false

0-正常發消息者頭像,1-隱藏發消息者頭像

通過獨立跳轉ActionCard類型消息發出的消息樣式如下:

FeedCard類型

{
    "feedCard": { "links": [ { "title": "時代的火車向前開", "messageURL": "https://www.dingtalk.com/s?__biz=MzA4NjMwMTA2Ng==&mid=2650316842&idx=1&sn=60da3ea2b29f1dcc43a7c8e4a7c97a16&scene=2&srcid=09189AnRJEdIiWVaKltFzNTw&from=timeline&isappinstalled=0&key=&ascene=2&uin=&devicetype=android-23&version=26031933&nettype=WIFI", "picURL": "https://www.dingtalk.com/" }, { "title": "時代的火車向前開2", "messageURL": "https://www.dingtalk.com/s?__biz=MzA4NjMwMTA2Ng==&mid=2650316842&idx=1&sn=60da3ea2b29f1dcc43a7c8e4a7c97a16&scene=2&srcid=09189AnRJEdIiWVaKltFzNTw&from=timeline&isappinstalled=0&key=&ascene=2&uin=&devicetype=android-23&version=26031933&nettype=WIFI", "picURL": "https://www.dingtalk.com/" } ] }, "msgtype": "feedCard" }

參數

類型

必選

說明

msgtype

string

true

此消息類型為固定feedCard

title

string

true

單條信息文本

messageURL

string

true

點擊單條信息到跳轉鏈接

picURL

string

true

單條信息后面圖片的URL

通過FeedCard類型消息發出的消息樣式如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM