LOCO API - GraphQL

Základní informace o API neleznete zde

Contact

API Support

loco@expan.do

https://loco.expan.do

API Endpoints
# Production:
https://loco-app.expan.do/api/graphql
Headers
Authorization: Bearer <YOUR_TOKEN_HERE>

Webhook

Webhooks vám umožňují automaticky stahovat přeložené produkty a další texty z LOCO aplikace.

Nastavení Webhooku

  • V administraci LOCO aplikace na stránce https://loco-app.expan.do/admin/setting/api si vytvořte nový webhook, kde zadejte URL adresu, na kterou se budou odesílat data.
  • V exportním připojení nastavte, které webhooks se budou spouštět.

Funkce Webhooku

V pravidelných intervalech, dle nastavení časovače v exportním připojení, se budou přeložená data odesílat na vaši URL adresu pomocí POST požadavku. Odeslané záznamy se v LOCO označí jako vyexportované.

Zabezpečení komunikace

  • Webhooky jsou podepsány pomocí tajného klíče, který zjistíme v aplikaci na stránce https://loco-app.expan.do/admin/setting/api
  • Ověření na straně klienta lze provést např. takto:
    
                  $secret = 'XXX'; // Tajný klíč
                  $body = file_get_contents('php://input'); // Získání těla zprávy
                  $signature = $_SERVER['HTTP_SIGNATURE']; // Získání signature z hlavičky
                  
                  // Vytvoření HMAC hash
                  $hash = hash_hmac('sha256', $body, $secret);
                  
                  // Ověření signature
                  if (hash_equals($hash, $signature)) {
                      // Signature je platná
                  } else {
                      // Signature není platná
                  }
                  
                                      

Přeložené produkty [product:translated]

Example

Response

{
    "data": {
        "products": [
            {
                "node": {
                    "productId": 8125,
                    "status": "EXPORT_WAITING",
                    "identifier": "API_PRODUCT_2",
                    "url": null,
                    "translation": {
                        "language": "cs_CZ",
                        "title": "R\u016f\u017eov\u00e1 bota",
                        "description": null,
                        "description2": null,
                        "descriptionShort": null,
                        "seoTitle": null,
                        "seoDescription": null,
                        "seoUrl": null
                    },
                    "variants": [
                        {
                            "variantId": 8125,
                            "identifier": "API_VARINAT_2",
                            "price": null,
                            "currency": null,
                            "sku": null,
                            "ean": null,
                            "stock": null,
                            "imageId": null,
                            "translation": null,
                            "options": [
                                {
                                    "optionId": 3,
                                    "variant": 1,
                                    "type": null,
                                    "identifier": "API_OPTION_1",
                                    "translation": {
                                        "language": "cs_CZ",
                                        "name": "Option 1",
                                        "description": null,
                                        "displayName": null
                                    },
                                    "values": [
                                        {
                                            "valueId": 3,
                                            "identifier": "API_OPTION_VALUE_1",
                                            "translation": {
                                                "language": "cs_CZ",
                                                "name": "Option value 1",
                                                "description": null
                                            }
                                        }
                                    ]
                                },
                                {
                                    "optionId": 4,
                                    "variant": 1,
                                    "type": null,
                                    "identifier": "API_OPTION_2",
                                    "translation": {
                                        "language": "cs_CZ",
                                        "name": "Option 2",
                                        "description": null,
                                        "displayName": null
                                    },
                                    "values": [
                                        {
                                            "valueId": 4,
                                            "identifier": "API_OPTION_VALUE_2",
                                            "translation": {
                                                "language": "cs_CZ",
                                                "name": "Option value 2",
                                                "description": null
                                            }
                                        }
                                    ]
                                }
                            ]
                        }
                    ],
                    "options": [
                        {
                            "optionId": 1,
                            "variant": 0,
                            "type": null,
                            "identifier": "API_OPTION_3",
                            "translation": {
                                "language": "cs_CZ",
                                "name": "Option 3",
                                "description": null,
                                "displayName": null
                            },
                            "values": [
                                {
                                    "valueId": 1,
                                    "identifier": "API_OPTION_VALUE_3",
                                    "translation": {
                                        "language": "cs_CZ",
                                        "name": "Option value 3",
                                        "description": null
                                    }
                                }
                            ]
                        },
                        {
                            "optionId": 2,
                            "variant": 0,
                            "type": null,
                            "identifier": "API_OPTION_4",
                            "translation": {
                                "language": "cs_CZ",
                                "name": "Option 4",
                                "description": null,
                                "displayName": null
                            },
                            "values": [
                                {
                                    "valueId": 2,
                                    "identifier": "API_OPTION_VALUE_4",
                                    "translation": {
                                        "language": "cs_CZ",
                                        "name": "Option value 4",
                                        "description": null
                                    }
                                }
                            ]
                        }
                    ],
                    "reviews": [
                        {
                            "reviewId": 2,
                            "identifier": "API_REVIEW_1",
                            "translation": {
                                "language": "cs_CZ",
                                "title": "Divn\u00e1 barba",
                                "description": null,
                                "reply": null,
                                "pros": null,
                                "cons": null
                            }
                        }
                    ],
                    "categories": [
                        {
                            "categoryId": 1,
                            "identifier": "API_CATEGORY_1",
                            "translation": {
                                "language": "cs_CZ",
                                "title": "Knihy",
                                "description": null,
                                "description2": null,
                                "seoTitle": null,
                                "seoDescription": null,
                                "seoKeywords": null,
                                "menuTitle": null
                            }
                        }
                    ],
                    "tags": [
                        {
                            "tagId": 1,
                            "identifier": "API_TAG_1",
                            "translation": {
                                "language": "cs_CZ",
                                "name": "Sleva",
                                "description": null,
                                "seoTitle": null,
                                "seoDescription": null,
                                "seoKeywords": null
                            }
                        }
                    ],
                    "brands": [
                        {
                            "brandId": 1,
                            "identifier": "API_BRAND_1",
                            "brand": "Nike",
                            "translation": {
                                "language": "cs_CZ",
                                "description": "Nike je super",
                                "seoTitle": null,
                                "seoDescription": null,
                                "seoKeywords": null
                            }
                        }
                    ],
                    "images": [
                        {
                            "imageId": 8124,
                            "url": "https:\/\/www.metalshop.cz\/images\/produkty\/thumb\/l062.JPG",
                            "translation": null
                        }
                    ]
                }
            }
        ]
    }
}
            

