I-MySklad API yokuqala yavela eminyakeni eyi-10 edlule. Sonke lesi sikhathi besisebenzela izinguqulo ezikhona ze-API futhi sakha ezintsha. Futhi izinguqulo ezimbalwa ze-API sezivele zingcwatshiwe.
Lesi sihloko sizoqukatha izinto eziningi: ukuthi i-API idalwe kanjani, kungani isevisi yefu iyidinga, ukuthi inikeza ini kubasebenzisi, yimaphi amaphutha esikwazile ukuwanyathela nokuthi yini esifuna ukuyenza ngokulandelayo.
Igama lami ngingu-Oleg Alekseev , ngingumqondisi wezobuchwepheshe kanye nomsunguli we-MySklad.
Kungani wenze i-API yesevisi
Amakhasimende ethu, angamashumi ezinkulungwane zosomabhizinisi, asebenzisa ngenkuthalo izixazululo zamafu: ukubhenka, izitolo eziku-inthanethi, ukubalwa kwempahla, i-CRM. Uma usuxhumeke kokukodwa, kunzima ukukumisa. Futhi manje isevisi yesihlanu, yesishiyagalombili, yeshumi yenza umsebenzi wosomabhizinisi ube lula, kodwa abasebenzisi badlulisela idatha phakathi kwalezi zinsizakalo zamafu ngesandla. Umsebenzi uphenduka iphupho elibi.
Isixazululo esisobala ukunikeza abasebenzisi ikhono lokudlulisa idatha phakathi kwezinsizakalo zamafu. Isibonelo, ngenisa futhi uthumele idatha njengamafayela, angase alayishwe kusevisi oyifunayo. Amafayela ngokuvamile ayashintshwa ukuze ahambisane nefomethi yesevisi ngayinye. Lona umsebenzi wezandla olula kakhulu noma ongaphansi, kodwa ngokwanda kwenani lalezi zinsizakalo, kuba nzima nakakhulu ukwenza.
Ngakho-ke, isinyathelo esilandelayo yi-API. Ngayo, isevisi yefu izuza eqinisweni lokuthi ixhuma izinsizakalo eziningana ngesikhathi esisodwa. Ukuvela kwe-ecosystem enjalo kuheha amakhasimende amasha ngenxa yamathuba engeziwe. Umkhiqizo onokusebenza okusha uba nenzuzo eyengeziwe futhi ube usizo.
Uma udala ezakho izixhumanisi zokuhlela, lokhu kuheha abantu abathengisa benkampani yangaphandle ngendlela yabahleli bezinhlelo abazi ngomkhiqizo wakho ngenxa ye-API. Baqala ukwakha izixazululo ngokusekelwe ku-API ehlongozwayo futhi benze imali ngokuzenzakalelayo imisebenzi yamakhasimende abo.
Uhlelo lokubala lwe-MySklad lusekelwe ezinqubweni ezilula. Into esemqoka ukusebenzisana nemibhalo eyisisekelo, ikhono lokwamukela nokuthumela izimpahla, futhi uthole imibiko yebhizinisi esekelwe kumadokhumenti ayisisekelo. Kukhona futhi ukudluliswa kwedatha, isibonelo ku-accounting yamafu, nokutholwa kwayo kusuka ezinhlelweni zamabhange noma izitolo zokudayisa. Siphinde sisebenze nezitolo eziku-inthanethi: sithola ulwazi mayelana nemikhiqizo futhi sithumela ulwazi mayelana namabhalansi.

