
# 主动分享数据集
#### 功能介绍
发布数据集并创建已授权的订单。水印功能只支持"华北-北京四"区域
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=BCS&api=ShareDataset)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### URI
POST /v1/datashare/dataset/share
#### 请求参数
表1请求Body参数 
| 参数                | 是否必选 | 参数类型                                                                                     | 描述                                                                                                |
|:---|:---|:---|:---|
| orgID             | 是    | String                                                                                   | 组织id                                                                                              |
| channelID         | 是    | String                                                                                   | 通道id                                                                                              |
| cryptoMethod      | 是    | String                                                                                   | 加密方法，目前固定为SW                                                                                      |
| cert              | 是    | String                                                                                   | 证书                                                                                                |
| sk                | 是    | String                                                                                   | 私钥                                                                                                |
| timestamp         | 是    | String                                                                                   | 时间戳                                                                                               |
| provider          | 是    | String                                                                                   | 数据发布者身份标识                                                                                         |
| providerName      | 否    | String                                                                                   | 数据发布者名称                                                                                           |
| productName       | 是    | String                                                                                   | 产品名称                                                                                              |
| productID         | 是    | String                                                                                   | 产品ID                                                                                              |
| sampleUrl         | 是    | String                                                                                   | 样例数据存放地址                                                                                          |
| sampleSize        | 否    | String                                                                                   | 样例数据大小                                                                                            |
| sampleType        | 否    | String                                                                                   | 样例数据类型                                                                                            |
| sampleName        | 否    | String                                                                                   | 样例数据名称                                                                                            |
| fileType          | 否    | String                                                                                   | 数据文件类型                                                                                            |
| dataUrl           | 是    | String                                                                                   | 数据存放地址                                                                                            |
| dataHash          | 否    | String                                                                                   | 数据哈希                                                                                              |
| dataSize          | 否    | String                                                                                   | 数据大小                                                                                              |
| dataName          | 否    | String                                                                                   | 数据名称                                                                                              |
| description       | 否    | String                                                                                   | 数据集描述信息，在使用abe加密时，需要对加密策略进行详细描述                                                                   |
| plainData         | 是    | String                                                                                   | base64编码的明文数据                                                                                     |
| consumer          | 是    | String                                                                                   | 订单申请者身份标识                                                                                         |
| orderSeq          | 否    | String                                                                                   | 订单序列号，为空则随机生成                                                                                     |
| watermarkType     | 否    | String                                                                                   | 水印类型，visible明水印，blind暗水印，嵌入水印时，必须填写；不填写时默认不嵌入水印。嵌入的水印内容为：发布人did_productID。                        |
| file              | 否    | String                                                                                   | 加水印的文件，当对文件加水印时，plainData无效果                                                                      |
| productIDKeywords | 否    | Array of [productIDKeywordsJson] objects | 产品ID包含的索引关键字，用于按条件查询订单时使用，需要为设定的json格式                                                            |
| onChainStore      | 否    | String                                                                                   | 是否在链上存储加密后的数据，可设置为"true"或"false"，默认为"false"。当为"true"时，sampleUrl和dataUrl可以自动填充，不需要填写。水印功能暂不支持链上存储。 |
| consumerName      | 否    | String                                                                                   | 使用者名称                                                                                             |
| creatorDID        | 否    | String                                                                                   | 数据集分享流程的创建者DID，action为"new"时，不需要填入                                                                |
| processID         | 否    | String                                                                                   | 数据集分享流程的流程ID，action为"new"时，不需要输入                                                                  |
| stageName         | 否    | String                                                                                   | 本次数据集分享阶段的阶段名称                                                                                    |
| action            | 否    | String                                                                                   | 流程动作，新建："new"、追加："append"、不涉及：""，该字段不输入时视为不涉及                                                     |
| category          | 否    | String                                                                                   | 加密类型，symmetric/abe，默认为symmetric，如果使用abe加密，则policy必填                                               |
| policy            | 否    | [policy] object                                         | abe策略                                                                                             |
   
 表2productIDKeywordsJson 
| 参数    | 是否必选 | 参数类型   | 描述   |
|:---|:---|:---|:---|
| value | 否    | String | 关键字值 |
   
 表3policy 
| 参数        | 是否必选 | 参数类型                                                                         | 描述          |
|:---|:---|:---|:---|
| Threshold | 是    | Integer                                                                      | 策略需要满足的属性阈值 |
| Children  | 是    | Array of [policy-children] objects | 子属性列表       |
   
 表4policy-children 
| 参数    | 是否必选 | 参数类型                                                                                               | 描述                                                                                                                             |
|:---|:---|:---|:---|
| name  | 是    | String                                                                                             | 属性名                                                                                                                            |
| type  | 是    | String                                                                                             | 属性类型（plain，comparable和policy）                                                                                                  |
| value | 是    | [policy-children-comparablevalue] object | 属性值，根据type确定具体参数。 当type为plain时，value为string类型属性值。 当type为policy时，value为子policy。 当type为comparable时，value包含了op、value和maxValue三部分。 |
   
 表5policy-children-comparablevalue 
