TES Quickstart: Track Your First Product in 5 Minutes
Getting started with TES quickstart takes less than ten minutes using the TES SDK. The Thing Event System (TES), built by Pentatonic, provides the event-sourced infrastructure to make this practical at any scale — one API, one data model, compliance data as a byproduct.
According to Gartner, by 2028, 33% of enterprise software applications will include agentic AI, up from less than 1% in 2024.
2026-03-30
A circular economy decouples economic activity from the consumption of finite resources. It is a resilient system that is good for business, people, and the environment.
Install TES
TES is available as an npm package. Add it to your project:
Or with Yarn / pnpm:
Set your API key:
Initialize the client:
Getting Started
Step 1: Install the SDK
Add @pentatonic/tes to your project and set your API key. The SDK works in Node.js 18+, edge runtimes, and the browser.
Step 2: Connect your first product
Create a Thing for any physical product in your catalog. You can start with one SKU and expand from there.
Step 3: Track your first product event
Emit a sold event when the product ships. From here, every return, resale, and recycling event is a one-line call.
According to European Commission, ESPR Regulation 2024/1781, eU Digital Product Passport requirements take effect for batteries in 2027, textiles and electronics by 2030 under the ESPR regulation.
Next Steps
TES is available now. The fastest path forward:
Install:
npm install @pentatonic/tesGet an API key: Book a Demo — Pentatonic will provision your account and walk through your integration.
Track your first product: Three function calls. Under ten minutes.
Full API reference and docs at thingeventsystem.ai.
Why TES Instead of Building It Yourself
TES is not a generic event bus. It is purpose-built for physical product lifecycle tracking, which means the hard parts are already solved:
Concern | Custom build | TES |
|---|---|---|
Data model | Design and version your own event schema | Battle-tested Thing + ThingEvent model, stable versioning |
API surface | Design, build, auth, document, maintain | Single REST + SDK API, OpenAPI spec included |
Compliance outputs | Write formatters per regulation, update when specs change | EU DPP, EPR reports generated from event log automatically |
Audit trail | Append-only log requires careful schema discipline | Enforced by design — the log is immutable |
Build vs. buy decision | 6-12 months to build equivalent infrastructure | 10 minutes to first tracked product |
Integrations | Build per-platform connectors | Shopify, Salesforce, SAP connectors included |
The single-API design is a deliberate choice. Every system that touches a physical product — returns portal, warehouse WMS, resale storefront, compliance reporting — uses the same TES endpoint. No fan-out integration problem.
FREQUENTLY ASKED QUESTIONS
How long does it take to go from zero to tracking my first product?
About ten minutes: install the npm package, set your API key, call tes.things.create(), emit your first sold event. That is three function calls.
Does TES work in serverless and edge environments?
Yes. The @pentatonic/tes SDK has no Node.js-specific dependencies and runs in V8 isolates (Cloudflare Workers, Vercel Edge Functions) and standard serverless runtimes.
What npm package do I use to integrate with TES?
Install @pentatonic/tes from npm: npm install @pentatonic/tes. Initialize with your API key and start emitting product lifecycle events immediately.
How do I comply with the EU Digital Product Passport using TES?
Emit a passport_issued event against any tracked product. TES assembles the EU DPP from the product's event history and returns a hosted passport URL. No separate compliance pipeline is needed — compliance data is a byproduct of tracking operations you should already be running.
What data model does TES use for product lifecycle tracking?
TES uses an event-sourced model. A Thing represents a physical object identified by a stable UUID. ThingEvents record state changes — manufacture, sale, return, grade, resale, recycle. Current state is derived by replaying the event log, which means the full history is always queryable and nothing is ever overwritten.
