Uma introdução à API REST do WordPress

Publicados: 2022-10-19

Em dezembro de 2016, com o lançamento do WordPress 4.7, um marco muito debatido aconteceu: a API REST do WordPress foi oficialmente incluída como parte do WordPress Core.

Embora a API REST existisse como um plug-in antes da fusão oficial no núcleo, sua inclusão subsequente gerou bastante debate, com argumentos sendo feitos tanto para sua inclusão quanto para a necessidade de mais testes.

Por fim, a API REST foi incorporada ao Core e agora alimenta o Block Editor, bem como muitas integrações e interfaces de terceiros com sites WordPress em toda a web.

No entanto, para muitos usuários do WordPress, esta foi a primeira vez que ouviram falar da API REST de qualquer tipo, muito menos de uma integrada tão firmemente ao WordPress.

Portanto, neste artigo, veremos exatamente o que é uma API REST, como a API REST do WordPress é única e alguns exemplos de como ela funciona e alguns dos tipos de tecnologia que estão habilitados agora que estão incluídos no WordPress. Essencial.

O que é uma API REST?

O termo API REST é, na verdade, dois acrônimos em um e ambos são importantes para entender como a API REST do WordPress funciona e o que ela faz.

O que é REST?

A primeira parte, REST, significa REpresentational State Transfer. Simplificando, esta é uma especificação que define como dois recursos separados na web devem se comunicar entre si. Essas duas interfaces podem ser dois sites diferentes, um servidor web, um aplicativo móvel e muito mais.

Um serviço que segue essa especificação geralmente é chamado de serviço RESTful e funciona para garantir que o cliente que solicita informações não precise saber nada sobre o estado do servidor e como o cliente e o servidor podem ser mais modulares e separados do que com outros métodos de transporte de dados através da Internet.

Essencialmente, se um desenvolvedor sabe que está interagindo com um serviço RESTful, pode fazer certas suposições sobre como suas solicitações serão formatadas e que tipo de dados receberá em troca, o que é muito útil ao desenvolver tecnologias interconectadas.

Se você quiser aprofundar exatamente o que compõe um serviço RESTful e como esses tipos de solicitações são feitas, eu recomendo verificar o artigo da Codecademy chamado O que é REST?

O que é uma API?

API significa Application Programming Interface e, como o nome indica, fornece uma interface para outros clientes e serviços na Web interagirem com um aplicativo específico. Ele especifica terminais, geralmente URLs, para onde os dados podem ser enviados, se esses URLs retornam dados ou criam recursos no servidor e se algum tipo específico de autenticação é necessário para acessar esses terminais.

Para muitos serviços populares na Web hoje, as APIs fornecem uma maneira automatizada de fazer o que um usuário poderia fazer manualmente, permitindo que um script ou trecho de código execute a mesma ação com um usuário presente. Por exemplo, se você usa o Reddit e se vê escrevendo o mesmo tipo de comentário em muitos dos tópicos em que navega, pode criar um script que pesquise no Reddit esses tipos de comentários e poste automaticamente sua resposta padrão por meio da API do Reddit.

Ao expor sua infraestrutura por meio de uma API, os usuários não precisam confiar em métodos frágeis de extração da Web para automatizar esses tipos de tarefas, e o Reddit pode acompanhar quem está acessando seus recursos por meio de sua API, com que frequência o fazem e controlar para uso que está fora de seus termos de serviço.

Por que o WordPress precisava de uma API REST?

Se você já fez solicitações do tipo API para o WordPress antes da API REST fazer parte do Core, talvez esteja familiarizado com o conceito de admin-ajax. Essa era a maneira original de fazer solicitações como essa no WordPress, onde todas as solicitações eram roteadas por meio do arquivo admin-ajax.php, verificadas para quaisquer ações específicas que os desenvolvedores de quaisquer plugins ou temas ativos tivessem registrado e, em seguida, usadas essas funções registradas para atender os pedidos.

Como você pode esperar, isso significa que todos os desenvolvedores que usaram solicitações semelhantes à API ativaram essa funcionalidade como parte de seu plug-in ou tema, o fizeram de maneira um pouco diferente e qualquer pessoa que desejasse interagir com essa funcionalidade precisava se familiarizar com a forma como cada plug-in ou tema era construído. A API REST do WordPress foi introduzida para padronizar a maneira como essas solicitações eram feitas e fornecer um conjunto de endpoints de alcance muito mais amplo que poderia ser usado para interagir com o próprio WordPress Core.

