API-uri pentru rețelele sociale: Portalul Internetului către lumea reală

Publicat: 2022-03-11

API-urile rețelelor sociale au parcurs un drum lung de când Google a lansat prima versiune a API-ului YouTube în mai 2008, iar Facebook a lansat prima versiune a API-ului Graph în aprilie 2010. Astăzi, aceste API-uri vă oferă posibilitatea de a interoga platformele rețelelor sociale pentru postări. , utilizatori, canale și date demografice. Vă permit chiar să vă creați propriul serviciu sau să aflați mai multe despre baza dvs. de utilizatori.

În acest articol, vom examina modalitățile prin care putem utiliza unele dintre popularele API-uri de rețele sociale:

  • Facebook (Graph and Marketing API)
  • Instagram
  • Stare de nervozitate
  • YouTube
  • Pinterest

Vom discuta, de asemenea, limitările acestora și vom explora unele dintre instrumentele utile care sunt disponibile pentru utilizare cu aceste API-uri. Mai târziu în articol, vom arunca o privire și asupra modului de integrare a acestor API-uri în orice aplicație Rails.

API-uri pentru rețelele sociale: portalul internetului către lumea reală

Utilizați API-urile rețelelor sociale pentru a vă cunoaște utilizatorii mai bine decât se cunosc ei înșiși.
Tweet

Mă voi concentra pe un singur API de rețea socială la un moment dat și voi explica capabilitățile, limitările și instrumentele disponibile. Va exista o matrice cu diferitele API-uri și proprietățile lor pentru o comparație mai bună mai târziu în acest articol.

Pentru a utiliza API-urile, va trebui mai întâi să configurați o aplicație care creează interogări în numele aplicației dvs. cu solicitări bazate pe OAuth. Utilizatorii se vor autentifica în aplicația dvs. și apoi puteți accesa datele lor cu simbolul de acces al utilizatorului rezultat.

Facebook

FQL (Facebook Query Language), acum învechit, era un limbaj de interogare asemănător SQL, care putea fi folosit pentru a accesa toate datele de pe Facebook.

Facebook a lansat prima versiune a API-ului Graph în aprilie 2010. Cea mai recentă versiune la momentul scrierii acestui articol este 2.6, care a fost introdusă pe 12 aprilie 2016. Este un API de nivel scăzut bazat pe HTTP, care poate fi folosit pentru a interoga. date, creați postări și chiar creați campanii publicitare automate.

Instrumente

Graph API Explorer este instrumentul cel mai frecvent utilizat atunci când lucrați cu API-ul Facebook. Vă permite să executați interogări API Graph în browser și să examinați rezultatele: puteți utiliza unul dintre jetoanele de acces ale aplicației dvs. sau puteți crea unul din mers cu domeniile selectate.

Capabilități

API-ul Graph este un API bazat pe REST, care vă permite să creați, să actualizați și să ștergeți obiecte pentru fiecare solicitare HTTP pe anumite noduri.

Jeton de acces

Pentru a rula interogări împotriva API-ului Graph, aveți nevoie de un token de acces care este obținut de îndată ce un utilizator autorizează cu succes în aplicația dvs. Indicatorul de acces ar trebui să fie stocat de aplicația dvs.

Domenii de aplicare

Domeniile de aplicare determină ce acțiuni pot fi efectuate în numele unui utilizator. Aplicația solicită anumite domenii atunci când un utilizator autorizează într-o aplicație. Domeniul de aplicare publish_actions , de exemplu, permite unei aplicații să publice postări în numele unui utilizator. Domeniul de aplicare a e-mailului permite aplicației să citească e-mailul utilizatorului. O prezentare completă a tuturor domeniilor este listată în documentația oficială.

Anumite domenii precum publish_actions sau ads_management necesită o revizuire de către Facebook înainte de lansarea aplicației.

Exemple

Pentru a demonstra cum funcționează API-ul Graph, vă voi arăta cum să citiți, să creați, să actualizați și să ștergeți postări cu API-ul.

Pentru a obține propriile postări, puteți executa interogarea GET /me/posts . Rezultatul va fi un șir JSON cu o listă de postări, inclusiv mesajul acestora, create_time și id-ul. Puteți folosi parametrul pretty sau un formatator JSON pentru a face răspunsul să pară mai puțin aglomerat.

