Skava Skava / Wiki

Vlastné prvky: API

Rozhranie API je formulár, ktorého vyplnené hodnoty Skava odosiela ako JSON na adresu, ktorú zadáte (váš backend). Týmto spôsobom môžete Skavu bezpečne prepojiť s vlastnými systémami.

i

Rozhrania API spravujete v Webapke v sekcii Vlastné prvky → prepínač Rozhrania API. Vytváranie a úpravy sú vyhradené pre adminov firmy; zverejnené rozhrania môžu potom spúšťať všetci členovia firmy.

Nastavenie rozhrania API

Rozhranie pozostáva zo vstupných polí (tieto tvoria JSON), cieľovej adresy a autentifikácie.

  1. Vytvorenie polí: Každé pole dostane kľúč JSON. Vpravo vidíte naživo predhľad JSON, ktorý sa pošle do vášho backendu presne v tomto tvare.
  2. Adresa (URL): adresa https:// vášho backendu. Povolené sú len adresy HTTPS a verejne prístupné adresy (pozrite Bezpečnosť nižšie).
  3. Metóda: POST (predvolené), PUT, PATCH alebo GET. Pri GET sa hodnoty pripoja ako parametre dopytu namiesto odoslania v tele.
  4. Autentifikácia: Nastavte názov hlavičky (napr. Authorization) a predponu hodnoty (napr. Bearer ), potom uložte token. Voliteľne nastavte dátum expirácie.
  5. Polia odpovede (voliteľné): Definujte podľa cesty, ktoré hodnoty z odpovedi backendu sa majú zobraziť: napr. order.id alebo items[0].sku.
  6. Skontrolujte pomocou Ping a Test Request, potom Release.
Skava webapp: Karta Fields rozhrania API. Hore sú automaticky zahrnuté kontextové hodnoty (meno používateľa, firma, projekt ...), dole sú vlastné polia s JSON kľúčom, vpravo náhľad formulára a živý náhľad JSON.
Karta Fields: každé pole dostane JSON kľúč. Hore sú automaticky zahrnuté kontextové hodnoty, ako je používateľ, firma a meno projektu. Vpravo vidíte formulár a živý JSON: presne to, čo sa odosielá do vášho backendu.
Skava webapp: Karta Endpoint rozhrania API s poľami pre URL, metódu POST, timeout, auth hlavičku, predponu hodnoty Bearer a vstup pre šifrovaný token.
Karta Endpoint: cieľová adresa (len HTTPS), metóda, timeout a auth hlavička spolu s predponou hodnoty. Token je uložený šifrovaný a nikdy sa neposkytuje klientom.
Skava webová aplikácia: záložka Náhľad rozhrania API. Nastavené je pole odpovede s JSON kľúčom Success, vpravo je náhľad toho, ako bude výsledok vyzerať v čate.
Záložka Náhľad (voliteľné): pomocou cesty definujte, ktoré hodnoty z odpovede backendu sa zobrazia. Vpravo Skava z nich zostaví kartu výsledku presne tak, ako neskôr vyzerali v čate.

Bezpečné uloženie tokenu

Token sa ukladá šifrovaný a nikdy sa nevracia klientom: aplikácia zobrazuje iba či je token nastavený a kedy expiruje. Pri odosielaní ho Skava serverovo pripojí do nastaveného hlavičkového parametra. Ak nastavíte dátum expirácie, Skava po uplynutí lehoty odmietne volanie a požiada vás o obnovenie tokenu.

Testovanie: Ping a Testovacia požiadavka

  • Ping: kontrola dostupnosti. Skontroluje iba či vaša adresa reaguje a pri tom neposiela token ani údaje z formulára. Zobrazuje dostupnosť, stav a čas odozvy. Ideálne ako prvý krok.
  • Testovacia požiadavka: skutočná skúška: pošle na vašu adresu ukážkové údaje vrátane tokenu a zobrazí vám kompletnú odozvu aj extrahované polia odozvy.

Ako administrátor môžete spustiť obe funkcie ešte v režime konceptu a overiť integráciu pred zverejnením.

Skava webapp: záložka Test rozhrania API s tlačidlami Ping a Testovacia požiadavka, výsledkom Stav 200 OK, časom odozvy a kompletnou JSON odozvou z backendu.
Záložka Test: Ping a Testovacia požiadavka vedľa seba. Tu so stavom 200, časom odozvy a kompletnou odozvou backendu v JSON.

Koncept a zverejnenie

Každé rozhranie začína ako koncept a dá sa voľne upravovať. Keď je všetko pripravené, zverejníte ho pomocou tlačidla Zverejniť.