Přeložené články [article:translated]

Example

Response

{
    "data": {
        "articles": [
            {
                "node": {
                    "articleId": 1,
                    "status": '',
                    "identifier": '',
                    "translation": {
                        "language": 'text',
                        "title": null,
                        "perex": null,
                        "text": null,
                        "seoTitle": null,
                        "seoPerex": null,
                        "seoKeywords": null,
                        "seoUrl": null,
                    }
                }
            }
        ]
    }
}
            

Přeložený vlastní obsah [custom_content:translated]

Example

Response

{
    "data": {
        "contents": [
            {
                "node": {
                    "contentId": 1,
                    "status": '',
                    "identifier": '',
                    "customData": [
                        {
                            "key": '',
                            "value": ''
                        }
                    ],
                    "translation": {
                        "text1": 'text',
                        "text2": null,
                        "text3": null,
                        "text4": null,
                        "text5": null,
                    }
                }
            }
        ]
    }
}
            

Notifikace typu chyba [notification:error]

Example

Response

{
    "data": {
        "notifications": [
            {
                "node": {
                    "type": 'translate-error',
                    "modelType": 'product',
                    "modelId": 123,
                    "message": 'An error'
                }
            }
        ]
    }
}
            

Přeložené kategorie [category:translated]

Example

Response

{
    "data": {
        "categories": [
            {
                "node": {
                    "categoryId": 1,
                    "identifier": "API_CATEGORY_1",
                    "translation": {
                        "description": null,
                        "description2": null,
                        "language": "cs_CZ",
                        "menuTitle": null,
                        "seoDescription": null,
                        "seoKeywords": null,
                        "seoTitle": null,
                        "title": "Knihy"
                    }
                }
            }
        ]
    }
}
            

Přeložené recenze [review:translated]

Example

Response

{
    "data": {
        "reviews": [
            {
                "node": {
                    "reviewId": 1,
                    "identifier": "API_REVIEW_1",
                    "translation": {
                        "language": "cs_CZ",
                        "title": "Super produkt, koup\u00edm znovu",
                        "description": "Tralalala",
                        "reply": null,
                        "pros": "Jo jako jde to",
                        "cons": "Nic nem\u00e1m"
                    }
                }
            },
            {
                "node": {
                    "reviewId": 2,
                    "identifier": "API_REVIEW_1",
                    "translation": {
                        "language": "cs_CZ",
                        "title": "Divn\u00e1 barba",
                        "description": null,
                        "reply": null,
                        "pros": null,
                        "cons": null
                    }
                }
            }
        ]
    }
}
            

Queries

articles

Response

Returns an ArticleConnection!

Arguments
Name Description
connectionIdExport - Int! Export connection id (required)
articleId - Int Filter by article ID
identifier - String Filter by identifier
articleIds - [Int] Filter by array article ID
first - Int! Limits number of fetched items.
after - String A cursor after which elements are returned.

Example

Query
query Articles(
  $connectionIdExport: Int!,
  $articleId: Int,
  $identifier: String,
  $articleIds: [Int],
  $first: Int!,
  $after: String
) {
  articles(
    connectionIdExport: $connectionIdExport,
    articleId: $articleId,
    identifier: $identifier,
    articleIds: $articleIds,
    first: $first,
    after: $after
  ) {
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
      total
      count
      currentPage
      lastPage
    }
    edges {
      node {
        ...ArticleFragment
      }
      cursor
    }
  }
}
Variables
{
  "connectionIdExport": 123,
  "articleId": 987,
  "identifier": "xyz789",
  "articleIds": [123],
  "first": 987,
  "after": "xyz789"
}
Response
{
  "data": {
    "articles": {
      "pageInfo": PageInfo,
      "edges": [ArticleEdge]
    }
  }
}

brands

Response

Returns a BrandConnection!

Arguments
Name Description
connectionIdExport - Int! Export connection id (required)
brandId - Int Filter by brand ID
identifier - String Filter by identifier
first - Int! Limits number of fetched items.
after - String A cursor after which elements are returned.

Example

Query
query Brands(
  $connectionIdExport: Int!,
  $brandId: Int,
  $identifier: String,
  $first: Int!,
  $after: String
) {
  brands(
    connectionIdExport: $connectionIdExport,
    brandId: $brandId,
    identifier: $identifier,
    first: $first,
    after: $after
  ) {
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
      total
      count
      currentPage
      lastPage
    }
    edges {
      node {
        ...BrandFragment
      }
      cursor
    }
  }
}
Variables
{
  "connectionIdExport": 987,
  "brandId": 987,
  "identifier": "xyz789",
  "first": 987,
  "after": "abc123"
}
Response
{
  "data": {
    "brands": {
      "pageInfo": PageInfo,
      "edges": [BrandEdge]
    }
  }
}

categories

Response

Returns a CategoryConnection!

Arguments
Name Description
connectionIdExport - Int! Export connection id (required)
categoryId - Int Filter by category ID
identifier - String Filter by identifier
categoryIds - [Int] Filter by array category ID
first - Int! Limits number of fetched items.
after - String A cursor after which elements are returned.

Example

Query
query Categories(
  $connectionIdExport: Int!,
  $categoryId: Int,
  $identifier: String,
  $categoryIds: [Int],
  $first: Int!,
  $after: String
) {
  categories(
    connectionIdExport: $connectionIdExport,
    categoryId: $categoryId,
    identifier: $identifier,
    categoryIds: $categoryIds,
    first: $first,
    after: $after
  ) {
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
      total
      count
      currentPage
      lastPage
    }
    edges {
      node {
        ...CategoryFragment
      }
      cursor
    }
  }
}
Variables
{
  "connectionIdExport": 987,
  "categoryId": 987,
  "identifier": "abc123",
  "categoryIds": [123],
  "first": 123,
  "after": "xyz789"
}
Response
{
  "data": {
    "categories": {
      "pageInfo": PageInfo,
      "edges": [CategoryEdge]
    }
  }
}

customContents

Response

Returns a CustomContentConnection!

Arguments
Name Description
connectionIdExport - Int! Export connection id (required)
contentId - Int Filter by content ID
identifier - String Filter by identifier
contentIds - [Int] Filter by array article ID
first - Int! Limits number of fetched items.
after - String A cursor after which elements are returned.

Example

