Products
Create, manage and query Products.
Overview
Product entities describe any offered product or service, as defined by Schema.org. Products are specified by their name, and optional SKU.
Products are not unique by name, across the Graphlit project.
Operations
Create Product
The createProduct
mutation enables the creation of a product by accepting the product name
, uri
, manufacturer
and sku
. It returns essential details, including the ID and name of the newly generated product.
Mutation:
mutation CreateProduct($product: ProductInput!) {
createProduct(product: $product) {
id
name
}
}
Variables:
{
"product": {
"sku": "gpt-35-turbo",
"manufacturer": "OpenAI",
"uri": "https://www.openai.com",
"description": "Large Language Model",
"name": "GPT-3.5"
}
}
Response:
{
"id": "8a32f02a-fa37-4df2-8efb-860a6d566c83",
"name": "GPT-3.5"
}
Update Product
The updateProduct
mutation enables the updating of a product by accepting the product name
and other optional fields like sku
.
Mutation:
mutation UpdateProduct($product: ProductUpdateInput!) {
updateProduct(product: $product) {
id
name
}
}
Variables:
{
"product": {
"sku": "gpt-4",
"manufacturer": "OpenAI",
"uri": "https://www.openai.com",
"description": "Large Language Model",
"id": "8a32f02a-fa37-4df2-8efb-860a6d566c83",
"name": "GPT-4"
}
}
Response:
{
"id": "8a32f02a-fa37-4df2-8efb-860a6d566c83",
"name": "GPT-4"
}
Delete Product
The deleteProduct
mutation allows the deletion of a product by utilizing the id
parameter, and it returns the ID and state of the deleted product.
Mutation:
mutation DeleteProduct($id: ID!) {
deleteProduct(id: $id) {
id
state
}
}
Variables:
{
"id": "8a32f02a-fa37-4df2-8efb-860a6d566c83"
}
Response:
{
"id": "8a32f02a-fa37-4df2-8efb-860a6d566c83",
"state": "DELETED"
}
Delete Products
The deleteProducts
mutation allows the deletion of multiple products, as specified by the ids
array parameter, and it returns the ID and state of the deleted products.
Mutation:
mutation DeleteProducts($ids: [ID!]!) {
deleteProducts(ids: $ids) {
id
state
}
}
Variables:
{
"ids": [
"39fcf408p-15ca-4cc2-9476-622d64aa38f3",
"93476a0c-d567-4624-9d5e-df43dfff92ea"
]
}
Response:
[
{
"id": "93476a0c-d567-4624-9d5e-df43dfff92ea",
"state": "DELETED"
},
{
"id": "39fcf408-15ca-4cc2-9476-622d64aa38f3",
"state": "DELETED"
}
]
Get Product
The product
query allows you to retrieve specific details of a product by providing the id
parameter.
Query:
query GetProduct($id: ID!) {
product(id: $id) {
id
name
manufacturer
model
brand
upc
sku
releaseDate
productionDate
}
}
Variables:
{
"id": "8a32f02a-fa37-4df2-8efb-860a6d566c83"
}
Response:
{
"sku": "gpt-4",
"manufacturer": "OpenAI",
"id": "8a32f02a-fa37-4df2-8efb-860a6d566c83",
"name": "GPT-4"
}
Query Products
Query Products
The products
query allows you to retrieve all products. It returns a list of product results, including the ID and name for each product.
Query:
query QueryProducts($filter: ProductFilter!) {
products(filter: $filter) {
results {
id
name
manufacturer
model
brand
upc
sku
releaseDate
productionDate
}
}
}
Variables:
{
"filter": {
"offset": 0,
"limit": 100
}
}
Response:
{
"results": [
{
"sku": "gpt-4",
"manufacturer": "OpenAI",
"id": "8a32f02a-fa37-4df2-8efb-860a6d566c83",
"name": "GPT-4"
}
]
}
Query Products By Name
The products
query allows you to retrieve products based on a specific filter criteria, via the name
parameter. In this example, the name
is set to "gpt." It returns a list of product results containing the ID and name for each matching product.
Query:
query QueryProducts($filter: ProductFilter!) {
products(filter: $filter) {
results {
id
name
manufacturer
model
brand
upc
sku
releaseDate
productionDate
}
}
}
Variables:
{
"filter": {
"name": "gpt",
"offset": 0,
"limit": 100
}
}
Response:
{
"results": [
{
"sku": "gpt-4",
"manufacturer": "OpenAI",
"id": "8a32f02a-fa37-4df2-8efb-860a6d566c83",
"name": "GPT-4"
}
]
}
Last updated