Obtenha hoje o melhor plug-in de backup e migração para WordPress
Obter o Duplicator agora
Anúncio do Duplicator Cloud

[Novo] As cópias de segurança na nuvem ficaram mais simples - Duplicator Cloud elimina o armazenamento de terceiros

Explore planos de armazenamento em nuvem escaláveis e económicos com o Duplicator Cloud e mantenha as cópias de segurança do seu site seguras, organizadas e acessíveis num só...
API REST do WordPress

API REST do WordPress para iniciantes: Aceder ao seu conteúdo em qualquer lugar 

Escrito por: avatar do autor Joella Dunn
avatar do autor Joella Dunn
Joella é uma escritora com anos de experiência em WordPress. Na Duplicator, ela é especialista em manutenção de sites - desde backups básicos até migrações em grande escala. O seu objetivo final é garantir que o seu site WordPress está seguro e pronto para crescer.
     Avaliado por: avatar do revisor John Turner
avatar do revisor John Turner
John Turner é o presidente da Duplicator. Tem mais de 20 anos de experiência em negócios e desenvolvimento e os seus plugins foram descarregados mais de 25 milhões de vezes.

A API REST transforma o WordPress em algo mais do que um sistema tradicional de gestão de conteúdos. Torna-se uma estrutura de aplicação.

Outros programas - quer sejam aplicações móveis, sites personalizados ou serviços de terceiros - podem falar com o seu site WordPress, solicitar dados e até modificar conteúdos.

Poderá pensar que este é um território puramente para programadores. Mas não é.

A API REST alimenta funcionalidades que provavelmente utiliza todos os dias. O Editor de blocos? Isso é a API REST em ação. Sempre que adiciona um bloco ou guarda um rascunho de publicação, está a fazer chamadas à API nos bastidores.

Neste post, vou explicar o que é a API REST do WordPress, o que ela realmente faz e como gerenciá-la em seu site.

Eis as principais conclusões:

  • A API REST do WordPress está integrada no núcleo do WordPress e permite que aplicações externas leiam e modifiquem o seu conteúdo através de URLs simples
  • O Editor de Blocos depende da API REST para cada bloco que adiciona e cada rascunho que guarda
  • Permite o WordPress sem cabeça, aplicações móveis e aplicações de página única, servindo o seu conteúdo como dados JSON que qualquer plataforma pode consumir
  • Os pontos de extremidade públicos (como /wp-json/wp/v2/posts) funcionam imediatamente, mas a criação ou edição de conteúdo requer autenticação através de palavras-passe de aplicação
  • A maioria dos problemas da API REST (erros 404, falhas de autenticação) pode ser corrigida salvando novamente os links permanentes ou verificando a configuração da senha do aplicativo

Índice

O que é a API REST do WordPress?

A API REST do WordPress é uma interface integrada que permite que outros sistemas interajam com os dados do WordPress. Pense nela como uma ponte entre o seu sítio WordPress e o mundo exterior.

É fornecido com o núcleo do WordPress. Não precisa de instalar nada extra; já lá está, à espera de ser utilizado.

A API utiliza JSON (JavaScript Object Notation) como formato de dados. O JSON é uma forma leve de estruturar dados como texto. É legível por humanos, o que significa que pode realmente olhar para ele e compreender o que está a ver.

Um post de blogue em JSON parece uma lista organizada de propriedades: título, conteúdo, autor, data de publicação e assim por diante.

Eis a razão pela qual isto é importante: a API REST permite a "dissociação". Pode gerir o seu conteúdo no WordPress, mas exibi-lo em qualquer lugar. Numa aplicação móvel. Num site diferente. Num quiosque digital. Numa aplicação personalizada que a sua equipa criou de raiz.

O seu conteúdo está num único local. Mas pode aparecer em todo o lado.

O que é uma interface de programação de aplicações (API)?

Gosto de explicar as API com a analogia do restaurante porque funciona mesmo.

