# Send to read
> Add user with reading permissions.

![Flow operation](../../assets/img/rest/flowaction/reader.png)
## send to read
Interface Request Invoking Description <br>
HTTP Request Method: POST <br>
Request Address: http://127.0.0.1:8080/demo/horizon/workflow/rest/flow/support/action${suffix} <br>
**Post data description:**
```
{
  "accessToken": "",
  "trackId": "HZ28858f8103505e01810a99e66302da",
  "workId": "HZ28858f8103505e01810a99e66302d9",
  "actionData": {
    "operate": "addreader",
    "operateClazz": "com.horizon.wf.action.ActionAddReader",
    "operateFlag": "0",
    "nextNodes": [
      {
        "authors": {
          "Reader": {
            "selectType": "checkbox",
            "selectAuthor": "U_HZ28821856ef63420156ef6342a20002/D_HZ28821856ef63420156ef6342a20001",
            "selectAuthorName": "User01(Test Department0)"
          }
        },
        "isSelect": "true",
        "nodeId": "Node1",
        "nodeKey": "Node1",
        "selectId": "Node1"
      }
    ]
  }
}
```
Request parameter description:

| Parameter   | Required | Description                                    |
|-------------|----------|------------------------------------------------|
| accessToken | Yes      | Invoking interface credentials, unique user ID |
| workId      | Yes      | Instance ID                                    |
| trackId     | Yes      | Flow track ID                                  |
| actionData  | Yes      | Process operation JSON data                    |
actionData  parameter

| Parameter    | Required | Description                                                                                     |
|--------------|----------|-------------------------------------------------------------------------------------------------|
| operate      | Yes      | Operation identification, limit value:'addreader '                                              |
| operateClazz | Yes      | Operation specific implementation class, limited values:'com.horizon.wf.action.ActionAddReader' |
| operateFlag  | Yes      | Operation identification, limit value:'0'                                                       |
| nextNodes    | Yes      | List of next nodes to be selected                                                               |
nextNodes parameter description：

| Parameter | Required | Description                                                                                         |
|-----------|----------|-----------------------------------------------------------------------------------------------------|
| authors   | Yes      | The key in the handler object of next node is Author, and the value is the Author object parameter. |
| isSelect  | Yes      | Has the node been selected, fixed value:'True'                                                      |
| nodeId    | Yes      | Current node ID                                                                                     |
| nodeKey   | Yes      | Current node primary key                                                                            |
| selectId  | Yes      | Node ID to be selected                                                                              |
Author Object Parameter Description in Authors：

| Parameter        | Required | Description                            |
|------------------|----------|----------------------------------------|
| selectAuthor     | Yes      | The selected operator ID of the node   |
| selectAuthorName | Yes      | The selected operator name of the node |
**Example of returned results:**
```
{
  "nextNodeId": "Node1",
  "nextNodes": [
    {
      "authors": {
        "Reader": {
          "selectAuthor": "U_HZ28821856ef63420156ef6342a20002/D_HZ28821856ef63420156ef6342a20001",
          "selectAuthorName": "User01Test Department0)",
          "selectType": "checkbox"
        }
      },
      "isSelect": "true",
      "nodeId": "Node1",
      "nodeKey": "Node1",
      "nodeName": "Task1",
      "selectId": "Node1"
    }
  ],
  "operate": "addreader",
  "operateClazz": "com.horizon.wf.action.ActionAddReader",
  "operateFlag": "0",
  "operateMsg": "Successfully added readers",
  "operateStatus": "success",
  "reOpen": "True",
  "status": 0,
  "workId": "HZ28858f8103505e01810a99e66302d9"
}
```
**Result parameter description:**

| Parameter     | Type   | Description                                                                        |
|---------------|--------|------------------------------------------------------------------------------------|
| nextNodeId    | String | Next node ID (used when the next node ID is known and there is only one next node) |
| nextNodes     | List   | List of next nodes to be selected                                                  |
| operate       | String | Operation identification                                                           |
| operateClazz  | String | Operation specific implementation class                                            |
| operateFlag   | String | Operation flag -1: Display closed, 0:Normal submission,1:Pre submission            |
| operateMsg    | String | Return operation information                                                       |
| operateStatus | String | Process operation results                                                          |
| status        | int    | Process operation status code                                                      |
| workId        | String | Instance ID                                                                        |
*nextNodes parameter description:*

| Parameter | Type   | Description                                                                                        |
|-----------|--------|----------------------------------------------------------------------------------------------------|
| authors   | Map    | The key in the operator map of the next node is 'Reader', and value is the Reader object parameter |
| isSelect  | String | Has it been selected？                                                                              |
| nodeId    | String | Current node ID                                                                                    |
| nodeKey   | String | Current node primary key                                                                           |
| nodeName  | String | Current node name                                                                                  |
| selectId  | String | Next node id to be selected                                                                        |
*Reader parameter description in authors:*

| Parameter        | Type   | Description                                                                                   |
|------------------|--------|-----------------------------------------------------------------------------------------------|
| selectType       | String | Operator selection type, limited value, Radio: Single selection; Checkbox: Multiple selection |
| selectAuthor     | String | The selected operator ID of the node                                                          |
| selectAuthorName | String | The selected operator name of the node                                                        |

## Read
Interface Request Invoking Description <br>
HTTP request method:POST <br>
Request Address: http://127.0.0.1:8080/demo/horizon/workflow/rest/flow/support/action{suffix} <br>
**Post data description:**
```
{
  "accessToken": "",
  "workId": "HZ28858f8103505e01810aaad77502f8",
  "trackId": "HZ28858d7211dc8b017212e2e9310367",
  "actionData": {
    "operate": "read",
    "operateClazz": "com.horizon.wf.action.ActionReaded"
  }
}
```
Request parameter description:

| Parameter   | Required | Description                                    |
|-------------|----------|------------------------------------------------|
| accessToken | Yes      | Invoking interface credentials, unique user ID |
| workId      | Yes      | Instance ID                                    |
| trackId     | Yes      | Flow track ID                                  |
| actionData  | Yes      | Other submitted data                           |
actionData  parameter

| Parameter    | Required | Description                                                            |
|--------------|----------|------------------------------------------------------------------------|
| operate      | Yes      | Operation identification, fixed value:'readed'                         |
| operateClazz | Yes      | Operation class path, fixed value:'com.horizon.wf.action.ActionReaded' |
**Example of returned results:**
```
{
  "alert": "true",
  "operate": "readed",
  "operateClazz": "com.horizon.wf.action.ActionReaded",
  "operateFlag": "1",
  "operateMsg": "Successfully marked as read",
  "operateStatus": "success",
  "reOpen": "false",
  "status": 0,
  "workId": "HZ28858f8103505e01810aaad77502f8"
}
```
**Result parameter description:**

| Parameter     | Type   | Description                                                             |
|---------------|--------|-------------------------------------------------------------------------|
| alert         | String | Whether to pop up a successful operation message, can be ignored        |
| operate       | String | Reviewed operation identification                                       |
| operateClazz  | String | Reviewed operation class path                                           |
| operateFlag   | String | Operation flag -1: Display closed, 0:Normal submission,1:Pre submission |
| operateMsg    | String | Process operation return information                                    |
| operateStatus | String | Process operation results                                               |
| reOpen        | String | Whether to reopen, can be ignored                                       |
| status        | int    | Process operation status code                                           |
| workId        | String | Instance ID                                                             |
