LARPBuilder Wiki

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
cs:api [2025/03/03 00:34] admincs:api [2025/04/05 13:49] (aktuální) – [Jak vložit formulář do WordPress (nebo jiného CMS)] admin
Řádek 1: Řádek 1:
-====== Úvod ====== +====== API ====== 
-LARP Builder poskytuje REST API, které umožňuje externě spravovat data LARP aplikace. Konkrétně endpoint **Players** slouží k práci s hráči – umožňuje získat seznam hráčů, detail konkrétního hráče a přidávat nové hráče do systému. API tak lze využít například pro registrační formulář na vlastních webových stránkách (WordPress, Drupal, statické stránky atd.) nebo pro integraci s jinými nástroji (např. vlastní CRM).+LARP Builder poskytuje endpoint **Players**, který slouží k práci s hráči – umožňuje získat seznam hráčů, detail konkrétního hráče a přidávat nové hráče do systému. API tak lze využít například pro registrační formulář na vlastních webových stránkách (WordPress, Drupal, statické stránky atd.) nebo pro integraci s jinými nástroji.
  
 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:
Řádek 29: Řádek 29:
     <input type="hidden" id="lang" name="lang" value="cs">      <input type="hidden" id="lang" name="lang" value="cs"> 
     <input type="hidden" id="alerts_enabled" name="alerts_enabled" value="0">     <input type="hidden" id="alerts_enabled" name="alerts_enabled" value="0">
-    <input type="hidden" id="from_submit" name="from_submit" value="1">+    <input type="hidden" id="form_submit" name="form_submit" value="1">
  
     <button type="submit">Odeslat</button>     <button type="submit">Odeslat</button>
Řádek 42: Řádek 42:
   - `api_key` = **API klíč** získaný z LARP Builderu (v nastavení konkrétního projektu).     - `api_key` = **API klíč** získaný z LARP Builderu (v nastavení konkrétního projektu).  
   - V LARP Builderu je nutné **přidat doménu** vašich stránek mezi povolené (např. `mojedomena.cz`), aby server akceptoval požadavky z této domény.   - V LARP Builderu je nutné **přidat doménu** vašich stránek mezi povolené (např. `mojedomena.cz`), aby server akceptoval požadavky z této domény.
 +  - Pokud chcete aby formulář napsal že registrace porběhla úspěšně či neúspěšně nastavte hodnotu "value" u alerts_enabled na 1 (<input type="hidden" id="alerts_enabled" name="alerts_enabled" value="0">)
 +  - 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, de: němčina, fr: francouzština, es: španělš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)
  
 **Jak to funguje:**   **Jak to funguje:**  
-- JavaScript v `apiControl.js` zachytí odeslání formuláře, sebere všechny údaje (včetně `api_key`) a pošle je metodou **POST** na `https://larpbuilder.cz/api/players/`.   +  - JavaScript v `apiControl.js` zachytí odeslání formuláře, sebere všechny údaje (včetně `api_key`) a pošle je metodou **POST** na `https://larpbuilder.cz/api/players/`.   
-- Server zkontroluje, zda doména (Origin) je povolená a API klíč je platný. Pokud ano, vytvoří nového hráče a vrátí JSON s výsledkem.  +  - Server zkontroluje, zda doména (Origin) je povolená a API klíč je platný. Pokud ano, vytvoří nového hráče a vrátí JSON s výsledkem.   
 + 
 +====== Generování embed kódu formuláře vytvořeného v LARPBuilderu ====== 
 +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. 
 + 
 +=== Výhody === 
 +  - **Samostatnost:** Embed kód je kompletní a nevyžaduje žádné další nastavení a skripty (kromě minimálně potřebných skriptů jquery a apiControl.js). 
 +  - **Aktualizace:** Možnost dynamického doplnění selectů z databáze zajistí, že na webu bude vždy aktuální výběr. 
 +  - **Kompatibilita:** Kód je vhodný pro různé CMS, například pro WordPress, kde jej lze vložit pomocí HTML bloku nebo shortcodu. 
 +  - **Jednoduchost:** Stačí zkopírovat vygenerovaný kód a vložit jej na webovou stránku.
  
 ====== Jak vložit formulář do WordPress (nebo jiného CMS) ====== ====== Jak vložit formulář do WordPress (nebo jiného CMS) ======
