INICIANDO COM A
REST API – UMA
INTRODUÇÃO AO
FUTURO DO
WORDPRESS
Matheus Gimenez
WordPress - 3 anos
Moderador do fórum pt_BR
Contribuidor do Odin
brasa.art.br @deshawngamer
matheus@brasa.art.br
O que é uma REST
API?
REST API é um nome usado para
aplicações geradas através de
conexões HTTP.
Ou seja, conseguimos controlar uma
aplicação (nesse caso, o WordPress)
através de dados enviados via HTTP.
Usos da REST API
no WordPress
Agora que definimos é uma REST API
temos que entender os principais
usos dela.
NOSSO NEGÓCIO É UNIR
[ IMAGEM ]
APLICAÇÕES MOBILE
NOSSO NEGÓCIO É UNIR
[ IMAGEM ]
Para fazer um painel exclusivo
NOSSO NEGÓCIO É UNIR
[ IMAGEM ]
Webapps e single page
application (SPA)
E muito mais!
A REST API utiliza a formatação JSON!
As maiores linguagens de
programação possuem
interpretadores JSON.
Então podemos utilizar em diversos
dispositivos.
Instalando o
Plugin REST API
V2
Nessa palestra trabalharemos com a
versão 2 da API.
Como ela ainda não foi adicionada
ao core do WordPress, teremos que
baixar o plugin...
Para baixarmos é só procurar no
repositório pelo nome WordPress
REST API (Version 2)
Ou baixe diretamente atráves desse
link e faça upload do ZIP no painel:
https://wordpress.org/plugins/rest-
api/
Tipos de autenticação
A API possui 3 tipos de autenticação
Tipos de autenticação
Cookie Authentication:
Essa autenticação, como o nome já
diz, é por cookies do browser.
Cookie authentication somente
funciona para temas e plugins em
uma mesma instancia do WordPress
Tipos de autenticação
Basic Authentication:
Esse tipo utiliza a autenticação
padrão do protocolo HTTP.
Não é indicado, já que as suas
credenciais vão ser passadas em cada
conexão.
Tipos de autenticação
OAuth:
Autenticação OAuth é a autenticação
principal usado para conexões
externas. No momento, as chaves
(tokens) para essa autenticação são
geradas através do WP CLI (linha de
comando do WordPress).
Usando API sem
autenticação
Esse metodo é aconselhavel somente
para testes. Não use em sites em
produção.
Usaremos o plugin WP-API-CORS
para isso:
https://github.com/thenbrent/WP-
API-CORS
Faça o download do arquivo ZIP no
GitHub e faça upload dele na página
de plugins do painel do WordPress.
Ative e vamos pra proxima!
Instalou? Agora vamos
ao primeiro teste
Depois de instalado vamos fazer um
Query simples com ela e ver se trás
resultados.
Vá no seu browser favorito e digite o
seguinte endereço:
SEU_SITE/wp-json/wp/v2/posts
Temos também uma URL de testes
da API online:
http://demo.wp-api.org/wp-
json/wp/v2/posts
A resposta será algo parecido com
isso:
Mas não precisa se assustar! No
próximo passo veremos como
visualizar esse tipo de resposta.
Visualizando
JSON atraves do
browser
A maioria dos browsers possui
extensões/addons para visualizar
JSON.
Mas aqui colocarei um exemplo de
um online:
http://json.parser.online.fr/
Melhor agora né?
Fazendo uma busca
utilizando a REST API
Agora veremos como fazer um Query
simples, buscando um post pelo
nome.
Vou fazer esse em localhost, mas a
sintaxe é a seguinte:
SEU_SITE/api/wp-
json/wp/v2/posts/?filter[s]=termo_
da_busca
Com o parametro
filter[nome_do_filtro] nós
podemos alterar o query de
várias formas
Vejam a documentação:
http://wp-api.org/#posts_retrieve-
posts_input
Possíveis filtros
● S
● category_name
● author_name
A REST API não é
só Query
Com a REST API conseguimos ir além
de só retornar posts. Nós podemos
também podemos editar, adicionar
novos.
Adicionar e editar posts
Deletar posts
e etc.
brasa.art.br/blog
matheus@brasa.art.br
twitter.com/deshawngamer

