
# 数据同步ISA接口
#### 场景描述
此接口为对接ISA提供的USM数据同步接口，支持同步AICC租户下的组织机构、操作员、角色、操作员角色等信息到ISA。
#### 接口方法
POST
#### 接口URI
https://域名/apiaccess/rest/service-pub/v1/isa/dataSync，例如域名是service.besclouds.com。
#### 请求说明
表1请求头参数 
| 序号 | 名称            | 参数类型   | 是否必选 | 说明                                                                                                                 |
|:---|:---|:---|:---|:---|
| 1  | Content-Type  | String | True | "application/json"                                                                                                 |
| 2  | x-app-key     | String | True | appKey字段，用户标识                                                                                                      |
| 3  | Authorization | String | True | 生成方式参见[C1 系统配置类接口鉴权方式](https://support.huaweicloud.com/api-ccfs-cec/cec_07_0100.html#ZH-CN_TOPIC_0000002481113506) |
   
表2请求体参数 
| 序号 |       参数       | 是否必选  |   类型   |                                                                                                                                                                                                                                                                                                                                                                  描述                                                                                                                                                                                                                                                                                                                                                                  |
|---|---|---|---|---|
| 1  | id             | True  | String | 请求ID编号, 唯一                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 2  | username       | False | String | 请求发起方登录的用户帐号                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 3  | userPassword   | False | String | 请求发起方登录的密码，使用AES128GCM加密                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 4  | messageSource  | True  | String | 发起数据同步的实体，如AICC                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 5  | action         | True  | String | 取值范围如下： 1. "DataSync:Table"， 异步的同步消息。  2. "RealTime:Table"， 同步的同步消息。   |
| 6  | contentType    | True  | String | 消息内容。取值为Xml和SFTP。 Xml：取值为Xml时，content里面存放的是需要同步的数据。采用XML SFTP：取值为SFTP时，content里面存放的是同步内容在SFTP服务器上的文件名                                                                                                                                                                                                                                                                                                                                                                                                            |
| 7  | content        | True  | String | 同步的内容，contentType为Xml时，内容为Xml格式数据                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 8  | dataObjectId   | False | String | 数据项标识                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 9  | dataObjectType | False | String | 数据项类别标识                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 10 | extColumn1     | True  | String | 同步订阅者和同步订阅者对应的订阅表                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 11 | extColumn2     | True  | String | 同步类型                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 12 | extColumn3     | False | String | 保留                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| 13 | ftpInfo        | False | object | SFTP服务的相关配置,文件方式同步不能获取详细的记录同步结果，建议不使用，可以不传递该节点信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   
表3FtpInfo参数 
| 序号 |    参数    | 是否必选  |   类型   |      描述      |
|---|---|---|---|---|
| 1  | id       | False | String | SFTP服务器的IP   |
| 2  | user     | False | String | SFTP服务器的用户   |
| 3  | password | False | String | SFTP服务器的用户密码 |
| 4  | path     | False | String | SFTP服务器的工作路径 |
   
#### 响应说明
- **响应状态码: 200**
  表4响应体参数 
  | 序号 | 名称          | 是否必选  | 参数类型   | 说明               |
  |:---|:---|:---|:---|:---|
  | 1  | returnCode  | True  | String | 响应结果码，0：成功，非0：失败 |
  | 3  | description | False | String | 响应结果描述           |
     
  
 
#### 错误码
- **响应状态码: 400**
  错误的请求：请检查请求路径及参数。
  
- **响应状态码: 401**
  未授权：1. 请确认是否购买了相关服务。 2. 请联系客服人员检查您账号的当前状态。
  
- **响应状态码: 403**
  鉴权失败。
  
- **响应状态码: 404**
  请求的内容未找到：请检查请求的路径。
  
- **响应状态码: 500**
  业务失败：请依次确认您请求中各参数的取值。
  
  
 
#### 报文样例
场景描述：将组织信息同步至ISA。
URL：https://域名/apiaccess/rest/service-pub/v1/isa/dataSync
请求头
```
Content-Type:application/json
x-app-key:*****
Authorization:*****
```
- 请求消息:
```
{
    "id": "xxxxx123465651261",
    "username": "datasync",
    "userPassword": "******",
    "messageSource": "AICC",
    "action": "RealTime:Table",
    "contentType": "Xml",
    "content": "<![CDATA[ <operations> <operation type=\"DELETE\"> <metadata> <table name=\"SYS_ORG\" alias=\"SYS_ORG\"/> <columns> <column name=\"ORG_ID\" type=\"12\" isKey=\"true\" condition=\"0\"></column> </columns> </metadata> <records> <record> <field name=\"ORG_ID\">1831238558</field> </record> </records> </operation> <operation type=\"SmartInsert\"> <metadata> <table name=\"SYS_ORG\" alias=\"SYS_ORG\"/> <columns> <column name=\"ORG_ID\" type=\"12\" isKey=\"true\" condition=\"0\"></column> <column name=\"ORG_ID_NUM\" type=\"2\" isKey=\"false\" condition=\"0\"></column> <column name=\"ORG_TYPE\" type=\"12\" isKey=\"false\" condition=\"0\"></column> <column name=\"ORG_NAME\" type=\"12\" isKey=\"false\" condition=\"0\"></column> <column name=\"PARENT_ORG_ID\" type=\"12\" isKey=\"false\" condition=\"0\"></column> <column name=\"BE_ID\" type=\"12\" isKey=\"false\" condition=\"0\"></column> <column name=\"BE_CODE\" type=\"12\" isKey=\"false\" condition=\"0\"></column> <column name=\"B_REGION_ID\" type=\"12\" isKey=\"false\" condition=\"0\"></column> <column name=\"B_REGION_CODE\" type=\"12\" isKey=\"false\" condition=\"0\"></column> <column name=\"ORG_CODE\" type=\"12\" isKey=\"false\" condition=\"0\"></column> <column name=\"CHANNEL_FLAG\" type=\"1\" isKey=\"false\" condition=\"0\"></column> <column name=\"STATUS\" type=\"12\" isKey=\"false\" condition=\"0\"></column> <column name=\"CREATE_OPER_ID\" type=\"12\" isKey=\"false\" condition=\"0\"></column> <column name=\"CREATE_TIME\" type=\"93\" isKey=\"false\" condition=\"0\"></column> <column name=\"MODIFY_TIME\" type=\"93\" isKey=\"false\" condition=\"0\"></column> </columns> </metadata> <records> <record> <field name=\"ORG_ID\">2833237838</field> <field name=\"ORG_ID_NUM\">2833237838</field> <field name=\"ORG_TYPE\">D</field> <field name=\"ORG_NAME\">默认组织</field> <field name=\"PARENT_ORG_ID\"></field> <field name=\"BE_ID\">2841807204</field> <field name=\"BE_CODE\">101284180720400</field> <field name=\"B_REGION_ID\">101</field> <field name=\"B_REGION_CODE\">101</field> <field name=\"ORG_CODE\">1012841807204-TSV</field> <field name=\"CHANNEL_FLAG\">N</field> <field name=\"STATUS\">1</field> <field name=\"CREATE_OPER_ID\">101</field> <field name=\"CREATE_TIME\">20130702070133</field> <field name=\"MODIFY_TIME\">20130703015003</field> </record> </records> </operation> </operations> ]]>",
    "extColumn1": "AICC:SYS_ORG",
    "extColumn2": "sasda"
}
```
- 响应消息:
  ```
  {
      "returnCode":"0"
  }
  ```
  
 
