API integracije: povezivanje sistema i izrada API-ja

API integracije omogućavaju da dva sistema razmenjuju podatke bez čoveka između njih. To se pojavljuje i na sajtu, i u Windows programu, i u Office dodatku — ali je svuda isti posao i nosi isti rizik: polovina koda zavisi od tuđeg sistema koji ne kontrolišete i koji se menja bez najave. Zato je ovo zasebna usluga, sa svojom analizom i cenom: povezivanje sa tuđim servisima, sinhronizacija podataka i ERP integracija, i izrada API-ja kada drugi treba da pristupe vašem sistemu.

Odgovor za 24 sata · Cena pre početka rada · Greške ispravljam besplatno 30 dana · Kod i nalozi su vaši

Tuđa strana

Pola posla nije u vašim rukama

Kod koji ja pišem mogu da popravim za sat vremena. Servis sa druge strane ima svoja pravila, svoje kvote i svoje kvarove, i tamo se čeka. Sve što sledi na ovoj stranici napisano je zbog te jedne rečenice.

Svuda ista

Prolazi kroz sve ostalo što radim

Ista integracija se ugrađuje u sajt, u Windows program ili u Office dodatak. Menja se samo ekran oko nje, a težina posla ostaje ista.

Dokaz

Vidi se šta je poslato

Svaka integracija dobija evidenciju: šta je poslato, šta je vraćeno i kada. Bez toga se posle svake nesuglasice raspravlja bez dokaza, a sa njom se za minut vidi na čijoj strani je greška.

Šta radim

Šest vrsta posla. Prve tri su najčešće i najviše ih ima u portfelju.

Povezivanje sa tuđim servisom

Vaš softver zove tuđi: naplata karticom, knjigovodstveni servis, kurirska služba, dobavljačev cenovnik, SMS ili elektronska pošta. Piše se poziv, obrada odgovora, ponašanje kada odgovora nema i evidencija koja ostaje za proveru.

Dvosmerna sinhronizacija

Dva sistema drže iste podatke i oba ih menjaju — sajt i ERP, prodavnica i skladište, CRM i knjigovodstvo. Ovde se najviše posla krije u pitanju čija izmena je novija i šta se radi kada su obe strane menjale isti zapis.

Popravka integracije koja je stala

Radilo je godinama, pa je tuđa strana ugasila staru verziju, promenila način prijave ili uvela ograničenje broja poziva. Ulazim u zatečeni kôd, nalazim šta se promenilo i vraćam vezu u rad, bez obzira ko ju je pisao.

Vaš sopstveni API

Kada tuđi softver treba da uzima podatke od vas — partner, aplikacija, sajt ili klijentov sistem — radi se API implementacija na vašoj strani: pristupni ključevi, prava, ograničenje broja poziva i uputstvo po kome tuđi programer radi bez zvanja telefonom.

Naplata i elektronske fakture

Plaćanje karticom, povraćaji i pretplate, kao i slanje na sistem elektronskih faktura. Ovo je poseban slučaj jer greška ne košta vreme nego novac, pa se radi sa ponovnim pokušajima koji ne mogu dvaput da naplate isti iznos.

Prenos i uvoz podataka

Jednokratno prebacivanje iz starog sistema u novi ili redovan uvoz cenovnika i stanja od dobavljača. Kada je posao pre svega u samoj bazi — šema, indeksi, čišćenje — to je rad nad bazom podataka.


Zašto je ovo poseban posao, a ne deo izrade

