Skava Skava / Wiki

Pielāgotie elementi: API

API saskarne ir forma, kuras aizpildītās vērtības Skava nosūta kā JSON uz jums norādīto adresi (jūsu backendu). Tādējādi var droši savienot Skavu ar savām sistēmām.

i

API saskarnes pārvalda Webapp sadaļā Custom Elements → ieslēdzot API Interfaces. Izveide un rediģēšana ir paredzēta uzņēmuma administratoriem; publicētās saskarnes pēc tam var izmantot visi uzņēmuma locekļi.

Iestatiet API saskarni

Saskarne sastāv no ievades laukiem (tie veido JSON), mērķa adreses un autentifikācijas.

  1. Lauku izveide: Katram laukam tiek piešķirts JSON atslēga. Labajā pusē redzat JSON priekšskatījumu reāllaikā, kas tiek nosūtīts jūsu backend sistēmai tieši šādā formātā.
  2. Adrese (URL): jūsu backend sistēmas https:// adrese. Atļautas ir tikai HTTPS un publiski pieejamas adreses (skatiet sadaļu Drošība zemāk).
  3. Metode: POST (noklusējums), PUT, PATCH vai GET. Izmantojot GET, vērtības tiek pievienotas kā vaicājuma parametri, nevis nosūtītas ķermenī.
  4. Autentifikācija: Iestatiet galvenes nosaukumu (piem., Authorization) un vērtības prefiksu (piem., Bearer ), pēc tam saglabājiet tokeni. Pēc izvēles iestatiet derīguma termiņu.
  5. Atbilmes lauki (neobligāti): Definējiet ceļu, lai noteiktu, kuras vērtības no backend atbildes jāattēlo: piem., order.id vai items[0].sku.
  6. Pārbaudiet ar Ping un Test Request, pēc tam Release.
Skava tīmekļa lietojumprogramma: API saskarnes cilne 'Fields'. Augšdaļā automātiski iekļautās konteksta vērtības (lietotāja vārds, uzņēmums, projekts ...), zem tām pielāgotie lauki ar JSON atslēgu, labajā pusē formu priekšskatījums un tiešraides JSON priekšskatījums.
Cilne Fields: katram laukam tiek piešķirta JSON atslēga. Augšdaļā automātiski tiek iekļautas konteksta vērtības, piemēram, lietotājs, uzņēmums un projekta nosaukums. Labajā pusē redzama forma un JSON tiešraidē: tieši tas, kas tiek nosūtīts jūsu backend.
Skava tīmekļa lietojumprogramma: API saskarnes cilne 'Endpoint' ar laukiem URL, metodei POST, laika limitam, autentifikācijas galviņai, vērtības prefiksam Bearer un ievades laukam šifrētajam tokenim.
Cilne Endpoint: mērķa adrese (tikai HTTPS), metode, laika limits, autentifikācijas galviņa un vērtības prefikss. Tokens tiek uzglabāts šifrētā veidā un nekad netiek nodots klientiem.
Skava tīmekļa lietojumprogramma: API saskarnes priekšskatīšanas cilne. Atbildes lauks ar JSON atslēgu Success ir iestatīts, labajā pusē ir priekšskatījums tam, kā rezultāts izskatīsies tērzēšanā.
Cilne Priekšskatījums (neobligāta): ar ceļu definē, kādas vērtības no aizmugures servera atbildes tiek parādītas. Labajā pusē Skava no tām veido rezultāta karti, tieši tādu, kā tā vēlāk parādās tērzēšanā.

Uzglabājiet tokeni droši

Tokens tiek uzglabāts šifrētā formā un nekad netiek atgriezts klientiem: lietojumprogramma rāda tikai faktu, ka tokens ir iestatīts, un tā derīguma termiņu. Sūtot, Skava servera pusē pievieno to iestatītajam galvenejam. Ja iestatāt derīguma termiņu, Skava pēc termiņa beigām noraida izsaukumu un lūdz atjaunot tokeni.

Testēšana: Ping un Test Request

  • Ping: viegla pieejamības pārbaude. Tas pārbauda tikai to, vai jūsu adrese atbild, un procesā nesūta tokeni vai formu datus. Rāda pieejamību, statusu un atbildes laiku. Ideāls kā pirmais solis.
  • Testa pieprasījums: īstais pārbaudes skats: nosūta parauga datus, ieskaitot tokeni, uz jūsu adresi un parāda gan pilnu atbildi, gan izvilktos atbildes laukus.

Kā administrators, jūs varat palaikt abus, kamēr joprojām esat melnraksta režīmā, lai pārliecinātos par integrāciju pirms izdošanas.

Skava tīmekļa lietotne: API saskarnes Testa cilne ar Ping un Testa pieprasījuma pogām, rezultātu Status 200 OK, atbildes laiku un pilno JSON atbildi no aizmugures servera.
Testa cilne: Ping un Testa pieprasījums blakus. Šeit ar statusu 200, atbildes laiku un pilno aizmugures servera atbildi kā JSON.

