🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
云丁Saas系统开放对接平台,即云丁openAPI,是云丁提供给合作伙伴进行云丁智能设备管理系统开发的一套接口,包括智能网关,智能门锁,智能电表等等一系列智能设备的管理接口。 本文档旨在说明合作伙伴怎样通过云丁openAPI去开发自己的云丁智能设备管理系统,因此本文档从合作伙伴开发者的角度,通过openAPI实现了一套包含两个房间,并且拥有智能网关,智能门锁和智能电表的智能设备管理系统。 # 1 商户开启对接云丁系统模式 云丁Saas管理系统对接分为商户对接和平台对接。本文档使用商户对接作为示例。 ## 1.1商户账号对接申请 商户在云丁系统注册了自己的商户账号后有对接需求,可以联系云丁商务进行商户账号对接申请,云丁商务将会给予协助。申请的信息主要包括:商户账号,商户邮箱,商户系统的回调URL(非必需)等。 以下是商户申请对接信息表的示例: ![](https://img.kancloud.cn/8b/ee/8bee115c68570f97ae76635e082a3253_1818x758.png) 申请成功后,商户邮箱将会收到对接必需的client_id和client_secret。接着便能进行下一步操作了。 ## 1.2 获取access_token 调用云丁openAPI需要上传access_token字段,该字段标明商户的身份是否合法,每个商户账号对应一个access_token。 根据上一步获取的client_id和client_secret可以通过v2/access_token接口获取商户的access_token。 获取access_token的Python代码示例: ``` import requests def get_access_token(client_id, client_secret): url = 'https://saas-openapi.dding.net/v2/access_token' headers = { 'Content-type' : 'Application/json', 'User-Agent' : 'PostmanRuntime/7.13.0', } payload = { 'client_id' : client_id, 'client_secret' : client_secret } response = requests.request('POST', url, headers=headers, json=payload) return response.json() if __name__ == '__main__': client_id = '74e52b657d89f3891a8cb4d1' client_secret = '96e9868469fe6fa0bc1daf521529f04f' result = get_access_token(client_id, client_secret) print(result) ``` 返回的结果如下: ``` { "ReqID": "1Sdjw6qQQwS", "ErrNo": 0, "ErrMsg": "", "access_token": "2389cd881d18c7efcfed147bc44cb1fc604ffcced22ce579e7cb1ba8eb99c6a74737124aecc1beb1182eb872e73b78f74c59ed0fc4986e5f03fd6bc7fa14e331", "expires_time": 1569392952 } ``` 根据返回的json数据可以拿到access_token, expire_time是access_token的过期时间戳,单位是s。 需要注意的是:实际开发中,需要使用专门的服务器定期更新access_token,防止其失效造成业务受到影响。 ## 1.3 小结与展望 拿到access_token后,便能进行云丁智能设备管理系统的开发了。接下来章节将通过具体的例子实现一套简单的智能设备管理系统。