{"id":7147,"date":"2017-11-07T10:08:59","date_gmt":"2017-11-07T12:08:59","guid":{"rendered":"https:\/\/blog.hostinger.io\/br-tutoriais\/?p=7147"},"modified":"2025-12-18T12:01:11","modified_gmt":"2025-12-18T15:01:11","slug":"guia-iniciante-api-rest-wordpress","status":"publish","type":"post","link":"\/br\/tutoriais\/guia-iniciante-api-rest-wordpress\/","title":{"rendered":"Tutorial API REST WordPress: saiba como configurar e usar"},"content":{"rendered":"<p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2022\/12\/WordPress-Cheat-Sheet-BR.png\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-30402\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2022\/12\/WordPress-Cheat-Sheet-BR.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2022\/12\/WordPress-Cheat-Sheet-BR.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2022\/12\/WordPress-Cheat-Sheet-BR.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2022\/12\/WordPress-Cheat-Sheet-BR.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2022\/12\/WordPress-Cheat-Sheet-BR.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>\n\n\n\n\n\n\n<\/p><p class=\"wp-block-paragraph\"><\/p><p>\n\n\n<div class=\"protip\"><div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                   O Que &eacute; a API REST do WordPress?\n                <\/p>\n            <\/div>\n            <p class=\"protip__content\">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><\/div>\n\n\n\n<\/p><h3 class=\"wp-block-heading\"><strong>Como Funciona a API REST do WordPress<\/strong><\/h3><p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">Todos os dados recuperados ser&atilde;o exibidos no&nbsp;<a href=\"\/br\/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 class=\"wp-block-paragraph\">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=\"\/br\/hospedagem-wordpress\"><strong><span style=\"font-weight: 400\"><a href=\"\/br\/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:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2017\/11\/list-of-endpoints-in-wp-json-file.png\/public\" alt=\"lista de endpoints em api rest wordpress\" class=\"wp-image-44262\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2017\/11\/list-of-endpoints-in-wp-json-file.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2017\/11\/list-of-endpoints-in-wp-json-file.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2017\/11\/list-of-endpoints-in-wp-json-file.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2017\/11\/list-of-endpoints-in-wp-json-file.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p class=\"wp-block-paragraph\">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>\n\n\n        <div class=\"protip\">\n            <div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                    Dica                <\/p>\n            <\/div>\n            <p class=\"protip__content\">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\n<\/p><p class=\"wp-block-paragraph\">Em seguida, instale o&nbsp;<a href=\"\/br\/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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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=\"\/br\/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=\"\/br\/hospedagem-wordpress\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2024\/06\/BR-New-WP_in-text-banner.png\/public\" alt=\"\" class=\"wp-image-44638\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2024\/06\/BR-New-WP_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2024\/06\/BR-New-WP_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2024\/06\/BR-New-WP_in-text-banner.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2024\/06\/BR-New-WP_in-text-banner.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Vamos tentar acessar dados restritos para verificar se a autentica&ccedil;&atilde;o da API REST do WP funciona corretamente.<\/p><p class=\"wp-block-paragraph\">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\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"503\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2017\/11\/api-rest-wordpress.png\/w=1024,h=1024,fit=scale-down\" alt=\"recuperando posts n&atilde;o publicados com a api rest wordpress\" class=\"wp-image-44263\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2017\/11\/api-rest-wordpress.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2017\/11\/api-rest-wordpress.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2017\/11\/api-rest-wordpress.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2017\/11\/api-rest-wordpress.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/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 class=\"wp-block-paragraph\">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>\n\n\n<div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                <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.\n            <\/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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"420\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2017\/11\/api-rest-wordpress-1.png\/w=1024,h=1024,fit=scale-down\" alt=\"recuperando posts com a api rest wordpress\" class=\"wp-image-44264\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2017\/11\/api-rest-wordpress-1.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2017\/11\/api-rest-wordpress-1.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2017\/11\/api-rest-wordpress-1.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2017\/11\/api-rest-wordpress-1.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div><p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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=\"\/br\/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 class=\"wp-block-paragraph\">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>\n\n\n<div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                <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>.\n            <\/p><\/div>\n\n\n\n<\/p><p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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>\n\n\n    <div class=\"announcement-block announcement-block--warning\">\n        <span class=\"announcement-block__heading\">\n            <svg width=\"24\" height=\"26\" viewBox=\"0 0 24 26\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                d=\"M12 23.5C17.799 23.5 22.5 18.799 22.5 13C22.5 7.20101 17.799 2.5 12 2.5C6.20101 2.5 1.5 7.20101 1.5 13C1.5 18.799 6.20101 23.5 12 23.5ZM13.637 8.65198C13.637 7.74791 12.9041 7.01501 12 7.01501C11.0959 7.01501 10.363 7.74791 10.363 8.65198C10.5335 10.5375 10.875 14.383 10.875 14.383C10.875 15.0043 11.3787 15.508 12 15.508C12.6213 15.508 13.125 15.0043 13.125 14.383V14.38L13.637 8.65198ZM11.9927 16.714C11.3714 16.714 10.8677 17.2177 10.8677 17.839C10.8677 18.4603 11.3714 18.964 11.9927 18.964H12.0073C12.6286 18.964 13.1323 18.4603 13.1323 17.839C13.1323 17.2177 12.6286 16.714 12.0073 16.714H11.9927Z\"\n                fill=\"#BE1025\"\/>\n            <\/svg>\n            Warning        <\/span>\n        <p class=\"announcement-block__content\">\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    <\/div>\n\n    \n\n\n\n<\/p><h3 class=\"wp-block-heading\"><strong>4. Trabalhe com Endpoints Personalizados<\/strong><\/h3><p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"522\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2017\/11\/editando-functions-php.png\/w=1024,h=1024,fit=scale-down\" alt=\"editando arquivo functions.php no editor de temas do wordpress\" class=\"wp-image-44265\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2017\/11\/editando-functions-php.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2017\/11\/editando-functions-php.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2017\/11\/editando-functions-php.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/53\/2017\/11\/editando-functions-php.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div><p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">A&nbsp;<a href=\"\/br\/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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\"><strong>Configure a Autentica&ccedil;&atilde;o Adequada<\/strong><\/p><p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\"><strong>Limpe as Entradas<\/strong><\/p><p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\"><strong>Use Cache<\/strong><\/p><p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\"><strong>Minimize Solicita&ccedil;&otilde;es e C&oacute;digo<\/strong><\/p><p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\"><strong>Mantenha Todo o Software Atualizado<\/strong><\/p><p class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 class=\"wp-block-paragraph\">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 \"><strong>Quais S&atilde;o os Benef&iacute;cios de Usar a API REST do WordPress?<\/strong><\/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 \"><strong>Como Fa&ccedil;o Para Obter Dados da API REST do WordPress?<\/strong><\/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 \"><strong>H&aacute; Alguma Limita&ccedil;&atilde;o ao Trabalhar com a API REST do WordPress?<\/strong><\/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 \"><strong>Quem Deve Aprender a Usar a API REST do WordPress?<\/strong><\/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=\"\/br\/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":[4918,4798],"class_list":["post-7147","post","type-post","status-publish","format-standard","hentry","category-wordpress","tag-temas-wordpress","tag-wordpress"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/wordpress-rest-api\/","default":1},{"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":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/wordpress-rest-api-tutorial\/","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/wordpress-rest-api-tutorial\/","default":0},{"locale":"en-GB","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/wordpress-rest-api\/","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},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/guia-principiantes-la-api-rest-wordpress\/","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/guia-principiantes-la-api-rest-wordpress\/","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/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}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/posts\/7147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/users\/356"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/comments?post=7147"}],"version-history":[{"count":12,"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/posts\/7147\/revisions"}],"predecessor-version":[{"id":51868,"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/posts\/7147\/revisions\/51868"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/media?parent=7147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/categories?post=7147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/br\/tutoriais\/wp-json\/wp\/v2\/tags?post=7147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}