Query
query CustomContents(
  $connectionIdExport: Int!,
  $contentId: Int,
  $identifier: String,
  $contentIds: [Int],
  $first: Int!,
  $after: String
) {
  customContents(
    connectionIdExport: $connectionIdExport,
    contentId: $contentId,
    identifier: $identifier,
    contentIds: $contentIds,
    first: $first,
    after: $after
  ) {
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
      total
      count
      currentPage
      lastPage
    }
    edges {
      node {
        ...CustomContentFragment
      }
      cursor
    }
  }
}
Variables
{
  "connectionIdExport": 987,
  "contentId": 123,
  "identifier": "abc123",
  "contentIds": [123],
  "first": 123,
  "after": "abc123"
}
Response
{
  "data": {
    "customContents": {
      "pageInfo": PageInfo,
      "edges": [CustomContentEdge]
    }
  }
}

glossaries

Response

Returns a GlossaryPagination!

Arguments
Name Description
page - Int Default = 1
onPage - Int Default = 100
fulltext - String

Example

Query
query Glossaries(
  $page: Int,
  $onPage: Int,
  $fulltext: String
) {
  glossaries(
    page: $page,
    onPage: $onPage,
    fulltext: $fulltext
  ) {
    data {
      id
      languageFrom
      languageTo
      textSource
      textTarget
      limitation
    }
    currentPage
    perPage
    totalCount
    totalPage
  }
}
Variables
{
  "page": 1,
  "onPage": 100,
  "fulltext": "xyz789"
}
Response
{
  "data": {
    "glossaries": {
      "data": [Glossary],
      "currentPage": 987,
      "perPage": 123,
      "totalCount": 123,
      "totalPage": 987
    }
  }
}

languages

Description

Return all languages

Response

Returns [Language!]!

Example

Query
query Languages {
  languages {
    languageId
    icu
  }
}
Response
{
  "data": {
    "languages": [
      {"languageId": 987, "icu": "xyz789"}
    ]
  }
}

options

Response

Returns an OptionConnection!

Arguments
Name Description
connectionIdExport - Int! Export connection id (required)
optionId - Int Filter by option ID
identifier - String Filter by identifier
first - Int! Limits number of fetched items.
after - String A cursor after which elements are returned.

Example

Query
query Options(
  $connectionIdExport: Int!,
  $optionId: Int,
  $identifier: String,
  $first: Int!,
  $after: String
) {
  options(
    connectionIdExport: $connectionIdExport,
    optionId: $optionId,
    identifier: $identifier,
    first: $first,
    after: $after
  ) {
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
      total
      count
      currentPage
      lastPage
    }
    edges {
      node {
        ...OptionFragment
      }
      cursor
    }
  }
}
Variables
{
  "connectionIdExport": 123,
  "optionId": 987,
  "identifier": "abc123",
  "first": 987,
  "after": "xyz789"
}
Response
{
  "data": {
    "options": {
      "pageInfo": PageInfo,
      "edges": [OptionEdge]
    }
  }
}

products

Description

Returns all products marked for export to the desired export connection.

Response

Returns a ProductConnection!

Arguments
Name Description
connectionIdExport - Int! Export connection id (required)
identifier - String Filter by identifier
productId - Int Filter by product ID
productIds - [Int] Filter by array product ID
first - Int! Limits number of fetched items.
after - String A cursor after which elements are returned.

Example

Query
query Products(
  $connectionIdExport: Int!,
  $identifier: String,
  $productId: Int,
  $productIds: [Int],
  $first: Int!,
  $after: String
) {
  products(
    connectionIdExport: $connectionIdExport,
    identifier: $identifier,
    productId: $productId,
    productIds: $productIds,
    first: $first,
    after: $after
  ) {
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
      total
      count
      currentPage
      lastPage
    }
    edges {
      node {
        ...ProductFragment
      }
      cursor
    }
  }
}
Variables
{
  "connectionIdExport": 123,
  "identifier": "xyz789",
  "productId": 123,
  "productIds": [123],
  "first": 123,
  "after": "abc123"
}
Response
{
  "data": {
    "products": {
      "pageInfo": PageInfo,
      "edges": [ProductEdge]
    }
  }
}

reviews

Response

Returns a ReviewConnection!

Arguments
Name Description
connectionIdExport - Int! Export connection id (required)
reviewId - Int Filter by review ID
identifier - String Filter by identifier
reviewIds - [Int] Filter by array review ID
first - Int! Limits number of fetched items.
after - String A cursor after which elements are returned.

Example

Query
query Reviews(
  $connectionIdExport: Int!,
  $reviewId: Int,
  $identifier: String,
  $reviewIds: [Int],
  $first: Int!,
  $after: String
) {
  reviews(
    connectionIdExport: $connectionIdExport,
    reviewId: $reviewId,
    identifier: $identifier,
    reviewIds: $reviewIds,
    first: $first,
    after: $after
  ) {
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
      total
      count
      currentPage
      lastPage
    }
    edges {
      node {
        ...ReviewFragment
      }
      cursor
    }
  }
}
Variables
{
  "connectionIdExport": 987,
  "reviewId": 987,
  "identifier": "abc123",
  "reviewIds": [123],
  "first": 123,
  "after": "xyz789"
}
Response
{
  "data": {
    "reviews": {
      "pageInfo": PageInfo,
      "edges": [ReviewEdge]
    }
  }
}

tags

Response

Returns a TagConnection!

Arguments
Name Description
connectionIdExport - Int! Export connection id (required)
tagId - Int Filter by tag ID
identifier - String Filter by identifier
first - Int! Limits number of fetched items.
after - String A cursor after which elements are returned.

Example

Query
query Tags(
  $connectionIdExport: Int!,
  $tagId: Int,
  $identifier: String,
  $first: Int!,
  $after: String
) {
  tags(
    connectionIdExport: $connectionIdExport,
    tagId: $tagId,
    identifier: $identifier,
    first: $first,
    after: $after
  ) {
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
      total
      count
      currentPage
      lastPage
    }
    edges {
      node {
        ...TagFragment
      }
      cursor
    }
  }
}
Variables
{
  "connectionIdExport": 123,
  "tagId": 987,
  "identifier": "abc123",
  "first": 987,
  "after": "abc123"
}
Response
{
  "data": {
    "tags": {
      "pageInfo": PageInfo,
      "edges": [TagEdge]
    }
  }
}

Mutations

articleCreateOrUpdate

Description

Creates or updates a article, depending on whether it exists in the database. The existence of the article is determined by the identifier.

Response

Returns an Articles

