
# 上架offer - CreateOffer
#### 功能介绍
上架offer。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-eds/eds_06_0017.html)。
#### URI
POST /v1/{project_id}/eds/instances/{instance_id}/connectors/{connector_id}/offers
表1路径参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                |
|:---|:---|:---|:---|
| project_id   | 是    | String | 项目ID。 获取方法请参考[获取项目ID](https://support.huaweicloud.com/api-eds/eds_06_0023.html)。                   |
| instance_id  | 是    | String | 实例ID，开通的交换数据平台实例ID。 获取方法请参考[获取实例ID](https://support.huaweicloud.com/api-eds/eds_06_0025.html)。      |
| connector_id | 是    | String | 连接器ID，指定交换数据平台下连接器的ID。 获取方法请参考[获取连接器ID](https://support.huaweicloud.com/api-eds/eds_06_0026.html)。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                         |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token，通过调用IAM服务"获取用户Token"接口获取（响应消息头中X-Subject-Token的值）。 |
   
表3请求Body参数 
| 参数                 | 是否必选 | 参数类型                                                                | 描述                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| data_resource_list | 否    | Array of [DataSource] objects     | 数据源列表。                                                                                                                                                                                                                                                                                                                                                                   |
| approver_id        | 是    | String                                                              | 审批人ID。                                                                                                                                                                                                                                                                                                                                                                   |
| publish_type       | 是    | String                                                              | 发布类型。 枚举值： - **FULL_PUBLIC**  - **SPECIFY_SPACE_EXPOSURE**  - **SPACE_GROUP_PUBLIC**   |
| offer_name         | 是    | String                                                              | 邀约名称。 参数校验规则：只能包含英文字母，数字，下划线，中文及-，并且只能以中文和英文开头，最小长度1，最大长度100。                                                                                                                                                                                                                                                                              |
| offer_description  | 否    | String                                                              | 邀约描述。 参数校验规则：最大长度500。                                                                                                                                                                                                                                                                                                                     |
| subscription_type  | 是    | String                                                              | 订阅类型。 枚举值： - **OPEN_DATA**  - **CONTROLLED_DATA**                                                                                                |
| policy_json        | 否    | [PolicyJsonRequest] object | 数据使用策略。                                                                                                                                                                                                                                                                                                                                                                  |
| target_ids         | 否    | Array of strings                                                    | 目标ID列表。                                                                                                                                                                                                                                                                                                                                                                  |
   
 表4DataSource 
| 参数               | 是否必选 | 参数类型                                                                  | 描述                                                                     |
|:---|:---|:---|:---|
| data_resource_id | 是    | String                                                                | 数据源ID。 参数校验规则：最小长度1，最大长度50，匹配字母、数字和符号-。 |
| data_artifact_id | 否    | String                                                                | 数据组件ID。 参数校验规则：最小长度1，最大长度50，匹配字母、数字和符号-。 |
| mask_sensitive   | 否    | Array of [MaskSensitive] objects | 脱敏列信息。                                                                 |
   
 表5MaskSensitive 
| 参数               | 是否必选 | 参数类型    | 描述                                                                                     |
|:---|:---|:---|:---|
| attribute_code   | 否    | String  | 属性code。                                                                                |
| reserve_head_len | 否    | Integer | 首端保留长度。 最大值：**5000** 单位：字节。 |
| reserve_tail_len | 否    | Integer | 尾端保留长度。 最大值：**5000** 单位：字节。 |
   
 表6PolicyJsonRequest 
| 参数        | 是否必选 | 参数类型                                                      | 描述      |
|:---|:---|:---|:---|
| view      | 否    | [ViewDTO] object           | 查看策略。   |
| modify    | 否    | [ModifyDTO] object       | 修改策略。   |
| terminate | 否    | [TerminateDTO] object | 终止策略。   |
| approval  | 否    | [ApprovalDTO] object   | 审批策略。   |
| download  | 否    | [DownloadDTO] object   | 下载策略。   |
| use       | 否    | [UseDTO] object             | 使用对象策略。 |
| database  | 否    | [DatabaseDTO] object   | 数据库策略。  |
   
 表7ViewDTO 
| 参数     | 是否必选 | 参数类型    | 描述                     |
|:---|:---|:---|:---|
| enable | 是    | Boolean | 是否允许查看。                |
| times  | 否    | String  | 次数，仅当enable参数为true时生效。 |
| app    | 否    | String  | 应用，仅当enable参数为true时生效。 |
   
 表8ModifyDTO 
| 参数     | 是否必选 | 参数类型    | 描述                     |
|:---|:---|:---|:---|
| enable | 是    | Boolean | 是否允许修改。                |
| times  | 否    | String  | 次数，仅当enable参数为true时生效。 |
| app    | 否    | String  | 应用，仅当enable参数为true时生效。 |
   
 表9TerminateDTO 
| 参数     | 是否必选 | 参数类型    | 描述             |
|:---|:---|:---|:---|
| enable | 是    | Boolean | 是否允许提供方提前终止合约。 |
   
 表10ApprovalDTO 
| 参数     | 是否必选 | 参数类型    | 描述      |
|:---|:---|:---|:---|
| enable | 是    | Boolean | 是否需要审批。 |
   
 表11DownloadDTO 
| 参数     | 是否必选 | 参数类型    | 描述                     |
|:---|:---|:---|:---|
| enable | 是    | Boolean | 是否允许下载。                |
| times  | 否    | String  | 次数，仅当enable参数为true时生效。 |
| app    | 否    | String  | 应用，仅当enable参数为true时生效。 |
   
 表12UseDTO 
| 参数           | 是否必选 | 参数类型                                                            | 描述                 |
|:---|:---|:---|:---|
| users        | 否    | String                                                          | 使用人，与teams字段二选一填入  |
| teams        | 否    | String                                                          | 使用团队，与users字段二选一填入 |
| timeInterval | 否    | [TimeIntervalDTO] object | 时间区间。              |
   
 表13TimeIntervalDTO 
| 参数        | 是否必选 | 参数类型   | 描述                               |
|:---|:---|:---|:---|
| startTime | 是    | String | 开始时间，需要与endTime配合生效。使用UTC时间格式。   |
| endTime   | 是    | String | 结束时间，需要与startTime配合生效。使用UTC时间格式。 |
   
 表14DatabaseDTO 
| 参数     | 是否必选 | 参数类型                                                    | 描述     |
|:---|:---|:---|:---|
| column | 是    | String                                                  | 列过滤策略。 |
| rows   | 是    | Array of [RowDTO] objects | 行过滤策略。 |
   
 表15RowDTO 
| 参数          | 是否必选 | 参数类型   | 描述                                  |
|:---|:---|:---|:---|
| column_name | 否    | String | 参数名称，需要与condition、value配合生效。        |
| condition   | 否    | String | 参数条件，需要与column_name、value配合生效。      |
| value       | 否    | String | 参数条件值，需要与column_name、condition配合生效。 |
   
#### 响应参数
**状态码： 200**
表16响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| data       | Object | 返回数据。 |
| total      | Long   | 总数。   |
| error_code | String | 错误码。  |
| error_msg  | String | 错误描述。 |
   
**状态码： 400**
表17响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| data       | Object | 返回数据。 |
| total      | Long   | 总数。   |
| error_code | String | 错误码。  |
| error_msg  | String | 错误描述。 |
   
**状态码： 500**
表18响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| data       | Object | 返回数据。 |
| total      | Long   | 总数。   |
| error_code | String | 错误码。  |
| error_msg  | String | 错误描述。 |
   
#### 请求示例
上架offer
```
POST /v1/{project_id}/eds/instances/{instance_id}/connectors/{connector_id}/offers
{
  "app_item_url" : "/approvalDetail?offerId=",
  "approver_id" : "99999000******",
  "data_resource_list" : [ {
    "data_resource_id" : "7da43bc2******",
    "data_artifact_id" : ""
  } ],
  "offer_description" : "",
  "offer_name" : "上架offer",
  "publish_type" : "SPECIFY_SPACE_EXPOSURE",
  "subscription_type" : "CONTROLLED_DATA",
  "target_ids" : [ "connector-1868" ],
  "policy_json" : {
    "view" : {
      "enable" : true,
      "times" : "",
      "app" : "321ac118******"
    },
    "modify" : {
      "enable" : false,
      "times" : "",
      "app" : ""
    },
    "download" : {
      "enable" : true,
      "times" : "",
      "app" : "234c118******"
    },
    "approval" : {
      "enable" : false
    },
    "terminate" : {
      "enable" : true
    },
    "use" : {
      "users" : "",
      "timeInterval" : {
        "startTime" : "2023-12-11T16:09:33+08:00",
        "endTime" : "2024-01-10T16:09:33+08:00"
      }
    },
    "database" : {
      "column" : "",
      "rows" : [ ]
    }
  }
}
```
#### 响应示例
**状态码： 200**
OK
- 用户操作结果
  ```
  {
    "data" : "success",
    "total" : 0,
    "error_code" : null,
    "error_msg" : null
  }
  ```
  
 
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 200 | OK                    |
| 400 | Bad Request           |
| 500 | Internal Server Error |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-eds/ErrorCode.html)。
