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
}
}
}
}