I-API yokuqala ye-MySklad
Eminyakeni engu-10 ye-MySklad isebenza ne-API, sithole zonke izinhlobo zokuhlanganisa ezisivumela ukuthi sishintshisane ngedatha, sisebenze namabhange, senze izinkokhelo futhi sisebenzise ucingo lwangaphandle.
Ngonyaka wokuqala, senze ngakwazi ukulanda noma iyiphi idatha ngefomethi ye-XML. Ngaleso sikhathi, kwakucace kakhudlwana futhi kuvame kakhulu kubasebenzisi ukugcina idatha ingaxhunyiwe ku-inthanethi, futhi hhayi kumafu athile, futhi sabanikeza yona. Ukulayisha kuqalwe ngokuthekelisa mathupha kusuka kusixhumi esibonakalayo. Okusho ukuthi, ibingeke ibizwe nge-API.
Ngesikhathi esifanayo, saqala ukubambisana nenkampani yaseRusagro - base bevele besebenzisa i-ERP "yabantu abadala" ekukhiqizeni nasekuhleleni ukuthengisa, kodwa balayisha ngokuzenzakalelayo izimoto ezimbonini ze-MySklad. Lena yindlela esithole ngayo ama-rudiments okuqala e-API yangempela: ukushintshaniswa phakathi kwenkonzo yethu ne-ERP kwenzeka ngokuthumela ifayela elikhulu elinedatha kuzo zonke izinhlobo zemibhalo.
Lena inketho enhle yokushintshaniswa kwedatha yeqoqo, kodwa kanye namadokhumenti bekufanele sidlulisele ukuncika kwawo: ulwazi mayelana nezimpahla, osonkontileka kanye nezindawo zokugcina impahla. Ukulahla okunjalo akunzima kangako ukukhiqiza lapho kuthunyelwa ngaphandle, kodwa kunzima kakhulu ukukucacisa lapho ungenisa, ngoba lonke ulwazi lufika ngephakheji elilodwa: kokubili mayelana nemibhalo emisha kanye naleyo ekhona kakade.
I-XML API yokuqala ayizange iphile isikhathi eside - eminyakeni emibili kamuva saqala ukuyakha kabusha. Ngisho nasekuqaleni komsebenzi wayo, senze amaphutha amaningana lapho sakha isixhumi esibonakalayo sesoftware.

