Arhive etichetă: rest api

Introducere format JSON

Cunosti formatul JSON? Te intereseaza mai multe informatii despre acesta?

IT-ul este un domeniu care a inceput sa se dezvolte pentru a usura viata oamenilor. Din acest motiv, IT-ul va fi mereu intr-o continua cautare pentru a gasi cele mai bune solutii spre satisfacerea clientilor.

Numele JSON este un acronim pentru JavaScript Object Notation. Acesta un format text pentru date care a fost conceput pentru a putea fi human-readable si usor de transmis intre un server si un client web. Sintaxa acestuia provine din JavaScript, dar chiar si asa poate fi folosit in majoritatea limbajelor de programare, incluzand C# si AS3.

Arrays

Ca si programator web cu experienta, cu siguranta intelegi ce inseamna aranjarea in formatul JSON, dar ca si programator web incepator notiunea s-ar putea sa nu iti fie atat de clara.

Good to know! Aranjarea se refera la o colectie de itemi, fiecare dintre acestia fiind atribuiti unui specific intreg.

De exemplu, in JSON, o etalare a primelor sase litere din alfabet ar putea fi reprezentate in acest fel:

["a", "b", "c", "d", "e", "f"]

Cu siguranta, programatorii web care au mai lucrat in JavaScript si AS3 vor gasi asezarea de mai sus familiara. De asemenea, si in cazul limbjaului de programare C# pentru definirea unui etalon, insiruirea se face in acelasi mod.

Remember! Parantezele drepte se folosesc pentru a descrie etalarea, iar virgulele sunt folosite pentru a separa elementele diferite.

Exista si o modalitate mai usoara pentru ca aceasta aranjare sa fie citita mai usor, si anume:

[
  "a", 
  "b", 
  "c", 
  "d", 
  "e", 
  "f"
]

PS: Se poate observa ca dupa ultimul element nu mai exista nicio virgula.
Etalarea JSON functioneaza si sub forma altor elemente precum false, true sau null, sau chiar numere. Nu exista o scriere tipica, ceea ce ofera libertate pentru a combina tipurile de valori de care ai nevoie. De exemplu:

[
 "apple",
 3,
 912,
 null,
 -7.2222202,
 "#",
 true,
 false
]

Good to know! Pentru a incadra fiecare insiruire ai nevoie de ghilimele duble (“), intrucat cele single (‘) nu sunt permise.

Objects

Un array reprezinta o colectie de elemente in care fiecare element este distribuit intr-o anumita unitate. Un obiect (object) este o colectie de elemente in care fiecare element este distribuit unui sir specific.

Elementele sunt numite valori, iar sirurile folosite pentru a le identifica sunt numite chei (keys). In anumite limbaje de programare aceasta structura de date poate fi gasita sub numele de hash map sau hash table.

Poti folosi objects pentru a utiliza sirurile ca si valori si nu doar keys. De exemplu:

{
 "PHP": 10,
 "CSS": 8,
 "HTML": 10,
 "JavaScript": 9
}

Folosirea JSON cu alte platforme

JSON este un format popular, motiv pentru care acesta functioneaza si cu platforme diferite. Acest mod de functionare este posibil datorita generators si parsers. Acestea sunt unelte si librarii (tool-uri si libraries) care ajuta colaborarea dintre JSON si alte platforme sa functioneze.

Mai exact, generatorii ajuta cu encodarea unui limbaj de programare intr-un altul, iar parsers decodeaza un limbaj de programare pentru a putea fi inteles de un alt limbaj de programare. Ambele optiuni sunt disponibile pentru aproape toate limbajele de programare.

Daca iti doresti sa inveti mai multe despre formatul JSON, sa inveti programare web de la zero, si nu numai, ma poti contacta aici!

 

Noul WooCommerce REST API se bazeaza pe WP REST API

Cauti mai multe informatii despre noul WooCommerce REST API?

In 2014, pe cand WooCommerce versiunea 2.1 se dezvolta, se vorbea despre WordPress care sa aibe propriul REST API. Insa, cererea a fost atat de mare pentru un REST API in WooCommerce incat a trebuit sa fie facut.

Dar, avand in vedere ca acum este face parte din nucleul WordPress-ului si tehnologia evolueaza pe zi ce trece, s-a inceput sa se lucreze la inlocuirea procesului API, cu ceea ce ofera WordPress.

Ce schimbari API vor aparea?

Una dintre primele schimbari ce vor aparea cu API sunt endpoints-urile, unde pentru a-ti aduce comenzile procesul va fi putin diferit.

A fost necesar sa se faca modificari in ceea ce privesc datele care sunt oferite prin API; date care reflecta schimbarile si progresul din nucleul WooCommerce-ului, dar totusi datele sa fie constante.

WP REST API foloseste documente pentru endpoints si scheme pentru a descrie. In acest fel, e mai usor procesul de crearea a obiectivelor, deoarece stii ce ai nevoie.

