RFC 1767
MIME Encapsulation of EDI Objects
RFC 1767: MIME Encapsulation of EDI Objects ๐๐
Network Working Group ๐ธ this one belongs to the Network Working Group.
Request for Comments: 1767
Author: D. Crocker, from Brandenburg Consulting ๐
Category: Standards Track โจ (this is an actual standards track protocol, so it's kinda a big deal)
Date: March 1995
Obsoletes / Updates: The title block doesn't list anything it obsoletes or updates. ๐ฆ
Status of This Memo โจ
okay so this document specifies an Internet standards track protocol for the Internet community, and it's literally asking for discussion and suggestions for improvements ๐ซถ If you want to know where this protocol stands, check the current edition of the "Internet Official Protocol Standards" (STD 1), because that's where its standardization state and status live. Distribution of this memo is unlimited, so share it with your whole group chat ๐
Table of Contents ๐
1. Introduction........................................... 1
2. Application/EDIFACT specification...................... 2
3. Application/EDI-X12 specification...................... 3
4. Application/EDI-Consent specification.................. 4
5. Sample edi usage in MIME-based email................... 5
6. References............................................. 5
7. Security Considerations................................ 6
8. Acknowledgments........................................ 6
9. Author's Address....................................... 6
10. Appendix - MIME for EDI users......................... 7
1. Introduction โจ
okay so Electronic Data Interchange (EDI) is how trading partners run structured transactions with each other ๐ผ Back in the paper days those transactions went through the postal system, so it makes total sense that email would be the natural delivery method now ๐ฌ This spec lets formatted electronic business interchanges get wrapped up inside MIME messages [Bore92] โจ The basic building block here is the interchange, so that's the main character ๐
This spec is ONLY about wrapping EDI objects inside MIME. It doesn't change those objects at all compared to the primary specs that define their syntax and semantics ๐ EDI already travels through a bunch of different carriage and exchange mechanisms, and this just adds one more option: sending it through Internet email ๐
There are lots of different EDI specs, so this doc sorts them into three categories, and each one gets its own MIME content-type ๐ First up is Application/EDI-X12, for contents that follow the range of specs from the X12 standards organization [X125, X126, X12V]. Next is Application/EDIFACT, for contents that follow the range of specs made by the United Nations Working Party 4 Group of Experts 1 EDIFACT boards [FACT, FACV]. Last but not least is Application/EDI-consent, which covers every other spec ๐ฆ
2. APPLICATION/EDIFACT SPECIFICATION ๐ง
The Application/EDIFACT MIME body-part holds data specified for electronic data interchange by [FACT, FACV] ๐ Here's how EDIFACT info gets described:
MIME type name: Application
MIME subtype name: EDIFACT
Required parameters: none
Optional parameters: CHARSET, as defined for MIME
Encoding considerations: May need BASE64 or QUOTED-PRINTABLE
transfer encoding
Security considerations: See separate section in the
document.
Published specification: Contained in the following section.
Rationale: The EDIFACT specifications are
accepted standards for a class of
inter-organization transactions;
this permits their transmission
over the Internet, via email.
Contact-info: See Contact section, below.
For the MIME-based usage details: this is a generic way to send any EDIFACT interchange ๐ธ The object describes itself, so it says which specific EDI objects are inside it. Most EDI data is plain text, but some special characters, like certain delimiters, can be non-printable ASCII, and some data is pure binary ๐ญ For EDI objects with that kind of data, the MIME transfer mechanism may need to encode the object using Content-Transfer-Encoding:quoted-printable or base64 ๐
3. APPLICATION/EDI-X12 SPECIFICATION ๐
The Application/EDI-X12 MIME body-part holds data specified for electronic data interchange by [X125, X12.6, EDIV] โจ
Here's how EDI-X12 info gets described inside MIME:
MIME type name: Application
MIME subtype name: EDI-X12
Required parameters: none
Optional parameters: CHARSET, as defined for MIME
Encoding considerations: May need BASE64 or QUOTED-PRINTABLE
transfer encoding
Security considerations: See separate section in the
document.
Published specification: Contained in the following section.
Rationale: The ASC X12 EDI specifications are
accepted standards for a class of
inter-organization transactions;
this permits their transmission
over the Internet, via email.
Contact-info: See Contact section, below.
Same vibe for the usage details: this is a generic way to send any ASC X12 interchange ๐ The object describes itself, so it says which specific EDI objects are included. Most of the data is textual, but special delimiter characters can be non-printable ASCII and some data is pure binary ๐ For those objects, the MIME transfer mechanism may need to encode them with Content-Transfer-Encoding:quoted-printable or base64 ๐ซถ
4. APPLICATION/EDI-CONSENT SPECIFICATION ๐
The Application/EDI-consent MIME body-part holds data specified for electronic data interchange, but only with the consent of an explicit, bilateral trading partner agreement that covers exchanging the EDI-consent traffic ๐ค So basically, EDI-consent just gives you a standard way to "wrap" the EDI objects, and it doesn't specify any of the details about those objects ๐
Here's how EDI-consent info gets described inside MIME:
MIME type name: Application
MIME subtype name: EDI-consent
Required parameters: none
Optional parameters: CHARSET, as defined for MIME
Encoding considerations: May need BASE64 or QUOTED-PRINTABLE
transfer encoding
Security considerations: See separate section in the
document.
Published specification: Contained in the following section.
Rationale: Existing practice for exchanging
EDI includes a very wide range of
specifications which are not part
of the usual, accredited standards
world. Nevertheless, this traffic
is substantial and well-
established. This content type
provides a means of delimiting such
content in a standard fashion.
Contact-info: See Contact section, below.
For the usage details: this is a generic way to send any EDI object the trading partners have explicitly agreed on ๐ X12 and EDIFACT objects must be sent using their assigned MIME content type โจ EDI-consent is for every other EDI object, but only according to the trading partner agreements between the originator and the recipient ๐ Most EDI data is textual, though some special delimiter characters can be non-printable ASCII and some data is pure binary ๐ญ For those objects, the MIME transfer mechanism may need to encode them with Content-Transfer-Encoding:quoted-printable or base64 ๐ฆ
5. SAMPLE EDI USAGE IN MIME-BASED EMAIL ๐ง
Real talk: using EDI inside MIME takes a lot of attention to detail ๐ This section is just an example that shows the gist of the formatting you need to wrap EDI objects inside Internet mail with MIME. To send a single EDIFACT interchange, it looks like this:
To: <<recipient organization EDI email address>>
Subject:
From: <<sending organization EDI email address>>
Date:
Mime-Version: 1.0
Content-Type: Application/EDIFACT
Content-Transfer-Encoding: QUOTED-PRINTABLE
<<standard EDIFACT Interchange goes here>>
6. References ๐
[Bore92] Borenstein, N., and N. Freed, "MIME (Multipurpose
Internet Mail Extensions) Part One: Mechanisms for
Specifying and Describing the Format of Internet Message
Bodies", RFC 1521, Bellcore, Innosoft, September 1993.
[Brad89] Braden, R., Editor, "Requirements for Internet Hosts -
Application and Support", STD 3, RFC 1123, Internet
Engineering Task Force, October 1989.
[Croc82] Crocker, D., "Standard for the Format of Internet
Text Messages", STD 11, RFC 822, UDEL, August 1982.
[Rose93] Rose, M., "The Internet Message: Closing the Book
with Electronic Mail", PTR Prentice Hall, Englewood
Cliffs, N.J., 1993.
[Post82] Postel, J., "Simple Mail Transfer Protocol".
STD 10, RFC 821, USC/Information Sciences Institute,
August 1982.
[X12V] Data Interchange Standards Association; sets of
specific EDI standards are ordered by their version
number; Washington D.C.
[X125] ANSI X12.5 Interchange Control Structure for
Electronic Data Interchange, Washington D.C.: DISA
[X126] ANSI X12.6 Applications Control Structures for
Electronic Data Interchange, Washington D.C.: DISA
[FACT] United Nations Economic Commission (UN/EC)
Electronic Data Interchange For Administration,
Commerce and Transport (EDIFACT) - Application Level
Syntax Rules (ISO 9735), 1991.
[FACV] Version sets contains the specific syntax documents,
the element and segment dictionaries, and the
transaction/message specifications.
7. SECURITY CONSIDERATIONS ๐ฅ
This part is SERIOUS, bestie ๐ญ EDI transactions usually carry sensitive data, so sending them often means dealing with authentication, data integrity, privacy, access control and non-repudiation ๐ This spec lets that sensitive data travel over Internet mail and other services that support MIME object encapsulation. When you're sending sensitive data, it is essential that appropriate security services, like authentication, privacy and/or non-repudiation, are provided ๐
Also, this spec does NOT provide any security-related mechanisms itself ๐ As needed and appropriate, such mechanisms MUST be added, either through Internet MIME-based security services or through any other services that fit the user requirements, like the ones provided by EDI-based standards. no cap, don't skip this part ๐ซถ
8. ACKNOWLEDGMENTS ๐ธ
Tom Jones wrote the intro text and described the candidate header options ๐, and a bunch of working group people reviewed and commented, especially Walt Houser, Gail Jackson, and Jim Amster ๐ซถ๐
9. AUTHOR'S ADDRESS ๐
This is where you find David H. Crocker, the author, and how to reach him ๐โจ
David H. Crocker
Brandenburg Consulting
675 Spruce Dr.
Sunnyvale, CA 94086 USA
Phone: +1 408 246 8253
Fax: +1 408 249 6205
EMail: dcrocker@mordor.stanford.edu
10. APPENDIX - MIME FOR EDI USERS ๐ฆ
Okay bestie, this one's for the EDI people who know their stuff but are newer to Internet email ๐ . It's a super quick intro, mostly here to point you at the right specs ๐บ๏ธ. It is absolutely not a full tutorial ๐, and the excellent intro text is [Rose93] ๐.
Internet email runs on the classic user agent / mail transfer agent setup ๐ฎ. The user software makes a standardized object, and standard exchange protocols move it along ๐โจ.
An Internet email object is basically a stack of headers ๐ followed by a body that may or may not be structured ๐. The headers hold stuff like author and recipient addresses, the subject summary, creation date, handling node names, and so on ๐ . They're defined by RFC822 and RFC1123 [Croc82, Brad89]. When the body is structured, it follows the rules of the Multipurpose Internet Message Exchange (MIME) [Bore92] ๐. A structured body can have parts in different text character sets, or even totally different kinds of data, like voice or graphics ๐ง๐ผ๏ธ.
The Simple Mail Transfer Protocol (SMTP) [Post82, Brad89] handles the main job of sending messages ๐ฌ๐ฅ. The posting and delivery chats between the user agent and the message transfer agent on the same machine aren't standardized and are platform-specific ๐คทโโ๏ธ.
So an EDI-related use of Internet Mime email will have (at least) these components ๐งฉ:
Business Program/Data base -> EDI Translator ->
-> MIME encapsulation -> RFC822 packaging -> mail
submission ->
-> SMTP relaying ->
-> mail delivery -> RFC822 & Mime stripping ->
-> EDI Translator -> Business processing
The first and last lines are components every EDI setup already has, so only the EDI "transmission" bits get swapped out for Internet modules ๐๐.
๐ฆ where this page comes from
- ietf: rfc1767 1995-03
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms