Skip to main content

Map JSON to X12 (and back)

How SignalEDI translates JSON business payloads to X12 and normalized JSON on inbound — partner rules, validation, and pre-send checks.

Quick answer

Do I need to write X12 segment strings?

No for most integrations — JSON plus partner profiles is the default path. Raw X12 intake remains available when you already have generated files.

More common questions →

The translation model

Your application sends JSON that maps through partner-specific profiles to X12. Inbound X12 is stored as exact bytes; lifecycle webhooks carry metadata and a links.payload pull link, and the payload endpoint returns raw, structured, typed (where the registry proves it), or mapped JSON views.

  • Partner profile = mandatory segments + code lists
  • Mappings version with your deploy pipeline

Outbound example

documentTypeCode selects the transaction set; partnerId selects the implementation guide.

curl -X POST https://api.signaledi.com/v1/documents/outbound \
  -H "Authorization: Bearer $SIGNALEDI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "partnerId": "your-partner-id",
  "environment": "LAB",
  "documentTypeCode": "850",
  "payload": {
    "purchaseOrderNumber": "PO-1042",
    "shipTo": {
      "id": "DC-01",
      "name": "RetailMart DC 01"
    },
    "lines": [
      {
        "lineNumber": 1,
        "sku": "SKU-100",
        "quantity": 24,
        "unitPrice": 12.5
      }
    ]
  }
}'

Partner-specific rules

Retailers differ on ship-to qualifiers, allowance segments, and UOM codes. Configure rules in the partner profile instead of hard-coding segment strings.

Validate before send

Use /tools/edi-validator for ad-hoc samples, then API validation on every outbound POST. Errors reference business fields instead of opaque AK segments.

Common questions

© 2026 SignalEDI Inc. All rights reserved.