O ngotse API - o tabole XML (tse peli)

MySklad API ea pele e hlahile lilemo tse 10 tse fetileng. Nako ena kaofela re ntse re sebetsa liphetolelong tse teng tsa API le ho nts'etsapele tse ncha. 'Me mefuta e mengata ea API e se e patiloe.

Sehlooho sena se tla ba le lintho tse ngata: hore na API e bōpiloe joang, ke hobane'ng ha tšebeletso ea leru e e hloka, seo e se fang basebelisi, ke liphoso life tseo re khonang ho li etsa le seo re batlang ho se etsa ka mor'a moo.

Lebitso la ka ke Oleg Alekseev oalexeev, Ke mookameli oa theknoloji le mothehi-'moho oa MySklad.

Hobaneng u etsa API bakeng sa ts'ebeletso

Bareki ba rona, e leng bo-rakhoebo ba mashome a likete, ba sebelisa litharollo tsa maru ka mafolofolo: libanka, mabenkele a marang-rang, accounting ea thepa, CRM. Hang ha o hokela ho e 'ngoe, ho thata ho emisa. 'Me joale tšebeletso ea bohlano, ea borobeli, ea leshome e etsa hore mosebetsi oa mohoebi o be bonolo, empa basebelisi ba fetisetsa data pakeng tsa litšebeletso tsena tsa maru ka letsoho. Mosebetsi o fetoha toro e mpe.

Tharollo e totobetseng ke ho fa basebelisi bokhoni ba ho fetisetsa data pakeng tsa litšebeletso tsa leru. Ka mohlala, kenya le ho romela data e le lifaele, tse ka kenngoa tšebeletsong e lakatsehang. Hangata lifaele li fetoloa hore li lumellane le sebopeho sa tšebeletso ka 'ngoe. Ona ke mosebetsi oa matsoho o batlang o le bonolo, empa ka keketseho ea palo ea litšebeletso tsena, ho ba thata le ho feta ho e etsa.

Ka hona, mohato o latelang ke API. Ka eona, tšebeletso ea leru e rua molemo tabeng ea hore e hokahanya litšebeletso tse 'maloa ka nako e le' ngoe. Ho hlaha ha tikoloho e joalo ho hohela bareki ba bacha ka lebaka la menyetla e eketsehileng. Sehlahisoa se nang le ts'ebetso e ncha se ba le chelete e ngata ebile se na le thuso.

Haeba u iketsetsa li-interface tsa hau tsa mananeo, sena se hohela barekisi ba mokha oa boraro ka sebopeho sa baetsi ba mananeo ba tsebang ka sehlahisoa sa hau ka lebaka la API. Ba qala ho haha ​​​​litharollo ho latela API e reriloeng le ho etsa chelete ka ho iketsetsa mesebetsi ea bareki ba bona.

Sistimi ea accounting ea MySklad e ipapisitse le lits'ebetso tse bonolo. Ntho e ka sehloohong ke ho sebetsa le litokomane tsa mantlha, bokhoni ba ho amohela le ho romela thepa, le ho amohela litlaleho tsa khoebo tse thehiloeng litokomaneng tsa motheo. Ho boetse ho na le phetiso ea data, mohlala ho accounting ea leru, le risiti ea eona ho tsoa lits'ebetsong tsa banka kapa mabenkeleng a mabenkele. Re boetse re sebetsa le mabenkele a marang-rang: re fumana tlhahisoleseling mabapi le lihlahisoa mme re romella tlhahisoleseling mabapi le litekanyo.

O ngotse API - o tabole XML (tse peli)

API ea pele ea MySklad

Lilemong tse 10 tsa MySklad e sebetsa le API, re fumane mefuta eohle ea likhokahano tse re lumellang ho fapanyetsana lintlha, ho sebetsa le libanka, ho lefa le ho sebelisa mohala oa kantle.

Selemong sa pele, re entse hore ho khonehe ho khoasolla data efe kapa efe ka sebopeho sa XML. Mehleng eo, ho ne ho hlakile haholoanyane ebile ho tloaelehile hore basebelisi ba boloke data ntle le marang-rang, eseng lerung le leng, mme re ile ra ba fa eona. Ho kenya ho qalisoa ka ho romelloa ka letsoho ho tsoa ho sehokelo. Ke hore, e ne e ke ke ea bitsoa API.

