la distanță·trei întreprinzători individuali·împreună din 2012

Două sisteme
care nu știu
unul de altulIntegrare API și plăți online

Lucrăm la distanță, pentru clienți din orice țară. Legăm lucruri care nu au fost gândite să vorbească între ele: un API străin, un schimb vechi de date, un procesator de plăți, sistemul dumneavoastră de evidență. De ambele părți ale podului stă ceva scris de altcineva, nu pentru dumneavoastră.

02 — cum funcționează

Cealaltă parte n-o veți schimba

O integrare se face nu unde este comod, ci unde se poate: sistemul altcuiva nu poate fi rescris, iar tot ce face el greșit va trebui să preluați dumneavoastră.

De aici și diferența la estimare. „Conectăm plățile” sună ca un singur punct și se dovedește a fi o lucrare întreagă, pentru că nu conectarea este esențialul. Esențialul este ce se face când răspunsul n-a venit, a venit de două ori sau a venit greșit. Aceste cazuri sunt integrarea; restul este un apel de metodă.

Teritoriul acesta îi revine lui Dumitru: backend, API, schimb în timp real, plăți — paisprezece ani, toți pe partea aceasta a lucrului. Deciziile de arhitectură și tot ce ține de servere îi revin lui Andrei. Doi dintre noi lucrează pe același teritoriu de backend, așa că o integrare nu rămâne cunoștința unui singur om.

cât durează o integrare

O integrare cu un API documentat — de la două la șase săptămâni. Fără documentație sau cu echipamente de cealaltă parte — mai mult, iar cu cât mai mult se vede abia după ce o privim.

Termenul aici nu depinde de noi, ci de cealaltă parte: dacă există documentație, dacă există un mediu de test și cât de repede răspund cei care țin acel sistem. De aceea dăm un interval după ce ne uităm la cealaltă parte — nu după ce citim caietul dumneavoastră de sarcini.

03 — conținutul lucrării

Ce facem pe teritoriul acesta

Un API pentru produsul dumneavoastră. Unul folosit apoi nu numai de mâinile dumneavoastră: parteneri, aplicația dumneavoastră mobilă, următorul dumneavoastră furnizor. Cu documentație după care se poate lucra fără să ne întrebe pe noi.

Integrări cu sisteme străine. Schimb cu 1C și cu alte sisteme de evidență, depozit, livrare, CRM — tot ce stă la dumneavoastră de ani de zile și nu are de gând să se schimbe.

Plăți și acceptare de carduri. Conectarea acceptării cardurilor și a plăților în criptomonede: am făcut plăți în BTC, ETH, ERC-20, BCH și LTC. Împreună cu ce se întâmplă la refuz, la dubla debitare și la returnare.

Schimb în timp real. Când datele trebuie să apară imediat, nu la apăsarea butonului „reîmprospătează”: websocket-uri, cozi, webhook-uri.

Reîncercări și cozi. Sistemul celuilalt cade o jumătate de oră — comenzile nu se pierd, ci așteaptă și pleacă atunci când el revine.

Jurnal de schimb. Ce a plecat și când, ce a venit înapoi. Fără el, o dispută cu cealaltă parte se transformă în vorba unuia contra vorbei celuilalt.

04 — dovezi

Integrări și plăți pe care le-am făcut deja

iTicket — platformă de bilete cu integrarea turnicheților de la intrare iTicket — pagina unui eveniment cu date, locație, preț și cumpărarea biletului

iTicket — turnicheți

Platforma de bilete a Moldovei și a României, pe care o ducem de zece ani. Biletul cumpărat din aplicație trebuie să deschidă turnichetul de la intrare — iar turnichetul stă în locație, funcționează după protocolul lui și nu poate fi rescris. Exact aceasta este partea pe care n-o schimbi.

