WP REST API
WooCommerce Meet Up
25 Marzo 2016 / Monopoli
1. Cos’è la REST API
2. Perché è importante
3. Idee ed casi di studio
4. Cominciamo ad utilizzarla
Affronteremo questi temi
1) cos’è la WP REST API
API è l’acronimo di Application Programming
Interface, ovvero un insieme di procedure che
permettono di accedere alle funzionalità di un
determinato software.
1) cos’è la WP REST API
La REST API in WordPress è quindi un
interfaccia di comunicazione che ci permette di
far interagire WP con qualunque altra
applicazione, o anche di semplificare o
migliorare le interazione all’interno
dell’installazione stessa.
In che modo?
WP REST API utilizza il formato JSON
(JavaScript Object Notation), che offre
numerosi vantaggi tra cui:
• è più veloce e compatto rispetto a XML
• è più leggibile anche dall’uomo
• è compatibile con tutti i linguaggi e in
particolare javascript, python, e php
Un esempio di risposta JSON
https://public-api.wordpress.com/rest/v1.1/sites/twentysixteendemo.wordpress.com/
posts/6
Azioni principali
Le principali operazioni che al momento
possiamo seguire tramite API sono:
• POST - /sites/$site/posts/new
• GET - /sites/$site/posts/$post_ID
• PUT - /sites/$site/posts/$post_ID
• DELETE - /sites/$site/posts/$post_ID/delete
E WooCommerce ha una sua API?
Ovviamente si, e funziona in maniera
estremamente simile ma con le funzionalità
estese a prodotti, ordini, attributi, coupon etc…
Perché è un’evoluzione così
importante per WordPress e
perché tutti ne parlano?
Un po di storia
WordPress stesso è nato come una piattaforma
dedicata al personal blogging, e si è evoluto nel
tempo diventando un vero e proprio framework
che permette di creare portali complessi anche
a livello enterprise.
Oggi il 25% dei siti web sul pianeta girano su
WordPress ;)
I Plugin, che grande invenzione!
IMHO, ciò che ha permesso un’evoluzione cosi
rapida e importante oltre alla natura open-
source del progetto, è stato l’ecosistema dei
plugin, grazie ai quali è stato possibile
moltiplicare le funzionalità di WP facendolo
diventare una piattaforma e-commerce, un
CRM, un calendario, un LMS, un social network
e tanto altro ancora.
Ma torniamo alle API
Per molti (me compreso) le API sono il prossimo
grande passo per WordPress perché, come
hanno fatto i plugin, offrono la possibilità di
integrare il software in maniera semplice e
sicura con qualunque altro applicativo web e
mobile, e apre nuove frontiere all’utilizzo di WP.
Alcune idee
per utilizzare WP API
e WC API
Infinite possibilità
Viste le possibilità di interazione attraverso le
API, le applicazioni nel “mondo reale” sono
praticamente illimitate, ma possiamo
razionalizzare alcuni esempi interessanti…
Un po’ di idee
• WP come “Backend Only”
• Applicazioni mobili con WordPress
• Gestione centralizzata dell’inventario con
WooCommerce
• Temi “javascript based” (feelingrestful.com)
• API powered plugins (wp-search-live)
Nel dettaglio: WP come “Backend Only”
Perché no? Lo sviluppo backend in genere richiede
molto impegno. Con WP + WP API abbiamo:
• un sistema sicuro e ben rodato per gestire ed
archiviare i nostri dati
• le operazioni CRUD (create, read, update and
delete) gia disponibili di default grazie agli endpoint
Post, Get, Put, Delete
• una splendida interfaccia gia familiare a milioni di
utenti
• la possibilità di rendere disponibili i dati a
qualunque tipo di frontend
Applicazioni mobili, finalmente!
Grazie alle API, l’utilizzo di WordPress per lo
sviluppo di applicazioni mobili diventa più
semplice e completo, specialmente in
accoppiata con tecnologie come Angular JS,
ideale per le interazioni con JSON e compilabile
tramite PhoneGap per Android, iOS e Windows
Phone.
Applicazioni mobili, finalmente!
Per gli utenti comuni esistono gia diversi servizi
che sfruttano le API per creare applicazioni
mobili native, e per i quali non è necessaria
alcuna competenza tecnica specifica.
In generale possiamo dire
che se un dispositivo può
effettuare una chiamata
HTTP, pur interagire con
WordPress
Alcuni casi di utilizzo
Calypso by Automattic
Un’unica interfaccia installata in locale per
gestire tutti i tuoi siti WordPress
È innovativo perché:
• È comodo, perché ti fa gestire tutti i tuoi
progetti da un’unica interfaccia
• È sempre disponibile, perché funziona anche
offline
• È veloce perché essendo API powered non
necessita di page refresh
WooCommerce iOS app
Il tuo negozio sempre in tasca
Reactor by Apppresser
Una soluzione SaaS per creare applicazioni
mobili
Editus
Semplifica la gestione dei contenuti con
l’editing da frontend
Ok! È arrivato il
momento di cominciare
ad utilizzare le API in
maniera pratica
Per iniziare…
• WooCommerce dispone di una API built-in, è
quindi necessario semplicemente abilitarla
dal pannello di amministrazione

