EDI Core: the foundation of any reliable EDI system
Developers come to Stedi to build EDI systems of their own. And at the center of any EDI system is data translation: a way of turning EDI – an arcane file format – into a more approachable format, like JSON.
That's why we launched EDI Core – a basic building block that developers can use to build flexible, scalable EDI applications.
EDI Core is a collection of APIs that make working with EDI simple. Users can translate between EDI and Stedi’s JEDI (JSON EDI) format, which is a lossless and user-friendly representation of EDI. EDI Core is built to be the foundation of any scalable and reliable EDI system, and the JEDI format makes programmatic manipulation and validation easy.
There are two ways to interact with EDI Core:
Inspector is a free tool built on top of the EDI Core API. You can use it to easily understand the contents of an EDI file, to debug errors, and to share the file with others.
Let’s take an example Amazon Direct Fulfillment Purchase Order from a code editor…
…and load it into the free Inspector tool.
On the right is the
Rich view – a human-readable version of the EDI file. This will help you understand the contents and the structure of the file. Hover over the elements in the Rich view to see where they show up in the original EDI file on the left; click on the elements to gain a deeper understanding of the codes and their definitions.
If you toggle to the
JSON view, you will see the file in Stedi’s JEDI format. If you want to learn more about the JEDI format, take a look at our documentation.
It’s fairly common to receive a less-than-perfect EDI file. Trying to debug a malformed EDI file can be a frustrating and time-consuming process. If you find yourself in a situation like this, the Inspector has several features that can help make the process less painful:
- When an EDI document is malformed, we’ll do our best to parse it and display actionable error messages to help troubleshoot – like this
- If the EDI file is not formatted correctly, you can make it easier to read by clicking the ‘Format EDI’ button
- If you want to share the file via the Inspector with others, simply copy the URL in your browser and share it, or click the download button to save the EDI file.
There are two scenarios: you’re either working to receive EDI files from your trading partner – that is, getting data into your system, or you need to send EDI files, that is, move data out of your system. Perhaps you need to do both.
Regardless, EDI Core can be the foundation of this system.
When you’re ingesting EDI, you will want to translate EDI to JEDI and then map JEDI into your JSON format (Stedi’s Mappings can help with this!).
When you’re generating EDI, you will want to create JEDI (Mappings works here, too!) and then translate JEDI to EDI.
In both cases, you will receive validation errors if the JEDI file does not conform to the EDI release or Guide you configured on request.
Additionally, when generating EDI, these API options will come in handy, you can:
- Override EDI delimiters,
- Generate control numbers, including setting control number values,
- Remove empty segments
You can read more about all of these options in our documentation.
EDI Core translates EDI files to JEDI (JSON EDI) and vice versa, which allows you to treat EDI just like anything else: a problem to solve using your familiar tools. EDI Core has a transparent, pay-per-use pricing model with a generous free tier. There are no minimum fees, monthly commitments, or upfront costs to use this product.
If you want to build an end-to-end EDI system that utilizes EDI Core, there is some assembly required. You’ll need to handle the actual transmission of EDI files with your trading partners (via SFTP or AS2), orchestrate API calls, handle retries and errors, and more – though we do have developer-focused products in each of these categories coming soon.
If you’re ready to start building, here’s a detailed tutorial on how to build a simple serverless system that ingests an EDI file and outputs a transformed JSON.
Get blog posts delivered to your inbox.