Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
cs:api [2025/03/03 00:31] – admin | cs:api [2025/04/05 13:49] (aktuální) – [Jak vložit formulář do WordPress (nebo jiného CMS)] admin | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
- | ====== | + | ====== |
- | LARP Builder poskytuje | + | LARP Builder poskytuje endpoint **Players**, který |
Pro přístup k API je vyžadována autorizace. Jsou podporovány dva hlavní mechanismy: | Pro přístup k API je vyžadována autorizace. Jsou podporovány dva hlavní mechanismy: | ||
- **API klíč (API Key)**: Každý projekt v LARP Builderu má vlastní API klíč. Ten musí být součástí každého požadavku (v hlavičce, formulářových datech či JSONu). | - **API klíč (API Key)**: Každý projekt v LARP Builderu má vlastní API klíč. Ten musí být součástí každého požadavku (v hlavičce, formulářových datech či JSONu). | ||
- | - **Ověření zdroje požadavku (Origin)**: Server kontroluje, z jaké domény požadavek přichází. Pokud doména není povolená v nastavení projektu, server volání odmítne (//CORS a bezpečnost// | + | - **Ověření zdroje požadavku (Origin)**: Server kontroluje, z jaké domény požadavek přichází. Pokud doména není povolená v nastavení projektu, server volání odmítne (//CORS a bezpečnost// |
- **(Volitelně) Basic Auth**: Pro přístup k některým citlivějším částem API (nebo pro volání z nástrojů jako Postman) je vyžadováno přihlášení administrátora (email a heslo). Tento způsob umožňuje serveru ověřit, že uživatel má dostatečná práva k projektu. | - **(Volitelně) Basic Auth**: Pro přístup k některým citlivějším částem API (nebo pro volání z nástrojů jako Postman) je vyžadováno přihlášení administrátora (email a heslo). Tento způsob umožňuje serveru ověřit, že uživatel má dostatečná práva k projektu. | ||
====== Použití API na stránkách akce (HTML kód) ====== | ====== Použití API na stránkách akce (HTML kód) ====== | ||
- | Součástí integrace je použití **Players** endpointu | + | Níže je ukázka |
- | + | ||
- | **Princip formuláře** | + | |
- | V HTML formuláři se vyplní údaje o hráči (jméno, příjmení, | + | |
<code html> | <code html> | ||
Řádek 26: | Řádek 23: | ||
<!-- ... další předdefinovaná nepovinná pole ... --> | <!-- ... další předdefinovaná nepovinná pole ... --> | ||
- | <label for=" | + | |
- | <select name=" | + | |
- | < | + | |
- | <option value=" | + | |
- | </select> | + | |
- | | + | |
- | <textarea | + | <input type="hidden" |
+ | | ||
+ | <input type=" | ||
+ | | ||
- | | + | |
- | < | + | </form> |
- | | + | <!-- Potřebné skripty --> |
- | <input type="number" | + | <script src="https:// |
+ | <script src="https:// | ||
+ | </ | ||
- | <label for="size_breast">Obvod hrudi</ | + | **Poznámka: |
- | | + | - `api_key` |
+ | - V LARP Builderu je nutné **přidat doménu** vašich stránek mezi povolené (např. `mojedomena.cz`), | ||
+ | - Pokud chcete aby formulář napsal že registrace porběhla úspěšně či neúspěšně nastavte hodnotu | ||
+ | - Můžete zmenit také jazyk jakým bude formulář odpovídat změněním cs v parametru lang jazyky na výběr jsou cs: čeština, en: angličtina, | ||
+ | - Parametr form_submit říká zda se má po odeslání do LB API formulář snažit o odeslání také jako by šlo oběžný formulář na stránkách (vhodné třeba pro další zpracování formulářových dat do vlastní databáze) | ||
- | <label for=" | + | **Jak to funguje: |
- | < | + | - JavaScript v `apiControl.js` zachytí odeslání formuláře, |
+ | - Server zkontroluje, | ||
- | <label for=" | + | ====== |
- | <input type=" | + | V sekci **Seznam formulářů** je u již vytvořených formulářů k dispozici akce **Zobrazit HTML kód**, která automaticky generuje kompletní embed kód formuláře na základě uložených dat. Tento kód obsahuje kompletní HTML dokument s inline styly, speciálními typy polí jako je **scale** (bodovací škála), **paragraph** (odstavec) či **button** (tlačítko) a skrytými poli s aktuálním API klíčem který je uložitelný jako samostatná .html stránka nebo vložitelný například do Wordpressu bez nutnosti se více starat o HTML kód. |
- | <label for=" | + | === Výhody |
- | <select name=" | + | - **Samostatnost: |
- | < | + | - **Aktualizace: |
- | <option value=" | + | - **Kompatibilita: |
- | <option value=" | + | - **Jednoduchost: |
- | <option value=" | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | < | + | |
- | <option value=" | + | |
- | <option value=" | + | |
- | <option value=" | + | |
- | <option value=" | + | |
- | <option value=" | + | |
- | <option value=" | + | |
- | </ | + | |
- | <label for=" | + | ====== Jak vložit formulář do WordPress (nebo jiného CMS) ====== |
- | <select name=" | + | Pokud chcete snadno vložit vygenerovaný HTML kód formuláře do WordPressu, stačí postupovat následovně: |
- | < | + | |
- | <option value=" | + | |
- | <option value=" | + | |
- | </ | + | |
- | <label for=" | + | **Zkopírujte embed kód: |
- | <input type=" | + | |
- | | + | |
- | <!-- Skrytá povinná pole s API klíčem a dalšími parametry --> | + | **Vložte kód do příspěvku: |
- | <input type=" | + | |
- | <input type=" | + | |
- | <input type=" | + | |
- | <input type=" | + | |
- | <button type=" | + | **Uložte a publikujte:** Uložte změny a publikujte příspěvek. Formulář by se měl zobrazit přesně tak, jak byl vygenerován – s vlastními styly a funkcemi pro odeslání dat přes API. |
- | </ | + | |
- | <script src=" | + | |
- | <script src=" | + | |
- | </ | + | |
- | Důležité je, aby vaše doména | + | ** Otestování**: |
+ | |||
+ | Tento postup nevyžaduje žádné složité nastavení ani zásahy do šablony. Stačí zkopírovat hotový kód a vložit jej na stránku. WordPress se postará o zobrazení kódu bez zásahu do dalších souborů či nastavení. | ||
+ | |||
+ | **Tip:** Pokud se kód HTML a `< | ||
+ | |||
+ | ===== Kde získám API klíč ===== | ||
+ | - V administraci | ||
+ | - Přejděte do sekce // | ||
+ | - Najděte **API klíč** (obvykle v dolní části nastavení) a zkopírujte jej. | ||
+ | - Zároveň v této sekci přidejte // | ||
====== Použití API v Postmanu ====== | ====== Použití API v Postmanu ====== | ||
Řádek 101: | Řádek 88: | ||
- **Autorizace**: | - **Autorizace**: | ||
- V //Headers// přidejte: '' | - V //Headers// přidejte: '' | ||
- | - Pokud voláte z Postmanu a nechcete řešit povolenou doménu, | + | - Pokud voláte z Postmanu a nechcete řešit povolenou doménu, |
- **Očekávaný výsledek**: | - **Očekávaný výsledek**: | ||
Řádek 114: | Řádek 101: | ||
- **URL**: '' | - **URL**: '' | ||
- **Tělo**: JSON (//raw body - application/ | - **Tělo**: JSON (//raw body - application/ | ||
- | - **Hlavičky**: | + | - **Hlavičky**: |
- **Očekávaný výsledek**: | - **Očekávaný výsledek**: | ||
Řádek 128: | Řádek 115: | ||
====== Závěr ====== | ====== Závěr ====== | ||
API LARP Builderu pro **Players** vám umožní integrovat správu hráčů do vlastních stránek a nástrojů. Základem je **API klíč** a volání z povolené domény (nebo Basic Auth pro administrátory). | API LARP Builderu pro **Players** vám umožní integrovat správu hráčů do vlastních stránek a nástrojů. Základem je **API klíč** a volání z povolené domény (nebo Basic Auth pro administrátory). | ||
- | Při implementaci se zaměřte na: | ||
- | - Správné nastavení hlaviček ('' | ||
- | - Ošetření chybových stavů, | ||
- | - Bezpečné ukládání API klíče (neprozrazujte jej veřejně). | ||
- | Doporučujeme nejprve vše otestovat v Postmanu | + | **Stručný postup**: |
+ | - V administraci LARP Builderu: Získat API klíč a **přidat doménu** mezi povolené. | ||
+ | - Na svém webu (např. WordPress): Vložit HTML formulář s `api_key` a připojit JavaScript `apiControl.js`. | ||
+ | - Otestovat funkčnost | ||
+ | |||
+ | Po úspěšném odeslání se v LARP Builderu objeví nově přidaný hráč. Pokud narazíte na potíže, | ||