Melnraksts un publicēšana

Katrs interfeiss sākas kā melnraksts un to var brīvi rediģēt. Kad viss ir gatavs, to publicē ar Publicēt.

!

Pēc publicēšanas mērķa adrese, metode, lauki, autentifikācijas galvene un laika ierobežojums ir fiksēti. Tas ir apzināts: neviens nevar klusāmainā veidā pārvirzīt, kur tiek nosūtīti dati. Tieši trīs lietas paliek maināmas, jo operācijām tās ir nepieciešamas: tokens un tā derīguma termiņš (lai varētu aizstāt beidzies vai izlietotu tokeni) un auditorija, tas ir, vai to var aktivizēt tērzēšanā tikai jūsu komanda vai arī partneruzņēmumi. Visam pārējam izveidojat jaunu versiju.

Drošība

i

Lai novērstu interfeisa nepareizu izmantošanu, tiek piemēroti stingri noteikumi: ir atļautas tikai HTTPS adreses, un adresei ir jānorāda uz publisku mērķa adresi: iekšējās adreses (piemēram, localhost, privātās tīkli vai mākoņa metadati) tiek noraidītas. Skava to pārbauda katrā izsaukumā, savieno tieši ar pārbaudīto adresi, neseko pārvirzījumiem un ierobežo laika limitu un atbildes izmēru.

Kā komanda izmanto publicētu interfeisu

Tiklīdz interfeiss ir publicēts, visi uzņēmuma dalībnieki var to aktivizēt tieši no tērzēšanas, bez redaktora. Nav kopīgas ievades un nav starpposma dialoga: katrs publicēts elements atrodas plus izvēlnē ar savu nosaukumu un piedāvājošā uzņēmuma logotipu.

  1. Tērzēšanā nospiediet Plus apakšā un izvēlieties vēlamo elementu, piemēram, Materiālu pasūtījums.
  2. Aizpildiet formu un nospiediet Sūtīt.
  3. Rezultāts parādās kā karte tērzēšanā, kas ir redzama visiem tērzēšanas dalībniekiem.
Skava tīmekļa lietotne: API darbības Materiālu pasūtījums aizpildāma forma ar laukiem artikula numurs, apraksts, daudzums, mērvienība, pieprasītais piegādes datums un piezīme, kā arī piezīme par automātiski iekļautajām vērtībām.
3. solis: aizpildiet formu. Apakšējā piezīmē redzams, kuras vērtības tiek iekļautas automātiski.
Skava tīmekļa lietotne: API darbības Materiālu pasūtījums rezultātu karte tērzējumā ar statusu 200, ievadītās vērtības un aizmugures servera atbildi (pasūtījuma numurs, statuss, piegādes datums), kā arī izvērstie neapstrādātie dati.
4. solis: rezultātu karte tērzējumā ar ievadītajām vērtībām un jūsu aizmugures servera atbildi.

Ļaujiet mākslīgajam prātam izveidot elementu

Kā uzņēmuma administrators jums nav jāizmanto redaktors pašam. Pastādiet Skava asistentam tērzējumā, piemēram, “izveido man pasūtījuma formu katalogam ar daudzumu un piegādes adresi”. Tas no tā izveido melnorakstu, vēlāk var mainīt laukus pa vienam, un tas zina jūsu augšupielādēto rakstu katalogu: pasūtījumiem tas piedāvā produktu izvēlni, nevis teksta lauku raksta numuram.

Tas var iestatīt arī: galapunktu un metodi, kā arī auditoriju (“tikai uzņēmuma locekļi” vai “arī ārpusē esošie tajā pašā tērzējumā”). Par auditoriju tas vispirms jautā, nevis vienkārši to iestatī, jo tas nosaka, kas var palaist kaut ko no ārpuses.

Ko tas skaidri neaizskaras: piekļuves tokeni. Tas nekad neprasī un nekad neacceptē, jo tērzējuma ziņas tiek saglabātas. Jūs to ievadāt pats redaktorā, citādi neviens izsaukums netiek nosūtīts. Un tas nevar publicēt: pēdējais solis paliek jums, lai nekas netiktu redzams klientiem nepārbaudīts.

Kas var to palaist

Lielākā daļa no “Galapunkts” cilnes nosaka, kas var izmantot elementu. Noklusējums ir jūsu uzņēmuma locekļi. Otrā iestatījuma opcija atver to ārzemniekiem, bet tikai tērzējumā, kur ir klāt kāds no jūsu uzņēmuma: tieši tas gadījums, kam tas ir paredzēts, klients, kas pasūta no jums. Kad jūsu uzņēmums pamet tērzējumu, tiesības beidzas pašas no sevis.

Produkti no jūsu kataloga

Kad esat augšupielādējis savu preču katalogu, būvniekam tiek piedāvāts produktu atlasītāja bloks. Nav jāuztur kādas opcijas: saraksts ir jūsu katalogs. Pasūtītājs to meklē, redz attēlu, nosaukumu un artikula numuru, un jūsu backend saņem artikula numuru. Skava noraida numuru, kas nav jūsu katalogā. Dabai blakus novietojiet parastu skaitļa lauku.