Pentru a obține mai multe date despre postările dvs., puteți extinde interogarea cu câmpuri ca parametri de interogare. De exemplu, interogarea me/posts?fields=reactions, picture vă va oferi imaginea postării și reacțiile.

Pentru a crea o postare, puteți pur și simplu să trimiteți o acțiune POST împotriva fluxului de margine, de exemplu me/feed , cu parametri precum message: hello world . API-ul Graph va returna un obiect JSON cu ID-ul postării create de dvs. Puteți vizualiza apoi postarea la adresa http://facebook.com/[post_id] .

Pentru a actualiza o postare, puteți trimite o solicitare POST la nodul postării cu câmpurile de actualizat ca parametri; de exemplu, /[post_id] și parametri precum Message: lorem ipsum . Va fi returnat un indicator de succes cu valoarea true sau false.

Pentru a șterge o postare, puteți face pur și simplu o solicitare DELETE nodului cu ID-ul postării (de exemplu, /[post_id] ). Valoarea returnată va fi un obiect JSON cu o valoare de succes adevărată sau falsă.

O prezentare completă a tuturor nodurilor și acțiunilor este disponibilă în Graph API Reference.

API de marketing

API-ul de marketing merită o mențiune specială, deoarece este un instrument puternic pentru a gestiona reclamele Facebook și a obține informații despre anunțuri prin intermediul aplicației dvs.

Funcționează în același mod ca și alte metode Graph API. Cu toate acestea, aveți nevoie de domeniul de aplicare ads_management pentru a obține acces la anunțurile utilizatorului. De asemenea, Facebook trebuie să vă revizuiască aplicația înainte de a o putea publica.

Testare

