{"id":7147,"date":"2017-11-07T10:08:59","date_gmt":"2017-11-07T12:08:59","guid":{"rendered":"https:\/\/blog.hostinger.io\/pt-tutoriais\/?p=7147"},"modified":"2026-03-10T13:02:01","modified_gmt":"2026-03-10T16:02:01","slug":"guia-iniciante-api-rest-wordpress","status":"publish","type":"post","link":"\/pt\/tutoriais\/guia-iniciante-api-rest-wordpress","title":{"rendered":"Tutorial API REST WordPress: saiba como configurar e usar"},"content":{"rendered":"<p>A API REST do WordPress &eacute; uma interface que permite que o sistema de gerenciamento de conte&uacute;do (CMS) troque dados com servi&ccedil;os de terceiros. Ela permite que voc&ecirc; acesse o conte&uacute;do diretamente do banco de dados, resultando em uma integra&ccedil;&atilde;o perfeita.<\/p><p>Voc&ecirc; pode usar a API REST, por exemplo, para desenvolver um aplicativo personalizado que usa os dados ou a funcionalidade do WordPress. Por exemplo, voc&ecirc; pode configurar um&nbsp;<strong>WordPress headless<\/strong>&nbsp;para criar um site com base em uma estrutura moderna, como o React, sobre o painel de administra&ccedil;&atilde;o.<\/p><p>Neste tutorial sobre a API REST WordPress, explicaremos como essa ferramenta funciona e como us&aacute;-la. Voc&ecirc; tamb&eacute;m aprender&aacute; sobre seus usos mais comuns e as pr&aacute;ticas recomendadas para garantir um desenvolvimento eficiente. Vamos l&aacute;?<\/p><figure class=\"wp-block-image size-large\"><a href=\"https:\/\/assets.hostinger.com\/content\/tutorials\/pdf\/WordPress-Security-Checklist(pt-br).pdf\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" width=\"1024\" height=\"283\" src=\"https:\/\/blog.hostinger.io\/pt-tutoriais\/wp-content\/uploads\/sites\/26\/2022\/12\/WordPress-Cheat-Sheet-BR-1024x283.png\" alt=\"\" class=\"wp-image-30402\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2022\/12\/WordPress-Cheat-Sheet-BR.png 1024w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2022\/12\/WordPress-Cheat-Sheet-BR-300x83.png 300w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2022\/12\/WordPress-Cheat-Sheet-BR-150x41.png 150w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2022\/12\/WordPress-Cheat-Sheet-BR-768x212.png 768w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2022\/12\/WordPress-Cheat-Sheet-BR-1536x425.png 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>\n\n\n\n\n<\/p><p><\/p><p><div class=\"protip\">\n                    <h2 class=\"featured-snippet title\">O Que &eacute; a API REST do WordPress?<\/h2>\n                    <p>A API REST do WordPress &eacute; uma interface que permite integrar o CMS a outros aplicativos. Ela permite que voc&ecirc; desenvolva software ou sites que usam dados, funcionalidade e conte&uacute;do do WordPress sem precisar acess&aacute;-los diretamente.<\/p><p>A WordPress REST API funciona fornecendo endpoints que recuperam e manipulam o conte&uacute;do como dados JSON para garantir a compatibilidade, independentemente das linguagens de programa&ccedil;&atilde;o utilizadas.<\/p>\n                <\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading\"><strong>Como Funciona a API REST do WordPress<\/strong><\/h3><p>Uma interface de programa&ccedil;&atilde;o de aplicativos (API) fornece um conjunto de regras que permite a intera&ccedil;&atilde;o entre dois servi&ccedil;os da web. Enquanto isso, REST significa&nbsp;<em>Representational State Transfer<\/em>, um padr&atilde;o arquitet&ocirc;nico que define essas comunica&ccedil;&otilde;es.<\/p><p>Um aplicativo web que adere aos princ&iacute;pios REST &eacute; considerado RESTful. Por exemplo, ele deve usar uma interface uniforme, fornecendo um &uacute;nico ponto de acesso para permitir que outros aplicativos acessem seus dados.<\/p><p>Para trocar dados, a API REST envia ao banco de dados do WordPress uma&nbsp;<strong>solicita&ccedil;&atilde;o<\/strong>, que &eacute; um conjunto de instru&ccedil;&otilde;es especificando as informa&ccedil;&otilde;es de que seu aplicativo precisa. Em troca, ele envia uma resposta contendo o conte&uacute;do e a confirma&ccedil;&atilde;o de que o processo foi bem-sucedido.<\/p><p>Seu aplicativo ou cliente usa&nbsp;<strong>rotas&nbsp;<\/strong>para determinar quais dados devem ser recuperados. As rotas s&atilde;o URLs que localizam conte&uacute;do espec&iacute;fico por meio da API REST do WP, como publica&ccedil;&otilde;es ou metadados do WordPress. Por exemplo, a rota abaixo permite que voc&ecirc; acesse p&aacute;ginas:<\/p><pre class=\"wp-block-preformatted\">http:\/\/seudominio.com\/wp-json\/wp\/v2\/pages<\/pre><p>Essas rotas acessar&atilde;o as fun&ccedil;&otilde;es de<strong>&nbsp;endpoint&nbsp;<\/strong>na API REST do WP que manipulam os dados solicitados. Voc&ecirc; pode recuperar, adicionar, editar ou remover as informa&ccedil;&otilde;es, dependendo dos&nbsp;<strong>m&eacute;todos&nbsp;<\/strong>do<strong>&nbsp;<\/strong>protocolo HTTP:<\/p><ul class=\"wp-block-list\">\n<li><strong>GET&nbsp;<\/strong>&ndash; obt&eacute;m dados do servidor.<\/li>\n\n\n\n<li><strong>POST&nbsp;<\/strong>&ndash; insere novos dados no banco de dados.<\/li>\n\n\n\n<li><strong>PUT&nbsp;<\/strong>&ndash; modifica dados existentes.<\/li>\n\n\n\n<li><strong>DELETE&nbsp;<\/strong>&ndash; remove o conte&uacute;do do banco de dados.<\/li>\n<\/ul><p>Todos os dados recuperados ser&atilde;o exibidos no&nbsp;<a href=\"\/pt\/tutoriais\/o-que-e-json\"><strong>formato JSON<\/strong><\/a>, o que significa que voc&ecirc; deve analis&aacute;-los antes de pass&aacute;-los para outro c&oacute;digo.<\/p><h2 class=\"wp-block-heading\" id=\"h-como-configurar-seu-ambiente-para-a-api-rest-do-wordpress\"><strong>Como Configurar seu Ambiente Para a API REST do WordPress<\/strong><\/h2><p>A API REST &eacute; ativada por padr&atilde;o na instala&ccedil;&atilde;o do WordPress. Ap&oacute;s adquirir um plano de&nbsp;<a href=\"\/pt\/hospedagem-wordpress\"><strong><span style=\"font-weight: 400\"><a href=\"\/pt\/hospedagem-wordpress\" target=\"_blank\" rel=\"noopener\">hospedagem WordPress r&aacute;pida<\/a><\/span><\/strong><\/a>&nbsp;e configurar o CMS, acesse o link a seguir para verificar se a API REST est&aacute; ativada:<\/p><pre class=\"wp-block-preformatted\">http:\/\/seudominio.com\/wp-json\/<\/pre><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"307\" src=\"https:\/\/blog.hostinger.io\/br-tutoriais\/wp-content\/uploads\/sites\/53\/2017\/11\/list-of-endpoints-in-wp-json-file.png\" alt=\"lista de endpoints em api rest wordpress\" class=\"wp-image-44262\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2017\/11\/list-of-endpoints-in-wp-json-file.png 1024w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2017\/11\/list-of-endpoints-in-wp-json-file-300x90.png 300w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2017\/11\/list-of-endpoints-in-wp-json-file-150x45.png 150w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2017\/11\/list-of-endpoints-in-wp-json-file-768x230.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p>Lembre-se de substituir&nbsp;<strong>seudominio.com&nbsp;<\/strong>pelo endere&ccedil;o de seu pr&oacute;prio site. Se voc&ecirc; vir uma lista de endpoints, a API REST do WordPress est&aacute; ativa. Observe que esse recurso s&oacute; est&aacute; dispon&iacute;vel para o&nbsp;<strong>WordPress 4.7&nbsp;<\/strong>ou posterior.<\/p><p><div class=\"protip\">\n                    <h4 class=\"title\">Dica<\/h4>\n                    <p>Recomendamos configurar um ambiente de teste local para suas atividades de desenvolvimento do WordPress, para evitar configura&ccedil;&otilde;es incorretas ou erros indesejados que possam afetar a disponibilidade do site ou a experi&ecirc;ncia do usu&aacute;rio.<\/p>\n                <\/div>\n\n\n\n<\/p><p>Em seguida, instale o&nbsp;<a href=\"\/pt\/tutoriais\/comando-curl-linux\"><strong>utilit&aacute;rio cURL<\/strong><\/a>&nbsp;na interface de linha de comando (CLI) de sua m&aacute;quina local, como o Prompt de Comando ou o Terminal. Ele permite que voc&ecirc; envie e receba solicita&ccedil;&otilde;es do servidor WordPress para testes.<\/p><p>Depois, instale o manipulador da API REST&nbsp;<a href=\"https:\/\/github.com\/WP-API\/Basic-Auth\" target=\"_blank\" rel=\"noopener\"><strong>Basic Auth<\/strong><\/a>&nbsp;para configurar seu m&eacute;todo de verifica&ccedil;&atilde;o. Ele permite que voc&ecirc; acesse dados privados que exigem privil&eacute;gios administrativos.<\/p><p>Ap&oacute;s instalar o plugin, podemos come&ccedil;ar a enviar solicita&ccedil;&otilde;es HTTP por meio da API REST do WordPress. Para fazer isso, abra&nbsp;<a href=\"\/pt\/tutoriais\/como-instalar-e-usar-wp-cli-para-gerenciar-blog-wordpress\"><strong>o WP-CLI<\/strong><\/a>&nbsp;e conecte-se ao seu site via SSH. Os usu&aacute;rios da Hostinger podem encontrar essas credenciais acessando o&nbsp;<strong>hPanel&nbsp;<\/strong>&rarr;&nbsp;<strong>Gerenciamento de site&nbsp;<\/strong>&rarr;&nbsp;<strong>Avan&ccedil;ado&nbsp;<\/strong>&rarr;&nbsp;<strong>Acesso SSH<\/strong>.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"\/pt\/alojamento-wordpress\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/blog.hostinger.io\/pt-tutoriais\/wp-content\/uploads\/sites\/26\/2024\/06\/BR-New-WP_in-text-banner.png\" alt=\"\" class=\"wp-image-44638\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2024\/06\/BR-New-WP_in-text-banner.png 1024w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2024\/06\/BR-New-WP_in-text-banner-300x88.png 300w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2024\/06\/BR-New-WP_in-text-banner-150x44.png 150w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2024\/06\/BR-New-WP_in-text-banner-768x225.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div><p>Vamos tentar acessar dados restritos para verificar se a autentica&ccedil;&atilde;o da API REST do WP funciona corretamente.<\/p><p>Por exemplo, executaremos o seguinte prompt no sistema local para recuperar postagens n&atilde;o publicadas:<\/p><pre class=\"wp-block-preformatted\">curl -X GET --user nomedeusuario:senha -i&nbsp;http:\/\/seudominio.com\/wp-json\/wp\/v2\/posts?status=draft<\/pre><div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"503\" src=\"https:\/\/blog.hostinger.io\/br-tutoriais\/wp-content\/uploads\/sites\/53\/2017\/11\/api-rest-wordpress-1024x503.png\" alt=\"recuperando posts n&atilde;o publicados com a api rest wordpress\" class=\"wp-image-44263\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2017\/11\/api-rest-wordpress.png 1024w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2017\/11\/api-rest-wordpress-300x147.png 300w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2017\/11\/api-rest-wordpress-150x74.png 150w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2017\/11\/api-rest-wordpress-768x377.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div><h2 class=\"wp-block-heading\" id=\"h-como-usar-a-api-rest-do-wordpress\"><strong>Como Usar a API REST do WordPress<\/strong><\/h2><p>Depois de configurar seu ambiente de hospedagem e teste, podemos come&ccedil;ar a usar a REST API do WordPress. Aqui est&atilde;o alguns de seus cen&aacute;rios de uso mais comuns:<\/p><p><div><p class=\"important\"><strong>Importante! <\/strong>Antes de continuar, verifique se voc&ecirc; entende os m&eacute;todos de chamada da API e o formato JSON para interpretar os dados brutos com mais rapidez.<\/p><\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading\"><strong>1. Obtenha Dados com Solicita&ccedil;&otilde;es GET<\/strong><\/h3><p>Use o m&eacute;todo GET para recuperar dados do seu site WordPress por meio da API REST JSON. Por exemplo, vamos buscar conte&uacute;do do endpoint de&nbsp;<strong>posts<\/strong>:<\/p><pre class=\"wp-block-preformatted\">GET&nbsp;http:\/\/seudominio.com\/wp-json\/wp\/v2\/posts\/<\/pre><p>Essa solicita&ccedil;&atilde;o de API imprimir&aacute; todos os posts do seu site WordPress, incluindo detalhes como ID, conte&uacute;do e t&iacute;tulo. Se voc&ecirc; execut&aacute;-la usando o cURL, a sa&iacute;da dever&aacute; ter a apar&ecirc;ncia mostrada abaixo.<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"420\" src=\"https:\/\/blog.hostinger.io\/br-tutoriais\/wp-content\/uploads\/sites\/53\/2017\/11\/api-rest-wordpress-1-1024x420.png\" alt=\"recuperando posts com a api rest wordpress\" class=\"wp-image-44264\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2017\/11\/api-rest-wordpress-1.png 1024w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2017\/11\/api-rest-wordpress-1-300x123.png 300w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2017\/11\/api-rest-wordpress-1-150x62.png 150w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2017\/11\/api-rest-wordpress-1-768x315.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div><p>Voc&ecirc; tamb&eacute;m pode buscar p&aacute;ginas usando o endpoint correspondente:<\/p><pre class=\"wp-block-preformatted\">GET&nbsp;http:\/\/seudominio.com\/wp-json\/wp\/v2\/pages\/<\/pre><p>O resultado &eacute; semelhante, mas o comando recuperar&aacute; todas as&nbsp;<strong>p&aacute;ginas&nbsp;<\/strong>em vez dos&nbsp;<strong>posts<\/strong>. Voc&ecirc; tamb&eacute;m pode consultar o&nbsp;<a href=\"\/pt\/tutoriais\/como-criar-custom-post-types-wordpress\"><strong>tipo de post personalizado<\/strong><\/a>&nbsp;especificando seu nome no endpoint:<\/p><pre class=\"wp-block-preformatted\">GET&nbsp;http:\/\/seudominio.com\/wp-json\/wp\/v2\/custom-post-type\/<\/pre><p>Por exemplo, use o prompt a seguir para recuperar posts personalizados de<strong>&nbsp;p&aacute;ginas de produtos<\/strong>:<\/p><pre class=\"wp-block-preformatted\">GET&nbsp;http:\/\/seudominio.com\/wp-json\/wp\/v2\/product-page<\/pre><p><div><p class=\"important\"><strong>Importante! <\/strong>Lembre-se de usar o cURL para testar as solicita&ccedil;&otilde;es da API REST via WP-CLI. Para o c&oacute;digo real do aplicativo, use fun&ccedil;&otilde;es ou bibliotecas como&nbsp;<a href=\"https:\/\/developer.mozilla.org\/pt-BR\/docs\/Web\/API\/fetch\" target=\"_blank\" rel=\"noopener\">a Fetch do JavaScript<\/a>.<\/p><\/div>\n\n\n\n<\/p><p>Voc&ecirc; pode usar um par&acirc;metro de consulta para modificar a sa&iacute;da, como paginar ou classificar os dados. Por exemplo, use o seguinte endpoint para reordenar as postagens com base na data de cria&ccedil;&atilde;o em ordem crescente:<\/p><pre class=\"wp-block-preformatted\">\/wp-json\/wp\/v2\/posts?orderby=date&amp;order=desc<\/pre><p>Voc&ecirc; tamb&eacute;m pode usar os par&acirc;metros de consulta&nbsp;<strong>page&nbsp;<\/strong>e&nbsp;<strong>per_page&nbsp;<\/strong>para recuperar um n&uacute;mero espec&iacute;fico de posts de uma determinada p&aacute;gina. Aqui est&aacute; um exemplo:<\/p><pre class=\"wp-block-preformatted\">\/wp-json\/wp\/v2\/posts?page=2&amp;per_page=10<\/pre><p>Usando o endpoint, o m&eacute;todo GET agrupar&aacute; as postagens em v&aacute;rias p&aacute;ginas, cada uma contendo 10 entradas, e buscar&aacute; a segunda.<\/p><p>O WordPress fornece v&aacute;rios outros par&acirc;metros de consulta para filtrar dados com base em crit&eacute;rios espec&iacute;ficos. Para saber mais sobre eles, leia a documenta&ccedil;&atilde;o sobre as&nbsp;<a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\/posts\/\" target=\"_blank\" rel=\"noopener\"><strong>refer&ecirc;ncias da API REST para posts<\/strong><\/a>.<\/p><h3 class=\"wp-block-heading\"><strong>2. Crie Conte&uacute;do com Solicita&ccedil;&otilde;es POST<\/strong><\/h3><p>O m&eacute;todo POST permite que voc&ecirc; adicione novo conte&uacute;do ao banco de dados do WordPress usando um endpoint espec&iacute;fico. Por exemplo, use o prompt a seguir para criar uma postagem em branco:<\/p><pre class=\"wp-block-preformatted\">POST&nbsp;http:\/\/seudominio.com\/wp-json\/wp\/v2\/posts\/<\/pre><p>Voc&ecirc; tamb&eacute;m pode criar novas p&aacute;ginas ou entradas de postagem personalizadas usando seus respectivos endpoints da API REST do WordPress da seguinte forma:<\/p><pre class=\"wp-block-preformatted\">POST&nbsp;http:\/\/seudominio.com\/wp-json\/wp\/v2\/pages\/<br>POST&nbsp;http:\/\/seudominio.com\/wp-json\/wp\/v2\/custom-post-types\/<\/pre><p>Para criar uma entrada adequada com um&nbsp;<strong>t&iacute;tulo<\/strong>,&nbsp;<strong>status de publica&ccedil;&atilde;o&nbsp;<\/strong>e&nbsp;<strong>conte&uacute;do<\/strong>, especifique esses detalhes no c&oacute;digo do aplicativo.<\/p><p>Al&eacute;m disso, a solicita&ccedil;&atilde;o POST da API REST do WordPress geralmente requer privil&eacute;gios administrativos. Se voc&ecirc; estiver usando m&eacute;todos de autentica&ccedil;&atilde;o como a autentica&ccedil;&atilde;o aberta (OAuth), certifique-se de adicionar o token de verifica&ccedil;&atilde;o.<\/p><p>Voc&ecirc; tamb&eacute;m deve adicionar valida&ccedil;&atilde;o de resposta, permitindo que seu aplicativo confirme se a solicita&ccedil;&atilde;o de API POST foi bem-sucedida.<\/p><h3 class=\"wp-block-heading\"><strong>3. Atualize e Exclua Conte&uacute;do<\/strong><\/h3><p>O m&eacute;todo PUT da API REST permite que voc&ecirc; modifique um post, uma p&aacute;gina ou uma entrada de post personalizada espec&iacute;fica usando seu ID. Por exemplo, voc&ecirc; pode inserir novo conte&uacute;do ou alterar o status de publica&ccedil;&atilde;o.<\/p><p>A sintaxe &eacute; semelhante a outros m&eacute;todos de chamada de API, mas com o ID do post no final da rota:<\/p><pre class=\"wp-block-preformatted\">PUT&nbsp;http:\/\/seudominio.com\/wp-json\/wp\/v2\/posts\/ID<\/pre><p>Em seguida, especifique os dados que voc&ecirc; deseja modificar. Por exemplo, para inserir novo conte&uacute;do, adicione a seguinte linha:<\/p><pre class=\"wp-block-preformatted\">{<br>\"content\" = \"publish\"<br>}<\/pre><p>Voc&ecirc; tamb&eacute;m pode excluir posts, p&aacute;ginas ou entradas de posts personalizados com o ID deles, como no exemplo abaixo:<\/p><pre class=\"wp-block-preformatted\">DELETE&nbsp;http:\/\/seudominio.com\/wp-json\/wp\/v2\/posts\/ID<\/pre><p>Por padr&atilde;o, o m&eacute;todo DELETE move os dados para a lixeira, permitindo que voc&ecirc; os recupere posteriormente, se necess&aacute;rio. Para exclus&atilde;o permanente, adicione o par&acirc;metro&nbsp;<strong>force,&nbsp;<\/strong>da<strong>&nbsp;<\/strong>seguinte forma:<\/p><pre class=\"wp-block-preformatted\">DELETE&nbsp;http:\/\/seudominio.com\/wp-json\/wp\/v2\/posts\/567?force=true<\/pre><p>    <p class=\"warning\">\n        <strong>Aten&ccedil;&atilde;o!<\/strong> Recomendamos evitar o argumento&nbsp;<strong>force<\/strong>&nbsp;se poss&iacute;vel, pois ele pode causar perda acidental de dados.    <\/p>\n    \n\n\n\n<\/p><h3 class=\"wp-block-heading\"><strong>4. Trabalhe com Endpoints Personalizados<\/strong><\/h3><p>A API REST do WordPress fornece v&aacute;rios endpoints padr&atilde;o com funcionalidades predefinidas. No entanto, eles podem ser insuficientes se seu aplicativo precisar de dados espec&iacute;ficos.<\/p><p>Embora voc&ecirc; possa personalizar as sa&iacute;das dos endpoints padr&atilde;o usando filtros ou par&acirc;metros de consulta, este processo pode ser ineficaz devido &agrave; quantidade de c&oacute;digo que voc&ecirc; precisar&aacute; adicionar. Al&eacute;m disso, pode ser dif&iacute;cil obter conte&uacute;do extra, como envios de formul&aacute;rios.<\/p><p>Para simplificar o acesso aos dados para necessidades espec&iacute;ficas, crie endpoints personalizados no WordPress. Voc&ecirc; pode fazer isso modificando o arquivo&nbsp;<strong>functions.php<\/strong>&nbsp;do seu tema por meio do&nbsp;<strong>editor de arquivos do tema&nbsp;<\/strong>ou criando um plugin personalizado para WordPress.<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"522\" src=\"https:\/\/blog.hostinger.io\/br-tutoriais\/wp-content\/uploads\/sites\/53\/2017\/11\/editando-functions-php-1024x522.png\" alt=\"editando arquivo functions.php no editor de temas do wordpress\" class=\"wp-image-44265\" srcset=\"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2017\/11\/editando-functions-php.png 1024w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2017\/11\/editando-functions-php-300x153.png 300w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2017\/11\/editando-functions-php-150x76.png 150w, https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-content\/uploads\/sites\/26\/2017\/11\/editando-functions-php-768x392.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div><p>Adicione o seguinte trecho de c&oacute;digo para registrar um endpoint personalizado, incluindo sua rota, fun&ccedil;&atilde;o de retorno de chamada e m&eacute;todo de consulta:<\/p><pre class=\"wp-block-preformatted\">add_action( 'rest_api_init', function () {<br>    register_rest_route( 'your_namespace\/v1', '\/your_endpoint\/', array(<br>        'methods' =&gt; 'GET',<br>        'callback' =&gt; 'your_endpoint_callback',<br>    ) );<br>} );<\/pre><p>Em seguida, especifique a fun&ccedil;&atilde;o de retorno de chamada a ser acionada quando o ponto de extremidade for acessado. Ela tratar&aacute; da manipula&ccedil;&atilde;o de dados e retornar&aacute; a resposta solicitada.<\/p><pre class=\"wp-block-preformatted\">function your_endpoint_callback( $data ) {<br>    \/\/ Sua l&oacute;gica para lidar com a solicita&ccedil;&atilde;o como retornar uma resposta JSON<br>    return array( 'message' =&gt; 'Seu endpoint personalizado funciona!' );<br>}<\/pre><p>Por exemplo, digamos que seu site WordPress tem formul&aacute;rios cujos envios s&atilde;o registrados como posts personalizados. Voc&ecirc; pode criar um endpoint personalizado que permita recuperar as entradas adicionando o seguinte trecho de c&oacute;digo:<\/p><pre class=\"wp-block-preformatted\">add_action( 'rest_api_init', function () {<br>    register_rest_route( 'custom\/v1', '\/form-submissions', array(<br>        'methods' =&gt; 'GET',<br>        'callback' =&gt; 'get_form_submissions',<br>    ) );<br>} );<br><br>function get_form_submissions() {<br>    $args = array(<br>        'post_type'      =&gt; 'form_submission',<br>        'posts_per_page' =&gt; -1,<br>    );<br><br>    $form_submissions = get_posts( $args );<br><br>    $response = array();<br>    foreach ( $form_submissions as $submission ) {<br>        $response[] = array(<br>            'id'         =&gt; $submission-&gt;ID,<br>            'title'      =&gt; $submission-&gt;post_title,<br>            'content'    =&gt; $submission-&gt;post_content,<br>            'author'     =&gt; $submission-&gt;post_author,<br>            'created_at' =&gt; $submission-&gt;post_date,<br>            \/\/ Adicione mais campos conforme necess&aacute;rio<br>        );<br>    }<br><br>    return $response;<br>}<\/pre><p>A&nbsp;<a href=\"\/pt\/tutoriais\/get_posts\"><strong>fun&ccedil;&atilde;o get_posts<\/strong><\/a>&nbsp;repete os envios, que voc&ecirc; pode acessar usando o m&eacute;todo GET:<\/p><pre class=\"wp-block-preformatted\">GET&nbsp;http:\/\/seudominio.com\/wp-json\/custom\/v1\/form-submissions<\/pre><h3 class=\"wp-block-heading\"><strong>5. Selecione sua Autentica&ccedil;&atilde;o<\/strong><\/h3><p>A autentica&ccedil;&atilde;o da API REST do WordPress garante a transmiss&atilde;o segura de dados com clientes v&aacute;lidos. Os usu&aacute;rios podem implementar v&aacute;rios mecanismos de autentica&ccedil;&atilde;o, dependendo dos requisitos de seus aplicativos.<\/p><p>O WordPress usa a&nbsp;<strong>autentica&ccedil;&atilde;o de cookies&nbsp;<\/strong>por padr&atilde;o. Ele atribui aos usu&aacute;rios conectados cookies de autentica&ccedil;&atilde;o, que ser&atilde;o inclu&iacute;dos no cabe&ccedil;alho da solicita&ccedil;&atilde;o para chamadas de API subsequentes. Esse m&eacute;todo &eacute; simples, mas inadequado para servi&ccedil;os de terceiros que exigem autentica&ccedil;&atilde;o fora do WordPress.<\/p><p>Outro m&eacute;todo &eacute; o OAuth, que usa um token de autentica&ccedil;&atilde;o para validar solicita&ccedil;&otilde;es de seu servi&ccedil;o da web. Por n&atilde;o usar credenciais de usu&aacute;rio, ele oferece maior flexibilidade e confiabilidade. No entanto, o processo de configura&ccedil;&atilde;o pode ser mais complicado.<\/p><p>Para configurar o OAuth, use o plugin oficial&nbsp;<a href=\"https:\/\/github.com\/WP-API\" target=\"_blank\" rel=\"noopener\"><strong>da API REST no reposit&oacute;rio do GitHub<\/strong><\/a>. Al&eacute;m disso, recomendamos o OAuth 2.0, pois ele &eacute; mais simples de implementar, mais escal&aacute;vel e usa uma arquitetura mais moderna do que a vers&atilde;o 1.0.<\/p><h2 class=\"wp-block-heading\" id=\"h-exemplos-da-api-rest-do-wordpress\"><strong>Exemplos da API REST do WordPress<\/strong><\/h2><p>A API REST &eacute; &uacute;til para v&aacute;rias tarefas e aplicativos de desenvolvimento web. Por exemplo, voc&ecirc; pode recuperar posts do CMS e exibi-los em outros sites para distribui&ccedil;&atilde;o de conte&uacute;do.<\/p><p>Outro caso de uso &eacute; permitir o envio de dados de um site est&aacute;tico existente para o back-end do WordPress. Isso simplifica o processo de desenvolvimento, pois voc&ecirc; pode aproveitar os recursos do CMS para armazenar os dados em vez de configurar um banco de dados manualmente.<\/p><p>A integra&ccedil;&atilde;o da API do WordPress tamb&eacute;m permite que voc&ecirc; atualize automaticamente o conte&uacute;do do seu site. Por exemplo, voc&ecirc; pode enviar publica&ccedil;&otilde;es do Apple News para o seu site usando o m&eacute;todo PUT sem fazer login.<\/p><p>Um caso de uso mais avan&ccedil;ado da API REST &eacute; a cria&ccedil;&atilde;o de um CMS headless. Por exemplo, voc&ecirc; pode criar aplicativos m&oacute;veis de not&iacute;cias que usam o painel do WordPress para gerenciamento de conte&uacute;do.<\/p><p>As aplica&ccedil;&otilde;es da API incluem a obten&ccedil;&atilde;o de dados espec&iacute;ficos de postagens no banco de dados para o editor de blocos. Outro exemplo &eacute; a exibi&ccedil;&atilde;o do Google Maps em sites do WordPress usando plugins.<\/p><h2 class=\"wp-block-heading\" id=\"h-praticas-recomendadas-para-usar-a-api-rest-do-wordpress\"><strong>Pr&aacute;ticas Recomendadas Para Usar a API REST do WordPress<\/strong><\/h2><p>Para usar com efici&ecirc;ncia a API REST do WordPress em suas tarefas de desenvolvimento e integra&ccedil;&atilde;o, considere as pr&aacute;ticas recomendadas a seguir.<\/p><p><strong>Configure a Autentica&ccedil;&atilde;o Adequada<\/strong><\/p><p>Configurar a autentica&ccedil;&atilde;o adequada aumenta a seguran&ccedil;a da API REST WordPress, garantindo que somente usu&aacute;rios ou aplicativos autorizados possam acessar dados confidenciais.<\/p><p>Isso ajuda a minimizar as vulnerabilidades de seguran&ccedil;a, evitando o acesso n&atilde;o autorizado e as viola&ccedil;&otilde;es de dados. Para escolher o melhor m&eacute;todo, considere a escalabilidade, a facilidade de implementa&ccedil;&atilde;o e seus requisitos.<\/p><p><strong>Limpe as Entradas<\/strong><\/p><p>A limpeza das entradas na API REST do WordPress &eacute; importante, especialmente quando se trabalha com dados p&uacute;blicos que todos os usu&aacute;rios podem acessar. Isso envolve a valida&ccedil;&atilde;o e a limpeza da entrada de fontes externas para evitar que c&oacute;digos mal-intencionados se infiltrem no CMS.<\/p><p>Ele tamb&eacute;m ajuda a proteger seu WordPress contra vulnerabilidades de seguran&ccedil;a, como inje&ccedil;&atilde;o de SQL e XSS.<\/p><p>O WordPress fornece fun&ccedil;&otilde;es internas para sanitizar dados de entrada, como&nbsp;<strong>sanitize_text_field()<\/strong>,&nbsp;<strong>sanitize_email()<\/strong>, para e-mail,<strong>&nbsp;<\/strong>e&nbsp;<strong>sanitize_url()<\/strong>. Adicione-as ao c&oacute;digo do seu aplicativo para aqueles que receber&atilde;o e analisar&atilde;o o conte&uacute;do recuperado.<\/p><p><strong>Use Cache<\/strong><\/p><p>O armazenamento em cache ajuda a otimizar o desempenho e a escalabilidade do seu site WordPress. Ele reduz a carga do servidor e melhora os tempos de resposta ao armazenar dados acessados com frequ&ecirc;ncia na mem&oacute;ria, permitindo que os clientes e a API recuperem os dados mais rapidamente.<\/p><p>Minimizar a carga do servidor tamb&eacute;m ajuda a manter o tempo de atividade da API do WordPress durante picos de tr&aacute;fego. Se muitos clientes enviarem solicita&ccedil;&otilde;es simultaneamente, o banco de dados poder&aacute; n&atilde;o ser capaz de lidar com elas, causando tempo de inatividade.<\/p><p>H&aacute; v&aacute;rias solu&ccedil;&otilde;es e plugins de cache para WordPress, incluindo o&nbsp; <a href=\"https:\/\/br.wordpress.org\/plugins\/litespeed-cache\/\" target=\"_blank\" rel=\"noopener\"><strong>LiteSpeed Caching<\/strong><\/a>&nbsp;e o&nbsp;<strong>W3 Total Cache<\/strong>.<\/p><p><strong>Minimize Solicita&ccedil;&otilde;es e C&oacute;digo<\/strong><\/p><p>Para melhorar o desempenho do aplicativo e do WordPress, use o menor n&uacute;mero poss&iacute;vel de chamadas de API. Voc&ecirc; tamb&eacute;m pode agrupar solicita&ccedil;&otilde;es relacionadas a uma tarefa espec&iacute;fica e envi&aacute;-las simultaneamente, minimizando a comunica&ccedil;&atilde;o de ida e volta.<\/p><p>Al&eacute;m disso, evite opera&ccedil;&otilde;es redundantes para manter seu c&oacute;digo eficiente e curto. Al&eacute;m de minimizar o uso de recursos, isso ajuda a melhorar a capacidade de manuten&ccedil;&atilde;o e o dimensionamento.<\/p><p><strong>Mantenha Todo o Software Atualizado<\/strong><\/p><p>Certifique-se de atualizar regularmente os arquivos principais do WordPress, os plugins, os temas e qualquer outro software que voc&ecirc; use em seu site para manter tudo funcionando sem problemas. Isso garantir&aacute; que voc&ecirc; obtenha os recursos mais recentes, permitindo que os servi&ccedil;os da web se integrem perfeitamente.<\/p><p>Al&eacute;m disso, com o uso das vers&otilde;es mais recentes voc&ecirc; tem certeza que estar&aacute; com os patches de seguran&ccedil;a e as corre&ccedil;&otilde;es de bugs mais recentes, para manter a usabilidade e a prote&ccedil;&atilde;o. Recomendamos tamb&eacute;m que voc&ecirc; assine newsletters e blogs sobre o WordPress para ficar em dia sobre as atualiza&ccedil;&otilde;es mais recentes.<\/p><h2 class=\"wp-block-heading\" id=\"h-conclusao\"><strong>Conclus&atilde;o<\/strong><\/h2><p>A API REST do WordPress &eacute; um recurso que permite que seu CMS interaja perfeitamente com servi&ccedil;os da web de terceiros. Ela &eacute; comumente usada para desenvolver aplicativos com conte&uacute;do do WordPress ou criar um CMS headless.<\/p><p>A API REST est&aacute; ativada por padr&atilde;o no n&uacute;cleo do WordPress, que voc&ecirc; pode testar enviando uma solicita&ccedil;&atilde;o usando o cURL via WP-CLI. Para isso, especifique o m&eacute;todo HTTP e a rota para acessar um endpoint que atua como uma fun&ccedil;&atilde;o que modificar&aacute; os dados.<\/p><p>Use o m&eacute;todo GET para buscar dados, como uma publica&ccedil;&atilde;o do WordPress, em seu aplicativo. Ou ent&atilde;o use o comando POST para enviar conte&uacute;do, PUT para modificar uma entrada existente e DELETE para remover um elemento.<\/p><p>Ao usar a API, certifique-se de usar a autentica&ccedil;&atilde;o adequada, como OAuth ou Basic Auth. Al&eacute;m disso, mantenha seu c&oacute;digo limpo e conciso e aproveite o armazenamento em cache para manter o desempenho da API REST do WordPress mesmo em momentos de carga mais alta.<\/p><h2 class=\"wp-block-heading\" id=\"h-perguntas-frequentes-sobre-a-api-rest-do-wordpress\"><strong>Perguntas Frequentes Sobre a API REST do WordPress<\/strong><\/h2><p>Esta se&ccedil;&atilde;o abordar&aacute; algumas perguntas frequentes sobre a API REST do WordPress para ajudar voc&ecirc; a entender melhor o assunto.<\/p><div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-69441737b6d03\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Quais S&atilde;o os Benef&iacute;cios de Usar a API REST do WordPress?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>A API REST JSON permite que voc&ecirc; integre o WordPress a outros servi&ccedil;os da web. Ela permite o acesso direto aos dados e recursos do CMS sem que os usu&aacute;rios tenham que interagir diretamente com o painel.&nbsp;<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-69441737b6d06\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Como Fa&ccedil;o Para Obter Dados da API REST do WordPress?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Para recuperar dados da API REST do WordPress, escreva um c&oacute;digo que envie uma solicita&ccedil;&atilde;o HTTP para um endpoint usando o m&eacute;todo GET. Voc&ecirc; pode usar ferramentas compat&iacute;veis com HTTP, como o Fetch do JavaScript ou o cURL no WP-CLI. Em seguida, analise os dados JSON de acordo com a linguagem de programa&ccedil;&atilde;o de seu aplicativo.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-69441737b6d07\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">H&aacute; Alguma Limita&ccedil;&atilde;o ao Trabalhar com a API REST do WordPress?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Sim. O n&uacute;mero m&aacute;ximo de posts por p&aacute;gina que voc&ecirc; pode recuperar por meio da API REST &eacute; 100. Al&eacute;m disso, a obten&ccedil;&atilde;o de conte&uacute;do por meio da API exige mais poder de computa&ccedil;&atilde;o do que uma consulta direta ao banco de dados, o que pode levar a problemas de desempenho.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-69441737b6d08\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Quem Deve Aprender a Usar a API REST do WordPress?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>&Eacute; importante dominar a API REST se voc&ecirc; &eacute; desenvolvedor do WordPress (ou aspirante) e deseja criar um aplicativo ou servi&ccedil;o da web aproveitando a funcionalidade do CMS. Ter este conhecimento tamb&eacute;m &eacute; essencial para usu&aacute;rios que desejam desenvolver um CMS headless ou migrar seu conte&uacute;do para outra plataforma.&nbsp;<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>A API REST do WordPress &eacute; uma interface que permite que o sistema de gerenciamento de conte&uacute;do (CMS) troque dados com servi&ccedil;os de terceiros. Ela permite que voc&ecirc; acesse o conte&uacute;do diretamente do banco de dados, resultando em uma integra&ccedil;&atilde;o perfeita. Voc&ecirc; pode usar a API REST, por exemplo, para desenvolver um aplicativo personalizado que [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/pt\/tutoriais\/guia-iniciante-api-rest-wordpress\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":356,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"Tutorial API REST WordPress: Saiba Como Configurar e Usar","rank_math_description":"Descubra como configurar e usar a API REST do WordPress para integrar dados com servi\u00e7os de terceiros e criar aplica\u00e7\u00f5es personalizadas.","rank_math_focus_keyword":"API REST WordPress","footnotes":""},"categories":[4911],"tags":[4798],"class_list":["post-7147","post","type-post","status-publish","format-standard","hentry","category-wordpress","tag-wordpress"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/wordpress-rest-api","default":0},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/guia-iniciante-api-rest-wordpress","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/api-rest-wordpress","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/guia-para-principiantes-api-rest-wordpress","default":0},{"locale":"de-DE","link":"https:\/\/www.hostinger.com\/de\/tutorials\/wordpress-rest-api-leitfaden","default":0},{"locale":"nl-NL","link":"https:\/\/www.hostinger.com\/nl\/tutorials\/wordpress-rest-api","default":0},{"locale":"ja-JP","link":"https:\/\/www.hostinger.com\/jp\/tutorials\/wordpress-rest-api","default":0},{"locale":"en-UK","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/wordpress-rest-api","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/wordpress-rest-api","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/wordpress-rest-api","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/guia-para-principiantes-api-rest-wordpress\/","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/guia-para-principiantes-api-rest-wordpress\/","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/guia-principiantes-la-api-rest-wordpress","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/guia-iniciante-api-rest-wordpress","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/wordpress-rest-api","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/wordpress-rest-api","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/wordpress-rest-api","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/wordpress-rest-api","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/7147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/users\/356"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/comments?post=7147"}],"version-history":[{"count":12,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/7147\/revisions"}],"predecessor-version":[{"id":49476,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/posts\/7147\/revisions\/49476"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/media?parent=7147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/categories?post=7147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/pt\/tutoriais\/wp-json\/wp\/v2\/tags?post=7147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}