(WooCommerce > Impostazioni > API)
• Dopodiché dovremmo generare una chiave di
autenticazione (sempre necessaria)
Per iniziare…
Metodi, endpoint, autenticazione e tutto ciò che
serve è ben documentato qui: http://
woothemes.github.io/woocommerce-rest-api-
docs/
Per iniziare…
Per lavorare invece con le API di WordPress
abbiamo principalmente due opzioni:
• Utilizzare il plugin ufficiale WordPress REST
API (https://wordpress.org/plugins/rest-api/)
• Attivare il modulo JSON API di JetPack, che ci
permette di sfruttare le API di WordPress.com
WordPress REST API
WordPress REST API è il progetto ufficiale di
WordPress.org, la cui infrastrutture è gia stata
integrata nel core dalla versione 4.4, e gli
endpoint verranno integrati molto presto.
Nonostante sia ufficialmente ancora in beta è
ampiamente stabile.
Documentazione: http://v2.wp-api.org
WordPress REST API
Per attivarla è sufficiente installare ed attivare il
plugin disponibile nella directory ufficiale
WordPress.org
WordPress.com REST API
Le API di WordPress.com fanno parte del plugin
JetPack e per utilizzarle è necessario:
• Installare ed attivare JetPack
• Connettere JetPack con il proprio account
WordPress.com
• Attivare il modulo JSON API
Documentazione: https://
developer.wordpress.com/docs/api/
WordPress.com REST API
Per iniziare…
• Entrambe permettono di operare su post,
utenti, categorie
• Entrambe sono estensibili, per esempio
possiamo aggiungere il supporto per Custom
Post Types nelle chiamate API oppure
aggiungere i campi personalizzati
• Entrambe permettono alcune chiamate (GET)
senza autenticazione
Allora proviamoci!
https://public-api.wordpress.com/rest/v1.1/
sites/francescocarlucci.com/posts/
Rendiamolo leggibile
Grazie a tutti!
A cura di: Francesco Carlucci
https://francescocarlucci.com

WordPress REST API

  • 1.
    WP REST API WooCommerceMeet Up 25 Marzo 2016 / Monopoli
  • 2.
    1. Cos’è laREST API 2. Perché è importante 3. Idee ed casi di studio 4. Cominciamo ad utilizzarla Affronteremo questi temi
  • 3.
    1) cos’è laWP REST API API è l’acronimo di Application Programming Interface, ovvero un insieme di procedure che permettono di accedere alle funzionalità di un determinato software.
  • 4.
    1) cos’è laWP REST API La REST API in WordPress è quindi un interfaccia di comunicazione che ci permette di far interagire WP con qualunque altra applicazione, o anche di semplificare o migliorare le interazione all’interno dell’installazione stessa.
  • 5.
    In che modo? WPREST API utilizza il formato JSON (JavaScript Object Notation), che offre numerosi vantaggi tra cui: • è più veloce e compatto rispetto a XML • è più leggibile anche dall’uomo • è compatibile con tutti i linguaggi e in particolare javascript, python, e php
  • 6.
    Un esempio dirisposta JSON https://public-api.wordpress.com/rest/v1.1/sites/twentysixteendemo.wordpress.com/ posts/6
  • 7.
    Azioni principali Le principalioperazioni che al momento possiamo seguire tramite API sono: • POST - /sites/$site/posts/new • GET - /sites/$site/posts/$post_ID • PUT - /sites/$site/posts/$post_ID • DELETE - /sites/$site/posts/$post_ID/delete
  • 8.
    E WooCommerce hauna sua API? Ovviamente si, e funziona in maniera estremamente simile ma con le funzionalità estese a prodotti, ordini, attributi, coupon etc…
  • 9.
    Perché è un’evoluzionecosì importante per WordPress e perché tutti ne parlano?
  • 10.
    Un po distoria WordPress stesso è nato come una piattaforma dedicata al personal blogging, e si è evoluto nel tempo diventando un vero e proprio framework che permette di creare portali complessi anche a livello enterprise. Oggi il 25% dei siti web sul pianeta girano su WordPress ;)
  • 11.
    I Plugin, chegrande invenzione! IMHO, ciò che ha permesso un’evoluzione cosi rapida e importante oltre alla natura open- source del progetto, è stato l’ecosistema dei plugin, grazie ai quali è stato possibile moltiplicare le funzionalità di WP facendolo diventare una piattaforma e-commerce, un CRM, un calendario, un LMS, un social network e tanto altro ancora.
  • 12.
    Ma torniamo alleAPI Per molti (me compreso) le API sono il prossimo grande passo per WordPress perché, come hanno fatto i plugin, offrono la possibilità di integrare il software in maniera semplice e sicura con qualunque altro applicativo web e mobile, e apre nuove frontiere all’utilizzo di WP.
  • 13.
  • 14.
    Infinite possibilità Viste lepossibilità di interazione attraverso le API, le applicazioni nel “mondo reale” sono praticamente illimitate, ma possiamo razionalizzare alcuni esempi interessanti…
  • 15.
    Un po’ diidee • WP come “Backend Only” • Applicazioni mobili con WordPress • Gestione centralizzata dell’inventario con WooCommerce • Temi “javascript based” (feelingrestful.com) • API powered plugins (wp-search-live)
  • 16.
    Nel dettaglio: WPcome “Backend Only” Perché no? Lo sviluppo backend in genere richiede molto impegno. Con WP + WP API abbiamo: • un sistema sicuro e ben rodato per gestire ed archiviare i nostri dati • le operazioni CRUD (create, read, update and delete) gia disponibili di default grazie agli endpoint Post, Get, Put, Delete • una splendida interfaccia gia familiare a milioni di utenti • la possibilità di rendere disponibili i dati a qualunque tipo di frontend
  • 17.
    Applicazioni mobili, finalmente! Graziealle API, l’utilizzo di WordPress per lo sviluppo di applicazioni mobili diventa più semplice e completo, specialmente in accoppiata con tecnologie come Angular JS, ideale per le interazioni con JSON e compilabile tramite PhoneGap per Android, iOS e Windows Phone.
  • 18.
    Applicazioni mobili, finalmente! Pergli utenti comuni esistono gia diversi servizi che sfruttano le API per creare applicazioni mobili native, e per i quali non è necessaria alcuna competenza tecnica specifica.
  • 19.
    In generale possiamodire che se un dispositivo può effettuare una chiamata HTTP, pur interagire con WordPress
  • 20.
  • 21.
    Calypso by Automattic Un’unicainterfaccia installata in locale per gestire tutti i tuoi siti WordPress
  • 22.
    È innovativo perché: •È comodo, perché ti fa gestire tutti i tuoi progetti da un’unica interfaccia • È sempre disponibile, perché funziona anche offline • È veloce perché essendo API powered non necessita di page refresh
  • 23.
    WooCommerce iOS app Iltuo negozio sempre in tasca
  • 24.
    Reactor by Apppresser Unasoluzione SaaS per creare applicazioni mobili
  • 25.
    Editus Semplifica la gestionedei contenuti con l’editing da frontend
  • 26.
    Ok! È arrivatoil momento di cominciare ad utilizzare le API in maniera pratica
  • 27.
    Per iniziare… • WooCommercedispone di una API built-in, è quindi necessario semplicemente abilitarla dal pannello di amministrazione
 (WooCommerce > Impostazioni > API) • Dopodiché dovremmo generare una chiave di autenticazione (sempre necessaria)
  • 28.
    Per iniziare… Metodi, endpoint,autenticazione e tutto ciò che serve è ben documentato qui: http:// woothemes.github.io/woocommerce-rest-api- docs/
  • 29.
    Per iniziare… Per lavorareinvece con le API di WordPress abbiamo principalmente due opzioni: • Utilizzare il plugin ufficiale WordPress REST API (https://wordpress.org/plugins/rest-api/) • Attivare il modulo JSON API di JetPack, che ci permette di sfruttare le API di WordPress.com
  • 30.
    WordPress REST API WordPressREST API è il progetto ufficiale di WordPress.org, la cui infrastrutture è gia stata integrata nel core dalla versione 4.4, e gli endpoint verranno integrati molto presto. Nonostante sia ufficialmente ancora in beta è ampiamente stabile. Documentazione: http://v2.wp-api.org
  • 31.
    WordPress REST API Perattivarla è sufficiente installare ed attivare il plugin disponibile nella directory ufficiale WordPress.org
  • 32.
    WordPress.com REST API LeAPI di WordPress.com fanno parte del plugin JetPack e per utilizzarle è necessario: • Installare ed attivare JetPack • Connettere JetPack con il proprio account WordPress.com • Attivare il modulo JSON API Documentazione: https:// developer.wordpress.com/docs/api/
  • 33.
  • 34.
    Per iniziare… • Entrambepermettono di operare su post, utenti, categorie • Entrambe sono estensibili, per esempio possiamo aggiungere il supporto per Custom Post Types nelle chiamate API oppure aggiungere i campi personalizzati • Entrambe permettono alcune chiamate (GET) senza autenticazione
  • 35.
  • 36.
  • 37.
    Grazie a tutti! Acura di: Francesco Carlucci https://francescocarlucci.com