API Overview
The WebKatalog API consists of three modules that are called via REST.
Architecture
mermaid
graph TB
subgraph "Client"
APP[Application / Web shop]
end
subgraph "WebKatalog API"
XCF[XCF<br/>Catalog]
OFML[OFML<br/>Articles & Prices]
ODB[ODB<br/>3D Graphics]
end
subgraph "Data"
OFML_DB[(OFML Data)]
ODB_DB[(3D Models<br/>Textures)]
end
APP -->|token| XCF
APP -->|token| OFML
APP -->|token| ODB
XCF --> OFML_DB
OFML --> OFML_DB
ODB --> ODB_DBModules
| Module | Base URL | Description |
|---|---|---|
| XCF | /api/xcf.dll/xcf | Catalog navigation, search, breadcrumbs, resources |
| OFML | /api/ofml.dll/ofml | Loading/changing article data, properties, prices |
| OCD | /api/ocd.dll | Preview images of property values |
| ODB | /api/odb.dll/odb | Rendered images, component lists, blocks, textures |
Common parameters
These parameters are used by all endpoints:
| Parameter | Required | Description |
|---|---|---|
token | Required | Authentication token |
Other endpoints
| Endpoint | Description | See |
|---|---|---|
POST /api/ofml.dll/ofml/reinit, GET …/reinit/{ID} | Save or load an article for reconfiguration | Shopping cart integration |
POST /api/ofml.dll/ofml/permalink, GET …/permalink/{ID} | Create or load a PermanentID | PermanentIDs |
GET /api/ofml.dll/ofml/profile.json | Server profile of the token | Server Profiles |
GET /api/ofml.dll/ofml/user.css | User CSS of the token | User CSS |
POST /api/ofml.dll/pim/v3/categories/query, POST …/pim/v3/product_information/query | Product information (downloads, documents) for an article | – |
Response format
On success, all API calls return JSON. On error, an error JSON with a status code and message is returned (see Error handling).
Exception: /articlesimage.jpg and textures — these return the image/texture directly and use HTTP status codes for errors.
Data flows
Displaying an article
1. /getnodes → Navigate the catalog
2. /articles → Load the article (properties, prices, reinit string)
3. /articlesimage.jpg → Render the imageConfiguring an article
1. /articles (GET) → Load the article
2. /articles (POST) → Change a property
3. Response contains a new reinit string → Render the image again3D display
1. /btg → Get the component list (hierarchy + materials)
2. /block/{name} → Load individual components
3. /materials/{manu}/{name} → Load textures
4. → WebGL rendering in the client