Yenziwa kanjani i-XML API: umfanekiso ovela komunye wabaqambi bethu. Ngendlela, hlala ubukele izihloko zakhe.
Nanka amaphutha ethu amakhulu:
- Umaki we-JAXB wenziwa ngokuqondile kubhontshisi webhizinisi. Sisebenzisa i-Hibernate ukuxhumana nesizindalwazi, futhi umaka we-JAXB wenzelwe ubhontshisi ofanayo. Leli phutha livele ngokushesha: noma isiphi isibuyekezo kusakhiwo sedatha siholele esidingweni sokwazisa ngokushesha wonke umuntu osebenzisa i-API, noma ukwakha izinduku ezizoqinisekisa ukuhambisana nesakhiwo sedatha yangaphambilini.
- I-API ikhule njengesengezo, futhi asizange siqale sichaze ukuthi bekuyingxenye engakanani yomkhiqizo. Abazange bacabange nokuthi i-API iyinto ebalulekile yini, noma ngabe kudingekile ukugcina ukuhambisana okusemuva kumakhasimende ayo okuqala. Ngesinye isikhathi, inani labasebenzisi be-API lalicishe libe ngu-5% yenani elincane, futhi akukho ukunakwa okwakhokhwa kubo. Ukuhlungwa kwendawo yonke okwenziwa ngesikhathi esisodwa kwaholela ekutheni sisetshenziswe njenge-backend. Lokhu kuhlunga bekungeyona neze i-GraphQL, kodwa into efana naleyo - kusebenze ngemibandela eminingi yeyunithi yezinhlamvu zemibuzo. Ngethuluzi elinamandla kangaka, bekunzima kubasebenzisi ukuthi bamelane, futhi izicelo zidluliselwe kithi ukuze zithunyelwe ngokuqondile zisuka ku-UI yezitolo zabo ze-inthanethi. Isimo besiyisimanga esingemnandi, ngoba ukunikezwa kwesevisi enjalo kufanele kudinge amanani ahlukile kanye nokuqonda okujwayelekile okuhlukile kwe-API ngokwayo njengomkhiqizo.
- Ngenxa yokuthi i-API ayizange ithuthukiswe njengomkhiqizo oyinhloko, imibhalo ye-API yakhiqizwa futhi yashicilelwa ngokusalela - ngobunjiniyela obuhlehlayo. Le ndlela ibonakala ilula futhi ilula, kodwa iphikisana nokusebenza ngaphansi kwenkontileka. Kulapho kukhona ingxenye ethile enohlelo lokusebenza olusethiwe. Umthuthukisi uyisebenzisa ngokuvumelana nalolu hlelo nomsebenzi, ingxenye iyahlolwa, futhi iklayenti lithola umkhiqizo ofana nombono womhlaziyi. Ubunjiniyela obuhlehlayo buphonsa emakethe umkhiqizo okhona nje: onezinduku, izisombululo ezingajwayelekile namabhayisikili esikhundleni sokusebenza okudingekayo.
- Konke ukusakazwa kwezicelo eze nge-API kungahlaziywa njengokungelutho ngaphandle kwe-Nginx noma ilogi yeseva yohlelo lokusebenza. Lokhu akusivumelanga ukuthi sihlonze izindawo zezihloko, ngaphandle kwabasebenzisi nababhalisile. Uma ingekho indlela yokulawula isicelo noma ukubhaliswa kweklayenti, kuba nzima ukuhlaziya isimo. Le nkinga ibe nomthelela omncane ekuthuthukisweni kwe-API; imayelana nokuqonda ukubaluleka kwayo nokusebenza.
Inombolo yomzamo wesibili: I-REST API
Ngo-2010, sazama ukwakha uhlelo lokushintshanisa nge-accounting online - BukhSoft. Ayizange ihambe. Kodwa ngesikhathi senqubo yokuhlanganisa, kwavela i-API egcwele ngokugcwele: isevisi yokushintshanisa i-REST, lapho bekungekho khona inkululeko efana nokufinyelela imisebenzi ngendlela yezingcingo ze-RPC. Konke ukuxhumana ne-API kwalethwa kumodi ejwayelekile yokuphumula: umugqa wombuzo uqukethe igama lenhlangano, futhi ukusebenza okwenziwa ngayo kucaciswe kusetshenziswa indlela ye-http. Sengeze ukuhlunga ngokusekelwe ekutheni amabhizinisi abuyekezwa nini, futhi abasebenzisi manje banethuba lokwakha ukuphindaphinda ngamasistimu abo.
Ngawo lowo nyaka, kwavela i-API yokukhipha impahla egciniwe kanye namabhalansi. Izingxenye ezibaluleke kakhulu zesistimu sezitholakale kubasebenzisi nge-API - ukushintshaniswa kwamadokhumenti ayisisekelo kanye nedatha ebaliwe kumabhalansi kanye nezindleko zezimpahla.
NgoDisemba 2015, i-RetailCRM yashicilela umtapo wolwazi wokuqala wezinkampani zangaphandle ukuze ufinyelele i-API yethu. Yaqala ukusetshenziswa ngenkuthalo, ngenkathi ukuthandwa kwenkonzo sekukonke kwakhula, umthwalo ku-API wakhula ngokushesha kunomthwalo osesixhumi esibonakalayo sewebhu. Ngolunye usuku ukukhula kwaphenduka kwaba ukwanda komthwalo.