-Pokud chcete formulář umístit například na WordPress web:+Pokud chcete snadno vložit vygenerovaný HTML kód formuláře do WordPressu, stačí postupovat následovně: 
 + 
 +**Zkopírujte embed kód:**  Použijte postup tak jak je napsán o odstavec výše (tento kód obsahuje všechny potřebné části a je připravený ke kopírování), nebo si vytvořte vlastní formulář a připojte k němu nutná pole a potřebné javaskripty.  
 + 
 +**Vložte kód do příspěvku:**  Ve WordPressu přejděte na tvorbu nebo úpravu příspěvku. V editoru (Gutenberg) přidejte blok „Vlastní HTML“ a do něj vložte zkopírovaný embed kód. Pokud používáte klasický editor, přepněte na záložku HTML a vložte kód přímo tam.
  
-  1. **Získání API klíče** v LARP Builderu:   +**Uložte a publikujte:** Uložte změny a publikujte příspěvek. Formulář by se měl zobrazit esně tak, jak byl vygenerován – s vlastními styly funkcemi pro odeslání dat přes API.
-     - V administraci LARP Builderu otevřete daný projekt, ejděte do sekce //Nastavení projektu// najděte **API klíč**.   +
-     - Zkopírujte tento klíč a vložte jej do `value="VAŠ_API_KLÍČ"` v HTML kódu.+
  
-  2. **Povolení domény**:   +** Otestování**: Otevřete stránku s formulářem, vyplňte jej a klikněte //Odeslat//. Po úspěchu se v administraci LARP Builderu objeví nový hráč s vyplněnými údaji. Pokud dojde k chybě (např. špatná doména, chybějící povinné pole)zobrazí se chybová hláška (v případě že je <input type="hidden" id="alerts_enabled" name="alerts_enabled" value="1"> jinak se chybové hlášení nezobrazí).
-     - V //Nastavení projektu// přidejte doménu, ze které budete formulář volat (např. `moje-stranka.cz`).   +
-     - Uložte změnyaby LARP Builder povolil CORS požadavky z této domény.+
  
