Wiki

Scale Your Enterprise

User Tools

Site Tools

mbstring extension must be loaded in order to run mPDF

bw:bizweaver_api

This is an old revision of the document!


Bizweaver API

Bizweaver has its own API that can be used in a variety of ways. This is a directly-called API and does not currently use REST as the communication mechanism. Instead, a specially formatted URL is used.

The two most common uses are to invoke a Bizweaver workflow from a Versago form or report, and to have one workflow call another workflow. See the Invoking a Bizweaver Workflow Versago page for information about using this process from Versago.

To initiate another workflow within Bizweaver, use a WebService2 step. The step is configured to use POST (preferred) or GET. When the second workflow is called, the calling workflow will wait until it receives a response from the called workflow. Once a response is received the calling workflow will continue to its next step.

The option to use POST and GET to initiate a Bizweaver workflow is introduced in v2.4.

Processes beginning with v2.4 should generally use POST. This provides authentication security that is not available when using GET. Processes already using GET should be converted to POST as soon as possible.

A token must be generated in order to use the POST processes described below. Information on configuring a token is found here.

Use caution when connecting multiple workflows in a sequence. You may need to adjust the timeout value on the earlier steps to be sure the processing doesn't continue before the called step(s) have completed their work.

Call Another Workflow Using POST

When a Bizweaver workflow is called (initiated) using POST, the configuration of the WebService2 tool involves two sections: the URI and the Body. An example is shown below.

  • Change the YourServer:YourPort values as needed by your installation. The URI might look something like https://MyPortal.MyCompany.com:443
    • Remember that you will need to use HTTP or HTTPS depending on your environment.
    • The rest of the URI, /BWService/api/workflow/InvokeWorkFlow, will always be the same.
  • Select POST from the “Method” drop-down list.
  • Enter “application/json” in the “Content Type” field.
  • Select the “Calling BW Task” checkbox.
  • Enter the appropriate values in the “Body Information” section in the structure shown. This structure can be copied from here, pasted into your workflow, and the values changed as needed.

Finding the proper port needed will be in your IIS Manager which can be found in Start → Windows Administrative Tools → Internet Information Services (IIS) Manager. There will be a drop down for your server, then you will see Sites drop down and then Versago click on Versago and on the right panel there will be the proper port needed to use in the API call.

Here is a sample of the full URL. Copy and paste this string as a starting point.

https://MyPortal.MyCompany.com:443/BWService/api/workflow/InvokeWorkFlow
{
  "pTaskID":"NN",
  "pArguments":
    {
    "Arg1":"Value1",
    "Arg2":"Value2"
    }
}
  • NN is the ID of the workflow being called.
  • Arguments (parameters) are any values being passed to the workflow being called.
    • Arguments are always sent in pairs. Each paid is separated by a colon : as shown.
    • The argument (Arg1, Arg2, etc.) is the variable name expected by the workflow being called.
      • Variable names are case-sensitive.
    • Values are the value being passed.
      • Text and dates are enclosed in double-quotes.
      • Numeric values do not require double-quotes.
    • “pArguments” is required even if no values are being passed. In this case the “pArguments” section will look like this.
{
  "pTaskID":"NN",
  "pArguments":{}
}

Call Another Workflow Using GET

When a Bizweaver workflow is called (initiated) using GET, the configuration of the WebService2 tool involves only the URI section. An example is shown below.

http://1:2/BWService/api/workflow/InvokeWorkFlow?pTaskID=3&pStartAfter=0&pArguments={4:'~5~'}

The elements in red are specific to your installation. The other items (included variable names used by Bizweaver) are case sensitive, so the easiest way to create the Action Target is to copy this string and paste it into Versago, then make the needed changes. You might also update the Bizweaver server information so that you will only need to change a few items.

  1. The server where Bizweaver is installed
  2. The port assigned to the Bizweaver web service when the application was installed.
  3. The Bizweaver workflow ID to be invoked. This can be found in Bizweaver and will always be numeric.
  4. The name of the variable in Bizweaver that will receive a value from Versago.
  5. Value(s) to be passed to Bizweaver.
    1. If value(s) are not being passed to Bizweaver, the space between the curly braces is left blank.
    2. If the value is a value from the form, use the Column Name from the form enclosed in tilde symbols (~) as shown.
    3. If the value is static the tildes are not used.
    4. In both cases the value being passed is enclosed in single quotes.
  6. If multiple values need to be sent to Bizweaver, separate each pair of values (steps 5 and 6) by a comma. See sample 3 in the next section.

Bizweaver Action Target String Samples

Example using HTTP to port 8082 on server “TWBSTestserver.demo.com”, invoking workflow ID 10, and sending a value from form control name “vgoRecNum” to a Bizweaver variable named “vgoRecNum.”

http://TWBSTestserver.demo.com:8082/BWService/api/workflow/InvokeWorkFlow?pTaskID=10&pStartAfter=0&pArguments={vgoRecNum<:'~5~'}

Example using HTTPS to port 443 on server “TWBSTestserver.demo.com”, invoking workflow ID 10, and sending a value from form control name “vgoRecNum” to a Bizweaver variable named “vgoRecNum.” Note that the only difference is the “HTTPS” and port number.

https://TWBSTestserver.demo.com:443/BWService/api/workflow/InvokeWorkFlow?pTaskID=10&pStartAfter=0&pArguments={vgoRecNum<:'~5~'}

Example using HTTP to port 8082 on server “TWBSTestserver.demo.com,” invoking workflow ID 10, and sending two values; one from form control name “vgoRecNum” to a Bizweaver variable named “vgoRecNum” and a static value “TextString” to a Bizweaver variable name “vgoText.”

http://TWBSTestserver.demo.com:8082/BWService/api/workflow/InvokeWorkFlow?pTaskID=10&pStartAfter=0&pArguments={vgoRecNum<:'~5~',vgoText: 'TextString'}
bw/bizweaver_api.1591280836.txt.gz · Last modified: 2020/06/04 10:27 by akoehler