GraphQL-Api

Das Modul bietet eine GraphQL-Schnittstelle, um Konfigurationsdaten für das Modul zu ermitteln und z.B. für PWA-Magento-Shops auszugeben. Des Weiteren bietet es Api-Funktionen, um den Registrierung-Status eines Kundenzu prüfen und um Kunden zu registrieren und mit der Bestellung des Kunden zu verknüpfen.

Modulkonfiguration

Mit folgendem Request kann die Modulkonfiguration store-spezifisch abgefragt werden:

Request:

https://www.domain.tld/graphql

Query:

query {
    getCustomerCheckoutRegistrationConfig(
        storeCode: "default"
    ) {
        minimumPasswordLength
        requiredCharacterClassesNumber
        moduleEnabled
        autoCheck
        cbxText
        excludedShippingMethods
        warningMessageText
    }
}

Response:

{
    "data": {
        "getCustomerCheckoutRegistrationConfig": {
            "minimumPasswordLength": "8",
            "requiredCharacterClassesNumber": "3",
            "moduleEnabled": true,
            "autoCheck": true,
            "cbxText": "Registration with place order",
            "excludedShippingMethods": null,
            "warningMessageText": "The order was placed correctly but an error occurred during account creation regarding to personal or address data. Please check your email inbox and contact customer support if necessary."
        }
    }
}

Registrierungsstatus

Mit folgendem Request kann der Registrierungsstatus eines Users anhand der E-mail store-spezifisch abgefragt werden:

Request:

https://www.domain.tld/graphql

Query:

query {
    getCustomerCheckoutRegistrationStatus(
        storeCode: "default"
        email: "user_1@example.com"
    ) {
        isCustomer
    }
}

Response:

{
    "data": {
        "getCustomerCheckoutRegistrationStatus": {
            "isCustomer": true
        }
    }
}

Verknüpfung von Kunden mit einer Bestellung

Mit folgendem Request kann ein (neuer) Kunde mit einer Bestellung verknüpft werden.

Request:

https://www.domain.tld/graphql

Query:

mutation {
    registerCustomerAndLinkToOrder(input: {order_id: 1}) {
        customer_id,
        enabled,
        message
    }
}

Response:

{
    "data": {
        "registerCustomerAndLinkToOrder": {
            "customer_id": 2022,
            "enabled": true,
            "message": ""
        }
    }
}