Kada pravim ekran, bazu ili izveštaj, znam sve učesnike i sve mogu da ispravim. Kod integracije to nije tačno, i zbog toga se drugačije procenjuje, drugačije testira i drugačije naplaćuje. Ovih šest stvari se pojavljuje skoro u svakom takvom poslu:

  • Dokumentacija ne odgovara stvarnosti. Polje koje po uputstvu uvek postoji ponekad stigne prazno, a primer iz dokumentacije vraća grešku. Prvi deo posla je da se utvrdi kako se servis zaista ponaša, a ne kako piše.
  • Prijava i ključevi. Lozinka, token koji ističe, OAuth prozor u kome neko mora da klikne, sertifikat sa rokom. Svaki od tih načina drugačije se obnavlja i svaki ume da obori vezu u tri ujutru.
  • Ograničenja broja poziva. Servisi računaju pozive i naplaćuju ih ili ih odbijaju. Zato se pravi red čekanja i pamti šta je već preuzeto, umesto da se svaki put povlači sve.
  • Tuđa strana se menja bez najave. Verzija se gasi, polje menja naziv, uslovi se pooštre. Integracija se piše tako da se to vidi odmah i na jednom mestu, a ne kroz tri meseca po pritužbi kupca.
  • Greške koje dolaze i prolaze. Servis padne na dva minuta. Posao ne sme ni da stane ni da se izvrši dvaput — zato ponovni pokušaji i pravilo da isti nalog ne može biti poslat dva puta.
  • Probno okruženje nije produkcija. Testni servis često prima ono što pravi odbija. Deo posla se zato može zatvoriti tek na vašim stvarnim podacima i vašim nalozima.

Zbog svega toga integracija i na drugim stranicama nosi svoju cenu — na primer kod Office dodataka odvojen je lokalni posao od onog sa vezom ka tuđem servisu. Ovde je taj deo posla opisan na jednom mestu, da se ne bi ponavljao pet puta. AI integracija je poseban slučaj iste priče: i to je veza sa tuđim servisom, samo što tamo odgovor na isto pitanje ne mora dvaput biti isti, pa ima svoju stranicu i svoju analizu.


Iskustva korisnika

★★★★★5/5

“Saradnja sa Dejanom bila je odlična. Profesionalan je, pouzdan i vrlo stručan, i dosledno isporučuje kvalitetan rad na vreme. Jasno komunicira, brzo reaguje na primedbe i pokazuje da dobro razume zahteve projekta. Rado bih nastavio da radim sa njim i toplo ga preporučujem drugim klijentima.”

Xiao Z.
Iz projekta: Program koji sam preuzima dokumente sa portala bez API-ja
★★★★★5/5

“Super vijest je da verzija 6 jako lijepo radi i kod nas i kod kolega na računalima. Onda možemo reći da je ovo, za sada, finalna verzija. Zahvaljujem ti se na dosadašnjoj suradnji i dobro se provedi u Vijetnamu! 😊”

Ivan R.
Iz projekta: Kreiranje zadataka na Productive.io
★★★★★5/5

“Dejan je bio sjajan. Završio je sve zadatke na vreme i bio je veoma strpljiv i temeljit u komunikaciji i dokumentaciji. Hvala ti, Dejane!”

Feilian W.
Iz projekta: Strugač podataka sa dva nivoa stranica
★★★★★5/5

“Dejan je nesumnjivo majstor svog zanata. On nije samo pomogao u našem projektu; unapredio ga je. Putovanje od začetka do završetka bilo je puno neizvesnosti, ali Dejan nas je vodio sa neuporedivom stručnošću i strpljenjem. Njegova komunikacija bila je dosledna, konstruktivna i ključna za uspeh našeg projekta. Od srca preporučujem Dejana i nadam se saradnji s njim u budućnosti. Njegova posvećenost je neuporediva - pravi profesionalac. Veliko hvala za sve!”

Chris S.
Iz projekta: C# aplikacija za praćenje parametara i slanje naloga preko brokerskog API-ja
★★★★★5/5

“Još jedan uspešan projekat sa Dejanom. Lakoća komunikacije i dubina njegovog stručnog znanja čine da projekat teče nesmetano.”

Reginald B.
Iz projekta: VB.NET veb servis sa proverom JWT tokena
★★★★★5/5

“Izuzetno cenim edukativni pristup tokom ovog projekta. Dejan nije samo isporučio odlično rešenje, već je i osigurao da razumem svaki korak. Njegova stručnost i dostupnost su za svaku pohvalu. Visoko preporučujem svima koji traže znanje i rezultate!”

Ferruh K.
Iz projekta: Veb servis za slanje e-pošte, pokretan po rasporedu

Urađeno

Integracije su prisutne kroz ceo portfelj, jer se pojavljuju u svakoj vrsti softvera koju radim: od razmene sa knjigovodstvom i naplate preko Stripe-a do preuzimanja podataka od dobavljača i poslova koji se izvršavaju sami, bez otvorenog prozora.