Odată ce ați creat aplicația, aceasta este în modul de dezvoltare și este vizibilă automat în tabloul de bord al aplicației (adică, https://developers.facebook.com/apps/ ).

În modul de dezvoltare, numai administratorii, dezvoltatorii și testerii au acces la aplicația dvs. Puteți adăuga testeri și administratori în secțiunea de roluri din tabloul de bord al aplicației.

Procesul de revizuire

Când adăugați anumite permisiuni, Facebook trebuie să vă examineze aplicația înainte de a o putea publica. Procesul de revizuire este definit de acest set de linii directoare.

Pentru a trimite anumite articole spre examinare, puteți să le adăugați pur și simplu în secțiunea de examinare a aplicației din tabloul de bord al aplicației. Facebook vă va ghida apoi prin procesul de revizuire și veți fi alertat odată ce aplicația dvs. este aprobată.

Limitări și soluții alternative

Limite de rate

O aplicație poate efectua 200 de apeluri pe oră per utilizator în total. Dacă atingeți această limită, apelurile dvs. API vor avea ca rezultat o eroare.

Căutând postări pe Facebook

Facebook restricționează căutarea de postări și etichete pe Facebook prin API-ul Graph și FQL. Cu toate acestea, puteți utiliza API-ul de căutare Google pentru a căuta postări publice pe Facebook și apoi puteți utiliza ID-ul postării din adresa URL pentru a prelua mai multe informații despre anumite postări prin API-ul Graph.

Obținerea datelor personalizate de public

Audience Insights pe Facebook este un instrument de cercetare puternic pentru a afla mai multe despre un anumit public pe baza intereselor, a datelor demografice sau a altor atribute (de exemplu, o colecție de adrese de e-mail).

Cu toate acestea, nu am găsit o modalitate de a crea automat informații despre public prin API-ul publicitar. Spuneți-ne în comentarii dacă aveți idei sau sugestii creative în acest sens.

Instagram

Ilustrație API Instagram

API-ul Instagram a fost lansat pentru prima dată în aprilie 2014 și vă permite să creați aplicații care analizează postările utilizatorilor și îi ajută pe utilizatori să-și gestioneze propriile postări.

Instrumente

Deoarece consola API de la Instagram este învechită la momentul acestui articol, vă recomand să utilizați Apigee în scopuri de testare în browser.

Capabilități

API-ul Instagram este un API bazat pe REST. Toate punctele sale finale sunt descrise în documentația lor oficială.

Jeton de acces

Pentru a rula interogări împotriva API-ului Instagram, aveți nevoie de un token de acces care este obținut de îndată ce un utilizator autorizează în aplicația dvs. Pentru ca un utilizator să primească un simbol de acces, el sau ea trebuie să fie direcționat către adresa URL de autorizare a aplicației dvs. Serverul va redirecționa apoi utilizatorul după autorizarea aplicației dvs. și apoi veți putea citi simbolul.

Domenii de aplicare

Aplicația dvs. poate solicita diferite permisiuni. De exemplu, „de bază” vă limitează la citirea informațiilor și a conținutului media din profilul unui utilizator. „public_content” vă permite să citiți orice profil public și conținut media în numele unui utilizator.

Exemple

Pentru a demonstra cum funcționează API-ul Instagram, voi parcurge câteva exemple bazate pe punctul final media https://api.instagram.com/v1/media/popular .

Acest punct final returnează media populară în prezent de la Instagram dacă i se transmite un token de acces ca parametru. Rezultatul va fi o matrice JSON de postări care conțin, pentru fiecare, ID-ul său media, un link către imaginea sa, aprecieri, comentarii, utilizatorul care a postat-o ​​și alte atribute.

Puteți folosi apigee pentru a vă juca și pentru a afla mai multe despre punctele finale API și parametrii acestora.

Testare

Fiecare aplicație nouă creată pe platforma Instagram pornește în modul sandbox. Acesta este un mediu complet funcțional care vă permite să testați punctele finale API disponibile public înainte de a trimite aplicația pentru examinare.

Pentru a-ți testa aplicația, pur și simplu creați o versiune provizorie și rulați toate interogările prin acea versiune în loc de versiunea live care a trecut prin revizuire.

Procesul de revizuire

Aplicațiile în modul sandbox pot folosi orice punct final API, dar sunt limitate la un număr limitat de utilizatori și media. Este un mecanism excelent pentru dezvoltarea și testarea unei aplicații.

Pentru a intra live și a accesa tot conținutul Instagram, va trebui să trimiteți cererea pentru examinare. Odată examinată, veți putea solicita doar domeniile pentru utilizatorii pentru care aplicația dvs. a fost aprobată.

Limitări și soluții alternative

Analiza demografică

La momentul scrierii acestui articol, nu există nicio modalitate de a obține informații despre vârsta, sexul sau interesele unui utilizator public, deoarece Instagram nu vă oferă aceste informații.

Pentru a obține date demografice despre urmăritori sau o listă de utilizatori Instagram, ar trebui să-i repetați pe toți și să încercați să le determinați vârsta și sexul sau interesele pe baza urmăritorilor lor sau a informațiilor furnizate în biografia lor.

O soluție bună de date mari pentru această problemă ar putea fi un serviciu valoros pentru unele companii.

Limite de rate

Toate limitele de tarife de pe platforma Instagram sunt controlate de un simbol de acces pe o fereastră glisantă de 1 oră. Aplicațiile live au limite de rată mai mari decât aplicațiile din modul Sandbox. Limita globală a ratei pentru o aplicație live este în prezent de 5.000 de apeluri pe oră.

Stare de nervozitate

API-ul Twitter a fost lansat pentru prima dată în septembrie 2006. Este un API REST public care oferă acces de citire și scriere la datele Twitter. Autentificarea se realizează folosind OAuth. Răspunsurile sunt în format JSON.

Instrumente

Twitter are un instrument de consolă API alimentat de apigee care poate fi folosit pentru a testa solicitările în browser.

Capabilități

API-ul REST vă permite să obțineți tweet-urile, urmăritorii și persoanele urmărite ale unui utilizator. De asemenea, puteți căuta hashtag-uri în alte tweet-uri.

Jeton de acces

Twitter vă permite să creați aplicații împotriva cărora utilizatorii se pot autentifica în schimbul unui token de acces. Modelul de autentificare este OAuth.

Domenii de aplicare

Există doar două permisiuni care trebuie setate pe pagina de setări a aplicației: Numai citire și Citire și scriere. Acesta din urmă vă permite să creați tweet-uri și să efectuați alte acțiuni de postare în numele unui utilizator.

Exemple

Pentru a demonstra utilizarea API-ului Twitter, voi prelua tweet-urile utilizatorului autorizat. Rezultatul este o matrice JSON cu imaginile tweetului, favoritele, retweeturile, adresele URL, data creării și alte atribute. Utilizați Apigee pentru a vă juca și pentru a afla mai multe despre punctele finale API și parametrii acestora.

Procesul de testare și revizuire

În prezent, nu există un proces de revizuire sau un mod de testare disponibil pentru API-ul Twitter.

Limitări și soluții alternative

Analiza demografică

În prezent, nu există o modalitate ușoară de a obține date demografice de la adepții cuiva pe Twitter. Abordarea cu forța brută ar fi să răsfoiți fiecare abonat și să încercați să obțineți datele prin biografia și conturile de rețele sociale conectate.

Apoi, puteți face ipoteze suplimentare pe baza datelor colectate de urmăritori prin analiza datelor. O altă modalitate de a obține mai multe informații este prin intermediul platformei API de întreprindere plătită a Twitter GNIP. Printre altele, vă permite să creați audiențe și să obțineți informații despre acestea prin intermediul API-ului. API-ul este în prezent în versiune BETA.

Limite de rate

Twitter are limite de rată pentru fiecare utilizator și pe o bază de 15 minute. Dacă aplicația dvs. are mai multe jetoane, puteți pur și simplu să alternați jetoane pentru operațiuni publice pentru a evita atingerea limitei.

YouTube

Ilustrație YouTube API

API-ul de date YouTube a fost introdus pentru prima dată în ianuarie 2013. Vă permite să adăugați funcții YouTube la aplicația dvs., să căutați conținut și să analizați datele demografice ale unui canal YouTube. Este un API REST OAuth, bazat pe token, care returnează răspunsuri JSON.

Instrumente

API Explorer vă permite să testați solicitările neautorizate și autorizate. Puteți rula solicitări din browser împotriva punctelor finale furnizate.

Capabilități

Printre altele, puteți lucra cu activități, chat-uri, transmisiuni live, liste de redare, canale, videoclipuri și abonamente. Majoritatea punctelor finale necesită autorizarea cu un cont YouTube.

Jeton de acces

API-ul de date YouTube acceptă protocolul OAuth 2.0 pentru autorizarea accesului la datele private ale utilizatorilor. Odată ce un utilizator a fost autorizat în aplicația dvs., acesta va fi redirecționat către aplicația dvs. unde ar trebui să fie salvat simbolul de acces.

Pentru a utiliza autorizarea OAuth 2.0, mai întâi trebuie să obțineți acreditările de autorizare în consola pentru dezvoltatori Google.

Domenii de aplicare

API-ul de date YouTube acceptă în prezent următoarele domenii:

  • Forțați SSL - Gestionați-vă contul de YouTube, dar numai printr-o conexiune SSL.
  • Implicit - Gestionați-vă contul YouTube. Acest domeniu este identic din punct de vedere funcțional cu domeniul youtube.force-ssl, dar nu necesită o conexiune SSL.
  • Numai citire - Vizualizați contul dvs. YouTube.
  • Încărcați - Încărcați videoclipuri YouTube și gestionați videoclipurile dvs. YouTube.
  • Audit canal partener - Preluați informații pe care rețelele multicanal le folosesc ca criteriu pentru a accepta sau a respinge un canal din rețeaua lor.

Exemple

Ca exemplu de utilizare a API-ului de date Youtube, următoarele solicită interogări pentru videoclipuri cu „codare” în titlu și descriere:

 https://www.googleapis.com/youtube/v3/search?part=snippet&q=coding&key={YOUR_API_KEY}

Rezultatul este un obiect JSON care conține titlul, descrierea, videoId și channelId. Puteți folosi acesta din urmă pentru a afla mai multe despre canal.

Parametrul part este necesar pentru orice solicitare API care returnează o anumită resursă. Parametrul identifică proprietățile resursei care ar trebui incluse într-un răspuns API. De exemplu, o resursă video are următoarele părți: fragment, conținutDetalii, fișierDetalii, player, procesareDetalii, înregistrareDetalii, statistici, stare, sugestii, subiectDetalii.

Toți ceilalți parametri, cu excepția cheii API, diferă de la apel la apel. Citiți mai multe despre el în ghidul de referință API.

Pinterest

API-ul Pinterest a fost lansat inițial în aprilie 2015. Este un API RESTful care oferă acces la datele Pinterest ale unui utilizator, cum ar fi panourile, pinurile, urmăritorii și multe altele. API-ul Pinterest folosește OAuth și permite atât permisiuni de citire, cât și de scriere atunci când interacționează cu conținutul unui utilizator.

Instrumente

Ca și alții, Pinterest oferă un API Explorer pentru a-și testa punctele finale și pentru a rula interogări împotriva lor. Puteți arunca o privire la toate instrumentele lor aici.

Capabilități

API-ul Pinterest REST vă permite să creați pinuri, panouri și să interogați datele Pinterest cu OAuth.

Jeton de acces

Pinterest folosește OAuth 2.0 pentru a autentifica solicitările dintre aplicația dvs. și utilizatorii dvs. Toate solicitările trebuie făcute prin HTTPS.

Domenii de aplicare

Domeniile de aplicare determină ce poate face o aplicație în numele unui utilizator. Pinterest folosește următoarele domenii:

  • none (trebuie să cunoască identificatorul): Folosiți metoda GET pe profilul unui utilizator, detaliile panoului și Pinurile și Pinurile de pe un panou.
  • read_public : Folosiți metoda GET pe Pinurile, panourile și aprecierile unui utilizator.
  • write_public : Folosiți metodele PATCH, POST și DELETE pe Pinurile și panourile unui utilizator.
  • read_relationships : Folosiți metoda GET pe urmăritorii și urmăritorii unui utilizator (pe forumuri, utilizatori și interese).
  • write_relationships : Folosiți metodele PATCH, POST și DELETE pe urmăritorii și urmăritorii unui utilizator (pe panouri, utilizatori și interese).

Exemple

Pentru a demonstra utilizarea API-ului Pinterest, voi demonstra cum să citesc cele mai recente pinuri ale utilizatorului:

https://api.pinterest.com/v1/me/pins/?access_token={your_token}&fields=id,link,note,url,counts,board,created_at va returna pinurile unui utilizator cu id-ul, linkul, nota, url, aprecieri și repins.

Procesul de testare și revizuire

Aplicațiile sunt inițial în modul de dezvoltare și trebuie trimise spre examinare înainte de a fi lansate în modul de producție.

Limitări și soluții alternative

Analiza demografică

Nu există o modalitate comună de a obține date demografice de la un panou. Cu toate acestea, puteți încerca să obțineți adepții unui forum și informații despre aceștia din biografia lor și link-uri către alte conturi de rețele sociale. O soluție de date mari peste conexiunile comune ale utilizatorului ar fi, de asemenea, o posibilitate.

Căutați Pinuri

În prezent, nu există nicio modalitate de a căuta pini cu anumite etichete sau cuvinte cheie prin API. Puteți ocoli această limitare utilizând API-ul Google Custom Search pentru a căuta rezultate numai pe pinurile Pinterest și pentru a aduna ID-ul pinului prin adresa URL. ID-ul poate fi apoi folosit pentru a obține informații despre pin prin intermediul API-ului.

Limite de rate

Fiecare aplicație (cu un ID unic de aplicație) are 1.000 de apeluri pe punct final pe oră pentru fiecare token unic de utilizator.

Fiecare răspuns API returnează un antet care vă oferă o actualizare despre limitele ratei. X-Ratelimit-Limit este limita de rată pentru acea cerere specifică, iar X-Ratelimit-Remaining este numărul de solicitări rămase în fereastra de 60 de minute.

Dacă depășiți limita de rată pentru un anumit punct final, veți primi un cod de eroare 429 „Prea multe solicitări”.

Comparație între API-urile rețelelor sociale

Versiune OAuth Format Demografie
Facebook v2.6
Lansare inițială: aprilie 2010
OAuth 2 Solicitări REST cu răspunsuri JSON Sprijinit
Instagram v1
Lansare inițială: aprilie 2014
OAuth 2 Solicitări REST cu răspunsuri JSON Nu sunt acceptate
Stare de nervozitate v1.1
Lansare inițială: septembrie 2006
OAuth 1 Solicitări REST cu răspunsuri JSON Acceptat numai cu GNIP
YouTube v3
Lansare inițială: ianuarie 2013
OAuth 2 Solicitări REST cu răspunsuri JSON Sprijinit
Pinterest v1
Lansare inițială: aprilie 2015
OAuth 2 Solicitări REST cu răspunsuri JSON Nu sunt acceptate

Aplicație demonstrativă cu Devise

Integrarea acestor API-uri în aplicațiile dvs. noi sau existente, datorită unei multitudini de pachete și biblioteci API de rețele sociale, este mai ușoară ca niciodată. Cele mai multe platforme și cadre moderne au biblioteci terțe testate în timp, care chiar unifică aspectul de autentificare toate aceste API-uri într-o singură bibliotecă cu arhitectură de plugin-uri îngrijită.

Ilustrație API de rețea socială

Pentru acest articol, vom arunca o privire la modul în care Devise, o bijuterie Ruby, face acest lucru atât de elegant pentru aplicațiile Rails. Devise este o bibliotecă de autentificare flexibilă bazată pe Warden care implementează autentificarea, înregistrarea, autentificarea și stocarea datelor pentru mai mulți furnizori de autentificare. Dacă sunteți mai mult un tip front-end și doriți să verificați ceva similar pentru AngularJS, aruncați o privire la acest articol.

Devise, ca majoritatea bibliotecilor din această clasă, nu vine încorporat cu suport pentru niciuna dintre API-urile rețelelor sociale menționate mai sus. Suportul pentru fiecare dintre aceste API de rețea socială este oferit prin pietre prețioase suplimentare. Următoarele pietre prețioase sunt disponibile pentru autentificarea Rails care acoperă cei 5 furnizori discutați în acest articol:

 gem 'omniauth-facebook' gem 'omniauth-pinterest' gem 'omniauth-twitter' gem 'omniauth-google-oauth2' gem 'omniauth-instagram'
Unul dintre cele mai bune lucruri despre Rails este că există multe pluginuri scrise de comunitatea open source. Acestea sunt distribuite ca pietre prețioase. Listate sub un fișier de configurare central, aceste pietre prețioase sunt gestionate de Bundler.

Deoarece acestea oferă doar autentificare, înregistrare, autentificare și stocare pentru fiecare dintre acești furnizori, va trebui, de asemenea, să obținem următoarele bijuterii pentru clienții API actuali:

 gem 'twitter' # https://github.com/sferik/twitter gem 'instagram' # https://github.com/facebookarchive/instagram-ruby-gem gem 'koala' # (Facebook API) https://github.com/arsduo/koala gem 'google-api-client' # (YouTube API), https://github.com/google/google-api-ruby-client gem 'pinterest-api' # https://github.com/realadeel/pinterest-api

Omniauth și autentificare

Pentru ca un utilizator să vă autorizeze aplicația cu furnizorul dvs., puteți pur și simplu să furnizați un link cu următoarea cale:

 omniauth_authorize_path('user', :facebook) omniauth_authorize_path('user', :instagram) ...

Pentru a reacționa la apel invers după autentificarea unui utilizator, puteți defini un OmniauthCallbacksController cu domenii ca funcții precum:

 class AuthenticationsController < Devise::OmniauthCallbacksController def facebook if request.env["omniauth.auth"] ... end end end

Acesta este locul pentru a adăuga un nou model de autentificare cu simbolul și datele în aplicația dvs.:

 authentication = where(provider: omniauth.provider, user_id: user.id) .first_or_create do |auth| auth.user = user auth.uid = omniauth.uid auth.secret = omniauth.credentials.secret auth.token = omniauth.credentials.token ... end

Efectuarea de apeluri API

Iată un exemplu despre cum să utilizați Koala pentru a interoga API-ul Facebook. Restul furnizorilor funcționează mai mult sau mai puțin similar și sunt documentați în README-ul bijuteriei.

Iată cum obțineți datele dvs. de utilizator folosind Koala:

 authentication = user.authentication_for_provider(:facebook) token = authentication.token api = Koala::Facebook::API.new(token) results = api.get_object("me")

Apoi puteți utiliza rezultatul JSON returnat de API. Codul sursă al acestei aplicații demonstrative este disponibil pe GitHub.

Învelire

API-urile rețelelor sociale vă oferă un instrument puternic pentru a interoga setul mare de date al rețelelor sociale și pentru a colecta date mari pentru aplicația dvs. Puteți construi un serviciu pe deasupra acestor API-uri sau le puteți utiliza pentru a vă îmbunătăți propriile aplicații și informații despre utilizator.

Rails și pietrele prețioase disponibile facilitează integrarea acestor API-uri în aplicația șine și interogarea interfețelor cu un strat de abstractizare între aplicația dvs. și API.