WordPress REST API

Preview:

Citation preview

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

Recommended