用户授权同步
接口说明
- 管理员被授权管理某企业后,登录到华为云买家中心控制台,对企业内用户授权该企业已绑定的应用,云商店异步调用该接口请求商家同步该企业应用的用户授权信息,商家接口需要执行授权信息同步,保存用户授权信息,并返回通知云商店。
- 针对用户授权同步场景接口调用失败的情况,由企业管理员选择是否要继续进行同步。并用短信或邮件的形式通知商家接口调用失败。
- 商家的服务器在处理接口请求时,需要做好幂等性处理。
对于同一个实例,相同的租户,相同的应用,相同的userName,要支持多次请求新增,或者删除,多次新增不应产生新的数据,且需要返回成功,如果是删除,多次删除也需要返回成功,不能因已删除返回失败,删除时不需要校验(创建实例)接口产生的实例是否存在。
租户同步流程如下图所示:
请求方法:POST
接口URL:生产地址+固定子路径,其中固定子路径为/produceAPI/v2/authSync;
接口示例:生产地址为https://example.isv.com,则接口URL为https://example.isv.com/produceAPI/v2/authSync
BODY请求参数
参数 |
必选 |
参数类型 |
描述 |
---|---|---|---|
instanceId |
M |
String(64) |
说明:
卖家申请应用凭证的时候传空,买家必传。 |
tenantId |
M |
String(64) |
租户ID,与租户同步的接口租户ID保持一致,这个ID是买家 |
appId |
M |
String(64) |
应用ID,与应用同步的应用ID保持一致的 |
userList |
M |
List<User> |
参考如下User类型定义表 |
currentSyncTime |
M |
String |
默认时区东8区,时间格式:20220420114117642 |
flag |
M |
Integer(2) |
0-删除 1-新增 2-修改 3-取消授权 |
testFlag |
M |
Integer(2) |
0-生产正式数据 1-调测数据 |
timeStamp |
M |
String |
默认时区东8区,时间格式:20220420114117642 |
User类型定义
参数 |
必选 |
参数类型 |
描述 |
---|---|---|---|
userName |
M |
String(64) |
联营账号 |
name |
M |
String(64) |
账号名称 |
orgCode |
M |
String(64) |
用户归属的部门编码 |
position |
O |
String(64) |
职位 |
employeeCode |
O |
String(64) |
工号 |
employeeType |
O |
Integer(11) |
人员类型(1:正式 2:实习 3:劳务派遣 4:劳务外包) |
role |
M |
String(32) |
角色,user-普通用户,admin-管理员 |
enable |
M |
String(8) |
帐号可用状态,true-启用,false-禁用 |
mobile |
O |
String(32) |
用户手机号 |
|
O |
String(128) |
用户邮箱地址 |
workPlace |
O |
String(256) |
工作所在地 |
entryDate |
O |
String(20) |
入职时间(yyyy-MM-dd) |
响应参数
参数 |
必选 |
参数类型 |
描述 |
resultCode |
M |
String(6) |
响应码, 具体请参见调用结果码说明。 |
resultMsg |
O |
String(255) |
响应信息 |
示例:
POST https://example.isv.com/produceAPI/v2/authSync Content-Type: application/json x-sign: 11C4CD6279191DE931DEF5C51531DFFA9D37969F4E356B8A3A6D8DE4FB357A48 x-timestamp: 1680508066618 x-nonce:50D83FDECAED6CCD8EF597F2A577950527928BA287D04E6036E92B2806FD17DA {"instanceId": "huaiweitest123456","tenantId": "68cbc86ab******92f36422fa0e","appId": "KSID******34456","userList":[{"userName":"zhangsan01@example.com","name":"张三","position":"系统管理员","orgCode":"123456789","role":"admin","enable":"true"}]," currentSyncTime": "20220413093539534","flag": 1,"testFlag": 0,"timeStamp": "20220413093539534"} 响应示例: HTTP/1.1 200 OK Content-Type: application/json { " resultCode": "000000", " resultMsg": "Success" }