Ai auzit vreodată cuvântul „API” și te-ai întrebat ce este? Daca nu, e posibil sa auzi e el, sau nu, dar cert este ca il folosesti mai tot timpul.
Suntem inconjurati de tehnologie, pe care nu trebuie sa o intelegem neaparat pentru ca sa o putem folosi, la fel cum folosim, de exemplu, energia electrica, fara sa ne preocupe sursa de unde provine si traseul pe care il parcurge pana la noi. In particular fie spus, inca nu ne este prea clar ce ii face pe electroni sa se miste de colo-colo prin micro-cosmosul cuantic, dar asta nu inseamna ca nu stim foarte bine sa stapanim electricitatea.
De cate ori folosesti telefonul mobil, pui in miscare sute de softuri care circula prin serverele lumii, de la Bucuresti la Frankfurt, la New York si inapoi la Bucuresti, intr-o clipita – si toate astea, ca sa ai o experienta de cunoastere, divertisment sau comunicare rapida.
API-urile sunt niste particule de software in acest angrenaj tehnologic.
API înseamnă Application Programming Interface. În termeni de bază, API-urile sunt un set de funcții și proceduri care permit crearea de aplicații care accesează date și caracteristici ale altor aplicații, servicii sau sisteme de operare.
API-ul nu este baza de date sau chiar serverul, ci codul care guvernează punctele de acces pentru server. Este un soft dar nu este chiar un program intreg ci mai degraba o secventa de cod - serviciu. Poate fi mic si simplu sau mare si foarte sofisticat, dar rolul lui este sa lucreze ceva chirurgical in “burtica” unei baze de date. Fie sa extraga de acolo niste date, fie sa faca anumite modificari.
Un exemplu obisnuit
Un exemplu din lumea reală este cumpărarea online de bilete la film sau spectacol. Mergi la site-ul cinematografului, teatrului sau pe un site de bilete, alegi spectacolul, locurile preferate si apoi iti introduci numele și informațiile cardului de credit și, iată, ai cumparat biletele.
Dar ce se întâmplă între introducerea informațiilor și primirea biletului? API-uri! Ele colaborează în culise si isi dau mana intre ele fara ca tu sa simti ca te-au plimbat de la una la alta.
Pentru ca solicitarea ta sa fie rezolvata, informatia a trebuit sa circule in medii heterogene, pe mai multe servere de date aflate oriunde in lume:
- Intai in baza de date a site-ului de bilete – unde ai inregistrat solicitarea, apoi
- Baza de date a teatrului/cinema-ului – unde ai ales spectacolul si locurile, apoi
- Baza de date a procesatorului de plati online – unde ai initiat transferul bancar din cardul tau – care a trimis mai departe cererea ta la
- Banca ta.
Banca ta nu are un singur server central de cele mai multe ori ci mai multe, care comunica intre ele prin diverse protocoale. Dupa ce s-au intrebat intre ele, serverele bancii au ajuns la concluzia ca ai bani suficienti in contul de card si au permis tranzactia – plata ceruta de tine.
Apoi incepe circuitul invers: banca ta a transmis ok-ul catre procesatorul de plati, care la randul lui a trimis mesaj inapoi catre baza de date a teatrului, care ti-a rezervat locurile in sala la spectacolul tau. In final, site-ul de bilete este incunostiintat si el ca, iata, tranzactia s-a incheiat cu succes.
In acest timp, tu nu ai “simtit” nimic, doar ai vazut in final un ecran de multumire pentru achizitia ta.
Care este relatia dintre Synapsa ERP si API-uri?
Synapsa ERP foloseste API-uri pentru a interactiona cu alte sisteme deschise pentru interactiune, fie publice, fie autentificate individual.
Daca Synapsa ar fi un neuron, API-urile ar fi sinapsele de legatura cu alti neuroni din marele creier al omenirii, numit internet :)
(ce e o sinapsă?)
Exemple de API-uri si rolurile lor fata de Synapsa ERP:
Exemple de intrari in Synapsa:
- Comenzi provenite de la clienti din magazinul online al firmei
- Clienti, prospecti, oferte, facturi, incasari provenite dintr-o aplicatie web externa de Synapsa, pe care o foloseste firma respectiva
Synapsa, fiind un sistem ERP, se ocupa mai ales sa rezolva procesele interne: prelucrarea comenzilor, aprovizionarea, productia, pregatirea livrarilor, etc., dar contine si CRM si multe alte functiuni prin care sa ajute la rezolvarea unitara a tuturor activitatilor din firma.
Exemple de iesiri din Synapsa ERP:
- Stocurile din gestiune ale marfurilor puse in vanzare in magazinul online – pentru ca ele sa fie vizibile cantitativ in site, sau cel putin sa aiba marca IN STOC sau STOC EPUIZAT
- Liste de marfuri si/sau servicii aflate la vanzare in site-ul de prezentare al firmei
In general, treburile rezolvate prin intermediul API-urilor sunt orice import sau export de date, care se face direct intre servere, fara a fi nevoie ca din serverul sursa sa se descarce (dowloadeze) niste date si in serverul destinatie sa se incarce (uploadeze) datele respective.
Mai sunt si alte considerente care diferentiaza API-urile intre ele sau de alte tipuri de cod, dar despre acestea in alt articol, mai tehnic.