API – Interactive Flowchart Process Box APIs

Description
These APIs are used to perform CRUD operations on Interactive flowchart process box.
Create
POST /channels/{icIdOrName}/flowcharts/{flowchartIdOrName}/processboxes?sessionId={sessionId}
Input
Query Parameters:
sessionId
Body Parameter – Content-Type: application/json
Interaction Process Box:
{
    "downstreamPBNames": [
      "downstream PB name"
    ],
    "upstreamPBNames": [
      "upstream PB name"
    ],
    "name": "Interaction_API",
    "notes": "notes",
    "processBoxConfiguration": {
      "type": "Interaction",
      "selectAllIds": false,
      "maxSize": "5"
    }
  }
Decision Process Box:
{
   "downstreamPBNames": [
    "Downstream PB name"
    ],
    "upstreamPBNames": [
      "Interaction_API"
    ],
    "name": "Decision1",
    "notes": "Decision Notes",
    "processBoxConfiguration": {
      "input": ["Interaction_API"],
      "type": "Decision",
      "mutuallyExclusiveBranches": false,
      "branchDetails": [
       {
          "branchName": "Branch_11",
          "selectAllIds": false,
          "expression": "CUSTOMERID < 10",
          "tableName": "prod12_cust"
        },
        {
          "branchName": "Branch_12",
          "selectAllIds": true,
          "tableName": "prod12_cust"
        }
      ]
    }
  }
Decision Process Box
{
   "downstreamPBNames": [
    "Downstream PB name"
    ],
    "upstreamPBNames": [
      "Interaction_API"
    ],
    "name": "Decision1",
    "notes": "Decision Notes",
    "processBoxConfiguration": {
      "input": ["Interaction_API"],
      "type": "Decision",
      "mutuallyExclusiveBranches": false,
      "branchDetails": [
       {
          "branchName": "Branch_11",
          "selectAllIds": false,
          "expression": "CUSTOMERID < 10",
          "tableName": "prod12_cust"
        },
        {
          "branchName": "Branch_12",
          "selectAllIds": true,
          "tableName": "prod12_cust"
        }
      ]
    }
  }
PopulateSeg Process Box:
{
    "downstreamPBNames": [
    "Downstream PB name"
    ],
    "upstreamPBNames": [
      "Decision1"
    ],
    "name": "PopulateSeg3",
    "notes": "Populate seg notes",
    "processBoxConfiguration": {
      "type": "PopulateSeg",
      "inputPBList": [
        {
          "audienceName": "Customer",
          "policyId": 2,
          "description": "Test Description",
          "inputCell": "Decision1.Branch_11",
          "segmentName": "Seg_Gold_Customers",
          "folderId": 3
        }
      ]
    }
  }
Select Process Box
{
    "downstreamPBNames": [
      "Decision1"
    ],
    "upstreamPBNames": [
      "Interaction_API"
    ],
    "name": "Select_API",
    "notes": "notes",
    "processBoxConfiguration": {
      "type": "Select",
      "selectInputTables": "prod12_cust",
      "selectAllIds": false,
      "expression": "CUSTOMERID  <  30"
    }
  }
