node-dd
TypeScript icon, indicating that this package has built-in type declarations

0.3.0-es3.201706091018 • Public • Published

node-dingtalk - 钉钉SDK

NPM version build status Test coverage David deps Known Vulnerabilities npm download

Install

$ npm i node-dd --save
# $ npm i node-dingtalk --save for version 0.2.x, 0.1.x 

Usage

const DingTalk = require('node-dd').DingTalk;
const dingtalk = new DingTalk({
  corpid: '',
  corpsecret: ''
});
 
const deparment = await dingtalk.department.get('1');
console.log(deparment);
import { DingTalk } from 'node-dd';
// or
import DingTalk from 'node-dd';
const dingtalk = new DingTalk({
  corpid: '',
  corpsecret: ''
});
 
const deparment = await dingtalk.department.get('1');
console.log(deparment);

Api

官方文档: https://open-doc.dingtalk.com/

Client

client.getAccessToken()

获取 AccessToken, 并在有效期内自动缓存, gettoken

client.getJSApiTicket()

获取 jsapi_ticket, 并在有效期内自动缓存, get_jsapi_ticket

client.getJSApiConfig()

获取 js api 接入时需要的配置数据以及签名

client.request/get/post/upload

辅助方法, 参见 npm urllib

Department

https://open-doc.dingtalk.com/doc2/detail.htm?treeId=172&articleId=104979&docType=1

department.list([opts])

获取部门列表 department/list

department.get(id)

获取部门详情 department/get

department.create({ name, parentid, … })

创建部门 department/create

department.update({ id, … })

更新部门 department/update

department.delete(id)

删除部门 department/delete

User

https://open-doc.dingtalk.com/doc2/detail.htm?treeId=172&articleId=104979&docType=1

user.simplelist([departmentId], [opts])

  • 获取部门成员 user/simplelist

分页查询参数放到 opts

user.list([departmentId], [opts])

  • 获取部门成员(详情) user/list

分页查询参数放到 opts

user.simpleListAll([departmentId], [opts])

自动遍历分页查询

  • 查询所有的成员 (departmentId 为空时)
  • 查询该部门所有成员

user.listAll([departmentId], [opts])

自动遍历分页查询

  • 查询所有的成员 (departmentId 为空时)
  • 查询该部门所有成员

user.get(id, [opts])

获取成员详情 user/get

id 对应于 userid, 参数, 其他参数放到 opts

user.create({ userid, name, department[], mobile, … })

创建成员 user/create

user.update({ userid, name, … })

更新成员 user/update

user.delete(id/id[])

  • 删除成员 user/delete
  • 批量删除成员 user/batchdelete

user.getUseridByUnionid(openId)

根据 unionid 获取成员的 userid, user/getUseridByUnionid

此处的 unionid 即为 user.openId

user.getByMobile(mobile)

根据手机号获取成员 userid, user/get_by_mobile

Message

message.send({ touser, toparty, msgtype, ... })

发送企业消息, message/send

message.listMessageStatus(messageId)

获取企业会话消息已读未读状态, message/list_message_status

Media

media.upload(type, filePath)

上传媒体文件 media/upload

media.get(id)

获取媒体文件的下载地址 media/get

media.download(id, targetDir, [fileName])

下载媒体文件 media/get

Develop

  1. clone this repo
$ git clone git@github.com:ali-sdk/node-dingtalk.git
$ cnpm install
  1. Coding
  2. Compile the typescript to javascript(you may want to change the target in tsconfig to 'es3')
# you may have gulp installed globally by `npm i -g gulp` or `yarn global add gulp` 
$ gulp
  1. Test your code
$ npm test

Questions & Suggestions

Please open an issue here.

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i node-dd

Weekly Downloads

0

Version

0.3.0-es3.201706091018

License

MIT

Last publish

Collaborators

  • taoqf