Problem

Many M3 customers integrate with other systems, but M3's approach to REST APIs is not really stateless, meaning multiple calls need to be made to get the full overview - for instance, to get a full order you need to run:

That is eight API transactions, just to get a single order.

For anyone trying to integrate with M3, this would either result in a “nope, too complex”-decision, or cost a lot of time to understand, develop and implement.

In addition, understanding field names such as NTAM, CRD0, CUCD, etc would cause a lot of confusion

Solution

We can use a workflow and return all order data at once!

All workflows can be called synchronously, and return the response from the last step as output.

This means we can effectively create or own APIs in Vince Live.