The four kinds, and why routing still matters
Lesson 3 of 25 7 min read
Create maps, parse maps, send profiles and receive profiles each do the work for one message type. They replace modules, but not routing.
Every screen in this course is built around four kinds of configuration. Once you know which kind does which job, you can look at any integration problem and say "that is a parse map problem" or "that is a send profile problem". This lesson gives you that vocabulary, and the one rule that catches people out: maps and profiles still need routing.
Message types: the four steps of an integration
Supply Lens splits an integration's work into four steps, called message types:
- Create: turn one of our Documents into the data the partner expects.
- Send: deliver that data to the partner.
- Receive: get data from the partner.
- Parse: turn the data we received into one of our Documents.
The four kinds
A config-driven integration does each step with one kind of configuration:
| Kind | Message type | What it does |
|---|---|---|
| Create map | Create | Turns one of our Documents into the payload that the target expects. |
| Parse map | Parse | Turns a payload that we received back into one of our Documents. |
| Send profile | Send | The calls that carry a payload to the target system. |
| Receive profile | Receive | The calls that get data from the target system. |
A payload is the data in the partner's own format: the JSON, XML, CSV or EDI file their system reads. The word map means a create map or a parse map. The word profile means a send profile or a receive profile. Prism also calls any of the four a definition.
Here is how the four fit around a 3PL, outbound and inbound:
One integration type, one document type
Each map or profile is for one integration type and one document type. "A create map for Acme API and warehouse orders" is a complete description. If Acme also needs purchase orders, that is a second create map.
Why four kinds and not one
The design notes explain that the four share no shape. A create map is shaped like the target document. A parse map has to cope with whatever arrives, including splitting one file into many Documents. A send profile deals with calls, correlation and writing the response back. A receive profile deals with paging and picking up where it left off. What they share is the machinery around them: versions, drafts, publishing, overlays and validation. That shared machinery is what most of this course teaches.
Maps and profiles run before modules
In a coded integration, a module (a piece of code, such as shopify-order-create) does the work for a message type, and a module route tells Supply Lens which module to use. A published map or profile runs before any module. So a config-driven integration type needs no module routes.
But routing is still required
Before any of that, Supply Lens has to know which service (which Supply Lens application) gets the messages of the integration type. That is routing, and it is set per integration type and message type in Administration → Integrations → Integration Types.
The most expensive mistake
A config-driven integration type still needs routing. Each message type it uses must be supported and sent to a service, or its messages are lost before any map or profile is used. A perfect, published create map does nothing if Create is not routed. The routing itself is taught in the course Message routing and modules in Prism.
Which kind is it?
Northbank Fulfilment, a 3PL, reports three problems with its new config-driven integration:
- "Your orders arrive with the wrong date format." The payload is wrong, so look at the create map.
- "We return 401 on every call." The calls are failing, so look at the send profile and its client profile.
- "Our despatch file arrives but no Shipment appears in Supply Lens." The payload came in but did not become a Document, so look at the parse map, or check that Parse is routed.
Recap
- There are four message types: Create, Send, Receive and Parse.
- Each kind of map or profile does the work for one message type: create map, send profile, receive profile, parse map.
- Each map or profile is for one integration type and one document type.
- A published map or profile runs before any module, so config-driven types need no module routes.
- Config-driven types still need routing, or their messages are lost.
Your progress is saved in this browser. Create a free account to keep it everywhere, take quizzes and earn certificates.