Arguments
Name Description
connectionIdImport - Int! Import connection id (required)
input - [ArticleInput!]

Example

Query
mutation ArticleCreateOrUpdate(
  $connectionIdImport: Int!,
  $input: [ArticleInput!]
) {
  articleCreateOrUpdate(
    connectionIdImport: $connectionIdImport,
    input: $input
  ) {
    articles {
      articleId
      identifier
    }
  }
}
Variables
{"connectionIdImport": 123, "input": [ArticleInput]}
Response
{
  "data": {
    "articleCreateOrUpdate": {"articles": [ArticleOutput]}
  }
}

createOrUpdateArticle

No longer supported
Response

Returns an Articles

Arguments
Name Description
connectionIdImport - Int!
input - [ArticleInput!]

Example

Query
mutation CreateOrUpdateArticle(
  $connectionIdImport: Int!,
  $input: [ArticleInput!]
) {
  createOrUpdateArticle(
    connectionIdImport: $connectionIdImport,
    input: $input
  ) {
    articles {
      articleId
      identifier
    }
  }
}
Variables
{"connectionIdImport": 987, "input": [ArticleInput]}
Response
{
  "data": {
    "createOrUpdateArticle": {"articles": [ArticleOutput]}
  }
}

createOrUpdateCustomContent

No longer supported
Response

Returns a CustomContents

Arguments
Name Description
connectionIdImport - Int!
input - [CustomContentInput!]

Example

Query
mutation CreateOrUpdateCustomContent(
  $connectionIdImport: Int!,
  $input: [CustomContentInput!]
) {
  createOrUpdateCustomContent(
    connectionIdImport: $connectionIdImport,
    input: $input
  ) {
    contents {
      contentId
      identifier
    }
  }
}
Variables
{"connectionIdImport": 123, "input": [CustomContentInput]}
Response
{
  "data": {
    "createOrUpdateCustomContent": {
      "contents": [CustomContentOutput]
    }
  }
}

createOrUpdateProduct

No longer supported
Response

Returns a Products

Arguments
Name Description
connectionIdImport - Int!
input - [ProductInput!]

Example

Query
mutation CreateOrUpdateProduct(
  $connectionIdImport: Int!,
  $input: [ProductInput!]
) {
  createOrUpdateProduct(
    connectionIdImport: $connectionIdImport,
    input: $input
  ) {
    products {
      productId
      identifier
    }
  }
}
Variables
{"connectionIdImport": 987, "input": [ProductInput]}
Response
{
  "data": {
    "createOrUpdateProduct": {"products": [ProductOutput]}
  }
}

createOrUpdateReview

No longer supported
Response

Returns a Reviews

Arguments
Name Description
connectionIdImport - Int!
input - [ReviewInput!]

Example

Query
mutation CreateOrUpdateReview(
  $connectionIdImport: Int!,
  $input: [ReviewInput!]
) {
  createOrUpdateReview(
    connectionIdImport: $connectionIdImport,
    input: $input
  ) {
    reviews {
      identifier
    }
    errors {
      message
      code
    }
  }
}
Variables
{"connectionIdImport": 987, "input": [ReviewInput]}
Response
{
  "data": {
    "createOrUpdateReview": {
      "reviews": [ReviewOutput],
      "errors": [ErrorOutput]
    }
  }
}

customContentCreateOrUpdate

Description

Creates or updates a custom content, depending on whether it exists in the database. The existence of the custom content is determined by the identifier.

Response

Returns a CustomContents

Arguments
Name Description
connectionIdImport - Int! Import connection id (required)
input - [CustomContentInput!]

Example

Query
mutation CustomContentCreateOrUpdate(
  $connectionIdImport: Int!,
  $input: [CustomContentInput!]
) {
  customContentCreateOrUpdate(
    connectionIdImport: $connectionIdImport,
    input: $input
  ) {
    contents {
      contentId
      identifier
    }
  }
}
Variables
{"connectionIdImport": 123, "input": [CustomContentInput]}
Response
{
  "data": {
    "customContentCreateOrUpdate": {
      "contents": [CustomContentOutput]
    }
  }
}

glossaryItemCreateOrUpdate

Description

Creates or updates a glossary item, depending on whether it exists in the database. The existence of the glossary item is determined by the textSource, languageFrom and languageTo. If you want to update limitation to none value, you need to send 'limitation' with null value.

Response

Returns a Glossaries

Arguments
Name Description
input - [CreateGlossaryInput!]

Example

Query
mutation GlossaryItemCreateOrUpdate($input: [CreateGlossaryInput!]) {
  glossaryItemCreateOrUpdate(input: $input) {
    glossaries {
      glossaryId
    }
    errors {
      message
      code
    }
  }
}
Variables
{"input": [CreateGlossaryInput]}
Response
{
  "data": {
    "glossaryItemCreateOrUpdate": {
      "glossaries": [GlossaryOutput],
      "errors": [ErrorOutput]
    }
  }
}

glossaryItemDelete

Description

Deletes a glossary item by his ID.

Response

Returns an ActionDefaultResponse!

Arguments
Name Description
id - [ID!]

Example

Query
mutation GlossaryItemDelete($id: [ID!]) {
  glossaryItemDelete(id: $id) {
    status
    errors {
      message
      code
    }
  }
}
Variables
{"id": [4]}
Response
{
  "data": {
    "glossaryItemDelete": {
      "status": "SUCCESS",
      "errors": [ErrorOutput]
    }
  }
}

productCreateOrUpdate

Description

Creates or updates a product, depending on whether it exists in the database. The existence of the product is determined by the identifier.

Response

Returns a Products

Arguments
Name Description
connectionIdImport - Int! Import connection id (required)
input - [ProductInput!]

Example

Query
mutation ProductCreateOrUpdate(
  $connectionIdImport: Int!,
  $input: [ProductInput!]
) {
  productCreateOrUpdate(
    connectionIdImport: $connectionIdImport,
    input: $input
  ) {
    products {
      productId
      identifier
    }
  }
}
Variables
{"connectionIdImport": 987, "input": [ProductInput]}
Response
{
  "data": {
    "productCreateOrUpdate": {"products": [ProductOutput]}
  }
}

productTranslationDelete

Description

Deletes product translation by his ID.

Response

Returns an ActionDefaultResponse!

Arguments
Name Description
language - LanguageEnum The language to remove the translation. If it is not specified, all product translations are removed.
productIdentifier - String Filter by identifier
productIds - [Int] Filter by array product ID