Definējiet karti pats

Jūsu backend nosaka, ko karte saka. Skava pārbauda tikai formu, izmēru un drošību, nekad nozīmi: tā nezina ne pasūtījuma stāvokļus, ne lauku nosaukumus. Lai to izdarītu, atbildiet ar card objektu:

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

  • v ir jābūt veselajam skaitlim 1. Bez tā atbilde netiek uzskatīta par karti, un tiek piemērota elementā iestatītā atbilžu kartēšana.
  • state ir tikai krāsa un ikona: ok, pending, warn vai error. Viss, kas nes nozīmi, iet status_text kā brīvs teksts.
  • fields ir saraksts ar etiķetēm un vērtībām, maksimāli 20 ieraksti. Pārāk garas vērtības tiek saīsinātas, nevis noraidītas, lai pasūtījums neizkļūtu dēļ kādas detaļas.

Lietotāja ievades pieder serverim: tās paliek neskartas neatkarīgi no tā, ko nosūta jūsu aizmugures daļa. Tās ir čata ieraksts par to, kas faktiski tika iesniegts.

Statusa ziņošana vēlāk

Kad elements tiek izpildīts, Skava nosūta divas papildu vērtības: callback_url un callback_token. Tur vēlāk ziņojiet par jaunu stāvokli, un čatā, arī telefonā, parādās jauna karte, kamēr kāds to skatās. Iepriekšējā karte paliek, lai būtu skaidrs, kurš stāvoklis tika ziņots. Nosūtiet to pašu card objektu kā augstāk, ar POST un galviņu Authorization: Bearer <callback_token>. Trīs neobligās vērtības iet blakus kartei:

  • seq: jūsu pašu skaitītājs. Ziņojums ar mazāku vai vienādu vērtību tiek noraidīts, tāpēc divi ziņojumi nevar apdzīt viens otru.
  • final: noslēdz mijiedarbību. Žetons kļūst nederīgs un karte ir galīgā.
  • notify: iestatiet uz false, lai karti publicētu klusumā, bez nolasīto skaitītāja un bez paziņojuma. Piemērots starpposmiem, kas nevajadzētu pamodināt nevienu. Bez šī parametra karte ir pilnīgi parasta ziņa.

Vienā mijiedarbībā var publicēt ne vairāk kā 50 kartes. Divreiz tas pats ziņojums nerada otro karti.

Skava atbild ar 200 un hints sarakstu, ja kaut kas tika saīsināts vai izlaists, un ar 422, ja karte nebija izmantojama. Mijiedarbība pieņem ziņojumus 90 dienas.

Kartes nosūta Skava sistēmas sūtītājs, nevis persona, kas izpildīja elementu, un nevis jūsu uzņēmuma konts. Kurš sistēms raksta, norādīts kartes nosaukumā.

Pilns piemērs kopēšanai atrodas repozitorijā example_order_server/ un darbojas api.skava.io.

Saistītie

Vai vēlaties izveidot aizpildāmu dokumenta veidni? Skatiet Pielāgotie elementi: Dokumenti.

Biežāk uzdotie jautājumi

Kas ir API saskarne Skavā?

Forma, kuras aizpildītās vērtības Skava nosūta kā JSON uz norādīto adresi (jūsu backendu): ērti, lai savienotu Skavu ar savām sistēmām.

Kam ir atļauts izveidot un aktivizēt API saskarnes?

Izveide un rediģēšana ir paredzēta uzņēmuma administratoriem. Izdotu saskarni var aktivizēt visi uzņēmuma locekļi.

Kāda ir atšķirība starp "Ping" un "Test Request"?

Ping pārbauda tikai, vai adrese ir sasniedzama: bez tokena un bez datiem. Test Request nosūta parauga datus, ieskaitot tokenu, un parāda pilnu atbildi.

Vai mans API tokens ir drošs?

Jā. Tokens tiek uzglabāts šifrētā formā un nekad netiek nodots klientiem. Lietotne rāda tikai, vai tokens ir iestatīts, un kad tas beidzas.

Kuras adreses ir atļautas kā galapunkti?

Tikai publiski pieejamas https:// adreses. Iekšējie mērķi, piemēram, localhost, privātās tīkli vai mākoņa metadati, tiek noraidīti: tas aizsargā pret saskarnes ļaunprātīgu izmantošanu.

Kāpēc vairs nevaru mainīt izlaisto interfeisu?

Mērķa adrese, metode, lauki un autentifikācijas galvene tiek fiksēti pēc izlaides, lai neviens nevarētu klusāmainīt, kur tiek nosūtīti dati. Tokenis, tā derīguma termiņš un auditorija (tikai sava komanda vai arī partneruzņēmumi) paliek maināmi; tieši tā notiek nomaina, ja tokens ir beidzies. Visam pārējam izveidojat jaunu versiju.