
# 点对点生成合约 - CreatePointToPointContract
#### 功能介绍
点对点生成合约。
#### 授权信息
账号具备所有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}/contracts/point-to-point
表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参数 
| 参数                   | 是否必选 | 参数类型                                                                                                   | 描述                                                                                                          |
|:---|:---|:---|:---|
| contract_name        | 是    | String                                                                                                 | 合约名称。 参数校验规则：只能包含英文字母，数字，下划线，中文及-，并且只能以中文和英文开头，最小长度1，最大长度100。 |
| contract_description | 否    | String                                                                                                 | 合约描述。 参数校验规则：最大长度500。                                            |
| connector_policies   | 是    | Array of [ConnectorPolicyRequest] objects | 每个连接器对应的策略信息。                                                                                               |
| approver_id          | 是    | String                                                                                                 | 点对点审批人。 参数校验规则：最小长度1，最大长度50，匹配字母、数字和符号-。                       |
| file_assets          | 是    | Array of [FileAssetRequest] objects             | 多资产id。                                                                                                      |
   
 表4ConnectorPolicyRequest 
| 参数           | 是否必选 | 参数类型                                                                               | 描述      |
|:---|:---|:---|:---|
| connector_id | 是    | String                                                                             | 连接器ID。  |
| policy_json  | 是    | [PolicyJsonRequest] object | 数据使用策略。 |
   
 表5PolicyJsonRequest 
| 参数        | 是否必选 | 参数类型                                                                     | 描述      |
|:---|:---|:---|:---|
| view      | 否    | [ViewDTO] object           | 查看策略。   |
| modify    | 否    | [ModifyDTO] object       | 修改策略。   |
| terminate | 否    | [TerminateDTO] object | 终止策略。   |
| approval  | 否    | [ApprovalDTO] object   | 审批策略。   |
| download  | 否    | [DownloadDTO] object   | 下载策略。   |
| use       | 否    | [UseDTO] object             | 使用对象策略。 |
| database  | 否    | [DatabaseDTO] object   | 数据库策略。  |
   
 表6ViewDTO 
| 参数     | 是否必选 | 参数类型    | 描述                     |
|:---|:---|:---|:---|
| enable | 是    | Boolean | 是否允许查看。                |
| times  | 否    | String  | 次数，仅当enable参数为true时生效。 |
| app    | 否    | String  | 应用，仅当enable参数为true时生效。 |
   
 表7ModifyDTO 
| 参数     | 是否必选 | 参数类型    | 描述                     |
|:---|:---|:---|:---|
| enable | 是    | Boolean | 是否允许修改。                |
| times  | 否    | String  | 次数，仅当enable参数为true时生效。 |
| app    | 否    | String  | 应用，仅当enable参数为true时生效。 |
   
 表8TerminateDTO 
| 参数     | 是否必选 | 参数类型    | 描述             |
|:---|:---|:---|:---|
| enable | 是    | Boolean | 是否允许提供方提前终止合约。 |
   
 表9ApprovalDTO 
| 参数     | 是否必选 | 参数类型    | 描述      |
|:---|:---|:---|:---|
| enable | 是    | Boolean | 是否需要审批。 |
   
 表10DownloadDTO 
| 参数     | 是否必选 | 参数类型    | 描述                     |
|:---|:---|:---|:---|
| enable | 是    | Boolean | 是否允许下载。                |
| times  | 否    | String  | 次数，仅当enable参数为true时生效。 |
| app    | 否    | String  | 应用，仅当enable参数为true时生效。 |
   
 表11UseDTO 
| 参数           | 是否必选 | 参数类型                                                                           | 描述                 |
|:---|:---|:---|:---|
| users        | 否    | String                                                                         | 使用人，与teams字段二选一填入  |
| teams        | 否    | String                                                                         | 使用团队，与users字段二选一填入 |
| timeInterval | 否    | [TimeIntervalDTO] object | 时间区间。              |
   
 表12TimeIntervalDTO 
| 参数        | 是否必选 | 参数类型   | 描述                               |
|:---|:---|:---|:---|
| startTime | 是    | String | 开始时间，需要与endTime配合生效。使用UTC时间格式。   |
| endTime   | 是    | String | 结束时间，需要与startTime配合生效。使用UTC时间格式。 |
   
 表13DatabaseDTO 
| 参数     | 是否必选 | 参数类型                                                                   | 描述     |
|:---|:---|:---|:---|
| column | 是    | String                                                                 | 列过滤策略。 |
| rows   | 是    | Array of [RowDTO] objects | 行过滤策略。 |
   
 表14RowDTO 
| 参数          | 是否必选 | 参数类型   | 描述                                  |
|:---|:---|:---|:---|
| column_name | 否    | String | 参数名称，需要与condition、value配合生效。        |
| condition   | 否    | String | 参数条件，需要与column_name、value配合生效。      |
| value       | 否    | String | 参数条件值，需要与column_name、condition配合生效。 |
   
 表15FileAssetRequest 
| 参数               | 是否必选 | 参数类型             | 描述          |
|:---|:---|:---|:---|
| data_resource_id | 是    | String           | 数据资源ID。     |
| file_path        | 否    | String           | 文件路径。       |
| artifact_ids     | 是    | Array of strings | 资源下的文件ID集合。 |
   
#### 响应参数
**状态码： 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 | 错误描述。 |
   
#### 请求示例
点对点发送合约
```
POST /v1/{project_id}/eds/instances/{instance_id}/connectors/{connector_id}/contracts/point-to-point
{
  "contract_description" : "合约描述",
  "approver_id" : "9999900******",
  "contract_name" : "点对点发送合约",
  "file_assets" : [ {
    "artifact_ids" : [ "f21e5c1e-ec9b******" ],
    "data_resource_id" : "7da43bc2-c301******"
  } ],
  "connector_policies" : [ {
    "connector_id" : "2747e1be-dba2*****",
    "policy_json" : {
      "view" : {
        "enable" : true,
        "times" : 100,
        "app" : "321ac118-758e******"
      },
      "modify" : {
        "enable" : false,
        "times" : "",
        "app" : ""
      },
      "download" : {
        "enable" : true,
        "times" : 100,
        "app" : "234c118-758e******"
      },
      "approval" : {
        "enable" : false
      },
      "terminate" : {
        "enable" : true
      },
      "use" : {
        "users" : "2******",
        "teams" : "",
        "timeInterval" : {
          "startTime" : "2023-12-11T16:25:27Z",
          "endTime" : "2024-01-10T16:25:27Z"
        }
      },
      "database" : {
        "column" : "",
        "rows" : [ ]
      }
    }
  } ]
}
```
#### 响应示例
**状态码： 200**
OK
- 用户操作结果。
  ```
  {
    "data" : {
      "headers" : { },
      "body" : {
        "data" : "success",
        "total" : 0,
        "error_code" : null,
        "error_msg" : null
      },
      "statusCodeValue" : 200,
      "statusCode" : "OK"
    },
    "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)。
