PRICAT is the price/sales catalogue message. Suppliers use it to send product master data and prices to their customers. This sample follows EANCOM D96A, which identifies items by GTIN and parties by GLN.
The header names the parties and currency, and each LIN group is an item with PIA identifiers, IMD descriptions, measurements, packaging and PRI prices.
D96A EAN009TSPRICAT in EdiFabric.Templates.EdifactThe full EANCOM PRICAT layout from its OpenEDI definition, the same model ediFabric uses to parse, validate and generate it: 43 loops and 107 segment positions, in file order. Loops are shaded and their segments indented; Max use is how many times a segment or loop may repeat.
| Segment / loop | Name | Usage | Max use |
|---|---|---|---|
UNH | Message header | Mandatory | 1 |
BGM | Beginning of message | Mandatory | 1 |
DTM | Date/time/period | Mandatory | 35 |
FTX | Free text | Optional | 99 |
| RFF loop | Reference | Optional | 99 |
RFF | Reference | Mandatory | 1 |
DTM | Date/time/period | Optional | 5 |
| NAD loop | Name and address | Optional | 99 |
NAD | Name and address | Mandatory | 1 |
| RFF loop | Reference | Optional | 10 |
RFF | Reference | Mandatory | 1 |
| CTA loop | Contact information | Optional | 5 |
CTA | Contact information | Mandatory | 1 |
COM | Communication contact | Optional | 5 |
| TAX loop | Duty/tax/fee details | Optional | 5 |
TAX | Duty/tax/fee details | Mandatory | 1 |
| CUX loop | Currencies | Optional | 5 |
CUX | Currencies | Mandatory | 1 |
DTM | Date/time/period | Optional | 5 |
| PAT loop | Payment terms basis | Optional | 10 |
PAT | Payment terms basis | Mandatory | 1 |
PCD | Percentage details | Optional | 1 |
| TDT loop | Details of transport | Optional | 10 |
TDT | Details of transport | Mandatory | 1 |
| TOD loop | Terms of delivery or transport | Optional | 5 |
TOD | Terms of delivery or transport | Mandatory | 1 |
LOC | Place/location identification | Optional | 2 |
| ALC loop | Allowance or charge | Optional | 10 |
ALC | Allowance or charge | Mandatory | 1 |
ALI | Additional information | Optional | 5 |
DTM | Date/time/period | Optional | 9 |
| QTY loop | Quantity | Optional | 1 |
QTY | Quantity | Mandatory | 1 |
RNG | Range details | Optional | 1 |
| PCD loop | Percentage details | Optional | 1 |
PCD | Percentage details | Mandatory | 1 |
RNG | Range details | Optional | 1 |
| MOA loop | Monetary amount | Optional | 2 |
MOA | Monetary amount | Mandatory | 1 |
RNG | Range details | Optional | 1 |
| RTE loop | Rate details | Optional | 1 |
RTE | Rate details | Mandatory | 1 |
RNG | Range details | Optional | 1 |
| TAX loop | Duty/tax/fee details | Optional | 5 |
TAX | Duty/tax/fee details | Mandatory | 1 |
MOA | Monetary amount | Optional | 1 |
| PGI loop | Product group information | Optional | 1000 |
PGI | Product group information | Mandatory | 1 |
DTM | Date/time/period | Optional | 15 |
QTY | Quantity | Optional | 10 |
ALI | Additional information | Optional | 5 |
FTX | Free text | Optional | 5 |
| CUX loop | Currencies | Optional | 10 |
CUX | Currencies | Mandatory | 1 |
DTM | Date/time/period | Optional | 5 |
| PRI loop | Price details | Optional | 100 |
PRI | Price details | Mandatory | 1 |
RNG | Range details | Optional | 1 |
DTM | Date/time/period | Optional | 5 |
| TAX loop | Duty/tax/fee details | Optional | 10 |
TAX | Duty/tax/fee details | Mandatory | 1 |
MOA | Monetary amount | Optional | 1 |
| ALC loop | Allowance or charge | Optional | 99 |
ALC | Allowance or charge | Mandatory | 1 |
ALI | Additional information | Optional | 5 |
| QTY loop | Quantity | Optional | 1 |
QTY | Quantity | Mandatory | 1 |
RNG | Range details | Optional | 1 |
| PCD loop | Percentage details | Optional | 1 |
PCD | Percentage details | Mandatory | 1 |
RNG | Range details | Optional | 1 |
| MOA loop | Monetary amount | Optional | 2 |
MOA | Monetary amount | Mandatory | 1 |
RNG | Range details | Optional | 1 |
| RTE loop | Rate details | Optional | 1 |
RTE | Rate details | Mandatory | 1 |
RNG | Range details | Optional | 1 |
| TAX loop | Duty/tax/fee details | Optional | 5 |
TAX | Duty/tax/fee details | Mandatory | 1 |
MOA | Monetary amount | Optional | 1 |
| NAD loop | Name and address | Optional | 20 |
NAD | Name and address | Mandatory | 1 |
LOC | Place/location identification | Optional | 5 |
| RFF loop | Reference | Optional | 10 |
RFF | Reference | Mandatory | 1 |
DTM | Date/time/period | Optional | 5 |
| CTA loop | Contact information | Optional | 5 |
CTA | Contact information | Mandatory | 1 |
COM | Communication contact | Optional | 5 |
| PAT loop | Payment terms basis | Optional | 10 |
PAT | Payment terms basis | Mandatory | 1 |
PCD | Percentage details | Optional | 1 |
| TDT loop | Details of transport | Optional | 10 |
TDT | Details of transport | Mandatory | 1 |
| TOD loop | Terms of delivery or transport | Optional | 5 |
TOD | Terms of delivery or transport | Mandatory | 1 |
LOC | Place/location identification | Optional | 2 |
| PAC loop | Package | Optional | 10 |
PAC | Package | Mandatory | 1 |
MEA | Measurements | Optional | 10 |
| LIN loop | Line item | Optional | 999999 |
LIN | Line item | Mandatory | 1 |
PIA | Additional product id | Optional | 10 |
IMD | Item description | Optional | 999 |
MEA | Measurements | Optional | 10 |
QTY | Quantity | Optional | 10 |
HAN | Handling instructions | Optional | 5 |
ALI | Additional information | Optional | 5 |
DTM | Date/time/period | Optional | 10 |
RFF | Reference | Optional | 1 |
LOC | Place/location identification | Optional | 1 |
FTX | Free text | Optional | 5 |
| TAX loop | Duty/tax/fee details | Optional | 10 |
TAX | Duty/tax/fee details | Mandatory | 1 |
MOA | Monetary amount | Optional | 1 |
| PRI loop | Price details | Optional | 100 |
PRI | Price details | Mandatory | 1 |
CUX | Currencies | Optional | 1 |
APR | Additional price information | Optional | 1 |
RNG | Range details | Optional | 1 |
DTM | Date/time/period | Optional | 5 |
| ALC loop | Allowance or charge | Optional | 99 |
ALC | Allowance or charge | Mandatory | 1 |
ALI | Additional information | Optional | 5 |
DTM | Date/time/period | Optional | 9 |
| QTY loop | Quantity | Optional | 1 |
QTY | Quantity | Mandatory | 1 |
RNG | Range details | Optional | 1 |
| PCD loop | Percentage details | Optional | 1 |
PCD | Percentage details | Mandatory | 1 |
RNG | Range details | Optional | 1 |
| MOA loop | Monetary amount | Optional | 2 |
MOA | Monetary amount | Mandatory | 1 |
RNG | Range details | Optional | 1 |
| RTE loop | Rate details | Optional | 1 |
RTE | Rate details | Mandatory | 1 |
RNG | Range details | Optional | 1 |
| TAX loop | Duty/tax/fee details | Optional | 5 |
TAX | Duty/tax/fee details | Mandatory | 1 |
MOA | Monetary amount | Optional | 1 |
| PAC loop | Package | Optional | 10 |
PAC | Package | Mandatory | 1 |
MEA | Measurements | Optional | 10 |
HAN | Handling instructions | Optional | 5 |
| PAT loop | Payment terms basis | Optional | 10 |
PAT | Payment terms basis | Mandatory | 1 |
DTM | Date/time/period | Optional | 5 |
PCD | Percentage details | Optional | 1 |
MOA | Monetary amount | Optional | 1 |
UNT | Message trailer | Mandatory | 1 |
Mandatory segments must be sent, Optional ones only when the data applies. Trading partners often add their own rules in companion guides - ediFabric templates can be adjusted to match. Open the element-level definition in the EdiNation spec library.
An EANCOM price catalogue with item identifiers, descriptions and prices. Paste it into EdiNation to see every element named and validated.
UNB+UNOA:2+SID+RID+20130430:1159+I-EX1/1+++++T01' UNH+ME000001+PRICAT:D:96A:UN:EAN009' BGM+9+PC32458+9' DTM+137:20021001:102' RFF+CT:5622ABE' DTM+171:20020810:102' NAD+BY+5412345000020::9' RFF+VA:VR12345' NAD+SU+4012345500004::9' RFF+VA:VR95745' CUX+2:EUR:8' PGI+2' LIN+1+1+5410738377131:SRV' PIA+1+CU32555:SA' IMD+C++CU::9' IMD+F++:::HEALTHIEST CORN CRISPIES:BOX' MEA+PD+AAA:4+GRM:250' HAN+EAT::9' TAX+7+VAT+++:::21+S' PRI+AAE:40:CA:SRP' PAC+++BX' MEA+PD+HT+MMT:200' MEA+PD+LN+MMT:80' MEA+PD+WD+MMT:30' LIN+2+1+5410738377117:SRV' PIA+1+TU32555:SA' IMD+C++TU::9' IMD+F++:::CORN CRISPIES:CASE' HAN+EAT::9' ALI+BE' TAX+7+VAT+++:::21+S' PRI+AAB:500:CA' ALC+A+++1' PCD+3:8' RNG+1+PCE:48' PAC+++CT' LIN+3+1+5410738377131:SRV+1:2' QTY+45E:48' LIN+4+1+5410738251028:SRV' PIA+1+PN32555:SA' IMD+C++DU:9' IMD+F++:::CORN CRISPIES:PALLET' HAN+EAT::9' HAN+FTD::9' TAX+7+VAT+++:::21+S' PRI+AAA:24000:CA' ALC+A+++1' PCD+1:10' RNG+1+PCE:50' PAC+++201::9' LIN+5+1+5410738377117:SRV+1:4' QTY+45E:24' UNT+52+ME000001' UNZ+1+I-EX1/1'
ediFabric turns every loop, segment and element into a named field. This is the transaction from the sample, in the JSON that ediFabric Native and Cloud return and accept.
{
"UNH": {
"MessageReferenceNumber_01": "ME000001",
"MessageIdentifier_02": {
"MessageType_01": "PRICAT",
"MessageVersionNumber_02": "D",
"MessageReleaseNumber_03": "96A",
"ControllingAgencyCoded_04": "UN",
"AssociationAssignedCode_05": "EAN009"
}
},
"BGM": {
"DOCUMENTMESSAGENAME_01": {
"Documentmessagenamecoded_01": "9"
},
"DOCUMENTMESSAGENUMBER_02": "PC32458",
"MESSAGEFUNCTIONCODED_03": "9"
},
"DTM": [
{
"DATETIMEPERIOD_01": {
"Datetimeperiodqualifier_01": "137",
"Datetimeperiod_02": "20021001",
"Datetimeperiodformatqualifier_03": "102"
}
}
],
"RFFLoop": [
{
"RFF": {
"REFERENCE_01": {
"Referencequalifier_01": "CT",
"Referencenumber_02": "5622ABE"
}
},
"DTM": [
{
"DATETIMEPERIOD_01": {
"Datetimeperiodqualifier_01": "171",
"Datetimeperiod_02": "20020810",
"Datetimeperiodformatqualifier_03": "102"
}
}
]
}
],
"NADLoop": [
{
"NAD": {
"PARTYQUALIFIER_01": "BY",
"PARTYIDENTIFICATIONDETAILS_02": {
"Partyididentification_01": "5412345000020",
"Codelistresponsibleagencycoded_03": "9"
}
},
"RFFLoop": [
{
"RFF": {
"REFERENCE_01": {
"Referencequalifier_01": "VA",
"Referencenumber_02": "VR12345"
}
}
}
]
},
{
"NAD": {
"PARTYQUALIFIER_01": "SU",
"PARTYIDENTIFICATIONDETAILS_02": {
"Partyididentification_01": "4012345500004",
"Codelistresponsibleagencycoded_03": "9"
}
},
"RFFLoop": [
{
"RFF": {
"REFERENCE_01": {
"Referencequalifier_01": "VA",
"Referencenumber_02": "VR95745"
}
}
}
]
}
],
"CUXLoop": [
{
"CUX": {
"CURRENCYDETAILS_01": {
"Currencydetailsqualifier_01": "2",
"Currencycoded_02": "EUR",
"Currencyqualifier_03": "8"
}
}
}
],
"PGILoop": [
{
"PGI": {
"PRODUCTGROUPTYPECODED_01": "2"
},
"LINLoop": [
{
"LIN": {
"LINEITEMNUMBER_01": "1",
"ACTIONREQUESTNOTIFICATIONCODED_02": "1",
"ITEMNUMBERIDENTIFICATION_03": {
"Itemnumber_01": "5410738377131",
"Itemnumbertypecoded_02": "SRV"
}
},
"PIA": [
{
"PRODUCTIDFUNCTIONQUALIFIER_01": "1",
"ITEMNUMBERIDENTIFICATION_02": {
"Itemnumber_01": "CU32555",
"Itemnumbertypecoded_02": "SA"
}
}
],
"IMD": [
{
"ITEMDESCRIPTIONTYPECODED_01": "C",
"ITEMDESCRIPTION_03": {
"Itemdescriptionidentification_01": "CU",
"Codelistresponsibleagencycoded_03": "9"
}
},
{
"ITEMDESCRIPTIONTYPECODED_01": "F",
"ITEMDESCRIPTION_03": {
"Itemdescription_04": "HEALTHIEST CORN CRISPIES",
"Itemdescription_05": "BOX"
}
}
],
"MEA": [
{
"MEASUREMENTAPPLICATIONQUALIFIER_01": "PD",
"MEASUREMENTDETAILS_02": {
"Measurementdimensioncoded_01": "AAA",
"Measurementsignificancecoded_02": "4"
},
"VALUERANGE_03": {
"Measureunitqualifier_01": "GRM",
"Measurementvalue_02": "250"
}
}
],
"HAN": [
{
"HANDLINGINSTRUCTIONS_01": {
"Handlinginstructionscoded_01": "EAT",
"Codelistresponsibleagencycoded_03": "9"
}
}
],
"TAXLoop": [
{
"TAX": {
"DUTYTAXFEEFUNCTIONQUALIFIER_01": "7",
"DUTYTAXFEETYPE_02": {
"Dutytaxfeetypecoded_01": "VAT"
},
"DUTYTAXFEEDETAIL_05": {
"Dutytaxfeerate_04": "21"
},
"DUTYTAXFEECATEGORYCODED_06": "S"
}
}
],
"PRILoop": [
{
"PRI": {
"PRICEINFORMATION_01": {
"Pricequalifier_01": "AAE",
"Price_02": "40",
"Pricetypecoded_03": "CA",
"Pricetypequalifier_04": "SRP"
}
}
}
],
"PACLoop": [
{
"PAC": {
"PACKAGETYPE_03": {
"Typeofpackagesidentification_01": "BX"
}
},
"MEA": [
{
"MEASUREMENTAPPLICATIONQUALIFIER_01": "PD",
"MEASUREMENTDETAILS_02": {
"Measurementdimensioncoded_01": "HT"
},
"VALUERANGE_03": {
"Measureunitqualifier_01": "MMT",
"Measurementvalue_02": "200"
}
},
{
"MEASUREMENTAPPLICATIONQUALIFIER_01": "PD",
"MEASUREMENTDETAILS_02": {
"Measurementdimensioncoded_01": "LN"
},
"VALUERANGE_03": {
"Measureunitqualifier_01": "MMT",
"Measurementvalue_02": "80"
}
},
{
"MEASUREMENTAPPLICATIONQUALIFIER_01": "PD",
"MEASUREMENTDETAILS_02": {
"Measurementdimensioncoded_01": "WD"
},
"VALUERANGE_03": {
"Measureunitqualifier_01": "MMT",
"Measurementvalue_02": "30"
}
}
]
}
]
},
{
"LIN": {
"LINEITEMNUMBER_01": "2",
"ACTIONREQUESTNOTIFICATIONCODED_02": "1",
"ITEMNUMBERIDENTIFICATION_03": {
"Itemnumber_01": "5410738377117",
"Itemnumbertypecoded_02": "SRV"
}
},
"PIA": [
{
"PRODUCTIDFUNCTIONQUALIFIER_01": "1",
"ITEMNUMBERIDENTIFICATION_02": {
"Itemnumber_01": "TU32555",
"Itemnumbertypecoded_02": "SA"
}
}
],
"IMD": [
{
"ITEMDESCRIPTIONTYPECODED_01": "C",
"ITEMDESCRIPTION_03": {
"Itemdescriptionidentification_01": "TU",
"Codelistresponsibleagencycoded_03": "9"
}
},
{
"ITEMDESCRIPTIONTYPECODED_01": "F",
"ITEMDESCRIPTION_03": {
"Itemdescription_04": "CORN CRISPIES",
"Itemdescription_05": "CASE"
}
}
],
"HAN": [
{
"HANDLINGINSTRUCTIONS_01": {
"Handlinginstructionscoded_01": "EAT",
"Codelistresponsibleagencycoded_03": "9"
}
}
],
"ALI": [
{
"COUNTRYOFORIGINCODED_01": "BE"
}
],
"TAXLoop": [
{
"TAX": {
"DUTYTAXFEEFUNCTIONQUALIFIER_01": "7",
"DUTYTAXFEETYPE_02": {
"Dutytaxfeetypecoded_01": "VAT"
},
"DUTYTAXFEEDETAIL_05": {
"Dutytaxfeerate_04": "21"
},
"DUTYTAXFEECATEGORYCODED_06": "S"
}
}
],
"PRILoop": [
{
"PRI": {
"PRICEINFORMATION_01": {
"Pricequalifier_01": "AAB",
"Price_02": "500",
"Pricetypecoded_03": "CA"
}
}
}
],
"ALCLoop": [
{
"ALC": {
"ALLOWANCEORCHARGEQUALIFIER_01": "A",
"CALCULATIONSEQUENCEINDICATORCODED_04": "1"
},
"PCDLoop": {
"PCD": {
"PERCENTAGEDETAILS_01": {
"Percentagequalifier_01": "3",
"Percentage_02": "8"
}
},
"RNG": {
"RANGETYPEQUALIFIER_01": "1",
"RANGE_02": {
"Measureunitqualifier_01": "PCE",
"Rangeminimum_02": "48"
}
}
}
}
],
"PACLoop": [
{
"PAC": {
"PACKAGETYPE_03": {
"Typeofpackagesidentification_01": "CT"
}
}
}
]
},
{
"LIN": {
"LINEITEMNUMBER_01": "3",
"ACTIONREQUESTNOTIFICATIONCODED_02": "1",
"ITEMNUMBERIDENTIFICATION_03": {
"Itemnumber_01": "5410738377131",
"Itemnumbertypecoded_02": "SRV"
},
"SUBLINEINFORMATION_04": {
"Sublineindicatorcoded_01": "1",
"Lineitemnumber_02": "2"
}
},
"QTY": [
{
"QUANTITYDETAILS_01": {
"Quantityqualifier_01": "45E",
"Quantity_02": "48"
}
}
]
},
{
"LIN": {
"LINEITEMNUMBER_01": "4",
"ACTIONREQUESTNOTIFICATIONCODED_02": "1",
"ITEMNUMBERIDENTIFICATION_03": {
"Itemnumber_01": "5410738251028",
"Itemnumbertypecoded_02": "SRV"
}
},
"PIA": [
{
"PRODUCTIDFUNCTIONQUALIFIER_01": "1",
"ITEMNUMBERIDENTIFICATION_02": {
"Itemnumber_01": "PN32555",
"Itemnumbertypecoded_02": "SA"
}
}
],
"IMD": [
{
"ITEMDESCRIPTIONTYPECODED_01": "C",
"ITEMDESCRIPTION_03": {
"Itemdescriptionidentification_01": "DU",
"Codelistqualifier_02": "9"
}
},
{
"ITEMDESCRIPTIONTYPECODED_01": "F",
"ITEMDESCRIPTION_03": {
"Itemdescription_04": "CORN CRISPIES",
"Itemdescription_05": "PALLET"
}
}
],
"HAN": [
{
"HANDLINGINSTRUCTIONS_01": {
"Handlinginstructionscoded_01": "EAT",
"Codelistresponsibleagencycoded_03": "9"
}
},
{
"HANDLINGINSTRUCTIONS_01": {
"Handlinginstructionscoded_01": "FTD",
"Codelistresponsibleagencycoded_03": "9"
}
}
],
"TAXLoop": [
{
"TAX": {
"DUTYTAXFEEFUNCTIONQUALIFIER_01": "7",
"DUTYTAXFEETYPE_02": {
"Dutytaxfeetypecoded_01": "VAT"
},
"DUTYTAXFEEDETAIL_05": {
"Dutytaxfeerate_04": "21"
},
"DUTYTAXFEECATEGORYCODED_06": "S"
}
}
],
"PRILoop": [
{
"PRI": {
"PRICEINFORMATION_01": {
"Pricequalifier_01": "AAA",
"Price_02": "24000",
"Pricetypecoded_03": "CA"
}
}
}
],
"ALCLoop": [
{
"ALC": {
"ALLOWANCEORCHARGEQUALIFIER_01": "A",
"CALCULATIONSEQUENCEINDICATORCODED_04": "1"
},
"PCDLoop": {
"PCD": {
"PERCENTAGEDETAILS_01": {
"Percentagequalifier_01": "1",
"Percentage_02": "10"
}
},
"RNG": {
"RANGETYPEQUALIFIER_01": "1",
"RANGE_02": {
"Measureunitqualifier_01": "PCE",
"Rangeminimum_02": "50"
}
}
}
}
],
"PACLoop": [
{
"PAC": {
"PACKAGETYPE_03": {
"Typeofpackagesidentification_01": "201",
"Codelistresponsibleagencycoded_03": "9"
}
}
}
]
},
{
"LIN": {
"LINEITEMNUMBER_01": "5",
"ACTIONREQUESTNOTIFICATIONCODED_02": "1",
"ITEMNUMBERIDENTIFICATION_03": {
"Itemnumber_01": "5410738377117",
"Itemnumbertypecoded_02": "SRV"
},
"SUBLINEINFORMATION_04": {
"Sublineindicatorcoded_01": "1",
"Lineitemnumber_02": "4"
}
},
"QTY": [
{
"QUANTITYDETAILS_01": {
"Quantityqualifier_01": "45E",
"Quantity_02": "24"
}
}
]
}
]
}
],
"UNT": {
"NumberofSegmentsinaMessage_01": "52",
"MessageReferenceNumber_02": "ME000001"
}
}Read the file into typed objects with ediFabric .NET, or post it to the ediFabric Cloud REST API from any language and get JSON back.
using EdiFabric.Templates.EdifactD96A; License.SetSerial("YOUR_SERIAL_KEY"); using (var stream = File.OpenRead(@"C:\edi\PriceCatalogue.txt")) using (var reader = new EdifactReader(stream, "EdiFabric.Templates.Edifact")) { var items = await reader.ReadToEndAsync(); foreach (var transaction in items.OfType<TSPRICAT>()) { if (transaction.IsValid(out MessageErrorContext errors)) Console.WriteLine($"{transaction.UNH.MessageReferenceNumber_01} is valid"); else Console.WriteLine(string.Join(Environment.NewLine, errors.Flatten())); } }
curl -X POST 'https://api.edination.com/v2/edifact/read' \ -H 'Ocp-Apim-Subscription-Key: YOUR_SERIAL_KEY' \ -H 'Content-Type: application/octet-stream' \ --data-binary '@PriceCatalogue.txt'
Populate a TSPRICAT object in .NET, or post JSON in the shape shown above to ediFabric Cloud, and get a valid PRICAT file back.
using EdiFabric.Templates.EdifactD96A; License.SetSerial("YOUR_SERIAL_KEY"); var transaction = new TSPRICAT(); // Message header transaction.UNH = new UNH(); transaction.UNH.MessageReferenceNumber_01 = "0001"; transaction.UNH.MessageIdentifier_02 = new S009(); transaction.UNH.MessageIdentifier_02.MessageType_01 = "PRICAT"; transaction.UNH.MessageIdentifier_02.MessageVersionNumber_02 = "D"; transaction.UNH.MessageIdentifier_02.MessageReleaseNumber_03 = "96A"; transaction.UNH.MessageIdentifier_02.ControllingAgencyCoded_04 = "UN"; // Price/sales catalogue number PC32458 transaction.BGM = new BGM(); transaction.BGM.DOCUMENTMESSAGENAME_01 = new C002(); transaction.BGM.DOCUMENTMESSAGENAME_01.Documentmessagenamecoded_01 = "9"; transaction.BGM.Documentmessagenumber_02 = "PC32458"; transaction.BGM.Messagefunctioncoded_03 = "9"; // Repeating DTM transaction.DTM = new List<DTM>(); // ... set the remaining loops and segments the same way // SegmentBuilders is in the Common project of the example repository using (var stream = new MemoryStream()) { using (var writer = new EdifactWriter(stream)) { writer.Write(SegmentBuilders.BuildUnb("1")); writer.Write(transaction); } Console.WriteLine(Encoding.UTF8.GetString(stream.ToArray())); }
# the JSON returned by /read, edited or produced by your application curl -X POST 'https://api.edination.com/v2/edifact/write' \ -H 'Ocp-Apim-Subscription-Key: YOUR_SERIAL_KEY' \ -H 'Content-Type: application/json' \ --data-binary '@PriceCatalogue.json' \ -o 'PriceCatalogue.txt'
Product master data: identifiers, descriptions, dimensions, weights, packaging hierarchies and validity dates.
Many retailers moved product data synchronization to the GS1 Global Data Synchronisation Network, but PRICAT is still used for prices and for partners outside GDSN.
The X12 832 price/sales catalog.
In .NET, install EdiFabric and EdiFabric.Templates.Edifact, read the file with EdifactReader into TSPRICAT objects and write them back with EdifactWriter. From any other language, post the file to the ediFabric Cloud REST API, which returns the same structure as JSON and converts JSON back to EANCOM.