Está sentado à mesa. Queres comida. Mas não pode simplesmente entrar na cozinha e começar a tirar coisas do frigorífico. Precisas de um intermediário: é o empregado de mesa.

O utilizador diz ao empregado de mesa o seu pedido (o seu pedido). O empregado leva-o para a cozinha (o servidor/base de dados). A cozinha prepara a sua comida. O empregado de mesa devolve-a ao utilizador (a resposta).

Uma API é o empregado de mesa. É o intermediário entre uma aplicação que pretende dados e o sistema que tem esses dados. A API recebe os pedidos, comunica com os sistemas certos e fornece os resultados num formato que a aplicação requerente pode compreender.

Sem a API, as aplicações teriam de aceder diretamente à sua base de dados. Isso seria confuso, inseguro e quase impossível de gerir à escala.

O que é a Transferência de Estado Representacional (REST)?

REST é um conjunto de regras de arquitetura para a criação de APIs. Quando uma API segue essas regras, nós a chamamos de "RESTful". A API REST do WordPress segue esses princípios, e é por isso que ela tem "REST" no nome.

Eis os conceitos fundamentais:

Sem estado

O servidor não se lembra de pedidos anteriores. Cada pedido que faz tem de incluir tudo o que o servidor precisa para o processar. Não pode assumir que o servidor sabe o que pediu há cinco segundos.

Isso parece limitador, mas na verdade é o que torna as APIs REST escalonáveis. O servidor não está a desperdiçar recursos a rastrear estados de sessão para milhares de pedidos simultâneos.

Cliente-Servidor

O cliente (a aplicação que faz os pedidos) e o servidor (o seu sítio WordPress) são completamente separados. Eles podem ser desenvolvidos de forma independente. Seu aplicativo React não se importa se o WordPress for atualizado para a versão 6.5 ou 7.0, desde que os pontos de extremidade da API permaneçam consistentes.

Interface uniforme

As APIs REST usam métodos HTTP padrão como GET, POST, PUT e DELETE. Essa padronização torna a API previsível. Os desenvolvedores familiarizados com REST podem pegar a API do WordPress rapidamente porque ela segue convenções que eles já conhecem.

Estes princípios não são apenas académicos. Eles tornam a API REST do WordPress fiável, previsível e fácil de trabalhar.

O que faz a API REST do WordPress?

A API REST expõe os dados do WordPress através de URLs chamados "endpoints". Um ponto de extremidade é um endereço específico onde pode solicitar dados específicos.

Por exemplo: /wp-json/wp/v2/posts é o ponto de extremidade para as publicações do seu blogue. Visite esse URL no seu site e obterá uma resposta JSON que contém os seus posts - títulos, conteúdo, autores, imagens em destaque, tudo.

Esta é a tecnologia que alimenta o Editor de Blocos. Quando estás a trabalhar no Gutenberg, cada ação que fazes desencadeia uma chamada à API.

Adicionar um bloco de parágrafos? Chamada à API. Carregar uma imagem? Chamada de API. Guardar o rascunho? Chamada de API. A interface do editor é essencialmente uma aplicação JavaScript que fala com o seu site WordPress através da API REST.

A API permite operações CRUD programáticas (Criar, Ler, Atualizar e Eliminar). Pode executar todas estas acções no seu conteúdo sem nunca abrir o painel de controlo do WordPress.

Como programador, pode escrever um script que crie 100 mensagens em cinco segundos. Ou obter todos os seus posts do último mês e gerar um relatório. Ou atualizar todos os artigos com a etiqueta "desatualizado" com uma faixa de aviso.

As possibilidades aumentam drasticamente quando se percebe que o WordPress já não é apenas um sítio Web - é uma API de conteúdos que também processa sítios Web.

Comandos comuns da API REST

A API REST utiliza métodos HTTP padrão para executar diferentes acções. Veja a seguir o que cada um deles faz:

Método HTTPAçãoExemplo
OBTERRecuperar dados do servidorObter uma lista de todos os posts publicados
POSTCriar novos dadosAdicionar um novo post ou página de blogue
PUT / PATCHAtualizar dados existentesEditar o título de uma publicação existente
APAGARRemover dadosEliminar um comentário ou ficheiro multimédia

Os pedidos GET são apenas de leitura. Qualquer pessoa pode fazê-los porque não modificam os seus dados. Se visitar um ponto de extremidade público no seu browser, estará a fazer um pedido GET.

Os outros métodos modificam os seus dados. Eles exigem autenticação. O WordPress precisa de verificar se o utilizador tem permissão para criar, atualizar ou eliminar conteúdo antes de processar esses pedidos.

Como aceder à API REST do WordPress

A API REST é activada por predefinição em todos os sítios WordPress com a versão 4.7 ou superior. O caminho de base é /wp-json/.

Pode testar isto agora mesmo.

Abra um novo separador do browser e navegue para yourdomain.com/wp-json/. Você verá uma resposta JSON listando todas as rotas de API disponíveis. Não é bonita, mas confirma que sua API está funcionando.

Quer ver as suas mensagens? Experimente yourdomain.com/wp-json/wp/v2/posts. Obterá um conjunto JSON dos seus posts publicados, com todos os seus metadados.

Esses pontos de extremidade públicos mostram apenas os dados que já estão visíveis publicamente no seu site. Mas e as acções que modificam dados, como a criação de mensagens, a atualização de páginas ou a eliminação de comentários?

Estes requerem autenticação.

O WordPress suporta dois métodos principais de autenticação. A autenticação por cookie funciona para pedidos do mesmo domínio (como o Block Editor).

Para aplicações externas, utilizará palavras-passe de aplicação. Estes são tokens de 24 caracteres que gera no WordPress, especificamente concebidos para acesso à API. São mais seguros do que a sua palavra-passe real porque pode revogá-los individualmente sem alterar as suas credenciais de início de sessão principais.

Para criar uma, aceda a Utilizadores " Perfil. Localize as definições de Passwords de aplicação e crie uma nova.

Palavra-passe da aplicação de utilizador do WordPress

Em seguida, aceda à API REST com isto:

https://mysite.com/wp-json/wp/v2/posts?Authorization=Bearer[Password]

Certifique-se de que substitui [Palavra-passe] pela palavra-passe da sua aplicação e remove os espaços.

Caso contrário, pode utilizar um plugin como JWT Authentication for WP REST API.

As palavras-passe de aplicação são o método preferido. São seguras, são rastreáveis e não expõem a sua palavra-passe real a aplicações de terceiros.

Para testar a ligação, utilize este comando numa linha de comandos:

curl -X GET --user username:password -i http://yoursite.com/wp-json/wp/v2/posts?status=draft

Como usar a API REST do WordPress: Casos de uso comuns

Agora que já sabe o que é a API REST e como funciona, vamos analisar cenários práticos em que faz sentido utilizá-la.

WordPress sem cabeça

É quando se utiliza o WordPress apenas como backend de gestão de conteúdos. Os seus visitantes nunca vêem um tema WordPress. Em vez disso, constrói um frontend personalizado utilizando uma estrutura JavaScript como React, Vue ou Next.js.

Esse front-end vai buscar conteúdos à API REST do WordPress e apresenta-os como quiser. Obtém as excelentes ferramentas de gestão de conteúdos do WordPress em conjunto com total liberdade de design no front-end.

Aplicações móveis

Pode alimentar uma aplicação nativa para iOS ou Android inteiramente com conteúdo do seu site WordPress. O aplicativo faz solicitações de API para buscar posts, exibir imagens e mostrar comentários.

A sua equipa de conteúdos gere tudo a partir do painel de controlo do WordPress que já conhece. Os programadores de aplicações nunca tocam no CMS.

Aplicações de página única (SPAs)

Trata-se de aplicações Web que são carregadas uma vez e depois vão buscar novos conteúdos dinamicamente sem recarregar a página inteira. A experiência do utilizador é mais rápida e mais semelhante a uma aplicação.