Ce fel de API ar trebui sa folosesc pentru aplicatii?

De indata ce este lansat, este recomandat sa folosesti noul WP API, intrucat este mult mai usor de folosit, este simplu si foloseste nucleul WordPress-ului pe cat de mult posibil.

Pentru ca toti utilizatorii WordPress sa aibe timp de a migra de la versiunea curenta de REST API la cea noua, inca se aproba utilizarea versiunii curente.

Ce ramane la fel?

Exista anumite puncte care raman la fel, cum ar fi:

  • Webhooks vor functiona in continuare;
  • Toate cheile WC REST API vor putea fi folositi in WP REST API;
  • Toata partea curenta de REST API va fi in continuare disponibila;
  • Autentificarea endpoint va functiona ca si pana acum.

In ceea ce priveste autentificarea este posibil sa se foloseasca oAuth1.0a si Basic Auth folosind cheile WC API. Nu sunt planuri pentru a elimina sistemul de chei API, tocmai pentru a facilita migrarea aplicatiilor folosind APIs.

Daca iti doresti sa inveti mai multe despre REST API, ce inseamna programarea in WordPress, si nu numai, ma poti contacta aici!

Introducere in WordPress REST API

WordPress a avut o crestere mare in ultimii ani, de la aparitia sa in 2003 cand era doar o platforma de blogging la una dintre cele mai populare sisteme de management al continutului. S-a maturizat destul pentru a sustine majoritatea audientei online.

Cand vine vorba despre dezvoltarea unui CMS, o parte importanta sta in functionalitatile pe care le prezinta si pe care le imbunatateste odata cu trecerea timpului. Una dintre cele mai noi functionalitati, este REST API care permite altor platforme sa interactioneze cu WordPress.

Aceasta functionalitate va fi de mare ajutor programatorilor web care dezvolta aplicatii personalitate si sisteme integrate cu WordPress. Mecanismul e posibil deoarece, WordPress ofera capacitatea de a adauga si a sterge continut de pe orice site web sau client, fara a fi necesar sa instalezi WordPress in acel site web.

Pentru a avea o imagine de ansamblu a ceea ce presupune REST API, iti voi prezenta conceptele de baza REST si JSON.

Inceputurile REST

In primul rand, REST este o abreviere pentru Representational State Transfer. REST este o tip de arhitectura. E necesar sa ii intelegi structura si conceptele, deoarece sunt esentiale in dezvoltarea unor aplicatii care folosesc tipul acesta de arhitectura.

Acest model de arhitectura ajuta la crearea si organizarea unui sistem distribuit. Vede web-ul ca o aplicatie hypermedia distribuita a carei link-uri surse sunt transmite prin schimbul de reprezentatii de stare de resurse.

Fundatia pe care se cladeste arhitectura REST sunt resursele, acestea fiind esentiale pentru web; web-ul fiind numit si un resource-oriented.

In ceea ce priveste WordPress, aceste resurse sunt entitati discrete la fel ca paginile, utilizatorii, postarile, postarile personalizate, comentariile, etc. Pentru a interactiona cu resursele, sunt folosite URI-le (Uniform Resource Identifier) care sunt identificatoare pentru resurse.

WP REST API suporta mai multe tipuri de resurse, precum: pagini, comentarii, utilizatori, postari, tipuri de postari personalizate, media, conditii, postari meta si revizii.

Codurile de raspuns HTTP

Raspunsul unui server in urma unei cereri se face prin reintoarcerea unui raspuns care contine un cod de raspuns HTTP. Aceste coduri sunt numere cu semnificatii predefinite. De exemplu, aproape orice persoana care are acces la internet cunoaste codul status 404, care inseamna ca ceea ce utilizatorul cauta nu poate fi gasit.

Good to know! Raspunsul server-ului este dependent de metoda folosita in solicitare sau de felul verbului HTTP.

Printre cele mai utilizate coduri de raspuns HTTP si care se gasesc atunci cand lucrezi cu WP REST API sunt:

  • 200 – OK: Acest cod arata ca solicitarea a fost completata cu succes si ca serverul a oferit un raspuns; de obicei apare dupa o solicitare de tipul GET care a fost realizata cu succes;
  • 201 – Created: Deobicei apare dupa o solicitare de tip POST care a fost finalizata cu succes;
  • 400 – Bad Request: Apare atunci o solicitare a fost trimisa cu parametrii invalizi sau cu ceva lipsa. Se regaseste deobicei in solicitarile de tip PUT si POST;
  • 405 – Method not Allowed: Se regaseste cand un verb HTTP a fost incarcat in solicitare si nu a fost suportat de catre resursa. Un exemplu in acest sens, sunt situatiile in care un utilizator incearca sa actualizeze o resursa read-only;
  • 410 Gone: O resursa a fost mutata intr-o alta locatie; in situatiile in care se incearca stergerea unei surse care e deja stearsa sau care a fost mutata in cosul de gunoi;
  • 500 – Internal Server Error: Solicitarea nu poate fi completa datorita unei situatii neasteptate;
  • 501 – Not Implemented: Serverul nu suporta functionalitatea pentru a putea termina solicitarea, fiind des intalnita in situatiile in care serverul primeste o metoda de solicitare pe care nu o recunoaste.