Dva gotova proizvoda su nastala baš iz ovakvog posla: SEF dodatak za Excel i Word-GPT VSTO dodatak.


Ko radi na vašem projektu

Dejan Dozet, samostalni programer, programiram od 2002. Posao vodim od prvog razgovora do isporuke, bez posrednika.

Povezivao sam SEF, Stripe, Xero i Dropbox sa programima, sajtovima i Office-om; iz tog posla su nastali SEF dodatak za Excel i Word-GPT dodatak.

Dejan Dozet PR Obrada podataka Tomislavci, MB 63144568, PIB 108005073.

Više o meni

Kako posao ide

  • Kažete koja dva sistema treba povezati i šta bi trebalo da se dešava — na primer „kada kupac plati na sajtu, faktura da uđe u knjigovodstvo".
  • Analiza tuđeg API-ja. Čitam dokumentaciju, pravim probne pozive vašim nalogom i utvrđujem šta je uopšte moguće. Ovo je jedini deo koji se ne može preskočiti, jer se bez njega ne zna ni cena ni da li posao ima rešenje.
  • Ponuda za dogovoreni obim. Posle analize dobijate fiksnu cenu za API implementaciju i spisak slučajeva koji su pokriveni, uključujući i ono što se radi kada tuđa strana ne odgovori.
  • Rad na probnim nalozima gde god ih tuđi servis nudi, pa provera na vašim podacima pre puštanja u rad.
  • Predaja. Dobijate kôd, ključeve na svoje ime, evidenciju poziva i kratko uputstvo šta da uradite kada tuđa strana promeni pravila.

Cene

Isti raspored kao kod ostalih usluga: prvo analiza, zatim zahvat sa poznatom ulaznom cenom, a sitne dorade po satu.

Prvi korak

Analiza tuđeg API-ja

Čitanje dokumentacije i probni pozivi vašim nalogom, da se utvrdi šta je moguće i koliko košta.

Cena 29.900 RSD (254,63 €)

Analiza se plaća i poručuje prva, a odbija se od cene posla ako nastavimo. Ako se ispostavi da tuđi servis ne dozvoljava ono što vam treba, to ćete saznati posle analize, a ne posle plaćenog razvoja.

Zahvati

API integracije

Popravka integracije koja je stala

Tuđa strana je ugasila staru verziju, promenila prijavu ili uvela ograničenje; vraćam vezu u rad, bez obzira ko ju je pisao.

  • Pregled zatečenog kôda i evidencije rada, uz ponavljanje kvara na konkretnom primeru.
  • Utvrđivanje da li je uzrok nova verzija API-ja, promenjena prijava, format podataka ili ograničenje broja poziva.
  • Prilagođavanje postojećih poziva i obrade odgovora u okviru toka koji je ranije radio.
  • Jasna evidencija grešaka i ponovni pokušaji koji ne izvršavaju isti posao dvaput.
  • Provera popravljene veze sa vašim nalogom i stvarnim primerom pre vraćanja u rad.
Početna cena44.900 RSD(382,37 €)
Poručite analizu

Povezivanje sa tuđim servisom

Vaš softver zove tuđi: naplata karticom, knjigovodstvo, kurirska služba, cenovnik dobavljača, SMS ili e-pošta.

  • Povezivanje vašeg postojećeg softvera sa jednim dogovorenim servisom, preko vašeg naloga i ključeva.
  • Slanje i preuzimanje dogovorenih podataka ili izvršavanje dogovorene radnje preko API-ja.
  • Preslikavanje polja, oznaka i statusa između dva sistema.
  • Obrada odgovora, grešaka i prekida veze, sa ponovnim pokušajima bez dupliranja posla.
  • Evidencija poziva i provera veze u probnom, a zatim na stvarnom nalogu.
Početna cena59.900 RSD(510,12 €)
Poručite analizu

Prenos i uvoz podataka

