GraphQL API

Díky API můžete dále rozšiřovat funkce eshopu, napojovat aplikace třetích stran a celkově pracovat s daty bez ohledu na naše programátory. Aktuálně jsou v API k dispozici objednávky a produkty. API je placený modul. Pro více informací kontaktujte naše zákaznické oddělení. 

GraphQL: https://graphql.org/Playground example: https://altair-gql.sirmuel.design (editor, kde je možné testovat queries a mutations + zobrazení dokumentace, kterou GraphQL generuje). Případně je možné si editor stáhnout například jako rozšíření do prohližeče na https://altairgraphql.dev. Můžete použít samozřejmě jakýkoli jiný editor pro svoje testování.

Dokumentace

https://graphql-docs.wpjshop.cz/

Autentifikace

➡️ Nastavení > Administrátoři

Na detailu administrátora otevřeme záložku Přihlašování, kde můžeme vygenerovat nebo přegenerovat přihlašovací token. Tento token potom musíme vkládat u každého API requestu v headeru X-Access-Token.

Zároveň je potřeba u administrátora, který má mít přístup k API, povolit API v právech. Na záložce Oprávnění: Ostatní zaškrtneme Používat u API.

Queries

 Query
Popis Implementováno Stav
order Načtení objednávky
✔️ done
orders Seznam objednávek ✔️ done
product Načtení produktu
✔️ done
products Seznam produktů
✔️ done
user Načtení uživatele
✔️ done
users Seznam uživatelů
✔️ done

Mutations

 Mutation Popis Implementováno Stav
productCreateOrUpdate Vytvoření produktu ✔️ done
variationCreateOrUpdate Vytvoření varianty ✔️ done
createOrder Vytvoření objednávky TODO
createPayment Přidání platby k objednávce TODO
checkCouponExists Kontrola existence kupónu in progress

Příklady

Načtení konkrétní objednávky:

query {

order(id: 1) {

id

code

dateCreated

status

deliveryAddress {

name

surname

street

city

zip

country {

code

name

}

}

items {

name

pieces

totalPrice {

withVat

vat

currency {

code

}

}

}

}

}


Načtení seznamu objednávek:

query {

orders(limit: 50, sort: { dateCreated: DESC }, filter: { dateFrom: "2022-02-01T08:00:00+0000" }) {

hasNextPage

hasPreviousPage

items {

id

code

dateCreated

totalPrice {

withVat

withoutVat

}

currency {

code

name

}

}

}

}