API Endpoints Intro
The integration reads data from Pimcore through the Pimcore Datahub GraphQL API. All requests are GraphQL operations sent to a single endpoint built from your Pimcore instance URL, your Datahub configuration name, and your Datahub API key:
[Base URL] = https://<your-pimcore-instance>/pimcore-graphql-webservices/<Datahub Config>
Because Pimcore is self-hosted, each instance exposes its own endpoint — there is no shared production or sandbox host. The specific queries available depend on the classes you expose in your Datahub configuration; the operation names follow the pattern get<ClassName> for a single record and get<ClassName>Listing for a filtered list.
Table of Contents
Product Endpoints
Product Category Endpoints
Authorization
Product Endpoints
Get Product (POST)
POST [Base URL]?apikey={API Key}A GraphQL query that retrieves a single product by its Pimcore id. Operation: get<ProductClass> (for example, getCar). Key fields returned include the product's id and classname plus the fields exposed in your Datahub schema, and, where configured, its variants (children), category assignments, and related products.
List Products (POST)
POST [Base URL]?apikey={API Key}A GraphQL query used for polling. Operation: get<ProductClass>Listing (for example, getCarListing) with a filter argument. The filter is supplied as plain JSON and must meet the Pimcore Datahub filter requirements (for example, a modificationDate filter using Epoch time). Key fields returned include totalCount and the matching records.
Product Category Endpoints
Get Product Category (POST)
POST [Base URL]?apikey={API Key}A GraphQL query that retrieves a single category by its Pimcore id. Operation: get<CategoryClass> (for example, getCategory). Key fields include the category id, classname, name, and its parent category reference.
List Product Categories (POST)
POST [Base URL]?apikey={API Key}A GraphQL query used for polling categories. Operation: get<CategoryClass>Listing with a filter argument, following the same filter rules as List Products.
Pagination and Filtering
Listing operations accept a filter argument (plain JSON) and support Pimcore Datahub paging. Filter and paging behavior follows the Pimcore Datahub documentation: https://docs.pimcore.com/platform/2023.2/Datahub_Simple_Rest/Filtering_and_Paging/. When a scheduled poll is run without a filter, the integration automatically filters on the time of the last poll so each run returns only recently modified records.
Rate Limits
Pimcore does not publish rate limits for the Datahub GraphQL API — limits depend on your own Pimcore hosting. The integration's request pacing is governed by the throttle settings on the iPaaS.com subscription (see Pimcore Connections and Settings).
Authorization
The Datahub GraphQL API is authorized with an API key generated on the Datahub Security Definition. The key is sent as an apikey query-string parameter on every request; there is no OAuth or token-exchange step. For automatic transfers, Pimcore sends change notifications to the iPaaS.com webhook receiver at https://api.ipaas.com/hookapi/v2/dynamic/Pimcore.v2 (or the staging host), authorized with your iPaaS.com subscription webhook key query-string parameter. See Pimcore Connections and Settings and the Pimcore Installation Instructions for how these keys are created and entered.