Example

Query
mutation ProductTranslationDelete(
  $language: LanguageEnum,
  $productIdentifier: String,
  $productIds: [Int]
) {
  productTranslationDelete(
    language: $language,
    productIdentifier: $productIdentifier,
    productIds: $productIds
  ) {
    status
    errors {
      message
      code
    }
  }
}
Variables
{
  "language": "cs_CZ",
  "productIdentifier": "xyz789",
  "productIds": [987]
}
Response
{
  "data": {
    "productTranslationDelete": {
      "status": "SUCCESS",
      "errors": [ErrorOutput]
    }
  }
}

reviewCreateOrUpdate

Description

Creates or updates a review, depending on whether it exists in the database. The existence of the review is determined by the identifier.

Response

Returns a Reviews

Arguments
Name Description
connectionIdImport - Int! Import connection id (required)
input - [ReviewInput!]

Example

Query
mutation ReviewCreateOrUpdate(
  $connectionIdImport: Int!,
  $input: [ReviewInput!]
) {
  reviewCreateOrUpdate(
    connectionIdImport: $connectionIdImport,
    input: $input
  ) {
    reviews {
      identifier
    }
    errors {
      message
      code
    }
  }
}
Variables
{"connectionIdImport": 123, "input": [ReviewInput]}
Response
{
  "data": {
    "reviewCreateOrUpdate": {
      "reviews": [ReviewOutput],
      "errors": [ErrorOutput]
    }
  }
}

Types

ActionDefaultResponse

Fields
Field Name Description
status - ActionStatusResponse!
errors - [ErrorOutput]
Example
{"status": "SUCCESS", "errors": [ErrorOutput]}

ActionStatusResponse

Values
Enum Value Description

SUCCESS

ERROR

Example
"SUCCESS"

Article

Fields
Field Name Description
articleId - Int
identifier - String!
status - ProductStatus
translation - ArticleTranslation
customData - [CustomData]
Example
{
  "articleId": 987,
  "identifier": "xyz789",
  "status": "TRANSLATION_WAITING",
  "translation": ArticleTranslation,
  "customData": [CustomData]
}

ArticleConnection

Description

A paginated list of Article edges.

Fields
Field Name Description
pageInfo - PageInfo! Pagination information about the list of edges.
edges - [ArticleEdge!]! A list of Article edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [ArticleEdge]
}

ArticleEdge

Description

An edge that contains a node of type Article and a cursor.

Fields
Field Name Description
node - Article! The Article node.
cursor - String! A unique cursor that can be used for pagination.
Example
{
  "node": Article,
  "cursor": "xyz789"
}

ArticleInput

Fields
Input Field Description
identifier - String!
sourceUrl - String
sourceText - ArticleSourceTextInput!
customData - [CustomDataInput!]
Example
{
  "identifier": "abc123",
  "sourceUrl": "abc123",
  "sourceText": ArticleSourceTextInput,
  "customData": [CustomDataInput]
}

ArticleOutput

Fields
Field Name Description
articleId - Int
identifier - String
Example
{"articleId": 123, "identifier": "xyz789"}

ArticleSourceTextInput

Fields
Input Field Description
title - String!
perex - String
text - String
seoTitle - String
seoPerex - String
seoUrl - String
seoKeywords - String
Example
{
  "title": "abc123",
  "perex": "xyz789",
  "text": "abc123",
  "seoTitle": "xyz789",
  "seoPerex": "abc123",
  "seoUrl": "xyz789",
  "seoKeywords": "xyz789"
}

ArticleTranslation

Fields
Field Name Description
language - LanguageEnum
title - String
perex - String
text - String
seoTitle - String
seoPerex - String
seoUrl - String
seoKeywords - String
Example
{
  "language": "cs_CZ",
  "title": "xyz789",
  "perex": "xyz789",
  "text": "abc123",
  "seoTitle": "xyz789",
  "seoPerex": "abc123",
  "seoUrl": "abc123",
  "seoKeywords": "abc123"
}

Articles

Fields
Field Name Description
articles - [ArticleOutput]
Example
{"articles": [ArticleOutput]}

Boolean

Description

The Boolean scalar type represents true or false.

Brand

Fields
Field Name Description
brandId - Int
identifier - String!
brand - String!
translation - BrandTranslation
Example
{
  "brandId": 987,
  "identifier": "abc123",
  "brand": "abc123",
  "translation": BrandTranslation
}

BrandConnection

Description

A paginated list of Brand edges.

Fields
Field Name Description
pageInfo - PageInfo! Pagination information about the list of edges.
edges - [BrandEdge!]! A list of Brand edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [BrandEdge]
}

BrandEdge

Description

An edge that contains a node of type Brand and a cursor.

Fields
Field Name Description
node - Brand! The Brand node.
cursor - String! A unique cursor that can be used for pagination.
Example
{
  "node": Brand,
  "cursor": "xyz789"
}

BrandProductInput

Fields
Input Field Description
identifier - String!
brand - String!
sourceText - BrandSourceTextInput
Example
{
  "identifier": "xyz789",
  "brand": "abc123",
  "sourceText": BrandSourceTextInput
}

BrandSourceTextInput

Fields
Input Field Description
description - String
seoTitle - String
seoDescription - String
seoKeywords - String
Example
{
  "description": "xyz789",
  "seoTitle": "abc123",
  "seoDescription": "xyz789",
  "seoKeywords": "xyz789"
}

BrandTranslation

Fields
Field Name Description
language - LanguageEnum
description - String
seoTitle - String
seoDescription - String
seoKeywords - String
Example
{
  "language": "cs_CZ",
  "description": "xyz789",
  "seoTitle": "xyz789",
  "seoDescription": "xyz789",
  "seoKeywords": "xyz789"
}

Category

Fields
Field Name Description
categoryId - Int
identifier - String!
translation - CategoryTranslation
Example
{
  "categoryId": 123,
  "identifier": "xyz789",
  "translation": CategoryTranslation
}

CategoryConnection

Description

A paginated list of Category edges.

Fields
Field Name Description
pageInfo - PageInfo! Pagination information about the list of edges.
edges - [CategoryEdge!]! A list of Category edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [CategoryEdge]
}

CategoryEdge

Description

An edge that contains a node of type Category and a cursor.

Fields
Field Name Description
node - Category! The Category node.
cursor - String! A unique cursor that can be used for pagination.
Example
{
  "node": Category,
  "cursor": "abc123"
}

