EPCIS 2.0 JSON-LD Supply Chain Event Parser & Validator
Next-generation EPCIS 2.0 JSON-LD parser and schema compliance validator for modern pharmaceutical supply chain architectures. This specification documents the exact field layout, checksum rules, and validation behavior so your integration matches 21 U.S. Code § 360eee / GS1 EPCIS without reading the source standard.
⚡ Live EPCIS 2.0 JSON-LD Supply Chain Event Parser & Validator Interactive Workbench
Test real-time validation and schema parsing for EPCIS 2.0 JSON-LD Supply Chain Event Parser & Validator directly in your browser. Runs in sub-5ms with zero setup.
{
"status": "Click RUN VALIDATION to execute on the Cloudflare edge..."
}
Quick Summary: Next-generation EPCIS 2.0 JSON-LD parser and schema compliance validator for modern pharmaceutical supply chain architectures. Validates strictly against 21 U.S. Code § 360eee / GS1 EPCIS with sub-5ms in-memory response times.
Specification & Structural Breakdown
Technical Summary: Validates strictly against 21 U.S. Code § 360eee / GS1 EPCIS. Payloads are parsed in memory and return clean, typed JSON in milliseconds with zero data logged.
EPCIS 2.0 introduces JSON and JSON-LD serialization for IoT supply chain visibility, REST bindings, and native support for GS1 Digital Link URIs.
Captures environmental sensor telemetry (sensorElementList) such as cold-chain temperature alerts, relative humidity, and real-time geolocation coordinates.
Full compatibility with Core Business Vocabulary (CBV 2.0) standardizing business steps, dispositions, and error reasons.
| Property | Type | Description | Standard |
|---|---|---|---|
| @context | String / Array | JSON-LD Schema Context | https://ref.gs1.org/standards/epcis/2.0.1/epcis-context.jsonld |
| type | String | Event Type | ObjectEvent, AggregationEvent, TransformationEvent, AssociationEvent |
| sensorElementList | Array | IoT Sensor Data | Temperature, humidity, geolocation |
| bizStep | URI String | Business Process Step | https://ref.gs1.org/cbv/bizstep/shipping |
| ObjectEvent | Event Type | Observe or commission objects | epcList, bizStep, readPoint |
| AggregationEvent | Event Type | Pack or unpack objects into a parent | parentID, childEPCs |
| TransformationEvent | Event Type | Consume inputs into outputs | inputEPCList, outputEPCList |
| AssociationEvent | Event Type | Bind objects to a parent (e.g. device) | parentID, childEPCs, bizStep |
Parsed JSON Response Model
The edge microservice transforms input payloads into strongly-typed hierarchical JSON envelopes with sub-5ms latency:
{
"@context": [
"https://ref.gs1.org/standards/epcis/2.0.1/epcis-context.jsonld"
],
"type": "ObjectEvent",
"eventTime": "2026-08-30T11:00:00Z",
"action": "OBSERVE",
"bizStep": "transporting",
"epcList": [
"https://id.example.com/01/00301234567896/21/123456789012"
]
}
Copy-Paste Integration Code (6 Languages)
Integrate EPCIS 2.0 JSON-LD Supply Chain Event Parser & Validator directly into your production application with native, zero-dependency code snippets in cURL, Node.js, Python, Go, C#, and a ready-to-paste Claude prompt. Get a free API key → (no credit card required):
curl --request POST \
--url "https://api.stanzaapi.com/pharma-dscsa/api/v1/dscsa/validate-barcode" \
--header "Content-Type: application/json" \
--header "x-api-key: YOUR_API_KEY" \
--data '{
"rawBarcode": "010030123456789621123456789012\u001d1726083110LOT99881"
}'const response = await fetch("https://api.stanzaapi.com/pharma-dscsa/api/v1/dscsa/validate-barcode", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": process.env.API_KEY || "YOUR_API_KEY"
},
body: JSON.stringify({
"rawBarcode": "010030123456789621123456789012\u001d1726083110LOT99881"
})
});
const data = await response.json();
console.log(data);import requests
import json
url = "https://api.stanzaapi.com/pharma-dscsa/api/v1/dscsa/validate-barcode"
headers = {
"Content-Type": "application/json",
"x-api-key": "YOUR_API_KEY"
}
payload = {
"rawBarcode": "010030123456789621123456789012\u001d1726083110LOT99881"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())package main
import (
"bytes"
"fmt"
"io"
"net/http"
"os"
)
func main() {
url := "https://api.stanzaapi.com/pharma-dscsa/api/v1/dscsa/validate-barcode"
payload := []byte(`{"rawBarcode":"010030123456789621123456789012\u001d1726083110LOT99881"}`)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload))
req.Header.Add("Content-Type", "application/json")
req.Header.Add("x-api-key", os.Getenv("API_KEY"))
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", Environment.GetEnvironmentVariable("API_KEY") ?? "YOUR_API_KEY");
var json = @"{""rawBarcode"":""010030123456789621123456789012\u001d1726083110LOT99881""}";
var payload = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync("https://api.stanzaapi.com/pharma-dscsa/api/v1/dscsa/validate-barcode", payload);
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
}
}Integrate the StanzaAPI pharma-dscsa micro-API.
Endpoint: POST https://api.stanzaapi.com/pharma-dscsa/api/v1/dscsa/validate-barcode
Auth header: x-api-key: YOUR_API_KEY
Content-Type: application/json
Request body:
{
"rawBarcode": "010030123456789621123456789012\u001d1726083110LOT99881"
}
Rules:
- Send the request with a 2-second timeout.
- Parse the standard envelope { success, data, meta: { latency_ms, version } }.
- On failure, read { success: false, error, code } and branch on the code.
- Do not retry 4xx responses; surface the error code to the caller.
- Treat invalid-but-well-formed payloads as HTTP 200 with data.valid === false.Frequently Asked Questions & Technical Notes
Yes, core business steps and event topologies map directly between EPCIS 1.2 and 2.0, with JSON-LD providing native web and API interoperability.
Yes, EPCIS 2.0 natively standardizes sensor reports (sensorReport) including temperature ranges, timestamps, and sensor device IDs for cold-chain pharmaceutical monitoring.
The current GS1 EPCIS 2.0 JSON-LD context is https://ref.gs1.org/standards/epcis/2.0.1/epcis-context.jsonld (EPCIS/CBV 2.0.1). Pin the versioned URL in your payloads so validation stays deterministic as GS1 publishes patch releases.
Related FDA DSCSA & EU FMD Prescription Drug Serialization API Formats
Explore sibling specifications and standards in the same developer cluster:
GS1 Verification Router Service (VRS) Lightweight Messaging Spec
GS1 Verification Router Service (VRS) protocol engine for automated saleable drug returns verification in under 5ms.
View Format →EPCIS 1.2 XML Event Parser & Schema Validator (FDA DSCSA)
High-speed EPCIS 1.2 XML parser extracting ObjectEvents, AggregationEvents, BizStep, ReadPoint, and GLN identifiers into JSON.
View Format →FDA 21 CFR 201.25 Barcode Requirement & 2D DataMatrix Spec
Automated compliance validator for US FDA 21 CFR 201.25 drug product barcode labeling regulations.
View Format →DSCSA 4-Element 2D DataMatrix Barcode & Matrix Specification
Extract and validate all 4 DSCSA product identifier elements and FNC1 group separators in milliseconds.
View Format →DSCSA Section 582 Suspect Product Quarantine & Verification Rules
Automate suspect and illegitimate prescription product quarantine checks, lot-level audits, and regulatory verification.
View Format →Complementary Enterprise APIs
Seamlessly orchestrate data pipelines across adjacent financial, regulatory, and supply-chain protocols:
GS1 2027 Barcode & QR Decoder →
Decode GS1 DataMatrix, Digital Link URIs, and 150+ Application Identifiers.
FDA AccessGUDID & IMDRF UDI Decoder →
Verify FDA and EU MDR medical device serialization, expiration dates, and lot numbers.
Healthcare EDI ANSI X12 →
Map pharmaceutical supply chain track-and-trace events to healthcare EDI transactions.