Changelog

Introducing Public Guides: Next generation EDI implementation guides

Public Guides is a radically new and improved way for businesses to share EDI specifications and speed up the trading partner onboarding process.

A public guide is a live, interactive web page that is accessible by anyone with a link. Links can be shared directly with trading partners or included in an EDI portal – they provide the same information as a traditional PDF guide, but allow users to instantly validate and troubleshoot EDI files right in the browser. An intuitive UI and helpful error messages lead them to quickly build EDI files that conform to the guide’s specifications, reducing the testing process from weeks to hours – and eliminating dozens of back-and-forth emails.

Stedi Guides now supports ISA and GS segments

You can now view and customize ISA (Interchange Control Header) and GS (Functional Group Header) segments of the X12 envelope within a Stedi guide using the guide builder interface. These customizations are reflected in the interactive documentation of a Stedi guide, and are not used for validation by the EDI Translate API.

Translate between JSON and EDI with machine-readable EDI specifications

EDI Translate is a new API for creating and validating EDI files that conform to precise trading partner specifications. EDI Translate accepts user-defined JSON payloads and translates them into valid EDI files, and vice versa.

EDI Translate works in conjunction with recently-launched Stedi Guides, which enables users to quickly and accurately define EDI specifications using a no-code visual interface. Once a guide has been defined, users can use the EDI Translate API to create outbound EDI files that conform to the guide. Users can also use EDI Translate API to validate that inbound EDI files meet the defined specification, as well as parse these EDI files into JSON for further processing.

EDI Translate is now generally available. Read more.

Introducing Stedi Guides: Machine-readable EDI specifications for modern EDI integrations

Stedi Guides is our new product that enables you to quickly and accurately create EDI specifications using a visual interface. These specifications can be used to programmatically parse and generate EDI documents via the EDI Translate API using a modern JSON Schema format, or to validate EDI manually in a web browser against interactive documentation. There is built-in support for all X12 transaction sets and releases, and the ability to customize specifications beyond the strict X12 interpretation.

Stedi Guides is now generally available. Read more.

Stedi SFTP now supports FTPS protocol

You can now use Stedi's serverless SFTP infrastructure to securely exchange files with trading partners via FTPS as well. Provision users in seconds via the Stedi dashboard or the API. The same credentials can be used for both SFTP and FTPS.

Mappings: Use wildcards in Lookup Tables

If you receive data which contains a certain string but has a range of available prefixes or suffixes, and you need to map it to a reduced set of target values, you can use Lookup Tables with wildcards to match multiple possible input options at once. Simply replace the interchangeable part of the key with * symbol.

Stedi Converter API is now deprecated

Stedi Converter API is now deprecated. You can achieve conversions between any two data formats using Stedi Functions and a library of your choice. This tutorial explains how to deploy functions with the CLI. Please contact us if you need help with your implementation.

Stedi SFTP and Stedi Buckets are Generally Available

Stedi SFTP is a serverless SFTP endpoint for exchanging files at any volume. Provision users via SFTP UI or via the API and begin transferring files in seconds. Stedi SFTP is fully integrated with Stedi Buckets - a simple, reliable data store. When you upload files programmatically via the Buckets SDK, those files are available to your trading partner via their SFTP credentials. And each time your trading partner uploads files via SFTP, those files are available via the Buckets SDK, too.

With a usage-based pricing model and no servers to manage, developers can easily offer SFTP connectivity to their trading partners as part of a new or existing B2B workflow without incurring fixed costs or operational overhead.

Create a serverless SFTP user in 20 seconds or less:

Mappings improvements

Edit JSON Schema in the Mappings UI

You can now upload and edit JSON Schema directly in the Mappings UI. Any changes in field descriptions will be automatically reflected on the mapping canvas.

In cases when JSON Schema conflicts with a JSON example after an update, you will be able to decide whether you'd like to re-generate the JSON Schema based on your new example or update your JSON Schema yourself.

Navigate source and target more easily with tree view

The source/target documents are now displayed in tree view to make it easier to navigate through large files. You can also use the search bar to quickly find the field you're looking for.

Improved autocomplete suggestions for values

Now, when you work with complex JSONata expressions that require filtering objects in arrays, you will see autocomplete suggestions for values in the predicate expressions.

Higher limits

We have increased the size limits for Mappings APIs to the following values:

  • Mapping source JSON Schema - 300 KiB

  • Mapping target JSON Schema - 300 KiB

  • Mapping JSONata expression - 300 KiB

  • Lookup tables combined size - 300 KiB

