Skava Skava / Wiki

Прилагодни елементи: API

API интерфејс је образац чије попуњене вредности Skava шаље као JSON на адресу коју одредите (ваш бекенд). Овим путем можете безбедно повезати Skava са вашим системима.

i

Управљајте API интерфејсима у Веб апликацији под Прилагодни елементи → укључите API интерфејси. Креирање и уређивање су резервисани за администраторе компаније; објављени интерфејси затим могу бити покренути од стране свих чланова компаније.

Подесите API интерфејс

Интерфејс се састоји од поља за унос (она формирају JSON), циљне адресе и аутентификације.

  1. Креирање поља: Свако поље добија JSON кључ. С десне стране видите уживо JSON преглед, који се шаље вашем бекенду управо на овај начин.
  2. Адреса (URL): https:// адреса вашег бекенда. Допуштене су само HTTPS и јавно доступне адресе (види Безбедност испод).
  3. Метод: POST (подразумевано), PUT, PATCH или GET. Код GET вредности се додају као параметри упита уместо да се шаљу у телу захтева.
  4. Аутентификација: Поставите назив заглавља (нпр. Authorization) и префикс вредности (нпр. Bearer ), а затим сачувајте токен. Опционо поставите датум истека.
  5. Поља одговора (опционо): Дефинишите путем који вредности из одговора бекенда треба приказати: нпр. order.id или items[0].sku.
  6. Proverite pomoću Ping i Test Request, zatim Release.
Skava web aplikacija: kartica Polja API interfejsa. Na vrhu se nalaze automatski uključene vrednosti konteksta (ime korisnika, firma, projekat …), ispod su prilagođena polja sa JSON ključem, a desno se nalazi pregled obrasca i uživo pregled JSON-a.
Kartica Polja: svako polje dobija JSON ključ. Na vrhu se automatski uključuju vrednosti konteksta poput korisnika, firme i imena projekta. Desno vidite obrazac i uživo JSON: tačno ono što se šalje vašem backend-u.
Skava web aplikacija: kartica Endpoint API interfejsa sa poljima za URL, metodu POST, tajm-aut, zaglavlje za autentifikaciju, prefiks vrednosti Bearer i unos za šifrovani token.
Kartica Endpoint: ciljna adresa (samo HTTPS), metoda, tajm-aut i zaglavlje za autentifikaciju uz prefiks vrednosti. Token se čuva šifrovan i nikada ne dostavlja klijentima.
Skava веб-апликација: картица „Одговор” у интерфејсу API-ја. Поље одговора са JSON кључом „Success” је постављено, а десно је преглед како ће резултат изгледати у чату.
Картица Одговор (опционо): дефинишите путем које вредности из одговора сервера се приказују. Десно је преглед картице резултата како ће касније изгледати у чату.

Безбедно чување токена

Токен се чува шифровано и никада се не враћа клијентима: апликација приказује само да ли је токен постављен и када истиче. При слању, Skava га додаје на страни сервера у конфигурисани заглавље. Ако поставите датум истека, Skava одбија позив након истека и тражи да обновите токен.

Тестирање: Ping и тестни захтев

  • Ping : provera dostupnosti. Proverava samo da li vaša adresa odgovara, a pritom ne šalje token niti podatke iz obrasca. Prikazuje dostupnost, status i vreme odziva. Idealno kao prvi korak.
  • Testni zahtev : prava probna vožnja: šalje uzorke podataka uključujući token na vašu adresu i prikazuje vam kompletan odgovor kao i izdvojena polja iz odgovora.

Kao administrator, možete pokrenuti oba dok ste još u režinu nacrta kako biste proverili integraciju pre objavljivanja.

Skava veb-aplikacija: kartica Test API interfejsa sa dugmićima Ping i Testni zahtev, rezultatom Status 200 OK, vremenom odziva i kompletnim JSON odgovorom sa servera.
Kartica Test: Ping i Testni zahtev jedan do drugog. Ovde sa statusom 200, vremenom odziva i kompletnim odgovorom sa servera u formatu JSON.

Nacrt i objavljivanje

Svako sučelje počinje kao nacrt i može se slobodno uređivati. Kada je sve spremno, objavite ga putem opcije Objavi.