Jednokratno ili ponovljivo preuzimanje podataka iz tuđeg sistema u vaš, sa proverom šta je preneto.

  • Popis i preslikavanje dogovorenih polja iz izvornog u odredišni sistem.
  • Skripta ili postupak za jednokratni prenos ili redovan uvoz, prema dogovorenom rasporedu.
  • Provera formata i dogovorene pretvorbe vrednosti pre upisa u odredište.
  • Rad u grupama sa nastavkom posle prekida, bez ponovnog uvoza već obrađenih zapisa.
  • Izveštaj o broju prenetih, preskočenih i neispravnih zapisa, sa spiskom grešaka za proveru.
Početna cena59.900 RSD(510,12 €)
Poručite analizu

Vaš sopstveni API

Kada tuđi softver treba da uzima podatke od vas: ključevi, prava, ograničenje broja poziva i uputstvo za tuđeg programera.

  • API adrese za čitanje ili upis tačno dogovorenih podataka i izvršavanje dogovorenih radnji.
  • Pristupni ključevi, prava po korisniku ili sistemu i ograničenje broja poziva.
  • Provera ulaznih podataka, jasni statusi i odgovori koji opisuju svaku grešku.
  • Uputstvo sa opisom adresa, polja i primerima poziva za tuđeg programera.
  • Evidencija poziva i provera rada sa sistemom koji će koristiti API.
Početna cena89.900 RSD(765,60 €)
Poručite analizu

Naplata i elektronske fakture

Povezivanje sa servisom za naplatu ili sa sistemom elektronskih faktura, sa evidencijom svakog poslatog dokumenta.

  • Povezivanje sa jednim dogovorenim servisom za naplatu ili elektronske fakture, preko vašeg naloga.
  • Dogovorene radnje nad uplatama, povraćajima, pretplatama ili elektronskim dokumentima.
  • Preslikavanje iznosa, kupaca, dokumenata, oznaka i statusa između sistema.
  • Obrada potvrda i odbijanja, uz ponovne pokušaje koji ne mogu dvaput naplatiti ili poslati isti dokument.
  • Evidencija svake razmene i provera na probnom, a zatim na stvarnom nalogu.
Početna cena89.900 RSD(765,60 €)
Poručite analizu

Dvosmerna sinhronizacija

Dva sistema drže iste podatke i oba ih menjaju: sajt i ERP, prodavnica i skladište, CRM i knjigovodstvo.

  • Preslikavanje dogovorenih polja, oznaka i statusa koje dele oba sistema.
  • Pravila o tome koji sistem je izvor istine i šta se radi kada obe strane izmene isti zapis.
  • Slanje novih i izmenjenih podataka u oba smera, prema dogovorenom rasporedu ili događaju.
  • Red čekanja i ponovni pokušaji koji poštuju ograničenja servisa i ne prave duplikate.
  • Evidencija poslednje sinhronizacije, grešaka i zapisa koji zahtevaju ručnu proveru.
Početna cena119.900 RSD(1.021,08 €)
Poručite analizu

Manje izmene na integraciji koja već radi ne moraju da idu kroz zahvat: za njih postoji rad po satu, gde se plaća utrošeno vreme. Ceo cenovnik stoji na stranici cena.

Obavezujem se:

  • Odgovaram istog radnog dana, najkasnije narednog.
  • Cenu saznajete pre, a ne posle. Fiksnu cenu i rok dajem posle analize, a svaki izlazak van dogovora najavljujem pre nego što ga uradim.
  • Veza se ne pušta dok se ne proveri na pravim podacima, uključujući slučaj kada tuđa strana vrati grešku.
  • Zapisuje se šta je poslato i šta je vraćeno, da se posle zna gde je podatak stao.
  • Ključevi i pristupi glase na vaše ime i ostaju vama. Izvorni kôd dobijate uz isporuku.
  • Greške ispravljam bez naplate 30 dana od isporuke. Greška je kada nešto ne radi kako je dogovoreno; izmena je kada želite drugačije nego što je dogovoreno.

Ne ulazi u cenu:

Pišem ovo da biste cenu razumeli pre porudžbine, a ne posle. Sve sa spiska mogu da uradim, ali se dogovara i naplaćuje posebno.

  • Pretplata i naknade tuđeg servisa. Nalog, paket i naknade po transakciji kod servisa sa kojim se povezujete plaćate vi, sa svog naloga.
  • Ono što tuđa strana ne dozvoljava. Ako njihov API nema funkciju koja vam treba, ili je iza skupljeg paketa, to se ne rešava programiranjem.
  • Izmene na tuđem sistemu. Radim na vašoj strani veze. Prepravke kod partnera, banke ili dobavljača dogovarate vi sa njima.
  • Sređivanje podataka koji nisu spremni. Ako šifarnici nemaju zajednički ključ ili se isti artikal zove različito u dva sistema, to je poseban posao.
  • Pravna i poreska procena. Tehnički mogu da ispunim ono što propis traži, ali procenu daje knjigovođa ili pravnik.
  • Trajna raspoloživost tuđeg servisa. Ako oni promene API, podignu cenu ili ugase uslugu, prilagođavanje je nov posao.

Pre početka pripremite:

  • Pristup oba sistema — probni nalog ili kopiju, sa dokumentacijom ako postoji.
  • Ključeve i dozvole kod tuđeg servisa, izdate na vaše ime.
  • Jednog sagovornika koji zna kako posao ide danas i šta znači da je podatak tačan.
  • Nekoliko stvarnih primera podataka, uključujući i one koji su prošli loše.
  • Odluku šta se radi kada tuđa strana ne odgovori — čeka se, ponavlja ili prijavljuje.

Vlasništvo i izlaz

  • Nalozi i ključevi glase na vaše ime. Pristup tuđem servisu otvarate vi, pa veza nastavlja da radi i ako se nikada više ne čujemo.
  • Izvorni kôd je vaš, zajedno sa opisom svih poziva koji se koriste.
  • Evidencija ostaje kod vas. Zapisi o poslatom i primljenom čuvaju se na vašem serveru, a ne kod mene.
  • Bez posrednika u sredini. Vaš softver zove tuđi servis neposredno; ne uvodim svoj server kroz koji bi vaši podaci morali da prolaze.

Često postavljana pitanja

Zato što je najveći deo neizvesnosti baš tu. Da li tuđi servis uopšte daje podatak koji vam treba, pod kojim uslovima i uz koje ograničenje — to se utvrđuje probnim pozivima, a ne čitanjem. Iznos se odbija od cene posla ako nastavimo, a ako ne nastavimo, ostaje vam pisano šta je moguće i sa tim možete kod bilo kog izvođača.

To se dešava i nije greška u isporučenom poslu. Integracija se piše tako da se takva promena vidi odmah, na jednom mestu i uz jasnu poruku u evidenciji. Sama prilagodba se naplaćuje kao nova izmena, najčešće po satu, jer zavisi od toga šta je druga strana promenila.

Ponekad ima, kroz izvoz i uvoz datoteka, elektronsku poštu ili zajedničku bazu. To je sporije i krhkije od pravog API-ja i tako ću vam i reći, sa procenom koliko takvo rešenje traje pre nego što počne da smeta. Kada ni to nije moguće, bolje je da ne počinjemo.

Vi, i nalog glasi na vas. Mnogi servisi naplaćuju po pozivu ili po mesecu, pa u analizi stoji i procena tog troška — jer ume da bude veći od same izrade ako se podaci povlače češće nego što je potrebno.

Možete, i tako se najčešće i radi. Ali se vodi kao zasebna stavka sa svojom cenom, jer nosi rizik koji ostatak posla nema. Tako i vi vidite koliko vas tačno košta veza sa tuđim sistemom, umesto da bude skrivena u zbirnoj ceni.

Svaka integracija dobija evidenciju poziva i, kada tako dogovorimo, obaveštenje poštom kada nešto zapne. Tihi kvar je najgori slučaj: podaci prestanu da stižu, a niko ne primeti dok se ne pojavi manjak u izveštaju.

Koja dva sistema treba da razgovaraju?

Napišite koji su to sistemi i šta bi trebalo da se dešava. Ako je veza moguća, reći ću vam kako se radi i koliko otprilike košta; ako nije, reći ću i to, pre nego što bilo šta platite.

Pošaljite upit

Uglavnom odgovaram isti dan.

API integracija i povezivanje poslovnih sistema