Types
This article contains all actions for retrieving and managing types. There are queries and mutations for different data domains available.
Get type by ID#
Available queries:
- getAttributeType
- getAttributeListType
- getAttributePropertyType
- getCatalogListType
- getCustomerListType
- getCustomerPropertyType
- getMediaType
- getMediaListType
- getMediaPropertyType
- getPluginType
- getPriceType
- getPriceListType
- getPricePropertyType
- getProductType
- getProductListType
- getProductPropertyType
- getRuleType
- getServiceType
- getServiceListType
- getStockType
- getSupplierListType
- getTextType
- getTextListType
query {
getProductType(id: "1") {
id
siteid
domain
code
label
position
status
mtime
ctime
editor
}
}
Aimeos.query(`query {
getProductType(id: "1") {
id
siteid
domain
code
label
position
status
mtime
ctime
editor
}
}`).then(data => {
console.log(data)
})
const body = JSON.stringify({'query':
`query {
getProductType(id: "1") {
id
siteid
domain
code
label
position
status
mtime
ctime
editor
}
}`});
fetch('<GraphQL URL>', {
method: 'POST',
credentials: 'same-origin',
headers: { // Laravel only
'X-CSRF-TOKEN': '<CSRF token>'
},
body: body
}).then(response => {
return response.json();
}).then(data => {
console.log(data);
});
Response:
{
"data": {
"getProductType": {
"id": "1",
"siteid": "1.",
"domain": "product",
"code": "default",
"label": "Article",
"position": 0,
"status": 1,
"mtime": "2022-05-28 06:26:37",
"ctime": "2022-05-28 06:26:37",
"editor": "core:setup"
}
}
}
Find type by code#
Available queries:
- findAttributeType
- findAttributeListType
- findAttributePropertyType
- findCatalogListType
- findCustomerListType
- findCustomerPropertyType
- findMediaType
- findMediaListType
- findMediaPropertyType
- findPluginType
- findPriceType
- findPriceListType
- findPricePropertyType
- findProductType
- findProductListType
- findProductPropertyType
- findRuleType
- findServiceType
- findServiceListType
- findStockType
- findSupplierListType
- findTextType
- findTextListType
query {
findProductType(code: "default", domain: "product") {
id
siteid
domain
code
label
position
status
mtime
ctime
editor
}
}
Aimeos.query(`query {
findProductType(code: "default", domain: "product") {
id
siteid
domain
code
label
position
status
mtime
ctime
editor
}
}`).then(data => {
console.log(data)
})
const body = JSON.stringify({'query':
`query {
findProductType(code: "default", domain: "product") {
id
siteid
domain
code
label
position
status
mtime
ctime
editor
}
}`});
fetch('<GraphQL URL>', {
method: 'POST',
credentials: 'same-origin',
headers: { // Laravel only
'X-CSRF-TOKEN': '<CSRF token>'
},
body: body
}).then(response => {
return response.json();
}).then(data => {
console.log(data);
});
Response:
{
"data": {
"findProductType": {
"id": "1",
"siteid": "1.",
"domain": "product",
"code": "default",
"label": "Article",
"position": 0,
"status": 1,
"mtime": "2022-05-28 06:26:37",
"ctime": "2022-05-28 06:26:37",
"editor": "core:setup"
}
}
}
Search types#
Available queries:
- searchAttributeTypes
- searchAttributeListTypes
- searchAttributePropertyTypes
- searchCatalogListTypes
- searchCustomerListTypes
- searchCustomerPropertyTypes
- searchMediaTypes
- searchMediaListTypes
- searchMediaPropertyTypes
- searchPluginTypes
- searchPriceTypes
- searchPriceListTypes
- searchPricePropertyTypes
- searchProductTypes
- searchProductListTypes
- searchProductPropertyTypes
- searchRuleTypes
- searchServiceTypes
- searchServiceListTypes
- searchStockTypes
- searchSupplierListTypes
- searchTextTypes
- searchTextListTypes
The filter parameter is explained in the filter section of the GraphQL basics article.
query {
searchProductTypes(filter: "{\\"==\\": {\\"product.type.domain\\":\\"product\\"}}") {
items {
id
siteid
domain
code
label
position
status
mtime
ctime
editor
}
total
}
}
Aimeos.query(`query {
searchProductTypes(filter: "{\\"==\\": {\\"product.type.domain\\":\\"product\\"}}") {
items {
id
siteid
domain
code
label
position
status
mtime
ctime
editor
}
total
}
}`).then(data => {
console.log(data)
})
let filter = {
"==": {"product.type.domain":"product"}
};
const fstr = JSON.stringify(JSON.stringify(filter));
const body = JSON.stringify({'query':
`query {
searchProductTypes(filter: ` + fstr + `) {
items {
id
siteid
domain
code
label
position
status
mtime
ctime
editor
}
total
}
}`});
fetch('<GraphQL URL>', {
method: 'POST',
credentials: 'same-origin',
headers: { // Laravel only
'X-CSRF-TOKEN': '<CSRF token>'
},
body: body
}).then(response => {
return response.json();
}).then(data => {
console.log(data);
});
Response:
{
"data": {
"searchProductTypes": {
"items": [
{
"id": "1",
"siteid": "1.",
"domain": "product",
"code": "default",
"label": "Article",
"position": 0,
"status": 1,
"mtime": "2022-05-28 06:26:37",
"ctime": "2022-05-28 06:26:37",
"editor": "core:setup"
},
{
"id": "2",
"siteid": "1.",
"domain": "product",
"code": "bundle",
"label": "Bundle",
"position": 0,
"status": 1,
"mtime": "2022-05-28 06:26:37",
"ctime": "2022-05-28 06:26:37",
"editor": "core:setup"
}
],
}
"total": 2
}
}
Save single type#
Available mutations:
- saveAttributeType
- saveAttributeListType
- saveAttributePropertyType
- saveCatalogListType
- saveCustomerListType
- saveCustomerPropertyType
- saveMediaType
- saveMediaListType
- saveMediaPropertyType
- savePluginType
- savePriceType
- savePriceListType
- savePricePropertyType
- saveProductType
- saveProductListType
- saveProductPropertyType
- saveRuleType
- saveServiceType
- saveServiceListType
- saveStockType
- saveSupplierListType
- saveTextType
- saveTextListType
mutation {
saveProductType(input: {
code: "test"
domain: "product"
label: "Test type"
}) {
id
}
}
Aimeos.query(`query {
saveProductType(input: {
code: "test"
domain: "product"
label: "Test type"
}) {
id
}
}`).then(data => {
console.log(data)
})
const body = JSON.stringify({'query':
`mutation {
saveProductType(input: {
code: "test"
domain: "product"
label: "Test type"
}) {
id
}
}`});
fetch('<GraphQL URL>', {
method: 'POST',
credentials: 'same-origin',
headers: { // Laravel only
'X-CSRF-TOKEN': '<CSRF token>'
},
body: body
}).then(response => {
return response.json();
}).then(data => {
console.log(data);
});
Response:
{
"data": {
"saveProductType": {
"id": "7"
}
}
}
Save multiple types#
Available mutations:
- saveAttributeTypes
- saveAttributeListTypes
- saveAttributePropertyTypes
- saveCatalogListTypes
- saveCustomerListTypes
- saveCustomerPropertyTypes
- saveMediaTypes
- saveMediaListTypes
- saveMediaPropertyTypes
- savePluginTypes
- savePriceTypes
- savePriceListTypes
- savePricePropertyTypes
- saveProductTypes
- saveProductListTypes
- saveProductPropertyTypes
- saveRuleTypes
- saveServiceTypes
- saveServiceListTypes
- saveStockTypes
- saveSupplierListTypes
- saveTextTypes
- saveTextListTypes
mutation {
saveProductTypes(input: [{
code: "test"
domain: "product"
label: "Test type 2"
},{
code: "test"
domain: "product"
label: "Test type 3"
}]) {
id
}
}
Aimeos.query(`query {
saveProductTypes(input: [{
code: "test"
domain: "product"
label: "Test type 2"
},{
code: "test"
domain: "product"
label: "Test type 3"
}]) {
id
}
}`).then(data => {
console.log(data)
})
const body = JSON.stringify({'query':
`mutation {
saveProductTypes(input: [{
code: "test"
domain: "product"
label: "Test type 2"
},{
code: "test"
domain: "product"
label: "Test type 3"
}]) {
id
}
}`});
fetch('<GraphQL URL>', {
method: 'POST',
credentials: 'same-origin',
headers: { // Laravel only
'X-CSRF-TOKEN': '<CSRF token>'
},
body: body
}).then(response => {
return response.json();
}).then(data => {
console.log(data);
});
Response:
{
"data": {
"saveProductTypes": [
{
"id": "8"
},
{
"id": "9"
}
]
}
}
Delete single type#
Available mutations:
- deleteAttributeType
- deleteAttributeListType
- deleteAttributePropertyType
- deleteCatalogListType
- deleteCustomerListType
- deleteCustomerPropertyType
- deleteMediaType
- deleteMediaListType
- deleteMediaPropertyType
- deletePluginType
- deletePriceType
- deletePriceListType
- deletePricePropertyType
- deleteProductType
- deleteProductListType
- deleteProductPropertyType
- deleteRuleType
- deleteServiceType
- deleteServiceListType
- deleteStockType
- deleteSupplierListType
- deleteTextType
- deleteTextListType
mutation {
deleteProductType(id: "7")
}
Aimeos.query(`query {
deleteProductType(id: "7")
}`).then(data => {
console.log(data)
})
const body = JSON.stringify({'query':
`mutation {
deleteProductType(id: "7")
}`});
fetch('<GraphQL URL>', {
method: 'POST',
credentials: 'same-origin',
headers: { // Laravel only
'X-CSRF-TOKEN': '<CSRF token>'
},
body: body
}).then(response => {
return response.json();
}).then(data => {
console.log(data);
});
Response:
{
"data": {
"deleteProductType": "7"
}
}
Delete multiple types#
Available mutations:
- deleteAttributeTypes
- deleteAttributeListTypes
- deleteAttributePropertyTypes
- deleteCatalogListTypes
- deleteCustomerListTypes
- deleteCustomerPropertyTypes
- deleteMediaTypes
- deleteMediaListTypes
- deleteMediaPropertyTypes
- deletePluginTypes
- deletePriceTypes
- deletePriceListTypes
- deletePricePropertyTypes
- deleteProductTypes
- deleteProductListTypes
- deleteProductPropertyTypes
- deleteRuleTypes
- deleteServiceTypes
- deleteServiceListTypes
- deleteStockTypes
- deleteSupplierListTypes
- deleteTextTypes
- deleteTextListTypes
mutation {
deleteProductTypes(id: ["8", "9"])
}
Aimeos.query(`query {
deleteProductTypes(id: ["8", "9"])
}`).then(data => {
console.log(data)
})
const body = JSON.stringify({'query':
`mutation {
deleteProductTypes(id: ["8", "9"])
}`});
fetch('<GraphQL URL>', {
method: 'POST',
credentials: 'same-origin',
headers: { // Laravel only
'X-CSRF-TOKEN': '<CSRF token>'
},
body: body
}).then(response => {
return response.json();
}).then(data => {
console.log(data);
});
Response:
{
"data": {
"deleteProductTypes": [
"8",
"9"
]
}
}