!

Po zverejnení sú cílová adresa, metóda, polia, hlavička overenia a časový limit pevné. Je to úmyselné: nikto nemôže ticho presmerovať, kam údaje putujú. Presne tri veci zostávajú meniteľné, pretože ich potrebuje prevádzka: token a jeho platnosť (aby sa dal vymeniť vypršaný alebo spotrebovaný token) a publikum, teda či ho v čate spusti len váš vlastný tím alebo aj partnerské firmy. Pre akékoľvek iné zmeny vytvoríte novú verziu.

Bezpečnosť

i

Aby sa rozhranie nedalo zneužiť, platia prísne pravidlá: povolené sú len HTTPS adresy a adresa musí ukazovať na verejnú cieľovú adresu : interné adresy (napr. localhost, súkromné siete alebo cloudové metadáta) sa odmietajú. Skava to kontroluje pri každom volaní, pripája sa presne na overenú adresu, nesleduje presmerovania a obmedzuje časový limit a veľkosť odpovede.

Ako tím používa zverejnené rozhranie

Akonáhle je rozhranie zverejnené, všetci členovia firmy ho môžu spustiť priamo z chatu, bez potreby editora. Neexistuje kolektívny vstup ani medzistupňové okno: každý zverejnený prvok sa nachádza v plus menu pod vlastným názvom, s logom firmy, ktorá ho ponúka.

  1. V chate klepnite na Plus v dolnej časti a potom na prvok, ktorý chcete, napríklad Objednávka materiálu.
  2. Vyplňte formulár a klepnite na Odoslať.
  3. Výsledok sa zobrazí ako karta v chate, viditeľná pre všetkých v chate.
Skava webová aplikácia: vyplniteľný formulár API akcie Objednávka materiálu s poliami číslo položky, popis, množstvo, jednotka, požadované dodacie a poznámka, plus poznámka o automaticky zahrnutých hodnotách.
Krok 3: vyplňte formulár. Poznámka v dolnej časti zobrazuje, ktoré hodnoty sa zahrnú automaticky.
Skava webová aplikácia: výsledná karta API akcie Objednávka materiálu v čate so stavom 200, zadanými hodnotami a odpoveďou backendu (číslo objednávky, stav, dodacie) plus rozbaľné surové údaje.
Krok 4: výsledná karta v čate, so vstupmi a odpoveďou vášho backendu.

Nechajte AI vytvoriť prvok

Ak ste administrátorom firmy, nemusíte editor používať sami. Povedzte asistentovi Skava v čate napríklad „vyrob mi objednávkový formulár pre môj katalóg s množstvom a doručovacou adresou“. Na základe toho vytvorí koncept, neskôr môže meniť polia jedno po druhom a pozná váš nahraný katalóg článkov: pri objednávkach odporučí výber produktu namiesto textového poľa pre číslo článku.

Môže tiež nastaviť: konečný bod a metódu ako aj cielenú skupinu („len členovia firmy“ alebo „aj vonkajší v rovnakej čate“). Pri cielenom skupine sa najprv spýta, namiesto toho, aby ju len nastavil, pretože určuje, kto môže spustiť niečo zvonku.

Čomu sa explicitne vyhýba: prístupový token. Nikdy sa po ňom nepýta a nikdy ho neprijme, pretože správy v čate sa ukladajú. Zadáte si ho sami v editore, inak nevyjde žiadne volanie. A nemôže zverejniť: posledný krok zostáva na vás, takže nič neviditeľné pre zákazníkov bez kontroly.

Kto ho môže spustiť

Záložka „Konečný bod“ hovorí, kto môže prvok používať. Predvolenou hodnotou sú členovia vašej firmy. Druhé nastavenie ho otvorí pre vonkajších, ale len v čate, kde je prítomný niekto z vašej firmy: presne ten prípad, pre ktorý je určený, zákazník, ktorý od vás objednáva. Keď vaša firma opustí chat, oprávnenie skončí samo od seba.

Produkty z vášho vlastného katalógu

Akonce nahrajete katalóg položiek, ponúkne stavebník blok výberu produktu. Nie sú tu žiadne možnosti na údržbu: zoznamom je váš katalóg. Osoba, ktorá objednáva, ho prehľadá, vidí obrázok, názov a číslo položky a váš backend prijme číslo položky. Skava odmieta číslo, ktoré nie je vo vašom katalógu. Pre množstvo umiestnite vedľa neho bežné poľo na číslo.

Kartu si definujte sami