CategoryProductInput

Fields
Input Field Description
identifier - String!
parentIdentifier - String
sourceText - CategorySourceTextInput!
Example
{
  "identifier": "abc123",
  "parentIdentifier": "xyz789",
  "sourceText": CategorySourceTextInput
}

CategorySourceTextInput

Fields
Input Field Description
title - String!
description - String
description2 - String
seoTitle - String
seoDescription - String
seoKeywords - String
menuTitle - String
Example
{
  "title": "abc123",
  "description": "xyz789",
  "description2": "abc123",
  "seoTitle": "xyz789",
  "seoDescription": "xyz789",
  "seoKeywords": "abc123",
  "menuTitle": "abc123"
}

CategoryTranslation

Fields
Field Name Description
language - LanguageEnum
title - String!
description - String
description2 - String
seoTitle - String
seoDescription - String
seoKeywords - String
menuTitle - String
Example
{
  "language": "cs_CZ",
  "title": "abc123",
  "description": "xyz789",
  "description2": "xyz789",
  "seoTitle": "xyz789",
  "seoDescription": "xyz789",
  "seoKeywords": "abc123",
  "menuTitle": "abc123"
}

CreateGlossaryInput

Fields
Input Field Description
languageFrom - LanguageEnum!
languageTo - LanguageEnum!
textSource - String!
textTarget - String!
limitation - [GlossaryLimitationEnum!]
Example
{
  "languageFrom": "cs_CZ",
  "languageTo": "cs_CZ",
  "textSource": "xyz789",
  "textTarget": "abc123",
  "limitation": ["product_title"]
}

CurrencyEnum

Values
Enum Value Description

CZK

EUR

PLN

USD

HRK

HUF

GBP

RON

UAH

RUB

CAD

BGN

Example
"CZK"

CustomContent

Fields
Field Name Description
contentId - Int
identifier - String!
status - ProductStatus
translation - CustomContentTranslation!
customData - [CustomData]
Example
{
  "contentId": 123,
  "identifier": "abc123",
  "status": "TRANSLATION_WAITING",
  "translation": CustomContentTranslation,
  "customData": [CustomData]
}

CustomContentConnection

Description

A paginated list of CustomContent edges.

Fields
Field Name Description
pageInfo - PageInfo! Pagination information about the list of edges.
edges - [CustomContentEdge!]! A list of CustomContent edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [CustomContentEdge]
}

CustomContentEdge

Description

An edge that contains a node of type CustomContent and a cursor.

Fields
Field Name Description
node - CustomContent! The CustomContent node.
cursor - String! A unique cursor that can be used for pagination.
Example
{
  "node": CustomContent,
  "cursor": "xyz789"
}

CustomContentInput

Fields
Input Field Description
identifier - String!
sourceText - CustomContentSourceTextInput!
customData - [CustomDataInput]
Example
{
  "identifier": "abc123",
  "sourceText": CustomContentSourceTextInput,
  "customData": [CustomDataInput]
}

CustomContentOutput

Fields
Field Name Description
contentId - Int
identifier - String
Example
{"contentId": 123, "identifier": "abc123"}

CustomContentSourceTextInput

Fields
Input Field Description
text1 - String!
text2 - String
text3 - String
text4 - String
text5 - String
Example
{
  "text1": "abc123",
  "text2": "xyz789",
  "text3": "abc123",
  "text4": "abc123",
  "text5": "abc123"
}

CustomContentTranslation

Fields
Field Name Description
language - LanguageEnum
text1 - String
text2 - String
text3 - String
text4 - String
text5 - String
Example
{
  "language": "cs_CZ",
  "text1": "abc123",
  "text2": "xyz789",
  "text3": "abc123",
  "text4": "abc123",
  "text5": "xyz789"
}

CustomContents

Fields
Field Name Description
contents - [CustomContentOutput]
Example
{"contents": [CustomContentOutput]}

CustomData

Fields
Field Name Description
key - String!
value - String!
Example
{
  "key": "abc123",
  "value": "abc123"
}

CustomDataInput

Fields
Input Field Description
key - String!
value - String
Example
{
  "key": "xyz789",
  "value": "abc123"
}

ErrorOutput

Fields
Field Name Description
message - String!
code - Int
Example
{"message": "xyz789", "code": 987}

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
987.65

Glossaries

Fields
Field Name Description
glossaries - [GlossaryOutput]
errors - [ErrorOutput]
Example
{
  "glossaries": [GlossaryOutput],
  "errors": [ErrorOutput]
}

Glossary

Fields
Field Name Description
id - ID!
languageFrom - String!
languageTo - String!
textSource - String!
textTarget - String!
limitation - [GlossaryLimitationEnum!]
Example
{
  "id": 4,
  "languageFrom": "abc123",
  "languageTo": "abc123",
  "textSource": "abc123",
  "textTarget": "abc123",
  "limitation": ["product_title"]
}

GlossaryLimitationEnum

Values
Enum Value Description

product_title

product_description

product_description2

product_description_short

seo_product_title

seo_product_description

product_parameter

product_dimension_table

category

url

tag

other_description

content

review

other

Example
"product_title"

GlossaryOutput

Fields
Field Name Description
glossaryId - Int
Example
{"glossaryId": 123}

GlossaryPagination

Fields
Field Name Description
data - [Glossary!]!
currentPage - Int!
perPage - Int!
totalCount - Int!
totalPage - Int!
Example
{
  "data": [Glossary],
  "currentPage": 987,
  "perPage": 123,
  "totalCount": 987,
  "totalPage": 987
}

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
4

Image

Fields
Field Name Description
imageId - Int
url - String!
translation - ImageTranslation
Example
{
  "imageId": 987,
  "url": "abc123",
  "translation": ImageTranslation
}

ImageProductInput

Fields
Input Field Description
identifier - String!
src - String!
position - Int
sourceText - ImageSourceTextInput
Example
{
  "identifier": "xyz789",
  "src": "xyz789",
  "position": 987,
  "sourceText": ImageSourceTextInput
}

ImageSourceTextInput

Fields
Input Field Description
alt - String!
Example
{"alt": "xyz789"}

ImageTranslation

Fields
Field Name Description
language - LanguageEnum
alt - String!
Example
{"language": "cs_CZ", "alt": "xyz789"}

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
123

Language

Fields
Field Name Description
languageId - Int
icu - String!
Example
{"languageId": 987, "icu": "abc123"}

