Skip to content

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_DB

Modules ​

ModuleBase URLDescription
XCF/api/xcf.dll/xcfCatalog navigation, search, breadcrumbs, resources
OFML/api/ofml.dll/ofmlLoading/changing article data, properties, prices
OCD/api/ocd.dllPreview images of property values
ODB/api/odb.dll/odbRendered images, component lists, blocks, textures

Common parameters ​

These parameters are used by all endpoints:

ParameterRequiredDescription
tokenRequiredAuthentication token

Other endpoints ​

EndpointDescriptionSee
POST /api/ofml.dll/ofml/reinit, GET …/reinit/{ID}Save or load an article for reconfigurationShopping cart integration
POST /api/ofml.dll/ofml/permalink, GET …/permalink/{ID}Create or load a PermanentIDPermanentIDs
GET /api/ofml.dll/ofml/profile.jsonServer profile of the tokenServer Profiles
GET /api/ofml.dll/ofml/user.cssUser CSS of the tokenUser CSS
POST /api/ofml.dll/pim/v3/categories/query, POST …/pim/v3/product_information/queryProduct 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 image

Configuring an article ​

1. /articles (GET) → Load the article
2. /articles (POST) → Change a property
3. Response contains a new reinit string → Render the image again

3D 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

3D office WebKatalog 2.5 — ub.unitel GmbH