认证接口说明
为了确保数据的安全,企业开发者在调用业务接口前需要经过OAuth2.0的认证。通过调用认证接口后,才可获得access_token、openID。再使用access_token、openID调用业务接口。
注意:
Access_token是有时效性的,其有效时间为5小时。如果access_token过期了,请重新走认证流程。
一、获取Access Token
通过client_id和client_secret获取Access Token
请求地址:
环境 | http请求地址 | 请求方法 |
---|---|---|
测试环境 | http://IP:PORT/Entoauth/TokenAction?sign=token | GET |
正式环境 | http://IP:PORT /Entoauth/TokenAction?sign=token | GET |
请求参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
client_id | 必须 | 网站的appid。 |
client_secret | 必须 | 网站的appkey。 |
返回成功结果说明:
成功返回REPLYCODE=0,可在返回xml中获取到Access Token。expires_in是该access token的有效期,单位为秒。
<?xml version="1.0" encoding="utf-8"?> <ROOT> <HEAD> <SERVICE> <REPLYCODE>0</REPLYCODE> <REPLYMSG>获取Access Token成功</REPLYMSG> </SERVICE> </HEAD> <BODY> <expires_in>432000</expires_in> <access_token>4BAE993ED1A0573F21F6BE2AF1D181D5</access_token> </BODY> </ROOT>
错误结果说明:
接口调用有错误时,返回REPLYCODE和REPLYMSG字段。
<?xml version="1.0" encoding="UTF-8"?> <ROOT> <HEAD> <SERVICE> <REPLYCODE>100000</REPLYCODE> < REPLYMSG >缺少参数client_id或client_id非法</REPLYMSG> </SERVICE> </HEAD> <BODY></BODY> </ROOT>
错误代码说明:
错误代码(REPLYCODE) | 说明(REPLYMSG) |
---|---|
0 | 成功 |
100001 | 缺少参数client_id |
100002 | 缺少参数client_secret |
100008 | 该client_id不正确或处于未审核状态 |
100009 | client_secret(即appkey)非法。 |
111111 | 未知异常 |
二、获取用户的OpenID
使用Access Token来获取用户的OpenID
请求地址:
环境 | http请求地址 | 请求方法 |
---|---|---|
正式环境 | http://IP:PORT /Entoauth/ OpenAction?sign=open | GET |
请求参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
access_token | 必须 | 在上一步返回结果中获取到的access token。 |
client_id | 必须 | 网站的appid。 |
返回成功结果说明:
成功返回REPLYCODE=0,可从xml数据中获取到用户OpenID
<?xml version="1.0" encoding="utf-8"?> <ROOT> <HEAD> <SERVICE> <REPLYCODE>0</REPLYCODE> <REPLYMSG>获取OepnID成功</REPLYMSG> </SERVICE> </HEAD> <BODY> <openID>810FF1EF531ABC93684FFF9AB33F3932</openID> <client_id>14416783141</client_id> </BODY> </ROOT>
错误结果说明:
接口调用有错误时,返回REPLYCOD和REPLYCOD字段
<?xml version="1.0" encoding="UTF-8"?> <ROOT> <HEAD> <SERVICE> <REPLYCODE>100000</REPLYCODE> < REPLYMSG >缺少参数response_type或response_type非法</REPLYMSG> </SERVICE> </HEAD> <BODY></BODY> </ROOT>
错误代码说明:
错误代码(REPLYCODE) | 说明(REPLYMSG) |
---|---|
0 | 成功 |
100001 | 缺少参数client_id |
100007 | 缺少access token。 |
100014 | access token过期。token过期时间为5小时。 如果存储的access token过期,请重新走登录流程, 根据使用Authorization_Code获取Access_Token |
111111 | 未知异常 |
三、访问相关发票通用户数据
用Access Token及OpenID调用OpenApi访问相关发票通用户数据
请求地址:
环境 | http请求地址 | 请求方法 |
---|---|---|
正式环境 | 根据相关openAPI而定 | GET |
请求参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
access_token | 必须 | 可通过Authorization_Code获取Access_Token 或来获取。 access_token有5小时有效期。 |
client_id | 必须 | 应用的client_id |
openID | 必须 | 用户的ID,与账号一一对应,由上一步返回结果得到。 |
示例:
以 checkInvoiceInterface接口为例(请将access_token,client_id等参数值替换为你自己的)成功返回后,即可获取到xml报文的用户数据:
http://IP:PORT/Entoauth/getInfo.do?sign=checkInvoiceInterface& access_token=YOUR_ACCESS_TOKEN& client_id=YOUR_APP_ID& openID=YOUR_OPENID&&INVOICE_CODE=YOUR_ INVOICE_CODE &INVOICE_NO=YOUR_ INVOICE_NO &PAYEE_REGISTER_NO=YOUR_ PAYEE_REGISTER_NO &JYM=YOUR_ JYM