[Novo] As cópias de segurança na nuvem ficaram mais simples - Duplicator Cloud elimina o armazenamento de terceiros
[Novo] As cópias de segurança na nuvem ficaram mais simples - Duplicator Cloud elimina o armazenamento de terceiros
John Turner
John Turner
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 é 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.
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.
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:
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.
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.
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.
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.
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 HTTP | Ação | Exemplo |
| OBTER | Recuperar dados do servidor | Obter uma lista de todos os posts publicados |
| POST | Criar novos dados | Adicionar um novo post ou página de blogue |
| PUT / PATCH | Atualizar dados existentes | Editar o título de uma publicação existente |
| APAGAR | Remover dados | Eliminar 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.
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.

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
Agora que já sabe o que é a API REST e como funciona, vamos analisar cenários práticos em que faz sentido utilizá-la.
É 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.
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.
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.
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.
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.
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.

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

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.
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.

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.
À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.
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.
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.
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.
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.
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.
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:
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.