!

Objavljena sučelja su promjenjiva. To je namjerno: nakon objavljivanja nitko ne može tajno zamijeniti ciljnu adresu ili token. Ako želite nešto promijeniti, kreirajte novu verziju.

Sigurnost

i

Da bi se sprijeilo zlouporaba sučelja, primjenjuju se stroga pravila: dopuštena su samo HTTPS adrese, a adresa mora ukazivati na javnu ciljnu adresu: interne adrese (npr. localhost, privatne mreže ili metapodaci oblaka) odbacuju se. Skava to provjerava pri svakom pozivu, povezuje se točno na verificiranu adresu, ne prati preusmjeravanja i ograničava vrijeme čekanja i veličinu odgovora.

Kako tim koristi objavljeni interfejs

Kada se interfejs objavi, svi članovi firme mogu ga pokrenuti direktno iz chata: nije potreban editor. Tok je isti kao sa šablonima dokumenata: izaberite, popunite, pošaljite.

  1. U chatu dodirnite Plus na dnu i izaberite Prilagođeni element.
  2. Izaberite željeni šablon ili interfejs sa liste.
  3. Popunite formular i Pošaljite.
  4. Rezultat se prikazuje kao kartica u ćaskanju: vidljiva je svima u ćaskanju.
Skava web aplikacija: plus meni u polju za unos ćaskanja sa stavkama Prikači fajl, Foto/video, Napravi zadatak, Napravi stavku usluge i Prilagođeni element.
Korak 1: putem menija Plus u ćaskanju, izaberite Prilagođeni element.
Skava web aplikacija: Dijalog za izbor prilagođenog elementa iznad ćaskanja, koji nudi objavljenu API akciju Narudžbina materijala; kartice rezultata već su poslate u pozadini.
Korak 2: izaberite željani šablon ili interfejs: ovde API akciju Narudžbina materijala.
Skava веб-апликација: попуњиви образац за API радњу Наручивање материјала са пољима број артикла, опис, количина, јединица, тражени датум испоруке и напомена, уз напомену о аутоматски укљученим вредностима.
Корак 3: попуните образац. Напомена на дну показује које вредности су укључене аутоматски.
Skava веб-апликација: картица резултата за API радњу Наручивање материјала у чату са статусом 200, унесене вредности и одговор бекенда (број наруџбине, статус, датум испоруке) уз прошириве сирове податке.
Корак 4: картица резултата у чату са уносима и одговором вашег бекенда.

Нека вештачка интелигенција изгради елемент

Kao administrator firme ne morate sami koristiti uređivač. Recite Skava asistentu u četu, na primer „napravi mi obrazac za porudžbinu za moj katalog sa količinom i adresom isporuke". On na osnovu toga kreira nacrt, kasnije možete menjati polja jedno po jedno, a on poznaje vaš učitani katalog artikala: za porudžbine predlaže izbornik proizvoda umesto tekstualnog polja za broj artikla.

Šta još može podesiti: endpoint i metodu kao i publiku („samo članovi firme" ili „takođe i spoljni učesnici u istom četu"). Za publiku prvo pita umesto da odmah podesi, jer to određuje ko može pokrenuti nešto iz spolja.

Šta eksplicitno ne dira: token za pristup. Nikada ne traži ni ne prihvata takav token, jer se poruke u četu čuvaju. Vi ga unosite sami u uređivaču, inače se ne šalje nijedan poziv. I ne može da objavi: poslednji korak ostaje na vama, tako da ništa ne postaje vidljivo klijentima bez vaše provere.

Ko ga može pokrenuti

Kartica „Endpoint" govori ko može koristiti element. Podrazumevano su to članovi vaše firme. Druga podešavanja otvara ga i za spoljne učesnike, ali samo u četu gde je prisutan i neko iz vaše firme: baš onaj slučaj za koji je namenjen, kada klijent naručuje od vas. Kada vaša firma napusti čet, dozvola se automatski gasi.

Proizvodi iz vašeg sopstvenog kataloga

Kada učitate katalog artikala, izgrađivač nudi blok izabirača proizvoda. Ne postoje opcije za održavanje: lista je vaš katalog. Osoba koja naručuje pretražuje je, vidi sliku, naziv i broj artikla, a vaš backend prima broj artikla. Skava odbacuje broj koji nije u vašem katalogu. Za količinu, pored njega postavite obično polje za broj.