Ka nako e ts'oanang, re ile ra qala ho sebelisana le k'hamphani ea Rusagro - ba ne ba se ba ntse ba sebelisa ERP ea "batho ba baholo" bakeng sa tlhahiso le thekiso ea thekiso, empa ba iketsetsa likoloi tsa likoloi lifekthering tsa MySklad. Ena ke tsela eo re ileng ra fumana li-rudiments tsa pele tsa API ea sebele: phapanyetsano pakeng tsa tšebeletso ea rona le ERP e etsahetse ka ho romela faele e kholo e nang le lintlha tsa mefuta eohle ea litokomane.

Ena ke khetho e ntle bakeng sa phapanyetsano ea data ea batch, empa hammoho le litokomane re ile ra tlameha ho fetisetsa litšepiso tsa bona: tlhahisoleseding e mabapi le thepa, likonteraka le matlo a polokelo. Ho lahla ho joalo ha ho thata haholo ho hlahisa ha ho romelloa kantle ho naha, empa ho thata haholo ho hlalosa ha o reka kantle ho naha, hobane tlhaiso-leseling eohle e tla ka sephutheloana se le seng: ka litokomane tse ncha le tse seng li ntse li le teng.

XML API ea pele ha ea ka ea phela nako e telele - lilemo tse peli hamorao re ile ra qala ho e aha bocha. Esita le qalong ea mosebetsi oa eona, re ile ra etsa liphoso tse 'maloa ha re haha ​​sebopeho sa software.

O ngotse API - o tabole XML (tse peli)
XML API e entsoe joang: papiso e tsoang ho e mong oa litsebi tsa rona tsa meralo. Ka tsela, lula u mametse lingoliloeng tsa hae.

Liphoso tsa rona tsa mantlha ke tsena:

  1. Markup ea JAXB e entsoe ka kotloloho ho linaoa tsa mekhatlo. Re sebelisa Hibernate ho buisana le database, 'me letšoao la JAXB le etselitsoe linaoa tse tšoanang. Phoso ena e ile ea hlaha hang-hang: ntjhafatso efe kapa efe ho sebopeho sa data e lebisitse tlhokong ea ho tsebisa motho e mong le e mong ea sebelisang API ka potlako, kapa ho etsa lithupa tse tla netefatsa hore li lumellana le sebopeho sa data se fetileng.
  2. API e ile ea hola joalo ka tlatsetso, 'me qalong ha rea ​​​​ka ra hlalosa hore na e ne e le karolo efe ea sehlahisoa. Ha baa ka ba nahana ka hore na API e ne e le ntho ea bohlokoa, hore na ho ne ho hlokahala ho boloka tšebelisano ea morao-rao bakeng sa bareki ba eona ba pele. Ka nako e 'ngoe, palo ea basebelisi ba API e ne e ka ba 5% ea palo e nyenyane,' me ha ho tlhokomelo e lefshoang ho bona. Ho sefa ha bokahohle ho entsoeng ka nako e 'ngoe ho ile ha etsa hore re sebelisoe e le mokokotlo. Sefa sena e ne e se GraphQL ho hang, empa ntho e kang eo - e ne e sebetsa ka liparamente tse ngata tsa lipotso. Ka sesebelisoa se matla joalo, ho ne ho le thata hore basebelisi ba hane, 'me likopo li ile tsa fetisetsoa ho rona e le hore li romelloe ka kotloloho ho tsoa ho UI ea mabenkele a bona a marang-rang. Boemo e ne e le ntho e makatsang e sa thabiseng, hobane tokisetso ea tšebeletso e joalo e lokela ho hloka litheko tse fapaneng le kutloisiso e fapaneng ka kakaretso ea API ka boeona e le sehlahisoa.
  3. Ka lebaka la hore API ha ea ntlafatsoa joalo ka sehlahisoa sa mantlha, litokomane tsa API li ile tsa hlahisoa le ho phatlalatsoa ka mokhoa o setseng - ka boenjiniere ba morao-rao. Tsela ena e bonahala e le bonolo ebile e le bonolo, empa e hanana le ho sebetsa tlas'a konteraka. Mona ke ha ho na le karolo e itseng e nang le sekema sa tšebetso se seng se setiloe. Moqapi o e sebelisa ho latela morero le mosebetsi ona, karolo e lekoa, 'me mofani o fumana sehlahisoa se lumellanang le maikutlo a mohlahlobi. Reverse engineering e lahlela 'marakeng sehlahisoa se teng feela: ka lithupa, tharollo e makatsang le libaesekele ho fapana le ts'ebetso e hlokahalang.
  4. Letoto lohle la likopo tse tlileng ka API li ka hlahlojoa e le letho haese Nginx kapa log server ea kopo. Sena ha sea ka sa re lumella ho khetholla libaka tsa sehlooho, ntle le mohlomong ka basebelisi le ba ngolisitseng. Haeba ho se na mokhoa oa ho laola kopo kapa ngoliso ea bareki, ho ba thata ho sekaseka boemo. Bothata bona bo bile le tšusumetso e nyane ho nts'etsopele ea API; e mabapi le ho utloisisa bohlokoa ba eona le ts'ebetso ea eona.