Verificarea acestor coduri de raspuns si verbe HTTP se fac mai amanuntit in momentul in care se incepe proiectul cu API.

Verbele HTTP

Cu ajutorul REST API poti efectua operatii de tip CRUD. CRUD este o abreviere pentru Create Read Update Delete. Aceste operatii se fac pe surse folosind HTTP si tocmai din aceasta cauza REST foloseste solicitari limitate de HTTP:

  • PUT – Folosit pentru actualizarea unei surse;
  • GET – Pentru a citi sau a recupera o resursa;
  • HEAD – Pentru a verifica existenta unei surse;
  • POST: Folosit pentru a crea o noua resursa;
  • DELETE: Pentru a sterge o resursa;
  • OPTIONS: Folosit pentru a recupera toate verbele suportate de catre o resursa.

Intr-un service RESTful, fiecare dintre aceste verbe are un sens bine definit. GET, POST, PUT si DELETE fac parte din actiunile CRUD; in sensul in care acestea recupereaza, actualizeaza, creeaza si sterg entitati.

Verbele OPTIONS si HEAD ajuta un client pentru a determina existenta unei surse si ce verbe HTTP sunt disponibile pentru a efectua operatii ulterioare.

Pentru a efectua cu succes aceste postari folosind WP REST API se folosesc urmatoarele endpoint-uri:

GET wp/v2/posts – Acesta va returna o colectie a tuturor postarilor; iar cand urmatorul endpoint este declansat se reintoarce la o anumita entitate. De exemplu, o postare care are un id de 100:

GET wp/v2/posts/100 – O solicitare de tip POST creeaza o noua entitate, in timp ce solicitarea PUT inlocuiesti acea entitate cu o noua versiune.

PUT wp/v2/posts/100 – O astfel de solicitare va actualiza o postare care are un id 100.

POST wp/v2/posts – Se foloseste pentru a crea o noua postare.

O solicitare de tip DELETE sterge o resursa din sistem. Aceasta, la fel ca si tipul de solicitare PUT sunt repetabile, in sensul in care au acelasi efect asupra sistemului.

Serviciul de RESTful mai ofera doua verbe HEAD si OPTIONS; care sunt de mare ajutor in situatiile in care un clien doreste sa verifice ce resurse sunt disponibile in sistem si ce actiuni sunt suportate; avand o imagine de ansamblu a actiunilor ce urmeaza a fi desfasurate.

Motive pentru care sa folosesti JSON REST API pentru WordPress

Combinatia dintre JSON si REST ofera un mecanism, care foloseste back-end-ul de la WordPress, pentru a crea aplicatii solide. Cele mai bune exemple in acest sens, sunt aplicatiile mobile care necesita un schimb de date intre dispozitiv/ client si server.

Astfel, JSON ofera o alternativa usoara pentru solutiile bazate pe  XML, care iau in vedere limitatiile pe care latimea de banda le are in momentul folosirii datelor mobile.

Cand vine vorba despre schimbul de date pe diferite platforme, care pot fi citite atat de oameni cat si de masinarii, JSON poate fi considerat un conector global. Acesta poate fi folosit fara nicio problema cu majoritatea limbajelor de programare, deoarece JSON este un format bazat pe text pentru stocarea datelor.

Iar cu ajutorul lui API, continutul site-ului tau WordPress nu este limitat, putand fi accesat atat de clienti cat si de alte site-uri. Motivul este pentru ca API expune anumite parti care apartin functionalitatilor interne, iar clientii pot interactiona cu site-ul tau de la distanta, fie pentru a crea continut nou, fie pentru actualizarea unor informatii. De asemenea, ai posibilitatea de a recupera continut de pe un site WordPress si de a-l publica pe un alt site.

WP REST API poate fi folosit pentru:

  • Aplicatiile Single Page (SPAs);
  • Aplicatii mobile;
  • Integrarea cu alte platforme server-side, ca de exemplu: Django, Ruby, .NET, etc;
  • Panouri de administrare personalizate pentru WordPress.

Avand in vedere ca framework-urile JavaScript, de tipul Backbone, Angular sau Ember, se dezvolta tot mai mult, fapt ce face posibila folosinta unuia dintre framework-uri de a crea cat mai bune experiente pentru utilizatori, in timp ce folosesti partea de back-end pentru WordPress.

Daca iti doresti sa inveti mai multe despre WP REST API, despre programarea web si programarea in WordPress, gasesti aici datele mele de contact!