integrare cu echipamenteacces pe bază de biletde 10 ani
mai multe despre proiect — pagina despre preluare
Mr. Duck — aplicația șoferului: harta spălătoriilor din jurul Bucureștiului, soldul de credite și butonul „cea mai apropiată locație” mrduck.com — pagina publică cu acces către aplicații și portalul partenerului mrduck.com — site-ul pentru proprietarii de spălătorii: ce oferă platforma și intrarea în portalul partenerului mrduck.com — prețuri și credite: cum se alimentează contul și cât costă un jeton la fiecare spălătorie

Mr. Duck

SaaS pentru rețele de spălătorii auto self-service din România. Șoferul găsește spălătoria pe hartă, vede posturile libere în timp real, își alimentează contul și pornește postul de pe telefon — fără jetoane. Controlerul din interiorul automatului a fost proiectat de aceeași echipă, așa că plata și pornirea fizică sunt un singur flux. Pentru proprietarii de rețele — un portal multi-tenant cu încasări și mentenanță.

aplicația șoferuluiiOS + Androidcontroler propriuportalul parteneruluiplăți
dezvoltare în cadrul echipei Blue Twin Bit

Plățile și integrările sunt partea cel mai greu de arătat: nu se vede într-o captură de ecran, iar o parte însemnată din lucrările noastre este sub acorduri de confidențialitate ale agențiilor. Plăți în criptomonede am făcut; proiectele în care s-a întâmplat nu le putem numi încă. Exemple, la cerere.

05 — proces

Cum decurge lucrul la o integrare

  1. 01Veniți cu un caiet de sarcini.Ce se leagă cu ce, ce trebuie să se întâmple și ce există deja de fiecare parte. Aceasta este partea dumneavoastră: fără ea nu avem ce socoti.
  2. 02Îl analizăm.Îl aducem la un document în care nu mai rămân întrebări și citiri duble: ce anume construim și ce nu. Pentru o integrare, aici intră și ceea ce de obicei nu se scrie: ce se consideră eroare și cine o va vedea.
  3. 03Ne uităm la cealaltă parte.Documentația API-ului străin, accesul la mediul de test, ce este deja scris la dumneavoastră. O estimare fără asta ar fi estimarea unei singure jumătăți de pod.
  4. 04Estimare în ore — după caietul de sarcini finalizat.Cifrele se socotesc după un document pe care l-ați citit și l-ați aprobat. A socoti orele după descrierea unei idei înseamnă ghicit, plătit de dumneavoastră. Aici, la descrierea ideii se adaugă a doua jumătate: fără documentația celeilalte părți, estimarea ar fi ghicit de două ori.
  5. 05Vedeți unde se duce timpul.Evidență în Toggl, raportul vă este deschis: o dată pe lună — ore pe sarcini, ce s-a făcut, ce urmează. Factura este pentru orele lucrate, nu în avans.
  6. 06Lansare — apoi mentenanță sau predare.O integrare trăiește exact atât cât cealaltă parte rămâne aceeași. Putem rămâne să urmărim asta sau putem preda curat lucrul echipei dumneavoastră.
06 — sincer

Ce nu promitem la integrări

Nu promitem că o integrare este făcută pentru totdeauna. Un API străin se schimbă fără acordul nostru și poate fi schimbat fără avertisment; întrebarea nu este dacă se va întâmpla, ci cine va fi acolo când se întâmplă.

Nu dăm un preț înainte de caietul de sarcini și înainte de documentația celeilalte părți. Mai ales aici: jumătate din lucrare stă în sistemul altcuiva, iar a o estima orbește înseamnă a ghici pe banii dumneavoastră.

Rezerva intră în estimare, dar nu în factură: plătiți orele lucrate. Dacă lucrarea a durat mai puțin, plătiți mai puțin. Mai multe despre modul în care se socotesc orele — pe pagina principală.

07 — întrebări frecvente

Întrebări frecvente despre API, integrări și plăți

De ce aveți nevoie ca să estimați o integrare?