Boiteko ba bobeli: REST API

Ka 2010, re ile ra leka ho haha ​​​​sistimi ea phapanyetsano ka accounting ea inthaneteng - BukhSoft. Ha ea ka ea tloha. Empa nakong ea ts'ebetso ea ho kopanya, ho ile ha hlaha API e feletseng: tšebeletso ea phapanyetsano ea REST, moo ho neng ho se na bolokolohi bo kang ho fumana ts'ebetso ka mokhoa oa li-call tsa RPC. Puisano eohle le API e tlisitsoe ho mokhoa o tloaelehileng oa ho phomola: mohala oa lipotso o na le lebitso la mokhatlo, 'me ts'ebetso e etsoang le eona e hlalosoa ka mokhoa oa http. Re kentse sefa ho ipapisitsoe le hore na mekhatlo e nchafalitsoe neng, 'me basebelisi joale ba na le monyetla oa ho ikatisa ka litsamaiso tsa bona.

Selemong sona seo, ho ile ha hlaha API ea ho laolla ntlo ea polokelo le litekanyo tsa thepa. Likarolo tsa bohlokoa ka ho fetisisa tsa tsamaiso li se li fumaneha ho basebelisi ka API - phapanyetsano ea litokomane tsa mantlha le lintlha tse baloang ka litekanyo le theko ea thepa.

Ka December 2015, RetailCRM e phatlalalitse laeborari ea motho oa boraro ho fihlella API ea rona. E ile ea qala ho sebelisoa ka mafolofolo, ha botumo ba ts'ebeletso ka kakaretso bo ntse bo eketseha, mojaro ho API o ile oa hola ka potlako ho feta mojaro o ho sehokelo sa webo. Ka letsatsi le leng khōlo e ile ea fetoha tšubuhlellano ea mojaro.

O ngotse API - o tabole XML (tse peli)

O ngotse API - o tabole XML (tse peli)

'Me ho qhoma hona, ho bontšitsoeng ke motsu o ka letsohong le letšehali, ho ile ha makatsa ka ho feletseng seva se sebeletsang API ea rona. Re ile ra qeta beke re ntse re tseba hore na hantle-ntle ke eng e neng e hlahisa mojaro ona. Ho ile ha fumaneha hore tsena ke likopo tse tšoanang tse fetisetsoang ho API ea rona ho tsoa ho bareki. Bareki ba ka bang 50 ba jele ntho e ’ngoe le e ’ngoe. Ke hona moo re ileng ra hlokomela e 'ngoe ea liphoso tsa rona - ho hloka meeli ho feletseng.

Ka lebaka leo, re ile ra hlahisa moeli oa palo ea likopo tsa nako e le 'ngoe. Hona joale hoa khoneha ho bula likopo tse sa feteng tse peli ka nako e le 'ngoe ho tsoa akhaonteng e le' ngoe. Sena se lekane ho sebetsa ka mokhoa oa ho ikatisa bakeng sa phapanyetsano ea data ka mokhoa oa batch. 'Me ba neng ba batla ho re sebelisa e le backend, ho tloha motsotsong oo ho ea pele, ba ile ba qobelloa ho lumellana hantle le litefiso, kaha ba ile ba hlahisa mosebetsi ho li-account tse' maloa ho software ea bona.

A re e beheng ka tatellano

