Products
2 min
Use products.products to read the catalog of products and services.
Query
query GetProducts($since: DateTime, $first: Int, $after: String) {
products {
products(lastModifiedOnGreaterThen: $since, first: $first, after: $after) {
totalCount
pageInfo {
hasNextPage
endCursor
}
items {
key
name
code
barCode
externalCode
cNC
productType
createdOn
lastModifiedOn
productCategory { key id name externalCode }
measureUnit { key name symbol externalCode eInvoiceCode parentRatio }
}
}
}
}Variables
{
"since": "2026-10-01T00:00:00",
"first": 30,
"after": null
}cURL
curl --location 'https://sandbox.expressoft.eu/connect/api/interopgql' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{"query": "query GetProducts($since: DateTime, $first: Int, $after: String) { products { products(lastModifiedOnGreaterThen: $since, first: $first, after: $after) { totalCount pageInfo { hasNextPage endCursor } items { key name code barCode externalCode cNC productType createdOn lastModifiedOn productCategory { key id name externalCode } measureUnit { key name symbol externalCode eInvoiceCode parentRatio } } } } }", "variables": {"since": "2026-10-01T00:00:00", "first": 30, "after": null}}'Response
{
"data": {
"products": {
"products": {
"totalCount": 1,
"pageInfo": {
"hasNextPage": false,
"endCursor": "MQ=="
},
"items": [
{
"key": "00000000-0000-0000-0000-000000000003",
"name": "Flour 1 kg",
"code": "P001",
"barCode": "5940000000001",
"externalCode": "ERP-001",
"cNC": "11010000",
"productType": "Product",
"createdOn": "2026-01-10T09:00:00",
"lastModifiedOn": "2026-10-01T12:30:00",
"productCategory": {
"key": "00000000-0000-0000-0000-000000000012",
"id": 5,
"name": "Raw materials",
"externalCode": "301"
},
"measureUnit": {
"key": "00000000-0000-0000-0000-000000000013",
"name": "Kilogram",
"symbol": "kg",
"externalCode": "KGM",
"eInvoiceCode": "KGM",
"parentRatio": 1.0
}
}
]
}
}
}
}lastModifiedOnGreaterThen returns only the products created or changed after a date. Use it to sync the catalog step by step: keep the date of your last sync and send it next time.
productType is Product, Service, Recipe, Package, OpenItem, AdvancePay, GiftCard, Transportation, ServiceCharge, Pack, Tax.
productCategory.parentProductCategory(level) returns the parent category at a given level, and externalCode(inherit: true) takes the code of the parent when the category has none.