Elemente personalizate: API
O interfață API este un formular ale cărui valori completate Skava le trimite sub formă de JSON la o adresă pe care o specificați (backend-ul dvs.). Astfel puteți conecta Skava în mod securizat cu propriile sisteme.
Gestionați interfețele API în Webapp la Custom Elements → comutator API Interfaces. Crearea și editarea sunt rezervate administratorilor de companie; interfețele publicate pot fi apoi declanșate de toți membrii companiei.
Configurați o interfață API
O interfață este compusă din câmpuri de intrare (care formează JSON-ul), adresa țintă și autentificarea.
- Creezi câmpuri: Fiecare câmp primește o cheie JSON. În dreapta vedeți în timp real previzualizarea JSON, care este trimisă către backendul dvs. exact în acest format.
- Adresă (URL): adresa
https://a backendului dvs. Sunt permise doar adrese HTTPS și accesibile public (a se vedea Securitatea de mai jos). - Metodă:
POST(implicit),PUT,PATCHsauGET. În cazulGET, valorile sunt adăugate ca parametri de interogare în loc să fie trimise în corpul cererii. - Autentificare: Setează numele antetului (de ex.
Authorization) și prefixul valorii (de ex.Bearer), apoi salvează jetonul. Opțional, setează o dată de expirare. - Câmpuri de răspuns (opțional): Definește prin cale ce valori din răspunsul backendului trebuie afișate: de ex.
order.idsauitems[0].sku. - Verifică cu Ping și Test Request, apoi Release.
Stocați tokenul în mod securizat
Tokenul este stocat criptat și nu este niciodată returnat clienților: aplicația afișează doar dacă este setat un token și când expiră. La trimitere, Skava îl adaugă pe partea de server în antetul configurat. Dacă setați o dată de expirare, Skava refuză apelul după expirare și vă solicită să reînnoiți tokenul.
Testare: Ping și Cerere de test
- Ping : o verificare simplă de accesibilitate. Verifică doar dacă adresa ta răspunde, fără a trimite jeton sau date de formular în acest proces. Afișează accesibilitatea, starea și timpul de răspuns. Ideal ca prim pas.
- Test Request : rula reală de probă: trimite date de exemplu, inclusiv jetonul, către adresa ta și îți afișează răspunsul complet, precum și câmpurile de răspuns extrase.
Ca administrator, poți rula ambele în modul de schiță pentru a verifica integrarea înainte de lansare.
Schiță și publicare
Fiecare interfață începe ca schiță și poate fi editată liber. Odată ce totul este gata, o publici cu Publicare.
După publicare, adresa țintă, metoda, câmpurile, antetul de autentificare și limita de timp sunt fixate. Acest lucru este intenționat: nimeni nu poate redirecționa discret destinația datelor. Exact trei lucruri rămân modificabile, deoarece operațiunile le necesită: jetonul și expirarea acestuia (ca un jeton expirat sau compromis să poată fi înlocuit) și publicul-țintă, adică dacă doar echipa ta sau și companiile partenere pot declanșa interfața în chat. Pentru orice altceva, creezi o versiune nouă.
Securitate
Pentru a preveni utilizarea abuzivă a interfeței, se aplică reguli stricte: sunt permise doar adrese HTTPS, iar adresa trebuie să indice o adresă țintă publică : adresele interne (de exemplu localhost, rețele private sau metadate cloud) sunt respinse. Skava verifică acest lucru la fiecare apel, se conectează exact la adresa verificată, nu urmează redirecționările și limitează timpul de așteptare și dimensiunea răspunsului.
Cum folosește echipa o interfață publicată
Odată ce o interfață este publicată, toți membrii companiei o pot declanșa direct din chat, fără editor. Nu există un punct de intrare colectiv și niciun dialog intermediar: fiecare element publicat apare în meniul plus sub numele său, împreună cu logo-ul companiei care îl oferă.
- În chat, atingeți Plus de jos și selectați elementul dorit, de exemplu Comandă materiale.
- Completați formularul și apăsați Trimite.
- Rezultatul apare ca o card în chat, vizibil pentru toți participanții la conversație.
Lăsați AI-ul să construiască un element
Ca administrator de companie, nu trebuie să folosiți editorul personal. Spuneți asistentului Skava în chat, de exemplu „construiește-mi un formular de comandă pentru catalogul meu, cu cantitate și adresă de livrare”. Acesta creează un ciornă pe baza cererii, poate modifica câmpurile unul câte unul ulterior și cunoaște catalogul de articole încărcat: pentru comenzi, sugerează selectorul de produse în loc de un câmp de text pentru numărul de articol.
Ce poate configura și acesta: punctul de acces și metoda, precum și publicul țintă („doar membrii companiei” sau „și persoanele externe din același chat”). Pentru publicul țintă, întreabă mai întâi în loc să seteze direct, deoarece acesta decide cine poate executa o acțiune din exterior.
Ce nu atinge explicit: tokenul de acces. Nu îl solicită niciodată și nu îl acceptă niciodată, deoarece mesajele din chat sunt stocate. Îl introduceți dumneavoastră în editor, altfel nu se trimite nicio solicitare. Și nu poate publica: pasul final rămâne în responsabilitatea dumneavoastră, astfel încât nimic nu devine vizibil pentru clienți fără verificare.
Cine îl poate executa
Fila „Punct de acces” indică cine poate utiliza un element. Setarea implicită este membrii companiei dumneavoastră. A doua setare îl deschide pentru persoanele externe, dar doar într-un chat în care este prezent și cineva din compania dumneavoastră: exact cazul pentru care este conceput, clientul care comandă de la dumneavoastră. Când compania dumneavoastră părăsește chatul, permisiunea se încheie automat.
Produse din catalogul propriu
După ce ai încărcat catalogul de articole, constructorul oferă un bloc selector de produse. Nu există opțiuni de întreținut: lista este catalogul tău. Persoana care comandă caută în ea, vede imaginea, numele și numărul de articol, iar backend-ul tău primește numărul de articol. Skava respinge un număr care nu se află în catalogul tău. Pentru cantitate, așază un câmp numeric obișnuit lângă el.
Definește cardul singur
Backend-ul tău decide ce scrie pe card. Skava verifică doar structura, dimensiunea și siguranța, niciodată sensul: nu cunoaște stările comenzii, nici numele câmpurilor. Pentru a face acest lucru, răspunde cu un obiect card:
{"card": {"v": 1, "title": "Order 10001", "state": "pending", "status_text": "Being picked", "fields": [{"label": "Tracking number", "value": "DPD123456789"}]}}
- v trebuie să fie numărul întreg 1. Fără el, răspunsul nu este considerat un card și se aplică maparea răspunsului configurată în element.
- state conține doar culoarea și pictograma:
ok,pending,warnsauerror. Tot ce transmite sens se introduce în status_text ca text liber. - fields este o listă de etichete și valori, cu maximum 20 de intrări. Valorile prea lungi sunt scurtate, nu respinse, astfel încât o comandă nu eșuează din cauza unui detaliu.
Datele introduse de utilizator aparțin serverului: rămân neschimbate, indiferent ce trimite backend-ul. Ele reprezintă înregistrarea din chat a ceea ce a fost efectiv trimis.
Raportarea ulterioară a stării
Când elementul rulează, Skava trimite două valori suplimentare: callback_url și callback_token. Raportați o stare nouă acolo ulterior și o card nouă apare în chat, inclusiv pe telefon, în timp ce cineva o privește. Anteriorul rămâne, astfel încât se poate citi care stare a fost raportată. Trimiteți același obiect card ca mai sus, prin POST cu antetul Authorization: Bearer <callback_token>. Trei valori opționale se află lângă card:
- seq: contorul propriu. Un raport cu o valoare mai mică sau egală este eliminat, astfel încât două rapoarte nu se pot depăși reciproc.
- final: închide interacțiunea. Tokenul devine invalid și cardul devine final.
- notify: setat la
falsepentru a publica cardul discret, fără număr de necitite și fără notificare. Pentru pași intermediari care nu ar trebui să trezească pe nimeni. Fără acest parametru, cardul este un mesaj perfect normal.
O interacțiune poate publica cel mult 50 de carduri. Același raport de două ori nu produce un al doilea card.
Skava răspunde cu 200 și o listă de hints dacă ceva a fost scurtat sau eliminat, și cu 422 dacă cardul a fost inutilizabil. O interacțiune acceptă rapoarte timp de 90 de zile.
Cardurile sunt publicate de sistemul de trimitere al Skava, nu de persoana care a executat elementul și nici de un cont al propriei companii. Sistemul care scrie este menționat în titlul cardului.
Un exemplu complet de copiat se găsește în depozit, sub example_order_server/, și rulează pe api.skava.io.
Conexe
Doriți în schimb să construiți un șablon de document completabil? Consultați Elemente personalizate: Documente.
Întrebări frecvente
Ce este o interfață API în Skava?
Un formular ale cărui valori completate Skava le trimite ca JSON către o adresă pe care o specificați (backend-ul dvs.): util pentru a conecta Skava cu sistemele proprii.
Cine are dreptul să creeze și să declanșeze interfețe API?
Crearea și editarea sunt rezervate administratorilor companiei. O interfață publicată poate fi apoi declanșată de toți membrii companiei.
Care este diferența dintre „Ping” și „Test Request”?
Ping verifică doar dacă adresa este accesibilă : fără token și fără date. Test Request trimite date de exemplu, inclusiv tokenul, și afișează răspunsul complet.
Este tokenul meu de API sigur?
Da. Tokenul este stocat criptat și nu este niciodată transmis clienților. Aplicația afișează doar dacă este setat un token și când expiră.
Ce adrese sunt permise ca puncte de acces?
Doar adrese https:// accesibile public. Obiectivele interne, cum ar fi localhost, rețelele private sau metadatele cloud, sunt respinse : acest lucru protejează împotriva utilizării abuzive a interfeței.
De ce nu mai pot modifica o interfață publicată?
Adresa țintă, metoda, câmpurile și antetul de autentificare sunt fixate după publicare, astfel încât nimeni să nu poată redirecționa discret destinația datelor. Tokenul, expirarea acestuia și publicul destinatar (doar propria echipă sau și companiile partenere) rămân modificabile; acesta este exact modul în care înlocuiți un token expirat. Pentru orice altă modificare, creați o versiune nouă.