O Gmail funciona desta forma. Quando clica entre e-mails, a página não é recarregada - o JavaScript vai buscar o conteúdo do e-mail através de uma API. Pode criar a mesma experiência com o conteúdo do WordPress.

Sincronização de dados

Puxe dados do WordPress para outra plataforma ou envie dados de um serviço externo para o WordPress.

Já vi isto ser utilizado para sincronizar informações sobre produtos entre o WordPress e os sistemas de gestão de inventário. Ou para criar automaticamente posts no WordPress a partir de dados recolhidos num CRM.

A API REST torna estas integrações possíveis sem manipulação complexa da base de dados.

Quando não utilizar a API REST

Se estiver a gerir um blogue simples ou um sítio Web comercial, provavelmente não precisa de tocar diretamente na API REST. Um tema tradicional do WordPress trata de tudo perfeitamente bem.

Quando a velocidade de carregamento inicial da página é a sua prioridade absoluta, um tema renderizado no servidor será frequentemente mais rápido.

As configurações sem cabeça requerem JavaScript para buscar e renderizar o conteúdo, o que aumenta a latência. Para sites com muito conteúdo, em que cada milissegundo de tempo de carregamento é importante, a arquitetura tradicional do WordPress pode ser melhor.

Se um plug-in fiável e com bom suporte já resolver o seu problema de integração, utilize o plug-in. Não crie uma solução de API REST personalizada só porque pode.

Os plug-ins são mantidos, testados e actualizados. Uma integração personalizada é uma dívida técnica que terá de gerir.

A API REST é poderosa. Mas o poder sem objetivo cria uma complexidade desnecessária.

Como desativar a API REST do WordPress

Tenho de começar com um aviso: desativar completamente a API REST vai avariar o Block Editor. É provável que também quebre vários plugins. Se a desactivares completamente e depois te perguntares porque é que o Gutenberg deixou de funcionar, é por isto.

A melhor abordagem é a restrição, não a desativação. Você pode exigir autenticação para todos os pontos de extremidade da API. Isto mantém o Block Editor funcional para os utilizadores com sessão iniciada e bloqueia o acesso anónimo aos pontos finais públicos.

Se quiser mesmo desativar a API REST, recomendo a utilização de um plugin como o WPCode. Tem um snippet de código integrado que trata desta tarefa por si.

Desativar a API REST com WPCode

Selecione o fragmento de código e insira-o automaticamente no seu site. Active e actualize o snippet para guardar as suas alterações.

Trecho de inserção automática do WPCode

Como corrigir problemas comuns da API REST

Mesmo com a API REST activada e a funcionar, ocasionalmente, terá problemas. Aqui estão os problemas mais comuns que encontrei e como corrigi-los.

404 Não encontrado

Este é o erro que vejo com mais frequência. Tenta-se aceder a um ponto de extremidade da API e o WordPress devolve um 404 como se a página não existisse.

Nove em cada dez vezes, trata-se de um problema de permalinks. O WordPress utiliza regras .htaccess (em servidores Apache) para encaminhar corretamente os pedidos de API. Por vezes, essas regras são corrompidas ou não são geradas corretamente após uma migração ou mudança de servidor.

Vá a Definições " Permalinks no seu painel de controlo do WordPress. Não altere nada. Basta clicar em Salvar alterações. O WordPress gera novamente as regras de reescrita e a sua API começa a funcionar novamente.

Ligações permanentes do WordPress

Erros de autenticação 401 ou 403

Um 401 significa "não autorizado" - não forneceu credenciais. Um 403 significa "proibido" - forneceu credenciais, mas elas não têm permissão para esta ação.

Verifique se a sua palavra-passe de aplicação foi introduzida corretamente (sem espaços, nome de utilizador correto). Verifique se a conta de utilizador tem as capacidades adequadas para o que está a tentar fazer.

Conflitos de plugins ou temas

Às vezes, um plug-in ou tema mal codificado interfere na funcionalidade da API REST. Use o processo padrão de solução de problemas do WordPress: desative todos os plug-ins, mude para um tema padrão (como Twenty Twenty-Four) e teste a API.

