The Callout process
Callout is a generic Process Box which enable users to plug in custom logic based on a pre-defined interface. The main purpose of Callout Process Box is to connect with any third-party custom logic written by customer, based on provided interface. Callout PB functionality comes with a light weight, secure and robust spring boot application which is used to keep track of multiple callouts across flowcharts. Callout PB functionality is partition aware and keeps user data segregated across partitions.
Fields on Configure Callout Process Box:
ExternalCallout: List of callouts, configured in Platform config. Users can specify the input parameters to the callout jar through configParams parameter present inside the External callout Template.
Input: Input coming from upstream process Box, like Tweet data having TweetContent, UserId and TweetId columns.
Callout Fields – On selection of callout from the dropdown, callout fields would be auto populated, this comes from the ExternalCallout node where users can specify the callout fields through the mappingFields template.
Data File: This is name of the File internally created by callout PB to be sent to user’s implementation for processing.
Results File: This is the name of the File which Callout PB expects as output from user’s implementation, currently csv is expected. Both these files need to be in csv format. Path of both the files will be what is configured in Callout Template in Platform configuration.
Callout process box creates an output cell that can be consumed by downstream Process Boxes. The output consists of data that is sent by customer’s implementation of the callout.
Use of UCGF in a Callout Process Box
CallOut Process Box Key Mechanism - Earlier, the system enforced a one-to-one mapping between input column fields and CallOut fields. If any additional columns were used, an error was triggered saying Additionally, mapping of UCGF fields is not supported.
From V25.1.0 onwards, we have enhanced the Callout process box functionality to allow mapping with UCGF table fields. While specifying attributes in the Callout PB, users can now choose from
UCGF fields, table-related fields and custom fields under the Fields for callout section. Mapping is based on the data type compatibility and users can select any available field from the attributes list. During this process, key values are maintained based on the selected Audience Levels. These keys are preserved for reference and can be carried forward to subsequent Callout process boxes. If we are not able to specify any of the keys value (it can be composite or single based upon the inputs given in the audience level) and mapped with any random fields then for extended process boxes (from callout) will not be able to export any of the records for the further process.
To address the above scenario:
For successful export, fields must be mapped to Callout fields in a way that the selected fields from the Audience Level align with the records in the output file. Alternatively, table fields can be mapped directly to the Callout fields to ensure proper data export.
Single and Composite Key flow:
Single key: When the Audience Key is defined using a single parameter, such as Customer_ID, its corresponding column must be mapped to the CustomerId Callout field. Alternatively, any relevant table field containing Customer_ID field values or a matching field from the UCGF can also be mapped to the CustomerId Callout field. This ensures that records are exported correctly when another process box is extended from the Callout process box.
Composite key: When the Audience Key consists of multiple Keys, such as CustomerID and CustomerName, their respective column values and data types must be correctly mapped to the corresponding Callout fields.