GraphQL-Api

Das Modul bietet eine GraphQL-Schnittstelle, um Store-Daten für das Country-Popup zu ermitteln und z.B. für PWA-Magento-Shops auszugeben.

GraphQL-Api-Call

Request:

https://www.domain.tld/graphql

Query:

query {
  getCountryPopupData {
    storeCountry
    storeLocale
    storeCode
    country
    language
    base
    pageurl
  }
}

Response:

{
  "data": {
    "getCountryPopupData": [
      {
        "storeCountry": "US",
        "storeLocale": "en_US",
        "storeCode": "default",
        "country": "United States",
        "language": "English",
        "base": "https://magento243commerce.test/",
        "pageurl": "https://magento243commerce.test/?___store=default"
      },
      {
        "storeCountry": "DE",
        "storeLocale": "de_DE",
        "storeCode": "de_DE",
        "country": "Germany",
        "language": "German",
        "base": "https://magento243commerce.test/",
        "pageurl": "https://magento243commerce.test/?___store=de_DE"
      },
      {
        "storeCountry": "FR",
        "storeLocale": "fr_FR",
        "storeCode": "fr_FR",
        "country": "France",
        "language": "French",
        "base": "https://magento243commerce.test/",
        "pageurl": "https://magento243commerce.test/?___store=fr_FR"
      }
    ]
  }
}

Ausgabe Produkt

Es können auch direkt Store-Informationen bzgl. eines Produktes ermittelt werden. Als Identifikation des Produkts wird die SKU verwendet.

Existiert ein Produkt in einem Store nicht (deaktiviert), dann wird die Basis-Homepage ermittelt

Request:

https://www.domain.tld/graphql

Query:

query {
  getCountryPopupData(entity: "product", identifier:"product_dynamic_1") {
    storeCountry
    storeLocale
    storeCode
    country
    language
    base
    pageurl
  }
}

Response:

{
  "data": {
    "getCountryPopupData": [
      {
        "storeCountry": "US",
        "storeLocale": "en_US",
        "storeCode": "default",
        "country": "United States",
        "language": "English",
        "base": "https://magento243commerce.test/",
        "pageurl": "https://magento243commerce.test/simple-product-1.html?___store=default"
      },
      {
        "storeCountry": "DE",
        "storeLocale": "de_DE",
        "storeCode": "de_DE",
        "country": "Germany",
        "language": "German",
        "base": "https://magento243commerce.test/",
        "pageurl": "https://magento243commerce.test/simple-product-1.html?___store=de_DE"
      },
      {
        "storeCountry": "FR",
        "storeLocale": "fr_FR",
        "storeCode": "fr_FR",
        "country": "France",
        "language": "French",
        "base": "https://magento243commerce.test/",
        "pageurl": "https://magento243commerce.test/simple-product-1.html?___store=fr_FR"
      }
    ]
  }
}

Ausgabe Kategorie

Es können auch direkt Store-Informationen bzgl. einer Kategorie ermittelt werden. Als Identifikation der Kategorie wird die ID verwendet.

Existiert eine Kategorie in einem Store nicht (deaktiviert), dann wird die Basis-Homepage ermittelt

Request:

https://www.domain.tld/graphql

Query:

query {
  getCountryPopupData(entity: "category", identifier:"category-1") {
    storeCountry
    storeLocale
    storeCode
    country
    language
    base
    pageurl
  }
}

Response:

{
  "data": {
    "getCountryPopupData": [
      {
        "storeCountry": "US",
        "storeLocale": "en_US",
        "storeCode": "default",
        "country": "United States",
        "language": "English",
        "base": "https://magento243commerce.test/",
        "pageurl": "https://magento243commerce.test/category-1.html?___store=default"
      },
      {
        "storeCountry": "DE",
        "storeLocale": "de_DE",
        "storeCode": "de_DE",
        "country": "Germany",
        "language": "German",
        "base": "https://magento243commerce.test/",
        "pageurl": "https://magento243commerce.test/category-1.html?___store=de_DE"
      },
      {
        "storeCountry": "FR",
        "storeLocale": "fr_FR",
        "storeCode": "fr_FR",
        "country": "France",
        "language": "French",
        "base": "https://magento243commerce.test/",
        "pageurl": "https://magento243commerce.test/category-1.html?___store=fr_FR"
      }
    ]
  }
}

Ausgabe CMS-Seite

Es können auch direkt Store-Informationen bzgl. einer CMS-Seite ermittelt werden. Als Identifikation der CMS-Seite wird dir Identifier verwendet.

Existiert diese CMS-Seite in einem Store nicht (deaktiviert), dann wird die Basis-Homepage ermittelt

Request:

https://www.domain.tld/graphql

Query:

query {
  getCountryPopupData(entity: "cms", identifier:"enable-cookies") {
    storeCountry
    storeLocale
    storeCode
    country
    language
    base
    pageurl
  }
}

Response:

{
  "data": {
    "getCountryPopupData": [
      {
        "storeCountry": "US",
        "storeLocale": "en_US",
        "storeCode": "default",
        "country": "United States",
        "language": "English",
        "base": "https://magento243commerce.test/",
        "pageurl": "https://magento243commerce.test/enable-cookies?___store=default"
      },
      {
        "storeCountry": "DE",
        "storeLocale": "de_DE",
        "storeCode": "de_DE",
        "country": "Germany",
        "language": "German",
        "base": "https://magento243commerce.test/",
        "pageurl": "https://magento243commerce.test/enable-cookies?___store=de_DE"
      },
      {
        "storeCountry": "FR",
        "storeLocale": "fr_FR",
        "storeCode": "fr_FR",
        "country": "France",
        "language": "French",
        "base": "https://magento243commerce.test/",
        "pageurl": "https://magento243commerce.test/enable-cookies?___store=fr_FR"
      }
    ]
  }
}