Ho tloha 2014, tlhokahalo ea API e teng e fetohile karolo ea bohlokoa ea khoebo, 'me API ka boeona e hlahisa palo e kholo ka ho fetisisa ea data ka phapanyetsano ea data le bareki. Ka 2015, re ile ra qala morero oa ho hloekisa API. Re khethile JSON sebakeng sa XML joalo ka sebopeho mme ra qala ho e aha ho latela likarolo tse ileng tsa bonoa nakong ea ts'ebetsong ea mofuta o fetileng:

  1. Bokhoni ba ho laola liphetolelo. Phetolelo e u lumella ho theha mofuta o mocha ntle le ho ama ts'ebeliso e teng kapa ho sitisa boiphihlelo ba mosebelisi.
  2. Bokhoni ba hore mosebelisi a bone metadata karabong ka boeona eo a e fumanang.
  3. Bokhoni ba ho fapanyetsana litokomane tse kholo. Haeba re sebetsana le tokomane e nang le maemo a fetang likete tse 4-5, sena se fetoha bothata ho seva: transaction e telele, kopo e telele ea http. Re thehile mochine o khethehileng o u lumellang hore u ntlafatse tokomane ka likarolo le ho laola maemo a motho ka mong a tokomane ena ka ho e romela ho seva.
  4. Lisebelisoa tsa ho pheta-pheta li ne li boetse li le teng mofuteng o fetileng.
  5. Meeli ea mojaro e tšoana le lefa la rake le ileng la hatelloa mofuteng o fetileng. Re hlahisitse meeli ea palo ea likopo ka nako e itseng, palo ea likopo tse tšoanang le likopo tse tsoang atereseng e le 'ngoe ea IP.

Ho tloha ka nako eo, re lokolotse liphetolelo tse peli tse nyane tsa API mme ra qala li-API tse 'maloa tse ikhethang, empa mokhoa o akaretsang o ntse o sa fetohe. Sebopeho se ntlafalitsoeng sa phapanyetsano le meaho e mecha e entse hore ho khonehe ho lokisa liphoso ho API kapele haholo.

MySklad API kajeno

Kajeno, MySklad API e rarolla mathata a mangata:

  • phapanyetsano ea data le mabenkele a marang-rang, litsamaiso tsa accounting, libanka;
  • ho fumana lintlha le litlaleho tse baloang;
  • sebelisa e le sets'oants'o sa lits'ebetso tsa bareki - lits'ebetso tsa rona tsa mehala le mosebetsi oa ngoliso ea chelete ea komporo ka API
  • ho romela litsebiso mabapi le liphetoho tsa data ho MySklad - li-webhooks;
  • mohala;
  • mekhoa ea botšepehi.

E ipapisitse le API, CEO oa rona Askar Rakhimberdiev nko ka lihora tse 'ne ke ngotse bot ea thelekramo e hulang masala ka API: github.com/arahimberdiev/com-lognex-telegram-moysklad-stock

Hona joale omisa linomoro.

Mona ke lipalo-palo tsa rona tsa REST API ea khale:

  • lik'hamphani tse 400;
  • basebelisi ba 600;
  • likopo tse limilione tse 2 ka letsatsi;
  • 200 GB / letsatsi la sephethephethe se tsoang.

Mona ke seo re se entseng bakeng sa li-API tsohle tsa MySklad:

  • likhokahano tse fetang 70 (tse ling tsa tsona li ka bonoa mona www.moysklad.ru/integratsii);
  • lik'hamphani tse 8500;
  • basebelisi ba 12;
  • likopo tse limilione tse 46 ka letsatsi;
  • 2 TB/letsatsi la sephethephethe se tswang.

Ke eng e tlang

Merero ea ntlafatso ea API e tlas'a lipuisano tse sebetsang. Re leka ho ela hloko boiphihlelo ba ts'ebetso boo basebelisi ba re fang bona. Ha se kamehla ho ka khonehang ho etsa ntho e 'ngoe le e' ngoe ka nako e le 'ngoe, empa mofuta o mocha oa API o haufi le sekhutlo ka metadata e bonolo haholoanyane le sebopeho se fokolang haholo, OAuth bakeng sa ho netefatsa, le API ea lisebelisoa tse hahiloeng ka har'a sebopeho.

U ka latela litaba sebakeng sa marang-rang se ikhethileng bakeng sa baetsi ba likhokahano le MySklad: dev.moysklad.ru.

Source: www.habr.com

Eketsa ka tlhaloso