Process Flows
The method getFlowService of a SpiffCommerceClient can be called to acquire a FlowService that can be used to initiate process flow executions.
The execute method takes a process flow ID and a list of FlowExecutionInput objects which must correspond to the input nodes of the given flow.
Each FlowExecutionInput is either:
- A
TextInput; - An
ObjectInputfor Spiff entities such as bundles; or - An
ArrayInput.
The execute method returns a FlowExecutionNodeResult, whose method getArtifacts returns a map of the data attached to the execution's output node.
const flowService = client.getFlowService();
const processFlowId = "00000000-0000-0000-0000-000000000000";
const inputs = [
new TextInput("example"),
new ObjectInput("00000000-0000-0000-0000-000000000000", ObjectInputType.Bundle),
new ArrayInput([new ObjectInput("00000000-0000-0000-0000-000000000000", ObjectInputType.Transaction)]),
];
const executionResult = await flowService.execute(processFlowId, inputs);
const artifacts = executionResult.getArtifacts();