OS1 Services
Workflow Service

Execution Task and Macro Payloads

22min

Set of Execution Tasks in a pre-defined logical manner creates an Execution Workflow. Execution Workflows can also include Execution Macro in it which is a reusable set of Execution Tasks.

When you define an Execution Workflow, the request body will have the following important keys:

  • Flow- Defines the flow of Execution Tasks (and Execution Macro) that will be executed in a sequence to complete the workflow.
  • Input- This key includes necessary information regarding the Execution Task. The payloads provided below shows what inputs are required for a particular Execution Task. For example, the Start Execution Task can have two properties as input- canGoBack (optional) & applicableReasons (required).
  • Condition- This specifies the circumstance in which an Execution Task will be executed.

For more information on Execution Workflows, see Workflow Documentation.

📘 Entity, Event, and Reason Codes

Check out the list of Entity, Event, and Reason Codes here.

This documentation will help you understand what inputs you need in order to include an Execution Task or Macro in an Execution Workflow.

Execution Tasks

An Execution Task (ET) is the smallest atomic task that is performed by an operator. Currently, we have 18 system-defined ETs.

Execution Tasks

Description

Start

Developers can use this ET to initiate an objective workflow.

Developers can use this ET to add an ability to verify if the rider is at a specific location at any given point in time.

Pick

Developers can use this ET to keep track of the ownership of packages and cash.

By using "Verify Input" ET, developers can validate whether the provided input (Captured Input ET) matches the response from an API or a static value.

This Execution Task enables the developers to capture an image of the shipment.

This ET allows developers to capture a number or string input.

Deliver

The Deliver ET can be used by developers when the inventory transfer is Payable (Out).

Display

This ET allows the developer to display an alert message, information, warning, etc to the FE.

Doodle

This ET allows the developer to capture the digital signature (fingertip trace) of the shipment receiver.

This ET allows the developer to enable FE to deposit cash at the Delivery center.

Form

Developers can use this ET to collect different information in different formats.

Scan

Developers can use this ET to allow an operator to scan a barcode or QR code.

This ET enables the developer to define if the terminal endpoint of a workflow was successful.

This ET enables the developer to define if the terminal endpoint of a workflow failed.

This ET is used by the developers to instruct the app layer to initiate payment flow with payment data.

This enables the developers to set an ET for processing payments and generating transaction IDs.

This allows the developers to capture the final details of payments (tenant pay ID, transaction ID, amount, etc).

Developers can use this ET for capturing and verifying if the given input matches the response from an API or static value.

Below we have provided the payloads for all the default ETs. For more information on ETs, see Workflow Documentation.

Start

JSON


Verify Location

JSON


Pick

JSON


Verify Input

JSON


Capture Image

JSON


Capture Input

JSON


Deliver

JSON


Display

JSON


Doodle

JSON


Deliver Cash

JSON


Form

JSON


Scan

JSON


Completed Success

JSON


Completed Failure

JSON


Init Payment

JSON


Process Payment

JSON


Complete Payment

JSON


Validate OTP

JSON


Execution Macro Payload

You can combine one or more Execution Tasks together in a logical sequence that can be reused. This is called an Execution Macro. Currently, we have one default Execution Macro. The payload is provided below. For more information on Execution Macros, see Workflow Documentation.

Collect Payment

JSON