Se funcionar, reactive os plug-ins um a um até encontrar o culpado. Em seguida, contacte o programador desse plug-in ou encontre uma alternativa.

Erros CORS

Estes aparecem na consola do seu navegador quando uma aplicação Web num domínio tenta aceder à API num domínio diferente. CORS (Cross-Origin Resource Sharing) é uma funcionalidade de segurança do browser. Por predefinição, bloqueia estes pedidos.

A correção requer a adição de cabeçalhos HTTP específicos no seu servidor WordPress que permitam explicitamente pedidos do domínio da sua aplicação. Normalmente, isto envolve a edição do seu ficheiro .htaccess ou a configuração de cabeçalhos no seu painel de controlo de alojamento.

Se estiver a ver erros CORS, está a trabalhar com uma configuração sem cabeça ou desacoplada e precisará de acesso ao nível do servidor para os resolver.

Perguntas mais frequentes (FAQs)

A API do WordPress é segura?

Sim, a API principal do WordPress é segura por design. Respeita o sistema de funções e capacidades do utilizador do WordPress, e os pontos de extremidade públicos apenas expõem dados que já estão visíveis publicamente no seu site.

Posso integrar a API no WordPress?

Sim, de duas formas: outras aplicações podem ligar-se à API REST do seu sítio WordPress para ler ou modificar conteúdos, ou pode utilizar o WordPress para se ligar a APIs de terceiros, como serviços meteorológicos ou processadores de pagamentos.

Como é que protejo a minha API REST do WordPress?

Utilize palavras-passe de aplicação para autenticação, imponha HTTPS no seu site e mantenha o núcleo, os temas e os plug-ins do WordPress actualizados. Considere adicionar um Web Application Firewall (WAF) para filtrar pedidos maliciosos.

Qual é a capacidade da API REST do WordPress?

A API fornece acesso programático a posts, páginas, utilizadores, taxonomias, media, comentários e definições. Plugins como o WooCommerce podem adicionar os seus próprios pontos de extremidade personalizados para funcionalidades adicionais.

O futuro está ligado

A API REST do WordPress transforma o WordPress de um sistema tradicional de gerenciamento de conteúdo em uma verdadeira estrutura de aplicativos. Já não se trata apenas de criar sítios Web - trata-se de disponibilizar o seu conteúdo onde quer que seja necessário.

Esta API é a ponte. Liga o WordPress a aplicações Web modernas, aplicações móveis e serviços de terceiros. Compreender o seu funcionamento ajuda-o a tomar melhores decisões sobre a arquitetura do seu site, a resolver problemas mais rapidamente e a comunicar de forma mais eficaz com os programadores.

Os dados do seu sítio WordPress são o motor de tudo, desde as páginas que os seus visitantes vêem até ao conteúdo que a sua API REST fornece a outras aplicações. A proteção desses dados não é negociável.

O Duplicator Pro oferece-lhe uma forma fiável de fazer cópias de segurança de toda a sua instalação WordPress. Antes de começar a fazer experiências com uma configuração sem cabeça ou de ligar uma nova aplicação, faça uma cópia de segurança completa. Com o Duplicator Pro, pode programar cópias de segurança automáticas e ficar tranquilo sabendo que o seu valioso conteúdo está seguro.

Já que está aqui, acho que vai gostar destes outros recursos WordPress escolhidos a dedo:

avatar do autor
Joella Dunn Redator de conteúdos
Joella é uma escritora com anos de experiência em WordPress. Na Duplicator, ela é especialista em manutenção de sites - desde backups básicos até migrações em grande escala. O seu objetivo final é garantir que o seu site WordPress está seguro e pronto para crescer.

Divulgação: O nosso conteúdo é apoiado pelos leitores. Isto significa que, se clicar em algumas das nossas hiperligações, podemos ganhar uma comissão. Apenas recomendamos produtos que acreditamos que acrescentam valor aos nossos leitores.