Um exemplo de solicitação para a API REST do WordPress

O Manual da API REST do WordPress mantém uma lista completa dos endpoints que são suportados na API REST do WordPress pronta para uso. E embora seja ótimo ter uma lista completa, pode ser um pouco opressor. Vamos dar uma olhada no que pode ser considerado a funcionalidade mais básica de qualquer interação de API: buscar o recurso básico da API. No caso do WordPress, esse recurso é postado.

Todos os endpoints da API REST do WordPress são prefixados com o caminho de URL wp-json entre o domínio raiz e o que o Manual da API REST chama de Base Route . Isso significa que, se estivermos acessando o endpoint para listar as postagens do site e a URL do nosso site for example.com , precisaremos fazer uma solicitação para a URL https://example.com/wp-json/wp/v2/posts .

Fazer uma solicitação GET, simplesmente carregando esse URL em seu navegador da Web favorito ou usando um navegador de API como o Postman, deve retornar uma lista de postagens da API, embora elas possam não estar no formato que você usa para. Se tudo o que você vê é uma longa string de texto, você está olhando para um formato de dados conhecido como JSON. Se você estiver acessando o ponto de extremidade da API por meio de seu navegador e quiser ver essas informações em um formato mais legível, recomendo instalar a extensão JSON Viewer. Isso detectará qualquer saída em seu navegador que seja JSON e formate-a para que você possa lê-la com mais facilidade. Com isso instalado, você deve ver a saída de dados de postagem da API REST do WordPress e fez com sucesso sua primeira solicitação de API REST!

Um exemplo de como os dados da API REST do WordPress aparecem quando visualizados em um navegador com a extensão JSON Viewer instalada

O que mais a API REST do WordPress pode fazer?

Além de buscar uma lista das postagens mais recentes em um site WordPress, olhando para o Endpoint Reference, você verá que há várias outras maneiras de interagir com a API REST do WordPress. Se você for autenticado como usuário do WordPress, poderá publicar postagens por meio da API, obter uma lista de temas disponíveis no site, visualizar e editar configurações, bem como muitas outras funcionalidades disponíveis para interação manual por meio do wp-admin .

Alguns exemplos da API REST do WordPress em ação

Expor a capacidade de interagir com o WordPress por meio da API REST abriu uma ampla gama de possibilidades de sites que agora podem usar o WordPress como back-end para gerenciamento de conteúdo.

TechCrunch : Logo após o anúncio da API REST do WordPress, a TechCrunch anunciou que havia reconstruído seu site usando uma arquitetura sem cabeça, o que significava que eles estavam usando o WordPress no back-end como um sistema de gerenciamento de conteúdo, enquanto ainda podiam usar uma “página única estilo React app” no frontend.

Editor de Blocos (Gutenberg) : Talvez o uso da API REST que a maioria das pessoas se beneficiou seja o Editor de Blocos do WordPress. Agora o editor principal do WordPress, grande parte da funcionalidade do Block Editor é habilitada pelo fato de poder interagir com os endpoints da API REST do WordPress sem

Todos os tipos de projetos comunitários : Quando a API REST estava sendo considerada pela primeira vez para mesclar em um núcleo, uma chamada pública foi feita pedindo às pessoas que falassem mais sobre como estavam usando a API REST. As respostas foram muito amplas, o que você pode esperar de uma comunidade tão grande quanto o WordPress, mas incluiu tudo, desde plug-ins com interfaces mais interativas do que era possível até pessoas criando aplicativos móveis para seus clientes que poderiam consumir conteúdo do WordPress.

Empacotando

Mesmo que você não tenha nenhuma experiência com o uso de APIs, provavelmente já usou algo em algum momento de sua carreira que depende da API REST do WordPress para funcionar. À medida que as interfaces continuam a se tornar mais dinâmicas e os sites começam a ter mais ações que não exigem o carregamento da página.

Agora que você sabe o que é a API REST do WordPress, pode estar pensando em algumas coisas que pode construir com ela! A API REST pode definitivamente ser uma ferramenta poderosa em sua caixa de ferramentas para criar temas e plugins WordPress ainda melhores.

Se você precisar de um pouco mais de esclarecimento ou de alguns exemplos do que é possível, dê uma olhada nos documentos e vá direto ao assunto!