Un caiet de sarcini din partea dumneavoastră și documentația celeilalte părți — și mai bine, acces la mediul ei de test. O estimare fără al doilea este estimarea unei jumătăți de lucrare.

Cât durează o integrare?

De la două la șase săptămâni, dacă cealaltă parte are documentație. Dacă nu are sau dacă acolo stau echipamente — mai mult, iar cu cât mai mult se vede abia după examinare: termenul depinde aici de sistemul altcuiva nu mai puțin decât de noi.

Și dacă cealaltă parte nu are documentație?

Ne apucăm, dar este un alt volum de lucru: va trebui să ne lămurim după ceea ce răspunde sistemul în realitate. Spunem asta înainte de estimare, nu după.

Ce plăți conectați?

Acceptare de carduri și criptomonede: BTC, ETH, ERC-20, BCH și LTC, din experiența noastră. Ce furnizori vă sunt disponibili depinde de sarcină și de țara în care funcționează totul: ce este obișnuit într-o țară poate fi cu totul indisponibil în alta.

Faceți schimb de date cu 1C și cu alte sisteme de evidență?

Da, schimbul cu 1C este cea mai frecventă integrare după plăți, iar cu alte sisteme de evidență lucrurile stau la fel. Întrebarea este mereu aceeași: ce anume știe acel sistem să dea și să primească. Dacă are un API sau un export periodic — lucrăm cu ele; dacă nu are nimic în afară de export prin fișier, schimbul se construiește în jurul fișierului, și acesta este tot o variantă funcțională, doar mai fragilă.

Ce se întâmplă când cealaltă parte își schimbă API-ul?

Defecțiunea se vede imediat și în jurnal, nu peste o săptămână, după comenzile lipsă: schimbul se scrie pornind de la ideea că cealaltă parte își va schimba API-ul mai devreme sau mai târziu, fără avertisment. Dacă rămânem pe mentenanță, o reparăm noi; dacă am predat lucrul, echipa dumneavoastră va vedea același lucru în același loc.

În ce scrieți API-urile?

Cel mai des PHP cu Laravel sau Node.js cu NestJS, schimbul în timp real — prin websocket-uri și cozi, totul în Docker pe Linux. Lista completă a tehnologiilor cu care lucrăm este la subsolul paginii. Dacă backend-ul dumneavoastră stă pe o tehnologie care nu se află pe listă, este mai cinstit să spunem de la început că nu suntem noi oamenii potriviți.

Cui îi aparține codul?

Dumneavoastră. Lucrăm lunar și facturăm ceea ce este deja făcut, așa că accesul la repozitoriu poate fi predat de la început, nu la final — nu avem niciun motiv să ținem codul la noi până la ultima plată.

Semnați un acord de confidențialitate?

Da. O parte însemnată din lucrările noastre curente este deja sub un astfel de acord.

În ce fus orar și în ce limbi lucrați?

Lucrăm la distanță cu clienți de oriunde, fus orar EET. Vorbim și scriem română, rusă, engleză și bulgară.

08 — mai departe

Spuneți-ne ce trebuie legat

Veniți cu un caiet de sarcini și cu ce se știe despre cealaltă parte. Îl vom reface astfel încât să nu mai rămână întrebări, și abia după el socotim orele.

o singură adresă, toți trei

[email protected]

Aceasta este intrarea. De API, integrări și plăți răspunde Dumitru.

Pentru a-i scrie direct unuia dintre noi — contactele de pe pagina principală.

Dacă aveți altă nevoie: o aplicație web sau un sistem intern, o aplicație pentru iOS și Android, un magazin online, un site sau un landing page, preluarea unui proiect existent, adaptarea unui site existent pentru telefon.

Dacă vreți mai întâi să vedeți cine suntem — pagina principală: noi trei, cu ce se ocupă fiecare, cum socotim orele și ce am făcut până acum.