Apresentação rest api

  • 1.
    INICIANDO COM A RESTAPI – UMA INTRODUÇÃO AO FUTURO DO WORDPRESS
  • 2.
    Matheus Gimenez WordPress -3 anos Moderador do fórum pt_BR Contribuidor do Odin brasa.art.br @deshawngamer matheus@brasa.art.br
  • 3.
    O que éuma REST API? REST API é um nome usado para aplicações geradas através de conexões HTTP. Ou seja, conseguimos controlar uma aplicação (nesse caso, o WordPress) através de dados enviados via HTTP.
  • 4.
    Usos da RESTAPI no WordPress Agora que definimos é uma REST API temos que entender os principais usos dela.
  • 5.
    NOSSO NEGÓCIO ÉUNIR [ IMAGEM ] APLICAÇÕES MOBILE
  • 6.
    NOSSO NEGÓCIO ÉUNIR [ IMAGEM ] Para fazer um painel exclusivo
  • 7.
    NOSSO NEGÓCIO ÉUNIR [ IMAGEM ] Webapps e single page application (SPA)
  • 8.
    E muito mais! AREST API utiliza a formatação JSON! As maiores linguagens de programação possuem interpretadores JSON. Então podemos utilizar em diversos dispositivos.
  • 9.
    Instalando o Plugin RESTAPI V2 Nessa palestra trabalharemos com a versão 2 da API. Como ela ainda não foi adicionada ao core do WordPress, teremos que baixar o plugin...
  • 10.
    Para baixarmos ésó procurar no repositório pelo nome WordPress REST API (Version 2) Ou baixe diretamente atráves desse link e faça upload do ZIP no painel: https://wordpress.org/plugins/rest- api/
  • 11.
    Tipos de autenticação AAPI possui 3 tipos de autenticação
  • 12.
    Tipos de autenticação CookieAuthentication: Essa autenticação, como o nome já diz, é por cookies do browser. Cookie authentication somente funciona para temas e plugins em uma mesma instancia do WordPress
  • 13.
    Tipos de autenticação BasicAuthentication: Esse tipo utiliza a autenticação padrão do protocolo HTTP. Não é indicado, já que as suas credenciais vão ser passadas em cada conexão.
  • 14.
    Tipos de autenticação OAuth: AutenticaçãoOAuth é a autenticação principal usado para conexões externas. No momento, as chaves (tokens) para essa autenticação são geradas através do WP CLI (linha de comando do WordPress).
  • 15.
    Usando API sem autenticação Essemetodo é aconselhavel somente para testes. Não use em sites em produção. Usaremos o plugin WP-API-CORS para isso: https://github.com/thenbrent/WP- API-CORS Faça o download do arquivo ZIP no GitHub e faça upload dele na página de plugins do painel do WordPress. Ative e vamos pra proxima!
  • 16.
    Instalou? Agora vamos aoprimeiro teste Depois de instalado vamos fazer um Query simples com ela e ver se trás resultados. Vá no seu browser favorito e digite o seguinte endereço: SEU_SITE/wp-json/wp/v2/posts Temos também uma URL de testes da API online: http://demo.wp-api.org/wp- json/wp/v2/posts
  • 17.
    A resposta seráalgo parecido com isso: Mas não precisa se assustar! No próximo passo veremos como visualizar esse tipo de resposta.
  • 18.
    Visualizando JSON atraves do browser Amaioria dos browsers possui extensões/addons para visualizar JSON. Mas aqui colocarei um exemplo de um online: http://json.parser.online.fr/
  • 19.
  • 20.
    Fazendo uma busca utilizandoa REST API Agora veremos como fazer um Query simples, buscando um post pelo nome. Vou fazer esse em localhost, mas a sintaxe é a seguinte: SEU_SITE/api/wp- json/wp/v2/posts/?filter[s]=termo_ da_busca
  • 21.
    Com o parametro filter[nome_do_filtro]nós podemos alterar o query de várias formas Vejam a documentação: http://wp-api.org/#posts_retrieve- posts_input
  • 22.
    Possíveis filtros ● S ●category_name ● author_name
  • 23.
    A REST APInão é só Query Com a REST API conseguimos ir além de só retornar posts. Nós podemos também podemos editar, adicionar novos. Adicionar e editar posts Deletar posts e etc.
  • 24.

