sdk连接
 
- 新建卡片模板
- 下载node.js sdk
- config.json 配置应用信息 启动项目npm i npm run build npm run start
- 连接成功
  
获取卡片回调
 
- 注册卡片回调事件
- 调用https://api.dingtalk.com/v1.0/card/instances 创建卡片实例,返回实例Id
{
    "cardTemplateId": "b7078d27-e321-4ee6-9b2d-ef3cb89cea05.schema",
    "outTrackId": "asdasdas",
    "cardData" : {
    "cardParamMap" : {
      "flowStatus" : "3", 
      "feedbacks":"",
      "feedbackinput": "",
      "markdowm": "钉钉平台<font color=common_blue1_color>markdown内容</font>**",
  	  "likeStatus": "",
  	  "likes": "0"
    }
  },
    "robotCode": "dingimeeh8go8yo8usyc",
    "callbackType":"STREAM"
}
 
- 调用https://api.dingtalk.com/v1.0/card/instances/spaces 新增场域
{
    "outTrackId" : "asdasdas",
    "imGroupOpenSpaceModel" : { 
    "supportForward" : false, 
    "lastMessageI18n" : { 
        "ZH_CN": "卡片",
        "EN_US": "card"
      }
    }
  }
 
- 调用https://api.dingtalk.com/v1.0/card/instances/deliver 投放卡片
{
  "outTrackId" : "asdasdas",
  "openSpaceId" : "dtv1.card//IM_GROUP.cid5o+bbZdK/80y1V5ESE5Trw==",
  "imGroupOpenDeliverModel" : { 
   "robotCode" : "dingimeeh8go8yo8usyc" 
  }
}
 

 
更新示例
 
client.registerCallbackListener(TOPIC_CARD, async (res) => {
  
  console.log("收到卡片消息");
  const accessToken = await client.getAccessToken();
  let datas = JSON.parse(res.data)
  let contens = JSON.parse(datas.content)
  console.log(contens)
  
  const obj = {} as any 
  const params = contens.cardPrivateData.params
  if(contens.cardPrivateData.actionIds[0] === 'multiSelect'){
    obj['feedbacks'] = JSON.stringify(params.multiSelect.index)
  }else if(contens.cardPrivateData.actionIds[0] === 'input'){
    obj['feedbackinput'] =  params.input
  }else {
    obj['likeStatus'] =  params.action || params.axtion
    if(params.axtion === 'dislike'){
	 obj['likes'] =  '0'
    }else {
 	 obj['likes'] =  '1'
    }
   
  }
  const dataJson = {
    "cardTemplateId": "b7078d27-e321-4ee6-9b2d-ef3cb89cea05.schema",
    "outTrackId": datas.outTrackId,
    "cardData": {
      "cardParamMap": obj,
      "robotCode": "dingimeeh8go8yo8usyc",
      "callbackType": "STREAM"
    },
    "cardUpdateOptions": {
      "updateCardDataByKey": true
    },
  }
  const result = await axios({
    url: 'https://api.dingtalk.com/v1.0/card/instances',
    method: "PUT",
    responseType: "json",
    data: dataJson,
    headers: {
      "x-acs-dingtalk-access-token": accessToken,
    },
  });
  if (result) {
    console.log("更新回调卡片成功");
    console.log((result.data));
  }
});