| 参数       | 是否必选 | 参数类型   | 描述                                 |
|:---|:---|:---|:---|
| op       | 否    | String | type为comparable时填写，比较类型符号（\>,\<或=） |
| value    | 是    | String | 比较类型属性值，必须为整数                      |
| maxValue | 否    | String | type为comparable时填写，比较类型中value上限值   |
   
#### 响应参数
**状态码： 200**
表6响应Body参数 
| 参数              | 参数类型   | 描述                        |
|:---|:---|:---|
| consumer        | String | 订单消费者身份标识                 |
| consumerName    | String | 订单消费者名称                   |
| orderSeq        | String | 订单序列号                     |
| provider        | String | 订单提供者身份标识                 |
| providerName    | String | 订单提供者名称                   |
| productID       | String | 数据集产品id                   |
| productName     | String | 数据集产品名称                   |
| price           | String | 订单价钱                      |
| applyTime       | String | 订单申请时间                    |
| encryptedAesKey | String | 密钥                        |
| status          | String | 订单状态                      |
| reason          | String | 订单申请原因                    |
| lockProof       | String | 订单锁定证明                    |
| creatorDID      | String | 流程创建者DID，如果没有加入任何流程，为""   |
| processID       | String | 当前订单所属流程ID，如果没有加入任何流程，为"" |
| encryptData     | String | base64编码的数据密文             |
   
**状态码： 500**
表7响应Body参数 
| 参数        | 参数类型   | 描述   |
|:---|:---|:---|
| errorCode | String | 错误码  |
| errorMsg  | String | 错误描述 |
   
#### 请求示例
```
{
  "orgID" : "ce0ac69b0c8648cd25b44a551780409767c8890b",
  "channelID" : "mychannel",
  "cryptoMethod" : "SW",
  "cert" : "-----BEGIN CERTIFICATE-----\\n...\\n-----END CERTIFICATE-----",
  "sk" : "-----BEGIN PRIVATE KEY-----\\n...\\n-----END PRIVATE KEY-----",
  "timestamp" : "2020-10-27T17:28:16+08:00",
  "provider" : "did:example:DHkJjyD5wZwya6sd6BNBnG",
  "providerName" : "test",
  "productName" : "prodname",
  "productID" : "product2",
  "sampleUrl" : "http://hwcloud.com/sample.com/prodname2",
  "sampleSize" : "10KB",
  "sampleType" : "csv",
  "sampleName" : "data_sub1",
  "fileType" : "csv",
  "dataUrl" : "http://hwcloud.com/prodname2",
  "dataHash" : "2282ba7a1a2ef5700609214a997d3d4237a03bfd3632c6d089e57e7b6f467969",
  "dataSize" : "100MB",
  "dataName" : "mydata1",
  "description" : "this is my second prod",
  "plainData" : "base64 encoding string",
  "consumer" : "did:example:3TMWx8owKHARgNwbj4ywmG",
  "orderSeq" : "1",
  "watermarkType" : "string",
  "file" : "string",
  "productIDKeywords" : "[{\"value\":\"taiyuan\"},{\"value\":\"renmin_hospital\"},{\"value\":\"medicine\"}]",
  "onChainStore" : "string",
  "consumerName" : "string"
}
```
#### 响应示例
**状态码： 200**
订单信息
```
{
  "consumer" : "did:example:3TMWx8owKHARgNwbj4ywmG",
  "consumerName" : "Tyler",
  "orderSeq" : "1",
  "provider" : "did:example:DHkJjyD5wZwya6sd6BNBnG",
  "providerName" : "hw",
  "productID" : "product1",
  "productName" : "prodname1",
  "price" : "0",
  "applyTime" : "1607332359",
  "encryptedAesKey" : "BNGhPwjaTgpM+V7czzw1i4mH21KKN+XLKXHLqVsRIfybUCncqZNfomkRfzX4WEHj+oty1X9oCd4h6xMnRvs8BWE5Tvg6BJ6QTW/km9EO/FSYqzJf2GqQzAleAcLJrTBZ3LRbPaF87CgJ114ae7R+VK9VvfXQ8exuH2KMRD305dXieGpM4VPVv9u1BbL15Jpd/g==",
  "status" : "ready",
  "reason" : "I want product1",
  "lockProof" : "",
  "encryptData" : "base64 encoding string"
}
```
**状态码： 500**
失败响应
```
{
  "errorCode" : "BCS.5002046",
  "errorMsg" : "Incorrect number of arguments"
}
```
#### 状态码
| 状态码 | 描述   |
|:---|:---|
| 200 | 订单信息 |
| 500 | 失败响应 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/devg-bcs/ErrorCode.html)。
