API naudojimo gerosios praktikos

Šios gerosios praktikos ir rekomendacijos skirtos visiems su Rivile API v2 dirbantiems programuotojams, atstovams, trečių šalių integratoriams. Jos ne tik įgalina efektyviai išnaudoti API teikiamus metodus, bet ir gali užtikrinti nuolatinę integracijos greitaveiką, savalaikį problemų sprendimą, bei mažesnius Rivile API v2 naudojimo kaštus.

API raktų naudojimas

Visos konkretaus API rakto užklausos Rivile API v2 platformoje bet kokiu atveju statomos į eilę, todėl galite susidurti su situacija, kai viena integracija laikinai blokuoja kitos integracijos užklausas. Siekiant to išvengti, kiekvienai integracijai naudokite atskirą API raktą.

Papildomai taip galėsite aiškiai identifikuoti, kiek užklausų kuri integracija siunčia bei neviršysite numatytų API užklausų apribojimų.

Klaidų pranešimai

Jeigu Rivile API v2 gražina HTTP 4xx and 5xx klaidų kodus, neignoruokite tokių pranešimų. Šias klaidas turėtumėte apdoroti ir numatyti, kaip kiekvienos klaidos atveju turi elgtis jūsų integracijos algoritmas. Pavyzdžiui, jeigu kelis kartus nusiuntus užklausą gaunate pranešimą, kad toks kliento kodas neegzistuoja, pažymėkite tokį dokumentą integruojamoje sistemoje, o visus pažymėtus dokumentus praleiskite sekančiame integracijos cikle.

Jeigu ignoruosite klaidų pranešimus, jūsų integracija gali būti užblokuota ilgesniam laikui.

Užklausų apribojimai

Atkreipkite dėmesį į API taikomus užklausų apribojimus. Kiekvienos užklausos atsakyme įvertinkite duomenis nurodytus specialiose antraštėse ir siekite, kad X-RateLimit-Remaining reikšmė nebūtų mažesnė nei X-RateLimit-Burst-Capacity - X-RateLimit-Replenish-Rate - 1 reikšmių skirtumas. Prieš siunčiant kiekvieną užklausą papildomai įvertinkite X-RateLimit-Remaining - (X-RateLimit-Requested-Tokens * jūsų_norimas_siųsti_užklausų_kiekis) formulės rezultatą.

Jeigu nesilaikysite numatytų apribojimų, jūsų naudotojo identifikatorius gali būti užblokuotas ilgesniam laikui.

Integracijos stebėjimas

Rekomenduojame visus integracijos veiksmus rašyti į integracijos įvykių žurnalą bei turėti automatizuotą integracijos stebėjimo sistemą (angl. monitoring), kad galėtume savalaikiai reaguoti į iškilusias klaidas.

Duomenų sinchronizavimo ciklai

Jeigu Rivile API v2 naudojate duomenų sinchronizavimui tarp skirtingų sistemų, kiekvieną kartą nepersiuntinėkite visos duomenų bazės iš naujo. Tam tikrais atvejais galite taikyti *_TIME API metodus, kurie skirti sinchronizuoti tik pasikeitimus.

Užklausų paskirstymas

Jeigu integracija vykdo daug į Rivile GAMA duomenų bazę įrašančių užklausų, nekaupkite visų užklausų vėlesniam laikui. Kvieskite įrašančius metodus iš karto, kai tik būtina. Taip tolygiau paskirstysite užklausas ir išvengsite pikų duomenų bazės apkrovime.

Jeigu integracija vykdo daug iš Rivile GAMA duomenų bazės skaitančių užklausų, įvertinkite ar negalėtumėte šių užklausų paskirstyti laike tolygiau. Galbūt galima sumažinti kviečiamų užklausų kiekį bendrai, pavyzdžiui, internetinės parduotuvės integracijoje rekomenduojame naudoti produktų informacijos kešavimą internetiniame puslapyje.

Didesnius duomenų sinchronizavimo ciklus rekomenduojame vykdyti ne lygiai numatytą valandą ar pusvalandį, o taikyti tokiems ciklams atsitiktinį apytikslį laiką. Ypač nerekomenduojame tokių ciklų vykdyti 0:00 ir 1:00 valandą. Tuo metu savo duomenų sinchronizavimo ciklus bando vykdyti labai daug klientų, todėl vykdant juos pavyzdžiui 0:11 arba 0:48 laiku turėsite geresnę greitaveiką.