接口规则说明
环境准备
jdk
1.7.0_80-b15及以上版本使用。
接入URL地址
魔点平台:https://oapi.moredian.com
钉钉平台:https://toapi.moredian.com
接口规则
接口规则 | 相关描述 |
---|---|
传输方式 | 仅支持HTTPS传输 |
URL格式 | 魔点平台https://oapi.moredian.com/uri;钉钉平台https://toapi.moredian.com/uri。每个API都有唯一的uri,详见API的接口定义 |
请求方式 | GET/POST |
数据格式 | 大部分请求和返回数据都为JSON格式,有部分请求接口是multipart/form-data。 |
字符编码 | 统一采用UTF-8字符编码 |
请求Headers | HTTP请求中的头信息。大部分设置Content-Type:application/json,部分接口是multipart/form-data。 |
Header | HTTP请求中的头信息中的一个键值对。 |
Path | HTTP请求路径。如请求地址为https://oapi.moredian.com/app/getAppToken,则Path指"/app/getAppToken"。 |
Query | 请求地址中的参数。如请求地址为https://oapi.moredian.com/app/getAppToken?appId=XXX&appKey=XXX,则Query为appId:XXX,appKey:XXX。 |
Body | 指POST请求中body中以键值对存在的参数。 |
返回值规则
对于API接口调用返回的结果统一采用JSON格式,内容字段采用驼峰式方式命名,所有接口的返回结果里都有result、message,部分接口返回结果中没有data。返回的接口内容格式如下:
{
"result"://响应码
"message"://响应消息
"data"://响应数据
}
开发者需根据result是否为0判断是否调用成功,返回0表示成功,非0表示失败。message仅作参考,后续可能会有变动,因此不可作为是否调用成功的判据。data中返回接口具体内容。
开发者需要特别注意当data为null时的result,以便很好地理解接口返回的信息。
成功调用举例如下:
{
"result":"0",
"message":"操作成功",
"data":true
}
失败调用举例如下:
{
"result":"-1",
"message":"操作失败"
}
result为非0时都为错误码。错误码具体释义,参照附录错误码说明。
魔点开放平台SDK对接说明
SDK下载
魔蓝版API和钉钉版API分别提供了Java版本SDK供开发者使用,SDK下载:点击下载
开发概述
使用魔点提供的AppId,AppKey以及OrgId,OrgAuthKey(创建机构接口获取或者企业授权后获取)调用SDK对应Request获取token。
请求示例
以下为魔蓝版SDK调用API的请求示例,钉钉版SDK类似,替换接入URL地址即可:
// 获取appToken,appToken有效期为返回data的expires,单位秒,过期后需再次获取
IOpenApiClient client = new DefaultOpenApiClient(DefaultProfile.getProfile("https://oapi.moredian.com"));
GetAppTokenRequest request = new GetAppTokenRequest();
request.setAppId(AppId);
request.setAppKey(AppKey);
GetAppTokenResponse response = client.getResponse(request);
// 获取ISV应用下accessToken,accessToken有效期为返回data的expires,单位秒,过期后需再次获取
IOpenApiClient client = new DefaultOpenApiClient(DefaultProfile.getProfile("https://oapi.moredian.com"));
GetAppOrgAccessTokenRequest request = new GetAppOrgAccessTokenRequest();
request.setAppToken(appToken);
request.setOrgId(OrgId);
request.setOrgAuthKey(OrgAuthKey);
GetAppOrgAccessTokenResponse response = client.getResponse(request);
// 获取企业内部应用下accessToken,accessToken有效期为返回data的expires,单位秒,过期后需再次获取
IOpenApiClient client = new DefaultOpenApiClient(DefaultProfile.getProfile("https://oapi.moredian.com"));
GetOrgAccessTokenRequest request = new GetOrgAccessTokenRequest();
request.setOrgId(OrgId);
request.setOrgAuthKey(OrgAuthKey);
GetOrgAccessTokenResponse response = client.getResponse(request);
// 查询内部成员信息
IOpenApiClient client = new DefaultOpenApiClient(DefaultProfile.getProfile("https://oapi.moredian.com"));
GetMemberRequest request = new GetMemberRequest();
request.setAccessToken(accessToken);
GetMemberRequest.GetMemberRequestBody getMemberRequestBody = new GetMemberRequest.GetMemberRequestBody();
getMemberRequestBody.setMemberId(1L);
request.setBody(getMemberRequestBody);
GetMemberResponse response = client.getResponse(request);
请求示例说明
1.定义Client对象,设置接口地址URL,Client只需要定义一次即可,其他API复用。
2.构造相关业务Request对象,对应业务的Request对象命名,一般使用驼峰形式+Request,具体请阅读SDK源码注释或者通过路径 “云端接口文档->请求参数->请求示例->Java” 查看。
3.Request对象设置业务参数,其中accessToken、appToken使用GetAppOrgAccessTokenRequest、GetOrgAccessTokenRequest、GetAppTokenRequest等Request对象获取。
4.调用client.getResponse获取执行结果,得到Response对象,与Request相对应。
钉钉开放平台对接
(1)开发者需要与钉钉开放平台对接,以第三方企业应用开发为例,具体操作可参照钉钉开放平台接入指南。https://open.dingtalk.com/document/isv/third-party-enterprise-application-description
(2)对接钉钉开放平台服务端API接口通讯录管理接口,获取基础信息,如用户ID,部门ID等信息。具体接口参照钉钉开放平台服务端API列表。https://open.dingtalk.com/document/isvapp-server/call-server-apis-3