Output
Table 1. Response Codes
Success 200 Ok
Created 201 Created
Error 400 Bad Request
Server Error 500 Internal Server Error
Example: Content-Type: application/json
[
  {
    "name": "{created Process Box name}",
    "id": {process box ID}
  }
]
Get All
GET /channels/{icIdOrName}/flowcharts/{flowchartIdOrName}/processboxes?sessionId={sessionId}
Input
Query parameters:
sessionId
Output
Table 2. Response Codes
Success 200 Ok
Error 400 Bad request
Not Found 404 Not Found
Server Error 500 Internal Server Error
Example: Content-Type: application/json
[
  {
    "pbID": 262,
    "name": "Interaction_API",
    "notes": "notes",
    "processBoxConfiguration": {
      "type": "Interaction",
      "selectAllIds": false,
      "maxSize": 5
    },
    "downstreamPBNames": [
      "Select_API",
      "Decision1"
    ],
    "upstreamPBNames": null
  },
  {
    "pbID": 284,
    "name": "Decision1",
    "notes": "Decision Notes",
    "processBoxConfiguration": {
      "type": "Decision",
      "input": [
        "Interaction_API"
      ],
      "branchDetails": [
        {
          "branchName": "Branch_11",
          "selectAllIds": false,
          "expression": "CUSTOMERID < 10",
          "tableName": "prod12_cust"
        },
        {
          "branchName": "Branch_12",
          "selectAllIds": true,
          "expression": null,
          "tableName": "prod12_cust"
        }
      ],
      "mutuallyExclusiveBranches": false
    },
    "downstreamPBNames": [
      "PopulateSeg3"
    ],
    "upstreamPBNames": [
      "Select_API",
      "Interaction_API"
    ]
  },
  {
    "pbID": 311,
    "name": "PopulateSeg3",
    "notes": "Populate seg notes",
    "processBoxConfiguration": {
      "type": "PopulateSeg",
      "inputPBList": [
        {
          "inputCell": "Decision1.Branch_11",
          "segmentName": "Seg_Gold_Customers",
          "folderId": 3,
          "description": "Test Description",
          "policyId": 2,
          "audienceName": "Customer"
        }
      ]
    },
    "downstreamPBNames": null,
    "upstreamPBNames": [
      "Decision1"
    ]
  },
  {
    "pbID": 332,
    "name": "Select_API",
    "notes": "notes",
    "processBoxConfiguration": {
      "type": "Select",
      "selectInputTables": "prod12_cust",
      "selectAllIds": false,
      "expression": "CUSTOMERID  <  30"
    },
    "downstreamPBNames": [
      "Decision1"
    ],
    "upstreamPBNames": [
      "Interaction_API"
    ]
  }
]
Get
GET /channels/{icIdOrName}/flowcharts/{flowchartIdOrName}/processboxes/{pbIdOrName}?sessionId={sessionId}
Input
Request Parameters:
sessionId
Output
Response Codes
Success 200 Ok
Error 400 Bad Request
Not Found 404 Not Found
Server Error 500 Internal Server Error
Example: Content-Type: application/json
{
    "pbID": 262,
    "name": "Interaction_API",
    "notes": "notes",
    "processBoxConfiguration": {
      "type": "Interaction",
      "selectAllIds": false,
      "maxSize": 5
    },
    "downstreamPBNames": [
      "Select_API",
      "Decision1"
    ],
    "upstreamPBNames": null
  }
Update
PUT /channels/{icIdOrName}/flowcharts/{flowchartIdOrName}/processboxes/{pbIdOrName}?sessionId={sessionId}
Input
Request Parameters:
sessionId
Body Parameter – Content-Type: application/json
{
    "downstreamPBNames": [
      "downstream PB name"
    ],
    "upstreamPBNames": [
      "upstream PB name"
    ],
    "name": "Interaction_API",
    "notes": "notes",
    "processBoxConfiguration": {
      "type": "Interaction",
      "selectAllIds": false,
      "maxSize": "5"
    }
  }
Output
Response Codes
Success 200 Ok
Error 400 Bad Request
Server Error 500 Internal Server Error
Example: Content-Type: application/json
{
    "pbID": 262,
    "name": "Interaction_API",
    "notes": "notes",
    "processBoxConfiguration": {
      "type": "Interaction",
      "selectAllIds": false,
      "maxSize": 5
    },
    "downstreamPBNames": [
      "Select_API",
      "Decision1"
    ],
    "upstreamPBNames": null
  }
Delete
DELETE /channels/{icIdOrName}/flowcharts/{flowchartIdOrName}/processboxes?sessionId={sessionId}
Input
Request parameters:
sessionId
pbids
Output
Response Codes
Success 200 Ok
No Content 200 Ok
Error 400 Bad Request
Server Error 500 Internal Server Error