GraphQL
query {
Product (id: 100012) {
id
label
variants {
id
label
}
}
}
GraphQL
query {
Products {
data {
id
label
sku
}
}
}
id - Int Unique identifier of the product
label - String Name of the product
description - String Description of the product
active - Boolean If true, the product is active and can be used in documents
created_at - DateTime Creation date of the product
updated_at - DateTime Date of the latest product modification
option1 - Option First option of the product (ex: color)
option2 - Option Second option of the product (ex: size)
option3 - Option Third option of the product (ex: material)
variants - Array of Variant List of the variants of the product (based on attributes of options
suppliers - Array of Supplier Suppliers for this product
You can create filters based on following fields
label Example: { "column" : "LABEL", "operator" : "LIKE", "value" : "%011%" }
sku (of the variants) Example: { "column" : "SKU", "operator" : "EQ", "value" : "135267U23" }
active Example: { column": "ACTIVE", "operator": "EQ", "value": true
created_at Example: { "column": "CREATED_AT", "operator": "LT", "value": "2024-01-11" }
updated_at Example: { "column": "UPDATED_AT", "operator": "LT", "value": "2024-01-11" }
option1_id Example: { "column": "OPTION1_ID", "operator": "EQ", "value": 102345 }
option2_id Example: { "column": "OPTION2_ID", "operator": "EQ", "value": 102346 }
option3_id Example: { "column": "OPTION3_ID", "operator": "EQ", "value": 102347 }
You can sort data based on following fields : id, label, active, created_at, updated_at
GraphQL
query Products(
$orderBy: [QueryProductsOrderByOrderByClause!],
$first: Int = 50,
$page: Int
) {
Products(
orderBy: $orderBy
first: $first
page: $page
) {
paginatorInfo {
total
}
data {
id
label
}
}
}
Variables (JSON)
{
"orderBy": [
{
"column": "LABEL",
"order": "ASC"
}
],
"first": 50,
"page": 1
}
GraphQL
query Products(
$where: QueryProductsWhereWhereConditions,
$first: Int = 50,
$page: Int
) {
Products(
where: $where
first: $first
page: $page
) {
paginatorInfo {
total
count
currentPage
perPage
}
data {
id
label
suppliers {
paginatorInfo {
total
}
data {
id
label
}
}
active
option1 {
id
label
}
variants {
paginatorInfo {
total
}
data {
id
sku
type
label
on_hand
track_inventory
}
}
}
}
}
JSON
{
"first": 50,
"page": 1,
"where": {
"AND": [
{
"AND": [
{
"column": "SKU",
"operator": "LIKE",
"value": "%QF%"
}
]
}
]
}
}
JSON
{
"data": {
"Products": {
"paginatorInfo": {
"total": 2,
"count": 2,
"currentPage": 1,
"perPage": 50
},
"data": [
{
"id": 100141,
"label": "Amazeballs Adidas Jacket",
"suppliers": {
"paginatorInfo": {
"total": 0
},
"data": []
},
"active": true,
"option1": null,
"variants": {
"paginatorInfo": {
"total": 1
},
"data": [
{
"id": 100181,
"sku": "ktQFtdxE7S",
"type": "normal",
"label": "Amazeballs Adidas Jacket",
"on_hand": 100,
"track_inventory": true
}
]
}
},
{
"id": 100266,
"label": "Imposing Lotto Pants",
"suppliers": {
"paginatorInfo": {
"total": 0
},
"data": []
},
"active": true,
"option1": null,
"variants": {
"paginatorInfo": {
"total": 1
},
"data": [
{
"id": 100306,
"sku": "nfhnCh3qfp",
"type": "normal",
"label": "Imposing Lotto Pants",
"on_hand": null,
"track_inventory": true
}
]
}
}
]
}
}
}