Mappings

Mappings: List indexes bank

If the list entries of your target document are expected to include a list index number, you can now access it by binding a positional variable to the List Context. You can read more about the positional variable binding in the JSONata docs.

Mappings: JSON Schema preview in Mappings UI

When you define a Source and Target JSON in the Mappings UI, these shapes are automatically converted to JSON Schema on the backend. Now, you can navigate to this JSON Schema directly in the Mappings UI. By using JSON Schema, you get a more precise description of the structure and validation constraints of your JSON documents.

EDI Core, Mappings, and Converter are now HIPAA eligible

EDI Core, Mappings, and Converter are now HIPAA eligible. Developers can now use Stedi’s APIs to build business integrations and process transactions that contain Protected Health Information (PHI).

To start building HIPAA eligible systems using Stedi you will need to agree to a HIPAA Business Associate Addendum (BAA) with Stedi. To establish a BAA with Stedi, or if you have any other questions, please contact us.

Mappings API is now multi-region

Since launch, Mappings served traffic from a single geographic region. Now, Mappings serves traffic from multiple regions. This will increase the reliability of the service in the case of a regional outage, and decrease latency for requests made geographically closer.

API for managing API keys is now generally avaialable

Requests to Stedi APIs are authenticated using a secret token called an API key. Each API key belongs to a single account and each account can have multiple API keys. API keys can be created inside of the Stedi UI by navigating to the API keys tab.

With the launch of the API for creating, listing, and deleting API keys, you can now manage this process programmatically.

Prettier plugin for JSONata language

Prettier is an opinionated code formatter. It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary.

Since developers use JSONata in the Mappings product, Stedi has contributed to Prettier by adding the prettier-plugin-jsonata, which uses the JSONata parser available as part of the jsonata package.

Here is what JSONata looks like in the Mappings expression editor before formatting:

…and after formatting:

Converter is Generally Available

Converter is an API that allows developers to convert various formats like CSV and XML to JSON, providing a hassle-free way to manage these conversions. Converter 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.

In the example below, the Converter API uses the headers in the CSV as keys in the JSON. The result is a list with an object for each row, where the object has a field for each column. So, if you have a CSV like this…

type,invoiceNumber,poNumber,amt invoice,INV20023,30278099,100.50 invoice,INV20024,30288899,50.99

…the resulting JSON will look like this:

{ "output": [ { "type": "invoice", "invoiceNumber": "INV20023", "poNumber": 30278099, "amt": 100.5 }, { "type": "invoice", "invoiceNumber": "INV20024", "poNumber": 30288899, "amt": 50.99 } ] }

Increased maximum size for Mappings documents

To support developers working with larger JSON documents, we have increased the maximum mapped document size from 1 megabyte to 4 megabytes in order to accommodate a wider range of use cases.

New $currentDateTime function in Mappings

You can now use $currentDateTime function to generate current date and time in different formats and timezones. For example, if you want to generate a current date in an EDI format, you can achieve this by $currentDateTime($dateTime.EDIDate). If you need to have it generated for a different timezone, you can do so by specifying the 2nd argument like so: $currentDateTime($dateTime.EDIDate, "Europe/Berlin").

EDI Core APIs are now multi-region

Since launch, EDI Core served traffic from a single geographic region. Now, EDI Core serves traffic from multiple regions. This will increase the reliability of the service in the case of a regional outage, and decrease latency for requests made geographically closer.

Mappings: Lookup tables

You can now add one or more lookup tables to your mappings. Lookup tables are powerful for use cases where you have a field that contains a code and you wish to replace it with a related value.

For example, if you have a source field with a country code (`USA`) and you want to replace it with the country name (`United States`), you can achieve this by building a countries lookup table:

You can then use the lookup table in your mapping expression with the $lookupTable function:

EDI Core: Embed EDI payload into Launch snippets

Now, when you explore an EDI file in Inspector, the Launch modal will generate a code snippet using that EDI payload.

Mappings: Ability to explicitly omit fields from the mapping output

Mappings now supports omitting fields from the mapping output using the $omitField constant.

If a given expression evaluates the $omitField constant, the field the expression is defined for will be omitted in the output. The $omitField constant is compatible with all mapping types and all JSONata expressions.

EDI Core: Launch modal with sample code snippets

We added a new Launch modal in Inspector with code snippets for making a HTTP request, cURL, Node.js + Axios, Python + Requests. Simply copy the code into a tool of your choice, insert your API key and a sample payload, and beging translating between EDI and JEDI programmatically.