LanguageEnum

Values
Enum Value Description

cs_CZ

sk_SK

pl_PL

en_GB

de_DE

hr_HR

hu_HU

fr_FR

it_IT

ro_RO

sl_SI

de_AT

uk_UA

lt_LT

en_US

ru_RU

es_ES

nl_NL

da_DK

bg_BG

pt_PT

el_GR

lv_LV

et_EE

Example
"cs_CZ"

Option

Fields
Field Name Description
optionId - Int
variant - Int
type - String
identifier - String!
translation - OptionTranslation
values - [OptionValue!]
Example
{
  "optionId": 987,
  "variant": 987,
  "type": "abc123",
  "identifier": "xyz789",
  "translation": OptionTranslation,
  "values": [OptionValue]
}

OptionConnection

Description

A paginated list of Option edges.

Fields
Field Name Description
pageInfo - PageInfo! Pagination information about the list of edges.
edges - [OptionEdge!]! A list of Option edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [OptionEdge]
}

OptionEdge

Description

An edge that contains a node of type Option and a cursor.

Fields
Field Name Description
node - Option! The Option node.
cursor - String! A unique cursor that can be used for pagination.
Example
{
  "node": Option,
  "cursor": "xyz789"
}

OptionProductInput

Fields
Input Field Description
identifier - String!
sourceText - OptionSourceTextInput!
values - [OptionValueInput!]!
Example
{
  "identifier": "xyz789",
  "sourceText": OptionSourceTextInput,
  "values": [OptionValueInput]
}

OptionSourceTextInput

Fields
Input Field Description
name - String!
description - String
displayName - String
Example
{
  "name": "xyz789",
  "description": "abc123",
  "displayName": "xyz789"
}

OptionTranslation

Fields
Field Name Description
language - LanguageEnum
name - String!
description - String
displayName - String
Example
{
  "language": "cs_CZ",
  "name": "abc123",
  "description": "abc123",
  "displayName": "abc123"
}

OptionValue

Fields
Field Name Description
valueId - Int
identifier - String
translation - OptionValueTranslation
Example
{
  "valueId": 987,
  "identifier": "abc123",
  "translation": OptionValueTranslation
}

OptionValueInput

Fields
Input Field Description
identifier - String!
sourceText - OptionValueSourceTextInput!
Example
{
  "identifier": "abc123",
  "sourceText": OptionValueSourceTextInput
}

OptionValueSourceTextInput

Fields
Input Field Description
name - String!
description - String
Example
{
  "name": "abc123",
  "description": "xyz789"
}

OptionValueTranslation

Fields
Field Name Description
language - LanguageEnum
name - String
description - String
Example
{
  "language": "cs_CZ",
  "name": "xyz789",
  "description": "xyz789"
}

PageInfo

Description

Information about pagination using a Relay style cursor connection.

Fields
Field Name Description
hasNextPage - Boolean! When paginating forwards, are there more items?
hasPreviousPage - Boolean! When paginating backwards, are there more items?
startCursor - String The cursor to continue paginating backwards.
endCursor - String The cursor to continue paginating forwards.
total - Int! Total number of nodes in the paginated connection.
count - Int! Number of nodes in the current page.
currentPage - Int! Index of the current page.
lastPage - Int! Index of the last available page.
Example
{
  "hasNextPage": false,
  "hasPreviousPage": true,
  "startCursor": "xyz789",
  "endCursor": "abc123",
  "total": 987,
  "count": 987,
  "currentPage": 987,
  "lastPage": 987
}

Product

Fields
Field Name Description
productId - Int Unique LOCO product ID
status - ProductStatus Product status
identifier - String Unique client product ID
code - String Client product CODE
url - String Product source URL
imageId - Int Product default image ID
translation - ProductTranslation Product texts for translation
variants - [Variant!]!
categories - [Category!]!
reviews - [Review!]!
options - [Option!]!
tags - [Tag!]!
brands - [Brand!]!
images - [Image!]!
Example
{
  "productId": 123,
  "status": "TRANSLATION_WAITING",
  "identifier": "xyz789",
  "code": "xyz789",
  "url": "abc123",
  "imageId": 123,
  "translation": ProductTranslation,
  "variants": [Variant],
  "categories": [Category],
  "reviews": [Review],
  "options": [Option],
  "tags": [Tag],
  "brands": [Brand],
  "images": [Image]
}

ProductConnection

Description

A paginated list of Product edges.

Fields
Field Name Description
pageInfo - PageInfo! Pagination information about the list of edges.
edges - [ProductEdge!]! A list of Product edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [ProductEdge]
}

ProductEdge

Description

An edge that contains a node of type Product and a cursor.

Fields
Field Name Description
node - Product! The Product node.
cursor - String! A unique cursor that can be used for pagination.
Example
{
  "node": Product,
  "cursor": "xyz789"
}

ProductInput

Fields
Input Field Description
identifier - String!
code - String
sourceUrl - String
imageIdentifier - String
sourceText - ProductSourceTextInput!
variants - [ProductVariantInput!]!
categories - [CategoryProductInput!]
reviews - [ReviewProductInput!]
options - [OptionProductInput!]
tags - [TagProductInput!]
brands - [BrandProductInput!]
images - [ImageProductInput!]
Example
{
  "identifier": "abc123",
  "code": "xyz789",
  "sourceUrl": "xyz789",
  "imageIdentifier": "xyz789",
  "sourceText": ProductSourceTextInput,
  "variants": [ProductVariantInput],
  "categories": [CategoryProductInput],
  "reviews": [ReviewProductInput],
  "options": [OptionProductInput],
  "tags": [TagProductInput],
  "brands": [BrandProductInput],
  "images": [ImageProductInput]
}

ProductOutput

Fields
Field Name Description
productId - Int
identifier - String
Example
{"productId": 987, "identifier": "abc123"}

ProductSourceTextInput

Fields
Input Field Description
title - String!
description - String
description2 - String
descriptionShort - String
seoTitle - String
seoDescription - String
seoUrl - String
Example
{
  "title": "abc123",
  "description": "abc123",
  "description2": "xyz789",
  "descriptionShort": "xyz789",
  "seoTitle": "abc123",
  "seoDescription": "xyz789",
  "seoUrl": "abc123"
}

ProductStatus

Values
Enum Value Description

TRANSLATION_WAITING

Product is waiting for translation

TRANSLATION_ERROR

The translation ended with an error

TRANSLATED