Definišite karticu sami

Vaš backend odlučuje šta kartica kaže. Skava proverava samo oblik, veličinu i bezbednost, nikada značenje: ne poznaje ni stanja narudžbine ni imena polja. Da biste to uradili, odgovorite objektom card:

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

  • v mora biti ceo broj 1. Bez njega odgovor se ne računa kao kartica i primenjuje se mapiranje odgovora konfigurisano u elementu.
  • state je samo boja i ikonica: ok, pending, warn ili error. Sve što nosi značenje ide u status_text kao slobodan tekst.
  • fields je lista oznaka i vrednosti, najviše 20 stavki. Preduge vrednosti se skraćuju umesto da se odbace, pa narudžbina nikada ne uspeva zbog detalja.

Unosi korisnika pripadaju serveru: ostaju nepromenjeni bez obzira na to šta vaš backend pošalje. To je zapis u četu o tome šta je zapravo podneto.

Izveštavanje o statusu kasnije

Kada se element izvrši, Skava šalje dve dodatne vrednosti: callback_url i callback_token. Kasnije prijavite novo stanje na toj adresi i nova kartica će se pojaviti u četu, i na telefonu, dok neko gleda. Prethodna ostaje, pa je čitljivo koje je stanje prijavljeno. Pošaljite isti objekat card kao gore, putem POST sa zaglavljem Authorization: Bearer <callback_token>. Pored kartice idu tri opciona vrednosti:

  • seq: vaš sopstveni broj. Izveštaj sa manjom ili jednakom vrednošću se odbacuje, tako da dva izveštaja ne mogu da se pretiču.
  • final: završava interakciju. Token postaje nevažeći, a kartica je završena.
  • notify: postavite na false da se kartica objavi tiho, bez broja nepročitanih poruka i bez obaveštenja. Za međukorake koji ne bi trebalo da probude nikoga. Bez toga, kartica je potpuno normalna poruka.

Interakcija može objaviti najviše 50 kartica. Isti izveštaj dva puta ne proizvodi drugu karticu.

Skava odgovara sa 200 i listom hints ako je nešto skraćeno ili izbačeno, i sa 422 ako je kartica bila neupotrebljiva. Interakcija prihvata izveštaje tokom 90 dana.

Kartice objavljuje sistemski pošiljalac Skave, a ne osoba koja je pokrenula element niti nalog vaše firme. U naslovu kartice navedeno je čiji je sistem autor.

Potpuni primer za kopiranje nalazi se u repozitorijumu pod example_order_server/ i radi na api.skava.io.

Povezano

Da li želite da kreirate ispunjivi predložak dokumenta? Pogledajte Prilagođeni elementi: Dokumenti.

Česta pitanja

Šta je API interfejs u Skava aplikaciji?

Formular čije popunjene vrednosti Skava šalje kao JSON na adresu koju navedete (vaš backend): korisno za povezivanje Skave sa vašim sistemima.

Ko može da kreira i pokreće API interfejse?

Kreiranje i uređivanje je rezervisano za administratore firme. Objavljeni interfejs zatim mogu da pokrenu svi članovi firme.

Koja je razlika između „Ping" i „Test Request"?

Ping samo proverava da li je adresa dostupna: bez tokena i bez podataka. Test Request šalje uzorak podataka uključujući token i prikazuje kompletan odgovor.

Da li je moj API token siguran?

Da. Token je čuvan u šifrovanom obliku i nikada se ne dostavlja klijentima. Aplikacija samo prikazuje da li je token postavljen i kada ističe.

Koje adrese su dozvoljene kao krajnje tačke?

Samo javno dostupne https:// adrese. Unutrašnje ciljeve poput localhost, privatnih mreža ili metapodataka o oblaku se odbacuje: ovo štiti od zloupotrebe interfejsa.

Zašto više ne mogu da promenim objavljeno sučelje?

Objavljena sučelja su namerno nepromenljiva kako niko ne bi mogao da zameni ciljnu adresu ili token nakon objavljivanja. Za izmene kreirate novu verziju.