-  3. **Vložení HTML formuláře**:   +Tento postup nevyžaduje žádné složité nastavení ani zásahy do šablonyStačí zkopírovat hotový kód a vložit jej na stránkuWordPress se postará o zobrazení kódu bez zásahu do dalších souborů či nastavení.
-     - Ve WordPressu nelze vždy vkládat `<form>` a `<script>` přímo do textového editoruVyužijte napřplugin (//Insert Headers and Footers//, //Code Snippets//), nebo upravte šablonu (soubor //page.php//, //single.php// nebo //footer.php//).   +
-     - Zkopírujte kód formuláře (výše) do místa, kde se má formulář zobrazit.   +
-     - Upravte `value="VAŠ_API_KLÍČ"` na skutečnou hodnotu klíče.+
  
-  4. **Načtení skriptů** (`apiControl.js` jQuery):   +**Tip:** Pokud se kód HTML a `<script>` v klasickém WordPress editoru //nezobrazí správně// nebo se //zahodí//, použijte místo toho blok //Vlastní HTML// (v novém Gutenberg editoru), případně shortcody v Code Snippets 
-     - Pokud je už ve WordPressu jQuery, můžete vynechat link na `jquery-3.7.1.slim.min.js`. Jinak jej vložte stejně jako ukázce.   +
-     - Vložit `<script src="https://larpbuilder.cz/api/js/apiControl.js"></script>` do `<head>` nebo těsně před `</body>`.   +
-     - Případně použijte funkci `wp_enqueue_script()` ve functions.php.+
  
-  5**Otestování**:   +===== Kde získám API klíč ===== 
-     Otevřete stránku s formulářem, vyplňte pole a klikněte //Odeslat//.   +    - V administraci LARP Builderu otevřete daný projekt.   
-     Po úspěchu se administraci LARP Builderu objeví nový hráč s vyplněnými údajiPokud dojde k chybě (např. špatná doména, chybějící povinné pole), zobrazí se hláška.+    Přejděte do sekce //Nastavení projektu//.   
 +    Najděte **API klíč** (obvykle dolní části nastavení) a zkopírujte jej  
 +    - Zároveň v této sekci přidejte //doménu//, ze které budete formulář volat (např. `moje-stranka.cz`), a uložte změny.
  
 ====== Použití API v Postmanu ====== ====== Použití API v Postmanu ======
Řádek 80: Řádek 88:
   - **Autorizace**:     - **Autorizace**:  
     - V //Headers// přidejte: ''AuthorizationKey: Bearer <nowiki><API_KLÍČ></nowiki>''       - V //Headers// přidejte: ''AuthorizationKey: Bearer <nowiki><API_KLÍČ></nowiki>''  
-    - Pokud voláte z Postmanu a nechcete řešit povolenou doménu, použijte //Basic Auth// s přihlašovacími údaji administrátora (v záložce ''Authorization'').+    - Pokud voláte z Postmanu a nechcete řešit povolenou doménu, použijte //Basic Auth// s přihlašovacími údaji administrátora (v záložce ''Authorization''). V Basic Auth vyplníte //Username = váš email// a //Password = vaše heslo// používané pro LARP Builder.  
   - **Očekávaný výsledek**: JSON seznam hráčů (pole objektů). Pokud žádní hráči nejsou, vrátí se prázdné pole.   - **Očekávaný výsledek**: JSON seznam hráčů (pole objektů). Pokud žádní hráči nejsou, vrátí se prázdné pole.
  
Řádek 93: Řádek 101:
   - **URL**: ''https://larpbuilder.cz/api/players/''     - **URL**: ''https://larpbuilder.cz/api/players/''  
   - **Tělo**: JSON (//raw body - application/json//) nebo //form-data// s požadovanými poli (např. ''firstname'', ''lastname'', ''email''). Minimální požadovaná jsou jméno, příjmení, email.     - **Tělo**: JSON (//raw body - application/json//) nebo //form-data// s požadovanými poli (např. ''firstname'', ''lastname'', ''email''). Minimální požadovaná jsou jméno, příjmení, email.  
-  - **Hlavičky**: Opět ''AuthorizationKey: Bearer <nowiki><API_KLÍČ></nowiki>''. Pokud nejste na povolené doméně, použijte v Postmanu i Basic Auth.  +  - **Hlavičky**: Opět ''AuthorizationKey: Bearer <nowiki><API_KLÍČ></nowiki>''. Pokud nejste na povolené doméně, použijte v Postmanu i Basic Auth (stejný postup jako výše).  
   - **Očekávaný výsledek**: ''{"success":"Player added successfully"}'' (HTTP 200) nebo chybová hláška (HTTP 4xx/5xx).   - **Očekávaný výsledek**: ''{"success":"Player added successfully"}'' (HTTP 200) nebo chybová hláška (HTTP 4xx/5xx).
  
Řádek 109: Řádek 117:
  
 **Stručný postup**: **Stručný postup**:
-  - Získat API klíč v LARP Builderu vložit jej do kódu formuláře (pole `api_key`).   +  - V administraci LARP Builderu: Získat API klíč a **přidat doménu** mezi povolené.   
-  - Přidat svou doménu mezi povolené v nastavení projektu.   +  - Na svém webu (např. WordPress): Vložit HTML formulář s `api_key` připojit JavaScript `apiControl.js`.  
-  - Vložit HTML formulář a JavaScript (apiControl.js) na své stránky.  +
   - Otestovat funkčnost (ideálně i v Postmanu).     - Otestovat funkčnost (ideálně i v Postmanu).  
  
-Po úspěšném odeslání se v LARP Builderu objeví nově přidaný hráč. Pokud narazíte na potíže, pomůže vám ladění v prohlížeči (konzole) nebo v Postmanu – chyby se vracejí v JSON odpovědích. Hodně štěstí s integrací!  +Po úspěšném odeslání se v LARP Builderu objeví nově přidaný hráč. Pokud narazíte na potíže, pomůže vám ladění v prohlížeči (konzole) nebo v Postmanu – chyby se vracejí v JSON odpovědích. Hodně štěstí s integrací!
  
cs/api.1740958470.txt.gz · Poslední úprava: 2025/03/03 00:34 autor: admin