| Term | Definition |
|---|---|
| App Store | The marketplace where JTL merchants discover and install Cloud Apps. Reachable at apps.jtl-cloud.com. Apps submitted through the Partner Portal are published here after review. |
| AppBridge | The messaging layer between your app’s frontend running on either the ERP Cloud or JTL Hub. Built on iframe postMessage. Provides the session token, exposes host methods, and is scoped to iframe surfaces (ERP-iFrame and Pane). Packaged as @jtl-software/cloud-apps-core. See App Shell & UI Integration. |
| Client credentials | The clientId and clientSecret pair issued by the Partner Portal when you create an app. Used by your backend to obtain access tokens via OAuth 2.0. The secret is shown only once at creation and can be recreated if lost. |
| Cloud App | An app built on the JTL Platform that integrates with JTL-Wawi. Consists of a manifest, a backend that calls the API, and optionally a frontend rendered in ERP Cloud. Distinct from OnPremise Wawi apps, which use a different registration flow. |
| ERP Cloud | The browser-based runtime where installed Cloud Apps render as iframes for merchants. Reachable at erp.jtl-cloud.com. Not to be confused with JTL Cloud (the install surface). |
| ERP-iFrame | A Cloud App integration type. Your frontend renders inside the main content area of ERP Cloud, reached from the ERP sidebar. Declared in the manifest under capabilities.erp.menuItems. See Cloud Apps Architecture. |
| Headless | A Cloud App integration type with no user interface. Your backend authenticates with the Identity Provider and calls the JTL API directly. Used for scheduled sync, webhook processors, and backend-to-backend automation. Declared under capabilities.erp.headless. |
| Hub-Link | A Cloud App integration type. Adds a card to JTL Hub; clicking redirects the merchant to a URL you specify. No iframe, no AppBridge, no session token; just a redirect. Declared under capabilities.hub.appLauncher.redirectUrl. |
| JTL Cloud | The overall install surface that includes JTL Hub. “JTL Hub” is the specific merchant-facing page; “JTL Cloud” is the broader platform namespace (e.g., partner.jtl-cloud.com, hub.jtl-cloud.com, apps.jtl-cloud.com). Not to be confused with ERP Cloud. |
| JTL Hub | The merchant-facing surface for discovering, launching, and managing installed apps. Reachable at hub.jtl-cloud.com. Developers also use Hub to install and test their own apps during development. |
| JTL-Wawi | JTL’s ERP, the system at the centre of the merchant’s business. Available as OnPremise (installed on the merchant’s own server) or as JTL-Wawi Cloud (hosted by ecomData). Holds products, stock, orders, customers, and invoices. |
| Manifest | A manifest.json file that declares your app’s identity, lifecycle URLs, requirements, and capabilities. Uploaded to the Partner Portal at registration. Defines which surfaces your app integrates with (Hub-Link, ERP-iFrame, Pane, Headless). See App Shell & UI Integration. |
| Pane | A Cloud App integration type. Your frontend renders as a sidebar panel on specific ERP Cloud views. Context-aware: the pane receives information about the current view (customer, order, product) and can react to navigation. Declared under capabilities.erp.pane. |
| Partner Portal | The portal where developers register apps, manage client credentials, and submit listings to the App Store. Reachable at partner.jtl-cloud.com. Currently requires email registration; SSO with JTL ID is planned. |
| Scope | A permission that gates access to a specific API resource or action. Declared in the manifest under capabilities.erp.api.scopes (Cloud Apps) or under mandatoryApiScopes / optionalApiScopes (OnPremise). Format: resource.action (e.g., items.read, items.write). |
| SCX | The API for OnPremise marketplace channel integrations. Used by channel apps to sync products and orders with external marketplaces (Amazon, eBay). Uses polling-based events: your channel calls GET /v1/channel/event to fetch events and DELETE /v1/channel/event to acknowledge them. Cloud App support is in development. See webhooks. |
| Session token | A short-lived JWT issued by AppBridge that identifies the current user, tenant, and session. Your frontend calls appBridge.method.call('getSessionToken') to obtain it, then sends it to your backend. Your backend verifies it via JWKS before trusting the tenant. Only issued for iframe surfaces (ERP-iFrame and Pane). See API keys and tokens. |
| Tenant | A merchant’s isolated workspace in JTL Cloud. Each merchant has one tenant; all their data (products, orders, customers) belongs to that tenant. Identified by tenantId (a stable UUID) and tenantSlug (a human-readable identifier). Every Cloud API request must include X-Tenant-ID to specify which tenant’s data to access. |
| Tenant slug | The human-readable identifier for a tenant (e.g., acme-gmbh). Used in URLs and pane context notation ($tenantSlug.customers). The tenantId is the stable UUID used for API calls; the slug can change. |
What’s Next
Platform Overview
How the platform is structured and how the pieces relate.
Cloud Apps Architecture
The four integration types in detail, with manifest fields.
Essentials
Auth, errors, pagination, webhooks, versioning.
API Reference
OpenAPI reference for the Cloud API.