Od svog osnivanja 2003. godine do danas (napunio 14 godina), WordPress je iz bloging platforme prerastao u samostalni sistem za upravljanje sadržajem. Tokom proteklih godina razvio se toliko da sada odgovara zahtevima ogromnog broja korisnika interneta. Upravo iz tog razloga, WordPress trenutno pokreće više od 28% sajtova. WP REST API?
Nove karakteristike se stalno dodaju WordPress-u. Jedan od planiranih dodataka je REST API, koji omogućava interakciju drugih aplikacija i platformi sa WordPress-om. U pitanju je revolucionarni dodatak koji će omogućiti diveloperima da izrađuju prilagođene aplikacije i integrisane sisteme u WordPress-u. S obzirom na to da pruža mogućnost dodavanja i preuzimanja sadržaja od bilo kog drugog klijenta ili sa bilo kog sajta, bez instaliranog WordPress-a na tom sajtu, REST API omogućuje korišćenje WordPress-a sa bilo kojim programskim jezikom ili platformom.
Pođimo od arhitekture i nekih najopštijih koncepata REST-a (Representational State Transfer).
REST je arhitekturalni stil pomoću koga se kreira i organizuje distribuirani sistem. On opisuje veb kao distribuiranu hipermedisjku aplikaciju, čiji linkovani resursi komuniciraju razmenom reprezentacija stanja resursa. Resursi predstavljaju najznačajnije sastavne delove REST arhitekture.
Kada govorimo o WordPress-u, ovi resursi se odnose na diskretne entitete kao što su postovi, stranice, komentari, korisnici, prilagođene vrste postova itd. Za interakciju sa resursima koristi se URI (Uniform Resource Identifier), i kao što mu naziv govori, on identifikuje resurse.
Servis RESTful koristi URI-je kao primarno sredstvo za adresiranje osnovnih resursa. Ovi resursi mogu imati nekoliko reprezentacija. Fajl slike, na primer, može biti dostupan u .JPG, .GIF ili .PNG formatu. Odnos resursa i URI-ja je „jedan prema više“. URI može pokazivati na samo jedan resurs, ali jedan resurs može imati više od jednog URI-ja.
Ovo je lista svih resursa koje WP REST API trenutno podržava:
- Posts
- Pages
- Media
- Custom Post Types
- Post Meta
- Revisions
- Comments
- Terms
- Users
Možemo obavljati različite zadatke na ovim resursima koristeći HTTP metode.
HTTP metode
REST API omogućuje izvođenje CRUD (Create Read Update Delete) operacija na resursima korišćenjem HTTP-a. REST koristi ograničeni skup zahteva za ovu svrhu, i to:
- GET – za čitanje ili preuzimanje resursa
- POST – za kreiranje novog resursa
- PUT – za update-ovanje resursa
- DELETE – za uklanjanje resursa
- HEAD – koristi se da bi se proverilo da li resurs postoji, bez vraćanja njegove reprezentacije
- OPTIONS – za povraćaj svih metoda koje podržava resurs
U servisu RESTful ove metode imaju jasno definisana značenja. Prve četiri metode na listi su delovi CRUD operacija, odnosno one se koriste za vraćanje, kreiranje, update-ovanje i uklanjanje entiteta. Poslednje dve metode služe klijentu da utvrdi da li resurs postoji i koje su HTTP metode dostupne da bi resurs mogao da izvodi druge operacije.
HTTP Response kodovi
Server na zahtev šalje odgovor koji sadrži HTTP statusni kod. Ovi kodovi predstavljaju brojeve sa prethodno utvrđenim značenjima. Ovo su neki od najčešćih HTTP response kodova na koje ćemo nailaziti kada radimo sa WP REST API-jem:
Zašto da korisitite JSON REST API za WordPress?
Kada se koriste zajedno, REST i JSON predstavljaju mehanizam za kreiranje odličnih aplikacija, koristeći back-end WordPress-a. Najbolji primer za ovo su aplikacije za mobilne telefone, koje zahtevaju razmenu podataka između klijenta (uređaja) i servera. Imajući u vidu ograničenja protoka kada se koriste mobilni podaci, JSON pruža alternativu rešenjima zasnovanim na XML-u.
JSON je format za čuvanje podataka zasnovan na tekstu, te se može koristiti sa većinom programskih jezika. Dakle, JSON je globalni konektor pri razmeni podataka između različitih platformi, i jednako dobro ga čitaju i mašine i ljudi.
Sa ovom upotrebom API-ja koju Vam sada predstavljamo, sadržaj Vašeg WordPress sajta nije ograničen samo na sebe, već mu mogu pristupiti i ostali sajtovi i klijenti. Kako API izlaže neke delove interne funkcionalnosti, udaljeni klijenti mogu da update-uju ili kreiraju novi sadržaj na Vašem sajtu. Takođe, sadržaj se može preuzeti sa postojećeg WordPress sajta i prikazati na nekom drugom sajtu.
Sa porastom popularnosti Javascript radnih okvira, kao što su Angular, Backbone, Ember, Vue, React sada je moguće koristiti neki od njih za kreiranje bogatog korisničkog iskustva, uz istovremenu upotrebu backend-a WordPress-a.
Da li novi WordPress zasnovan na Javascript-u otežava sve?
Neki mogući use case-ovi za WP REST API su:
- Mobile apps
- Custom admin panels for WordPress
- Single Page Applications (SPAs)
- Integration with other server-side platforms (like Ruby, .NET, and Django etc.)…
REST API zaista otvara novi svet mogućnosti u kome je granica samo Vaša mašta.