Benzigo

Korisnička aplikacija sa plaćanjem računa karticom — i više autonomnih botova koji operacije sa gorivnim karticama izvršavaju na portalu samog dobavljača.

Benzigo — B2B gorivne kartice Korisnička aplikacija, plaćanje karticom i automatizacija portala Frilens · 2024–2026

benzigo.ru →

Problem

Benzigo prodaje gorivne kartice firmama sa voznim parkom: kartica po vozilu, limiti potrošnje, popusti na pet hiljada stanica. Kada se kartica izgubi, vozač ode ili račun ostane neplaćen, ta kartica mora da se blokira ili zamrzne — odmah, ne sutra.

Portal dobavljača goriva pravljen je za čoveka koji klikće kroz njega. Benzigov CRM te operacije izdaje na hiljade. Između je stajao neko i radio to ručno, a pogrešiti u jednoj košta na najdirektniji mogući način: kartica koja bi trebalo da bude zamrznuta a nije nastavlja da toči gorivo, i klijent plaća račun.

Šta sam napravio

Korisnički interfejs: Vue aplikaciju upakovanu kroz Capacitor za Android i isporučenu kao progresivnu web aplikaciju — menadžer je instalira pravo iz pregledača.

U njoj i plaćanje neizmirenih računa karticom. Stranicu za plaćanje drži banka, pa podaci o kartici nikada ne stižu do Benziga — ali CRM je za prihvat kartica imao samo prazno zaglavlje, pa je ostalo bilo moje: mašina stanja naloga, broj jedinstven po pokušaju da bi račun koji je banka odbila mogao ponovo da se plati, i doplata prikazana pre preusmeravanja, jer naplaćeni iznos nije onaj koji je ukucan. Klijent je izabrao da se banka ispituje umesto da se prima njen poziv nazad, pa je upis u knjigovodstvo idempotentan po identifikatoru naloga u banci — koji god put stigne prvi, taj upisuje plaćanje.

I autonomnog bota u Go-u koji ne prosleđuje datoteke nego obavlja posao: autentifikuje se na portalu dobavljača, čuva JWT u Redisu, preuzima XML zadatke sa FTP-a i svaku operaciju izvršava preko API-ja samog portala — pronalazi i proverava kartice, blokira, deblokira, zamrzava, odmrzava, čita stanje ugovora. Zamrzavanje tamo nije dugme. Mora da se izrazi kroz sistem limita platforme, pa bot menja zapise o limitima da bi napravio stanje koje portal pojmovno nema.

Odbrambeni delovi su ono što se isplati: posle neuspeha bot proverava stvarno stanje limita na kartici umesto da ga pretpostavi, a neuspelo čitanje stanja nikada se ne prijavljuje kao 0,00 ₽ — datoteka sa rezultatom je ono u šta CRM veruje. Većina od 36 testova postoji da to zaštiti. Radi kao grupa Docker instanci, svaka sa sopstvenim pristupnim podacima za portal, a klijent ih pokreće nekoliko uporedo.

Rezultat

Hiljade operacija sa karticama prolaze bez nadzora, kroz portal koji nikada nije bio zamišljen da ga koristi išta osim čoveka. Benzigo navodi da opslužuje preko hiljadu firmi na više od pet hiljada partnerskih stanica.

Radi preciznosti, o obimu: CRM je najvećim delom posao drugog tima — unutar njega, modul za prihvat kartica je moj. Kao i aplikacija koju korisnici koriste i automatizacija koja u njihovo ime deluje unutar sistema dobavljača.

Tehnologije

GoRedisVueCapacitor / AndroidPHPprihvat kartica Alfa bankeXML preko FTP-aDocker

Uključene usluge

Imate sličan projekat?

Recite mi šta sistem treba da radi i sa čime treba da se poveže. Dobijate jasan odgovor o obimu, redosledu i tome šta bih prvo napravio — pre bilo kakve obaveze.

Započnite razgovor