Váš backend rozhoduje, čo karta obsahuje. Skava kontroluje len tvar, veľkosť a bezpečnosť, nikdy význam: nezná stavy objednávok ani názvy polí. Na to odpovedajte objektom card:

{"card": {"v": 1, "title": "Order 10001", "state": "pending", "status_text": "Being picked", "fields": [{"label": "Tracking number", "value": "DPD123456789"}]}}

  • v musí byť celé číslo 1. Bez neho sa odpoveď nepočíta ako karta a aplikuje sa mapovanie odpovede nastavené v prvku.
  • state obsahuje iba farbu a ikonu: ok, pending, warn alebo error. Všetko, čo nesie význam, patrí do status_text ako voľný text.
  • fields je zoznam párov označenia a hodnoty, maximálne 20 položiek. Príliš dlhé hodnoty sa skrácia namiesto zamietnutia, takže objednávka nikdy nezlyhá kvôli detailu.

Vstupy používateľa patria serveru: zostanú nedotknuté bez ohľadu na to, čo pošle vaše backendové riešenie. Sú záznamom v čate o tom, čo sa skutočne odoslalo.

Následné hlásenie stavu

Keď sa prvok spustí, Skava pošle dve ďalšie hodnoty: callback_url a callback_token. Neskôr tam nahlaste nový stav a v čate sa objaví nová karta, aj na telefóne, kým na ňu niekto pozerá. Predchádzajúca karta zostane, takže je čitateľné, ktorý stav bol nahlásený. Pošlite rovnaký objekt card ako vyššie, cez POST s hlavičkou Authorization: Bearer <callback_token>. Tri voliteľné hodnoty idú vedľa karty:

  • seq: vlastný počítadlo. Správa s menšou alebo rovnakou hodnotou sa zahodí, takže dve správy sa nemôžu predbiehať.
  • final: ukončí interakciu. Token sa stane neplatným a karta je finálna.
  • notify: nastavte na false, aby sa karta odoslala ticho, bez počtu neprečítaných správ a bez notifikácie. Pre medzistupne, ktoré by nemali nikoho budiť. Bez tohto parametra je karta úplne bežnou správou.

Interakcia môže odoslať najviac 50 kariet. Dvojnásobné odoslanie rovnakej správy nevytvorí druhú kartu.

Skava odpovie kódom 200 a zoznamom hints, ak sa niečo skrátilo alebo zahodilo, a kódom 422, ak bola karta nepoužiteľná. Interakcia prijíma správy po dobu 90 dní.

Karty zasiela systémový odosielateľ Skavy, nie osoba, ktorá element spustila, ani účet vašej firmy. Ktorý systém píše, je uvedené v názve karty.

Úplný príklad na skopírovanie nájdete v repozitáriu pod example_order_server/ a beží na api.skava.io.

Súvisiace

Chcete namiesto toho vytvoriť vyplnitešablónu dokumentu? Pozrite si Custom Elements: Dokumenty.

Časté otázky

Čo je rozhranie API v Skave?

Formulár, ktorého vyplnené hodnoty Skava odosiela ako JSON na adresu, ktorú zadáte (váš backend): praktické na prepojenie Skavy s vlastnými systémami.

Kto môže vytvárať a spúšťať rozhrania API?

Vytváranie a úpravy sú vyhradené pre adminov firmy. Uvoľnené rozhranie potom môžu spúšťať všetci členovia firmy.

Aký je rozdiel medzi „Ping“ a „Test Request“?

Ping over skúša len, či je adresa dosiahnuteľná: bez tokenu a bez dát. Testovacia požiadavka odosiela ukážkové dáta vrátane tokenu a zobrazí kompletnú odpoveď.

Je môj API token bezpečný?

Áno. Token je uložený šifrovaný a nikdy sa neposielá klientom. Aplikácia zobrazuje len, či je token nastavený a kedy expiruje.

Aké adresy sú povolené ako koncové body?

Len verejne prístupné adresy https://. Interné cieľe ako localhost, súkromné siete alebo cloudové metadáta sa zamietajú: chráni to pred zneužitím rozhrania.

Prečo už nemôžem meniť uvoľnené rozhranie?

Cieľová adresa, metóda, polia a hlavička overenia sú po uvoľnení fixné, takže nikto nemôže ticho presmerovať, kam idú údaje. Token, jeho expirácia a publikum (len vlastný tím, alebo aj partnerské firmy) zostávajú meniteľné; práve takýmto spôsobom nahradíte vypršaný token. Pre ostatné zmeny vytvoríte novú verziu.