Futhi lokhu kweqa, okukhonjiswe umcibisholo ongakwesokunxele, kumangaze ngokuphelele iseva esebenzela i-API yethu. Sichithe isonto sibheka ukuthi yini ngempela ekhiqiza lo mthwalo. Kuvele ukuthi lezi yizicelo ezifanayo ezidluliselwe ku-API yethu kusukela emikhawulweni yamaklayenti. Cishe amakhasimende angu-50 adle yonke into. Kungaleso sikhathi lapho saqaphela khona elinye lamaphutha ethu - ukuntula ngokuphelele imingcele.
Njengomphumela, sethule umkhawulo enanini lezicelo ngasikhathi sinye. Manje sekungenzeka ukuthi uvule izicelo ezingeqi kwezimbili ngesikhathi esisodwa ku-akhawunti eyodwa. Lokhu kwanele ukusebenza kumodi yokuphindaphinda yokushintshisana kwedatha kumodi yenqwaba. Futhi labo ababefuna ukusisebenzisa njenge-backend, kusukela ngaleso sikhathi kuqhubeke, baphoqeleka ukuthi bahambisane kangcono nezindleko, njengoba bethula umsebenzi kuma-akhawunti amaningana kusofthiwe yabo.
Ake sikubeke ngohlelo
Kakade kusukela ngo-2014, isidingo se-API esikhona sesiyingxenye ebalulekile yebhizinisi, futhi i-API ngokwayo ikhiqiza umthamo omkhulu wedatha ekushintsheni idatha namakhasimende. Ngo-2015, sethule iphrojekthi yokuhlanza i-API. Sikhethe i-JSON esikhundleni se-XML njengefomethi futhi saqala ukuyakha ngokusekelwe ezicini ezikhonjwe ngesikhathi sokusetshenziswa kwenguqulo yangaphambilini:
- Ikhono lokuphatha izinguqulo. Ukwenza inguqulo kukuvumela ukuthi uthuthukise inguqulo entsha ngaphandle kokuphazamisa uhlelo lokusebenza olukhona noma ukuphazamisa ulwazi lomsebenzisi.
- Ikhono lomsebenzisi lokubona imethadatha kumpendulo ngokwayo ayitholayo.
- Ikhono lokushintshanisa amadokhumenti amakhulu. Uma sicubungula idokhumenti enezikhundla ezingaphezu kwezinkulungwane ze-4-5, lokhu kuba inkinga kuseva: ukuthengiselana okude, isicelo eside se-http. Sakhe indlela ekhethekile ekuvumela ukuthi ubuyekeze idokhumenti ngezingxenye futhi uphathe izindawo zomuntu ngamunye zalo mbhalo ngokuzithumela kuseva.
- Amathuluzi okuphindaphinda abekhona enguqulweni yangaphambilini.
- Imikhawulo yomthwalo ifana nefa lereki elanyathelwa enguqulweni yangaphambilini. Sethule imikhawulo enanini lezicelo esikhathini esithile, inombolo yezicelo ezifanayo nezicelo ezivela ekhelini le-IP elilodwa.
Kusukela lapho, sikhiphe izinguqulo ezimbili ezincane ze-API futhi sethula ama-API amaningana akhethekile, kodwa indlela yonke ayishintshile. Ifomethi yokushintshisana ebuyekeziwe kanye nezakhiwo ezintsha kwenze kwaba nokwenzeka ukulungisa amaphutha ku-API ngokushesha okukhulu.
I-MySklad API namuhla
Namuhla, i-MySklad API ixazulula izinkinga eziningi:
- ukushintshana kwedatha nezitolo eziku-inthanethi, izinhlelo zokubalwa kwezimali, amabhange;
- ukuthola idatha ebaliwe kanye nemibiko;
- sebenzisa njengesipele sezinhlelo zokusebenza zeklayenti - izinhlelo zethu zokusebenza zeselula kanye nomsebenzi werejista yemali yedeskithophu nge-API
- ukuthumela izaziso mayelana nezinguquko zedatha ku-MySklad - ama-webhooks;
- ucingo;
- izinhlelo zokwethembeka.
Ngokusekelwe ku-API, i-CEO yethu u-Askar Rakhimberdiev emahoreni amane ngibhale i-telegraph bot edonsa okusele nge-API:
Manje izinombolo zomile.
Nazi izibalo zethu ze-REST API endala:
- Izinkampani ezingama-400;
- abasebenzisi abangu-600;
- izicelo eziyizigidi ezi-2 ngosuku;
- 200 GB/ngosuku lwethrafikhi ephumayo.
Futhi nakhu esiqhamuke nakho kuwo wonke ama-API we-MySklad:
- ukuhlanganiswa okungaphezulu kuka-70 (okunye kwakho kungabukwa lapha );
- Izinkampani ezingama-8500;
- abasebenzisi abangu-12;
- izicelo eziyizigidi ezi-46 ngosuku;
- 2 TB/ngosuku lwethrafikhi ephumayo.
Yini elandelayo
Izinhlelo zokuthuthukisa i-API zingaphansi kwengxoxo esebenzayo. Sizama ukunaka ulwazi lokusebenza abasebenzisi abasinika lona. Akwenzeki ngaso sonke isikhathi ukwenza yonke into ngesikhathi esisodwa, kodwa inguqulo entsha ye-API iseduze nekhona enemethadatha elula kakhulu kanye nesakhiwo esithambile, i-OAuth yokuqinisekisa, kanye ne-API yezinhlelo zokusebenza ezakhelwe kusixhumi esibonakalayo.
Ungalandela izindaba kuwebhusayithi ekhethekile yabathuthukisi bokuhlanganiswa ne-MySklad: .
Source: www.habr.com