Notas do Editor

  • #4 Interface para controlar uma aplicacoes atraves de conexao HTTP. Ou seja, basicamente vamos conseguir controlar funcoes do WordPress atraves de aplicacoes externas.
  • #6 Esse é o primeiro uso que vem a cabeça quanto pensamos em API REST. Nós consumir os dados do WordPress em dispositivos mobile, seja qual for a linguagem de programação.. Podemos usar JavaScript com AngularJS (ou React), podemos usar Java ou até Objetive-C. Todas as linguagens modernas possuem interpretadores de JSON.
  • #7 Para quem não viu, semana passada a Automattic lançou o Calypso, um novo painel para o WordPress.com (a plataforma de hospedagem de blogs). Esse é pra mim o melhor exemplo do que se pode fazer com uma REST API. Alguem aqui já tentou alterar de alguma forma o layout do dashboard do WordPress? (pergunto ao publico) Respondo que é bem engessado.. Agora com uma REST API nós temos a possibilidade de criar um novo painel sem ficar preso a filtros e actions. Vamos supor por exemplo que você queira criar um site para fotografos. Não precisamos de toda a interface do dashboard do WordPress, podemos criar um novo painel com os itens necessários para o cliente gerenciar o site. Podemos refazer mostrando somente a area de subir imagens, gerenciar determinadas páginas e etc.
  • #8 Para quem não viu, semana passada a Automattic lançou o Calypso, um novo painel para o WordPress.com (a plataforma de hospedagem de blogs). Esse é pra mim o melhor exemplo do que se pode fazer com uma REST API. Alguem aqui já tentou alterar de alguma forma o layout do dashboard do WordPress? (pergunto ao publico) Respondo que é bem engessado.. Agora com uma REST API nós temos a possibilidade de criar um novo painel sem ficar preso a filtros e actions. Vamos supor por exemplo que você queira criar um site para fotografos. Não precisamos de toda a interface do dashboard do WordPress, podemos criar um novo painel com os itens necessários para o cliente gerenciar o site. Podemos refazer mostrando somente a area de subir imagens, gerenciar determinadas páginas e etc.
  • #16 "Agora que eu apresentei as formas de autenticacao da REST API nosso exemplo nao vai mostrar nenhuma delas, porque nao gosto de usar atenticacao...rs"
  • #17 Esse ambiente de demo é oficial da equipe que está desenvolvendo a REST API.
  • #20 Esse é o primeiro uso que vem a cabeça quanto pensamos em API REST. Nós consumir os dados do WordPress em dispositivos mobile, seja qual for a linguagem de programação.. Podemos usar JavaScript com AngularJS (ou React), podemos usar Java ou até Objetive-C. Todas as linguagens modernas possuem interpretadores de JSON.
  • #21 Aqui eu mostro a resposta e debato ponto a ponto. Mostrar que o thumbnail não aparece na forma de URL e então puxar pro proximo ponto.
  • #22 Aqui eu mostro a resposta e debato ponto a ponto. Mostrar que o thumbnail não aparece na forma de URL e então puxar pro proximo ponto.
  • #23 Aqui eu mostro a resposta e debato ponto a ponto. Mostrar que o thumbnail não aparece na forma de URL e então puxar pro proximo ponto.
  • #24 Aqui eu mostro a resposta e debato ponto a ponto. Mostrar que o thumbnail não aparece na forma de URL e então puxar pro proximo ponto.