The product is translated

EXPORT_WAITING

The product is awaiting export

EXPORT_ERROR

Product export error

EXPORTED

The product is exported
Example
"TRANSLATION_WAITING"

ProductTranslation

Fields
Field Name Description
language - LanguageEnum
title - String!
description - String
description2 - String
descriptionShort - String
seoTitle - String
seoDescription - String
seoUrl - String
Example
{
  "language": "cs_CZ",
  "title": "abc123",
  "description": "xyz789",
  "description2": "xyz789",
  "descriptionShort": "xyz789",
  "seoTitle": "xyz789",
  "seoDescription": "abc123",
  "seoUrl": "xyz789"
}

ProductVariantInput

Fields
Input Field Description
identifier - String!
sku - String
ean - String
stock - Float
imageIdentifier - String
price - Float
currency - CurrencyEnum
sourceText - ProductVariantSourceTextInput
options - [OptionProductInput!]
Example
{
  "identifier": "abc123",
  "sku": "xyz789",
  "ean": "abc123",
  "stock": 987.65,
  "imageIdentifier": "xyz789",
  "price": 123.45,
  "currency": "CZK",
  "sourceText": ProductVariantSourceTextInput,
  "options": [OptionProductInput]
}

ProductVariantSourceTextInput

Fields
Input Field Description
title - String!
description - String
description2 - String
descriptionShort - String
Example
{
  "title": "xyz789",
  "description": "abc123",
  "description2": "xyz789",
  "descriptionShort": "abc123"
}

Products

Fields
Field Name Description
products - [ProductOutput]
Example
{"products": [ProductOutput]}

Review

Fields
Field Name Description
reviewId - Int
identifier - String!
productIdentifiers - String!
translation - ReviewTranslation
Example
{
  "reviewId": 123,
  "identifier": "xyz789",
  "productIdentifiers": "abc123",
  "translation": ReviewTranslation
}

ReviewConnection

Description

A paginated list of Review edges.

Fields
Field Name Description
pageInfo - PageInfo! Pagination information about the list of edges.
edges - [ReviewEdge!]! A list of Review edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [ReviewEdge]
}

ReviewEdge

Description

An edge that contains a node of type Review and a cursor.

Fields
Field Name Description
node - Review! The Review node.
cursor - String! A unique cursor that can be used for pagination.
Example
{
  "node": Review,
  "cursor": "xyz789"
}

ReviewInput

Fields
Input Field Description
identifier - String!
productIdentifier - String!
rating - Int
sourceText - ReviewSourceTextInput!
customData - [CustomDataInput!]
Example
{
  "identifier": "xyz789",
  "productIdentifier": "xyz789",
  "rating": 987,
  "sourceText": ReviewSourceTextInput,
  "customData": [CustomDataInput]
}

ReviewOutput

Fields
Field Name Description
identifier - String
Example
{"identifier": "abc123"}

ReviewProductInput

Fields
Input Field Description
identifier - String!
rating - Int
sourceText - ReviewSourceTextInput!
customData - [CustomDataInput!]
Example
{
  "identifier": "abc123",
  "rating": 123,
  "sourceText": ReviewSourceTextInput,
  "customData": [CustomDataInput]
}

ReviewSourceTextInput

Fields
Input Field Description
title - String
description - String
reply - String
pros - String
cons - String
Example
{
  "title": "xyz789",
  "description": "abc123",
  "reply": "abc123",
  "pros": "abc123",
  "cons": "abc123"
}

ReviewTranslation

Fields
Field Name Description
language - LanguageEnum
title - String
description - String
reply - String
pros - String
cons - String
Example
{
  "language": "cs_CZ",
  "title": "xyz789",
  "description": "xyz789",
  "reply": "abc123",
  "pros": "xyz789",
  "cons": "xyz789"
}

Reviews

Fields
Field Name Description
reviews - [ReviewOutput]
errors - [ErrorOutput]
Example
{
  "reviews": [ReviewOutput],
  "errors": [ErrorOutput]
}

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"xyz789"

Tag

Fields
Field Name Description
tagId - Int
identifier - String!
translation - TagTranslation
Example
{
  "tagId": 123,
  "identifier": "xyz789",
  "translation": TagTranslation
}

TagConnection

Description

A paginated list of Tag edges.

Fields
Field Name Description
pageInfo - PageInfo! Pagination information about the list of edges.
edges - [TagEdge!]! A list of Tag edges.
Example
{
  "pageInfo": PageInfo,
  "edges": [TagEdge]
}

TagEdge

Description

An edge that contains a node of type Tag and a cursor.

Fields
Field Name Description
node - Tag! The Tag node.
cursor - String! A unique cursor that can be used for pagination.
Example
{
  "node": Tag,
  "cursor": "xyz789"
}

TagProductInput

Fields
Input Field Description
identifier - String!
sourceText - TagTranslationInput!
Example
{
  "identifier": "xyz789",
  "sourceText": TagTranslationInput
}

TagTranslation

Fields
Field Name Description
language - LanguageEnum
name - String!
description - String
seoTitle - String
seoDescription - String
seoKeywords - String
Example
{
  "language": "cs_CZ",
  "name": "xyz789",
  "description": "xyz789",
  "seoTitle": "xyz789",
  "seoDescription": "xyz789",
  "seoKeywords": "xyz789"
}

TagTranslationInput

Fields
Input Field Description
name - String!
description - String
seoTitle - String
seoDescription - String
seoKeywords - String
Example
{
  "name": "xyz789",
  "description": "xyz789",
  "seoTitle": "xyz789",
  "seoDescription": "abc123",
  "seoKeywords": "xyz789"
}

Variant

Fields
Field Name Description
variantId - Int
identifier - String!
price - Float
currency - CurrencyEnum
sku - String
ean - String
stock - Float
imageId - Int
options - [Option!]!
translation - VariantTranslation
Example
{
  "variantId": 123,
  "identifier": "xyz789",
  "price": 123.45,
  "currency": "CZK",
  "sku": "xyz789",
  "ean": "xyz789",
  "stock": 123.45,
  "imageId": 987,
  "options": [Option],
  "translation": VariantTranslation
}

VariantTranslation

Fields
Field Name Description
language - LanguageEnum
title - String!
description - String
description2 - String
descriptionShort - String
Example
{
  "language": "cs_CZ",
  "title": "abc123",
  "description": "xyz789",
  "description2": "abc123",
  "descriptionShort": "xyz789"
}