{"id":53954,"date":"2022-10-20T14:06:02","date_gmt":"2022-10-20T21:06:02","guid":{"rendered":"https:\/\/dhblog.dream.press\/blog\/?p=53954"},"modified":"2025-05-26T12:59:21","modified_gmt":"2025-05-26T19:59:21","slug":"tutorial-sobre-wp-rest-api","status":"publish","type":"post","link":"https:\/\/www-dev.dreamhost.com\/blog\/pt\/tutorial-sobre-wp-rest-api\/","title":{"rendered":"Uma Introdu\u00e7\u00e3o \u00e0 API REST do WordPress"},"content":{"rendered":"\n<p>Quando a REST API foi finalmente <a href=\"https:\/\/make.wordpress.org\/core\/2015\/10\/28\/rest-api-welcome-the-infrastructure-to-core\/\" target=\"_blank\" rel=\"noopener\">adicionada ao n\u00facleo do WordPress<\/a>, foi o fim de uma longa jornada. Muitos anteciparam essa mudan\u00e7a como o maior avan\u00e7o para o WordPress na hist\u00f3ria da plataforma. No entanto, se voc\u00ea n\u00e3o est\u00e1 familiarizado com a REST API, pode estar confuso sobre o que tudo isso significa.<\/p>\n\n\n\n<p>Em resumo, a adi\u00e7\u00e3o da <a href=\"http:\/\/v2.wp-api.org\/\" target=\"_blank\" rel=\"noopener\">API REST do WordPress<\/a> transformou o WordPress em uma estrutura de aplica\u00e7\u00e3o totalmente caracterizada. Isso aumentou significativamente sua &#8216;extensibilidade&#8217;, ou sua capacidade de ser expandido com novas funcionalidades e capacidades. Al\u00e9m disso, expandiu o potencial da plataforma para se comunicar com outros sites e aplica\u00e7\u00f5es.<\/p>\n\n\n\n<h2 id=\"h-an-introduction-to-rest-apis\" class=\"wp-block-heading\"><b>Introdu\u00e7\u00e3o \u00e0s APIs REST<\/b><\/h2>\n\n\n\n<p>Antes de aprofundarmos na API REST do WordPress, \u00e9 importante esclarecer nossa terminologia. Este \u00e9 um assunto onde precisaremos usar muitas siglas, ent\u00e3o vamos esclarecer essas primeiro.<\/p>\n\n\n\n<p>Primeiramente, voc\u00ea precisar\u00e1 saber o que s\u00e3o <a href=\"https:\/\/help.dreamhost.com\/hc\/en-us\/articles\/217560167\" target=\"_blank\" rel=\"noopener\">Application Programming Interfaces (APIs)<\/a>. Em termos simples, uma API \u00e9 um meio pelo qual um sistema permite que outros sistemas se conectem aos seus dados.<\/p>\n\n\n\n<p>Por exemplo, quando um site adiciona um bot\u00e3o de &#8216;curtir&#8217; do Facebook a uma p\u00e1gina, ele faz isso ao se conectar \u00e0 API do Facebook. Isso permite que a p\u00e1gina da web use a API para receber dados (o c\u00f3digo do bot\u00e3o de curtir) e enviar dados (a solicita\u00e7\u00e3o de curtir).<\/p>\n\n\n\n<p>Ent\u00e3o, o que \u00e9 especificamente uma API REST? <a href=\"https:\/\/en.wikipedia.org\/wiki\/Representational_state_transfer\" target=\"_blank\" rel=\"noopener\">Representational State Transfer (REST)<\/a> \u00e9 um tipo de API espec\u00edfico para servi\u00e7os web. Cont\u00e9m um conjunto padronizado de instru\u00e7\u00f5es e regras, facilitando a conex\u00e3o entre todos os servi\u00e7os &#8216;RESTful&#8217;.<\/p>\n\n\n\n<p>Em resumo, as REST APIs permitem que voc\u00ea fa\u00e7a solicita\u00e7\u00f5es a um sistema externo. Um exemplo disso \u00e9 o Twitter. Voc\u00ea pode usar sua API para solicitar um certo n\u00famero de tweets de um usu\u00e1rio espec\u00edfico. A API ent\u00e3o retornar\u00e1 os tweets com base em sua solicita\u00e7\u00e3o, que voc\u00ea pode incorporar em seu site usando <a href=\"https:\/\/www.dreamhost.com\/blog\/pt\/aprender-html\/\" target=\"_blank\" rel=\"noopener\">HTML<\/a> e <a href=\"https:\/\/www.dreamhost.com\/blog\/pt\/aprender-css\/\" target=\"_blank\" rel=\"noopener\">CSS<\/a>.<\/p>\n\n\n\n<p>Essas solicita\u00e7\u00f5es s\u00e3o realizadas usando <a href=\"https:\/\/www.w3schools.com\/js\/js_json_intro.asp\" target=\"_blank\" rel=\"noopener\">JavaScript Object Notation (JSON)<\/a>. Esta \u00e9 uma linguagem especificamente projetada para enviar, receber e armazenar dados.<\/p>\n\n\n\n<p>Vamos cobrir JSON mais adiante neste artigo, mas recomendamos que voc\u00ea dedique um tempo para se familiarizar com esta linguagem antecipadamente. Isso ajudar\u00e1 a prepar\u00e1-lo para usar a API REST do WordPress e entender alguns dos conceitos sobre os quais falaremos.<\/p>\n\n\n\n<h2 id=\"h-what-the-wordpress-rest-api-is-and-why-it-s-important\" class=\"wp-block-heading\"><b>O que \u00e9 a API REST do WordPress (E Por Que \u00e9 Importante)<\/b><\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"332\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/wordpress-wp-rest-api-1024x332.jpg\" alt=\"WordPress Rest API\" class=\"wp-image-37606 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/wordpress-wp-rest-api-1024x332.jpg 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/wordpress-wp-rest-api-300x97.jpg 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/wordpress-wp-rest-api-768x249.jpg 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/wordpress-wp-rest-api-1536x497.jpg 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/wordpress-wp-rest-api-600x194.jpg.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/wordpress-wp-rest-api-750x243.jpg.webp 750w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/wordpress-wp-rest-api-100x32.jpg 100w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/wordpress-wp-rest-api.jpg.webp 1544w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/332;\" \/><\/figure><\/div>\n\n\n<p>A <a href=\"http:\/\/v2.wp-api.org\/\" target=\"_blank\" rel=\"noopener\">API REST do WordPress<\/a> funciona de maneira muito semelhante aos exemplos que j\u00e1 abordamos. Basicamente, a API REST do WordPress oferece acesso total \u00e0s funcionalidades do WordPress a partir de qualquer framework compat\u00edvel com JSON.<\/p>\n\n\n\n<p>De maneira semelhante a como a API do Twitter permite que voc\u00ea recupere e envie tweets, a API REST do WordPress pode ser usada para gerenciar posts, usu\u00e1rios, categorias e muito mais a partir de plataformas externas. Ela permite que voc\u00ea use o WordPress de v\u00e1rias maneiras anteriormente in\u00e9ditas.<\/p>\n\n\n\n<p>A REST API <a href=\"https:\/\/make.wordpress.org\/core\/2013\/06\/17\/json-rest-api\/\" target=\"_blank\" rel=\"noopener\">foi anunciada<\/a> l\u00e1 em 2013. Inicialmente <a href=\"https:\/\/wordpress.org\/plugins\/rest-api\/\" target=\"_blank\" rel=\"noopener\">como um plugin<\/a>, era para ser incorporada ao n\u00facleo do WordPress na Vers\u00e3o 4.1. Como muitas vezes acontece, atrasos adiaram o lan\u00e7amento at\u00e9 que finalmente foi implementada no n\u00facleo com o lan\u00e7amento do <a href=\"https:\/\/wordpress.org\/news\/2016\/12\/vaughan\/\" target=\"_blank\" rel=\"noopener\">WordPress 4.7<\/a> tr\u00eas anos depois.<\/p>\n\n\n\n<p>Esta foi uma longa mas compensadora espera para muitas pessoas que viam a API REST do WordPress como um passo importante para a plataforma. Voc\u00ea pode estar se perguntando por que essa adi\u00e7\u00e3o foi t\u00e3o importante, especialmente porque muitos usu\u00e1rios provavelmente n\u00e3o notaram muita diferen\u00e7a. Como se v\u00ea, a inclus\u00e3o da API REST foi uma mudan\u00e7a fundamental para o WordPress por muitas raz\u00f5es.<\/p>\n\n\n\n<p>Ao implementar uma API REST, o WordPress deixou de ser simplesmente uma plataforma para cria\u00e7\u00e3o de sites. Agora, ele se tornou um framework de aplica\u00e7\u00e3o completo. Isso significa que os desenvolvedores podem usar um site WordPress para criar aplica\u00e7\u00f5es para dispositivos m\u00f3veis e para a web, ou como um reposit\u00f3rio de informa\u00e7\u00f5es.<\/p>\n\n\n\n<p>Esta mudan\u00e7a tamb\u00e9m permitiu que o WordPress se distanciasse de sua <a href=\"https:\/\/help.dreamhost.com\/hc\/en-us\/articles\/214202188\" target=\"_blank\" rel=\"noopener\">depend\u00eancia do PHP<\/a>. Ao tornar o WordPress compat\u00edvel com qualquer linguagem compat\u00edvel com JSON, a API REST ampliou muito as possibilidades para os desenvolvedores, permitindo que eles usassem a funcionalidade do WordPress com praticamente qualquer framework.<\/p>\n\n\n\n<p>Finalmente, a REST API oferece maior flexibilidade com as interfaces que voc\u00ea pode usar para trabalhar com a plataforma. Ela tornou a interface de administra\u00e7\u00e3o completamente opcional, pois agora voc\u00ea pode interagir com seu site WordPress inteiramente atrav\u00e9s de comandos JSON.<\/p>\n\n\n\n<p>Agora, vamos ver como o JSON e a REST API se unem para tornar isso poss\u00edvel.<\/p>\n\n\n\n<h2 id=\"h-how-the-rest-api-and-json-work-together\" class=\"wp-block-heading\"><b>Como a REST API e o JSON Trabalham Juntos<\/b><\/h2>\n\n\n\n<p>A esta altura, voc\u00ea j\u00e1 deve ter compreendido os aspectos te\u00f3ricos da REST API do WordPress. Ent\u00e3o, vamos olhar para o lado mais pr\u00e1tico da tecnologia. O <a href=\"https:\/\/developer.wordpress.org\/rest-api\/\" target=\"_blank\" rel=\"noopener\">manual oficial<\/a> descreve o uso da REST API da seguinte forma:<\/p>\n\n\n\n<p>\u201cA API REST do WordPress fornece pontos de extremidade de API para tipos de dados do WordPress que permitem aos desenvolvedores interagir com sites remotamente, enviando e recebendo objetos JSON (JavaScript Object Notation).\u201d<\/p>\n\n\n\n<p>A primeira palavra na qual precisamos focar aqui \u00e9 \u201cendpoints\u201d. A maneira mais f\u00e1cil de pensar em um endpoint \u00e9 como um peda\u00e7o de dados ou uma fun\u00e7\u00e3o que pode ser chamada usando <a href=\"http:\/\/www.json.org\/JSONRequest.html\" target=\"_blank\" rel=\"noopener\">uma solicita\u00e7\u00e3o JSON<\/a>. Por padr\u00e3o, o WordPress fornece um grande n\u00famero de <a href=\"https:\/\/developer.wordpress.org\/rest-api\/extending-the-rest-api\/routes-and-endpoints\/#endpoints\" target=\"_blank\" rel=\"noopener\">endpoints padr\u00e3o<\/a> para usar, mas os desenvolvedores tamb\u00e9m podem criar <a href=\"https:\/\/developer.wordpress.org\/rest-api\/extending-the-rest-api\/adding-custom-endpoints\/\" target=\"_blank\" rel=\"noopener\">endpoints personalizados<\/a>.<\/p>\n\n\n\n<p>Para alcan\u00e7ar um ponto final, voc\u00ea deve <a href=\"https:\/\/developer.wordpress.org\/rest-api\/extending-the-rest-api\/routes-and-endpoints\/#routes\" target=\"_blank\" rel=\"noopener\">usar uma &#8216;rota&#8217;,<\/a> que assume a forma de uma URL normal. Voc\u00ea pode at\u00e9 mesmo tentar isso agora mesmo.<\/p>\n\n\n\n<p>V\u00e1 para o seu pr\u00f3prio site WordPress e adicione <i>\/wp-json\/wp\/v2<\/i> ao final do seu URL. Se o seu site for <i>http:\/\/example.com<\/i>, voc\u00ea dever\u00e1 inserir <i>http:\/\/example.com\/wp-json\/wp\/v2<\/i>.<\/p>\n\n\n\n<p>Quando voc\u00ea carrega esta rota, voc\u00ea chegar\u00e1 ao endpoint, que neste caso, retorna todo o conte\u00fado e meta-dados para seu site em um formato JSON (desorganizado). Ao usar diferentes rotas, voc\u00ea pode acessar diferentes endpoints para obter tipos espec\u00edficos de informa\u00e7\u00f5es e realizar v\u00e1rias tarefas.<\/p>\n\n\n\n<p>Existem tr\u00eas principais <a href=\"https:\/\/developer.wordpress.org\/rest-api\/requests\/\" target=\"_blank\" rel=\"noopener\">solicita\u00e7\u00f5es JSON<\/a> que voc\u00ea usar\u00e1 com a API REST, ent\u00e3o vamos tamb\u00e9m dar uma olhada r\u00e1pida nelas agora. S\u00e3o:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><b>GET.<\/b> Este tipo de requisi\u00e7\u00e3o \u00e9 usado para recuperar e listar dados da API. Por exemplo, voc\u00ea usaria uma requisi\u00e7\u00e3o GET para retornar uma lista de usu\u00e1rios no seu site ou compilar postagens de blog de um determinado per\u00edodo.<\/li>\n\n\n\n<li><b>POST.<\/b> Esta requisi\u00e7\u00e3o \u00e9 usada para enviar dados para a API. Ela permite que voc\u00ea envie novas informa\u00e7\u00f5es para o WordPress, como adicionar novos usu\u00e1rios e postagens ou atualizar dados existentes.<\/li>\n\n\n\n<li><b>DELETE.<\/b> Como o nome sugere, esta requisi\u00e7\u00e3o \u00e9 usada para deletar dados. Isso permite que voc\u00ea remova postagens, p\u00e1ginas, usu\u00e1rios e mais.<\/li>\n\n\n<\/ul>\n\n\n\n<p>GET e POST podem \u00e0s vezes ser usados com o mesmo endpoint para alcan\u00e7ar resultados diferentes.<\/p>\n\n\n\n<p>Por exemplo, vamos olhar para o endpoint <i>\/me\/settings\/<\/i>. Se voc\u00ea realizasse uma <a href=\"https:\/\/developer.wordpress.com\/docs\/api\/1.1\/get\/me\/settings\/\" target=\"_blank\" rel=\"noopener\">solicita\u00e7\u00e3o GET<\/a> neste endpoint, voc\u00ea receberia uma lista das configura\u00e7\u00f5es do usu\u00e1rio atual. No entanto, usando uma <a href=\"https:\/\/developer.wordpress.com\/docs\/api\/1.1\/post\/me\/settings\/\" target=\"_blank\" rel=\"noopener\">solicita\u00e7\u00e3o POST<\/a> no mesmo endpoint, voc\u00ea poderia atualizar as configura\u00e7\u00f5es.<\/p>\n\n\n\n<div class=\"article-newsletter article-newsletter--gradient\">\n\n\n<h2>Get Content Delivered Straight to Your Inbox<\/h2><p>Subscribe now to receive all the latest updates, delivered directly to your inbox.<\/p><form class=\"nwsl-form\" id=\"newsletter_block_\" novalidate><div class=\"messages\"><\/div><div class=\"form-group\"><label for=\"input_newsletter_block_\"><input type=\"email\"name=\"email\"id=\"input_newsletter_block_\"placeholder=\"Enter your email address\"novalidatedisabled=\"disabled\"\/><\/label><button type=\"submit\"class=\"btn btn--brand\"disabled=\"disabled\"><span>Sign Me Up!<\/span><svg width=\"21\" height=\"14\" viewBox=\"0 0 21 14\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M13.8523 0.42524L12.9323 1.34521C12.7095 1.56801 12.7132 1.9304 12.9404 2.14865L16.7241 5.7823H0.5625C0.251859 5.7823 0 6.03416 0 6.3448V7.6573C0 7.96794 0.251859 8.2198 0.5625 8.2198H16.7241L12.9405 11.8535C12.7132 12.0717 12.7095 12.4341 12.9323 12.6569L13.8523 13.5769C14.072 13.7965 14.4281 13.7965 14.6478 13.5769L20.8259 7.39879C21.0456 7.17913 21.0456 6.82298 20.8259 6.60327L14.6477 0.42524C14.4281 0.205584 14.0719 0.205584 13.8523 0.42524Z\" fill=\"white\"\/>\n<\/svg>\n<\/button><\/div><\/form><\/div>\n\n\n<h2 id=\"h-getting-started-with-the-wordpress-rest-api\" class=\"wp-block-heading\"><b>Introdu\u00e7\u00e3o \u00e0 API REST do WordPress<\/b><\/h2>\n\n\n\n<p>Agora vamos colocar toda essa teoria em pr\u00e1tica e mostrar alguns exemplos bem b\u00e1sicos do que voc\u00ea pode fazer com a REST API. Isso \u00e9 apenas uma amostra para ajud\u00e1-lo a se sentir confort\u00e1vel usando a REST API para processar solicita\u00e7\u00f5es ao WordPress.<\/p>\n\n\n\n<p>Para mais exemplos, recomendamos consultar a <a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\/\" target=\"_blank\" rel=\"noopener\">biblioteca de refer\u00eancia oficial<\/a> e os <a href=\"https:\/\/developer.wordpress.com\/docs\/api\/\" target=\"_blank\" rel=\"noopener\">Recursos da REST API<\/a>.<\/p>\n\n\n\n<p>As seguintes t\u00e9cnicas exigir\u00e3o que voc\u00ea use a linha de comando para processar solicita\u00e7\u00f5es JSON. Isso permite que voc\u00ea interaja com seu site WordPress por meio de uma interface baseada em texto e enviando comandos simples.<\/p>\n\n\n\n<p>Se voc\u00ea n\u00e3o tem experi\u00eancia em usar <a href=\"https:\/\/help.dreamhost.com\/hc\/en-us\/articles\/214202238\" target=\"_blank\" rel=\"noopener\">a linha de comando<\/a>, recomendamos que dedique algum tempo para <a href=\"https:\/\/www.codecademy.com\/learn\/learn-the-command-line\" target=\"_blank\" rel=\"noopener\">aprender os conceitos b\u00e1sicos<\/a> primeiro. Voc\u00ea tamb\u00e9m pode querer <a href=\"https:\/\/help.dreamhost.com\/hc\/en-us\/articles\/216041267\" target=\"_blank\" rel=\"noopener\">usar SSH<\/a> para criar a conex\u00e3o com seu site.<\/p>\n\n\n\n<p>Finalmente, quando voc\u00ea estiver pronto, vamos olhar alguns exemplos de como voc\u00ea pode usar a API REST do WordPress!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-return-posts-from-a-site\"><b>1. Retornar Publica\u00e7\u00f5es de um Site<\/b><\/h3>\n\n\n\n<p>Embora voc\u00ea obviamente precise da autoriza\u00e7\u00e3o adequada para editar um site, \u00e9 poss\u00edvel recuperar algumas informa\u00e7\u00f5es de quase qualquer site WordPress. Isso ocorre porque a REST API \u00e9 consistente em todas as instala\u00e7\u00f5es do WordPress.<\/p>\n\n\n\n<p>Como discutimos, a principal raz\u00e3o para a exist\u00eancia das APIs \u00e9 permitir que aplica\u00e7\u00f5es externas acessem alguns dos seus dados. Neste exemplo, podemos <a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\/posts\/#list-posts\" target=\"_blank\" rel=\"noopener\">recuperar uma \u00fanica postagem<\/a> do blog oficial de not\u00edcias do WordPress:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">curl https:\/\/wordpress.org\/news\/wp-json\/wp\/v2\/posts\/1<\/pre>\n\n\n\n<p>O ID foi definido como <i>1<\/i>, o que significa que esta solicita\u00e7\u00e3o ir\u00e1 recuperar a primeira publica\u00e7\u00e3o no blog. Pode ser dif\u00edcil de perceber, j\u00e1 que o JSON n\u00e3o \u00e9 muito leg\u00edvel, mas entre o c\u00f3digo, voc\u00ea pode identificar todo o conte\u00fado e os meta-dados da publica\u00e7\u00e3o:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"292\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/retrieve-post-using-wordpress-rest-api-1024x292.jpg\" alt=\"recuperar uma postagem do blog WordPress usando a WordPress Rest API\" class=\"wp-image-37605 lazyload\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/retrieve-post-using-wordpress-rest-api-1024x292.jpg 1024w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/retrieve-post-using-wordpress-rest-api-300x86.jpg 300w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/retrieve-post-using-wordpress-rest-api-768x219.jpg 768w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/retrieve-post-using-wordpress-rest-api-1536x438.jpg 1536w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/retrieve-post-using-wordpress-rest-api-600x171.jpg.webp 600w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/retrieve-post-using-wordpress-rest-api-750x214.jpg.webp 750w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/retrieve-post-using-wordpress-rest-api-100x29.jpg 100w, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/smush-webp\/2022\/10\/retrieve-post-using-wordpress-rest-api.jpg.webp 1999w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/292;\" \/><\/figure><\/div>\n\n\n<p>Voc\u00ea poderia ent\u00e3o usar essa informa\u00e7\u00e3o em um aplicativo, por exemplo, para exibi-la usando sua pr\u00f3pria estiliza\u00e7\u00e3o personalizada.<\/p>\n\n\n\n<p>Se voc\u00ea deseja retornar todas as postagens do blog, tudo o que voc\u00ea precisa fazer \u00e9 remover o ID no final. No entanto, \u00e9 mais prov\u00e1vel que voc\u00ea queira retornar um n\u00famero selecionado de postagens. A seguinte solicita\u00e7\u00e3o retornar\u00e1 as tr\u00eas \u00faltimas postagens:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">curl https:\/\/wordpress.org\/news\/wp-json\/wp\/v2\/posts\/?per_page=3<\/pre>\n\n\n\n<p>Voc\u00ea pode experimentar isso por si mesmo com outros sites e at\u00e9 mesmo com o seu pr\u00f3prio blog.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-update-a-post\"><b>2. Atualizar uma Postagem<\/b><\/h3>\n\n\n\n<p>Agora, vamos tentar fazer algumas altera\u00e7\u00f5es no WordPress usando a API REST. Para fazer isso, voc\u00ea precisar\u00e1 estar logado no site que deseja gerenciar. Por exemplo, se voc\u00ea estiver usando SSH, precisar\u00e1 fazer login no seu servidor.<\/p>\n\n\n\n<p>Neste exemplo, vamos <a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\/posts\/#update-a-post\" target=\"_blank\" rel=\"noopener\">atualizar uma postagem existente<\/a>. Primeiro, vamos usar uma solicita\u00e7\u00e3o para atualizar o t\u00edtulo da postagem com o ID de <i>1<\/i>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">curl -X POST http:\/\/example.com\/wp-json\/wp\/v2\/posts\/1 -d '{\"title\":\"Um T\u00edtulo Novinho em Folha\"}'<\/pre>\n\n\n\n<p>Isso \u00e9 bastante autoexplicativo. O argumento do t\u00edtulo mostra que voc\u00ea est\u00e1 atualizando o t\u00edtulo do post, que \u00e9 seguido pela string de texto contendo a substitui\u00e7\u00e3o.<\/p>\n\n\n\n<p>Existem <a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\/posts\/#arguments\" target=\"_blank\" rel=\"noopener\">muitos outros argumentos<\/a> que voc\u00ea pode usar para fazer altera\u00e7\u00f5es em uma postagem. Por exemplo, voc\u00ea pode usar uma lista para atribuir categorias \u00e0 postagem, public\u00e1-la ou alterar seu conte\u00fado completamente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-delete-a-user\"><b>3. Excluir um Usu\u00e1rio<\/b><\/h3>\n\n\n\n<p>Finalmente, vamos ver como voc\u00ea pode remover dados usando a REST API. Neste exemplo, vamos <a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\/users\/#delete-a-user\" target=\"_blank\" rel=\"noopener\">remover um usu\u00e1rio<\/a> do site. Naturalmente, voc\u00ea precisa estar logado e autorizado para gerenciar usu\u00e1rios antes de poder usar essa fun\u00e7\u00e3o.<\/p>\n\n\n\n<p>Em seguida, voc\u00ea pode usar a seguinte solicita\u00e7\u00e3o para deletar o usu\u00e1rio com um ID de <i>101<\/i>:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">curl -X DELETE http:\/\/example.com\/wp-json\/wp\/v2\/users\/101<\/pre>\n\n\n\n<p>Isso remover\u00e1 o usu\u00e1rio especificado do site. Voc\u00ea pode usar os <a href=\"https:\/\/developer.wordpress.org\/rest-api\/reference\/users\/#arguments\" target=\"_blank\" rel=\"noopener\">par\u00e2metros adicionais<\/a> para reatribuir as postagens do usu\u00e1rio a outro usu\u00e1rio com base em seu ID. Alternativamente, voc\u00ea pode for\u00e7ar uma exclus\u00e3o permanente em vez de adicionar o usu\u00e1rio \u00e0 lixeira.<\/p>\n\n\n\n<p>Atrav\u00e9s destes exemplos, voc\u00ea pode come\u00e7ar a ver como a REST API permite que voc\u00ea gerencie o conte\u00fado do seu site e se conecte com outros. Se voc\u00ea quiser aprender mais, recomendamos que explore mais a fundo o <a href=\"https:\/\/developer.wordpress.org\/rest-api\/\" target=\"_blank\" rel=\"noopener\">Manual da REST API<\/a>.<\/p>\n\n\n\n<h2 id=\"h-explore-wordpress-development\" class=\"wp-block-heading\"><b>Explore o Desenvolvimento WordPress<\/b><\/h2>\n\n\n\n<p>A <a href=\"http:\/\/v2.wp-api.org\/\" target=\"_blank\" rel=\"noopener\">API REST do WordPress<\/a> foi um grande avan\u00e7o para a plataforma, saindo de suas origens e indo em dire\u00e7\u00e3o ao futuro. Os desenvolvedores estavam animados desde o primeiro dia, mas se voc\u00ea n\u00e3o estava familiarizado com as APIs REST desde o in\u00edcio, voc\u00ea poderia ter ficado confuso sobre o motivo.<\/p>\n\n\n\n<p>Embora a REST API possa parecer complexa para iniciantes, voc\u00ea n\u00e3o precisa ser um desenvolvedor experiente para usar algumas solicita\u00e7\u00f5es b\u00e1sicas. Por exemplo, a API permite que voc\u00ea execute diversas tarefas no seu pr\u00f3prio site (ou em outros), como retornar posts, atualizar posts e excluir usu\u00e1rios.<\/p>\n\n\n\n<p>Est\u00e1 procurando uma hospedagem de alto desempenho para o seu site WordPress? Na Dreamhost, nossos <a href=\"https:\/\/www.dreamhost.com\/pt\/wordpress\/\" target=\"_blank\" rel=\"noopener\">planos gerenciados DreamPress<\/a> oferecem ambientes de staging profissionais, backups autom\u00e1ticos, caching embutido e mais. Confira nossos planos hoje mesmo!<\/p>\n\n\n\n\n<div\n\tclass=\"article-cta-shared article-cta-small\"\n>\n    <div class=\"tr-img-wrap-outer jsLoading\"><img decoding=\"async\" class=\"js-img-lazy \" src=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/lazy-loading-transparent.webp\" data-srcset=\"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/article-small-ad-cta-placeholder.webp 1x, https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/article-small-ad-cta-placeholder-x2.webp 2x\"  alt=\"Ad background image\" \/><\/div>\n\n\n\n\n  <div class=\"content-btm\">\n    <h2\n      class=\"h2--md\"\n    >\n      Fa\u00e7a Mais com DreamPress\n    <\/h2>\n    <p\n      class=\"p--md\"\n    >\n      As atualiza\u00e7\u00f5es autom\u00e1ticas do DreamPress, caching e defesas de seguran\u00e7a robustas tiram a gest\u00e3o do WordPress das suas m\u00e3os para que voc\u00ea possa focar no seu site.\n    <\/p>\n\n            <a\n            href=\"https:\/\/www.dreamhost.com\/pt\/wordpress\/gerenciado\/\"\n                        class=\"btn btn--white-outline btn--sm btn--round\"\n                                    target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            >\n                            Ver Planos                    <\/a>\n\n  <\/div>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>Quando a REST API foi finalmente adicionada ao n\u00facleo do WordPress, foi o fim de uma longa jornada. Muitos anteciparam essa mudan\u00e7a como o maior avan\u00e7o para o WordPress na hist\u00f3ria da plataforma. No entanto, se voc\u00ea n\u00e3o est\u00e1 familiarizado com a REST API, pode estar confuso sobre o que tudo isso significa. Em resumo, o [\u2026]<\/p>\n","protected":false},"author":1062,"featured_media":37607,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_metadesc":"","toc_headlines":"[[\"h-an-introduction-to-rest-apis\",\"Introdu\u00e7\u00e3o \u00e0s APIs REST\"],[\"h-what-the-wordpress-rest-api-is-and-why-it-s-important\",\"O que \u00e9 a API REST do WordPress (E Por Que \u00e9 Importante)\"],[\"h-how-the-rest-api-and-json-work-together\",\"Como a REST API e o JSON Trabalham Juntos\"],[\"h-getting-started-with-the-wordpress-rest-api\",\"Introdu\u00e7\u00e3o \u00e0 API REST do WordPress\"],[\"h-explore-wordpress-development\",\"Explore o Desenvolvimento WordPress\"]]","hide_toc":false,"footnotes":""},"categories":[14413,14391,14409],"tags":[],"class_list":["post-53954","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-centro-de-desenvolvimento-pt","category-tutoriais-pt","category-wordpress-pt"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.3 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Uma Introdu\u00e7\u00e3o \u00e0 API REST do WordPress - DreamHost Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www-dev.dreamhost.com\/blog\/pt\/tutorial-sobre-wp-rest-api\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Uma Introdu\u00e7\u00e3o \u00e0 API REST do WordPress\" \/>\n<meta property=\"og:description\" content=\"Quando a REST API foi finalmente adicionada ao n\u00facleo do WordPress, foi o fim de uma longa jornada. Muitos anteciparam essa mudan\u00e7a como o maior avan\u00e7o para o WordPress na hist\u00f3ria da plataforma. No entanto, se voc\u00ea n\u00e3o est\u00e1 familiarizado com a REST API, pode estar confuso sobre o que tudo isso significa. Em resumo, o [\u2026]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www-dev.dreamhost.com\/blog\/pt\/tutorial-sobre-wp-rest-api\/\" \/>\n<meta property=\"og:site_name\" content=\"DreamHost Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DreamHost\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-20T21:06:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-26T19:59:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/WordPress-REST-API-Feature.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"900\" \/>\n\t<meta property=\"og:image:height\" content=\"598\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jason Cosper\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:site\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jason Cosper\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Uma Introdu\u00e7\u00e3o \u00e0 API REST do WordPress - DreamHost Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www-dev.dreamhost.com\/blog\/pt\/tutorial-sobre-wp-rest-api\/","og_locale":"en_US","og_type":"article","og_title":"Uma Introdu\u00e7\u00e3o \u00e0 API REST do WordPress","og_description":"Quando a REST API foi finalmente adicionada ao n\u00facleo do WordPress, foi o fim de uma longa jornada. Muitos anteciparam essa mudan\u00e7a como o maior avan\u00e7o para o WordPress na hist\u00f3ria da plataforma. No entanto, se voc\u00ea n\u00e3o est\u00e1 familiarizado com a REST API, pode estar confuso sobre o que tudo isso significa. Em resumo, o [\u2026]","og_url":"https:\/\/www-dev.dreamhost.com\/blog\/pt\/tutorial-sobre-wp-rest-api\/","og_site_name":"DreamHost Blog","article_publisher":"https:\/\/www.facebook.com\/DreamHost\/","article_published_time":"2022-10-20T21:06:02+00:00","article_modified_time":"2025-05-26T19:59:21+00:00","og_image":[{"width":900,"height":598,"url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/WordPress-REST-API-Feature.jpg","type":"image\/jpeg"}],"author":"Jason Cosper","twitter_card":"summary_large_image","twitter_creator":"@dreamhost","twitter_site":"@dreamhost","twitter_misc":{"Written by":"Jason Cosper","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www-dev.dreamhost.com\/blog\/pt\/tutorial-sobre-wp-rest-api\/#article","isPartOf":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/pt\/tutorial-sobre-wp-rest-api\/"},"author":{"name":"Jason Cosper","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/person\/2273b8bf7336df78f6d99a89c17253c4"},"headline":"Uma Introdu\u00e7\u00e3o \u00e0 API REST do WordPress","datePublished":"2022-10-20T21:06:02+00:00","dateModified":"2025-05-26T19:59:21+00:00","mainEntityOfPage":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/pt\/tutorial-sobre-wp-rest-api\/"},"wordCount":2058,"publisher":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/pt\/tutorial-sobre-wp-rest-api\/#primaryimage"},"thumbnailUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/WordPress-REST-API-Feature.jpg","articleSection":["Centro de Desenvolvimento","Tutoriais","WordPress"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www-dev.dreamhost.com\/blog\/pt\/tutorial-sobre-wp-rest-api\/","url":"https:\/\/www-dev.dreamhost.com\/blog\/pt\/tutorial-sobre-wp-rest-api\/","name":"Uma Introdu\u00e7\u00e3o \u00e0 API REST do WordPress - DreamHost Blog","isPartOf":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/pt\/tutorial-sobre-wp-rest-api\/#primaryimage"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/pt\/tutorial-sobre-wp-rest-api\/#primaryimage"},"thumbnailUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/WordPress-REST-API-Feature.jpg","datePublished":"2022-10-20T21:06:02+00:00","dateModified":"2025-05-26T19:59:21+00:00","breadcrumb":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/pt\/tutorial-sobre-wp-rest-api\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www-dev.dreamhost.com\/blog\/pt\/tutorial-sobre-wp-rest-api\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www-dev.dreamhost.com\/blog\/pt\/tutorial-sobre-wp-rest-api\/#primaryimage","url":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/WordPress-REST-API-Feature.jpg","contentUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/10\/WordPress-REST-API-Feature.jpg","width":900,"height":598,"caption":"WordPress Rest API"},{"@type":"BreadcrumbList","@id":"https:\/\/www-dev.dreamhost.com\/blog\/pt\/tutorial-sobre-wp-rest-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dhblog.dream.press\/blog\/"},{"@type":"ListItem","position":2,"name":"Uma Introdu\u00e7\u00e3o \u00e0 API REST do WordPress"}]},{"@type":"WebSite","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#website","url":"https:\/\/www-dev.dreamhost.com\/blog\/","name":"DreamHost Blog","description":"","publisher":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www-dev.dreamhost.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#organization","name":"DreamHost","url":"https:\/\/www-dev.dreamhost.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/dhblog.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","contentUrl":"https:\/\/dhblog.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","width":1200,"height":168,"caption":"DreamHost"},"image":{"@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DreamHost\/","https:\/\/x.com\/dreamhost","https:\/\/www.instagram.com\/dreamhost\/","https:\/\/www.linkedin.com\/company\/dreamhost\/","https:\/\/www.youtube.com\/user\/dreamhostusa"]},{"@type":"Person","@id":"https:\/\/www-dev.dreamhost.com\/blog\/#\/schema\/person\/2273b8bf7336df78f6d99a89c17253c4","name":"Jason Cosper","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/02\/IMG_4807-scaled.jpeg","url":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/02\/IMG_4807-scaled.jpeg","contentUrl":"https:\/\/www-dev.dreamhost.com\/blog\/wp-content\/uploads\/2022\/02\/IMG_4807-scaled.jpeg","caption":"Jason Cosper"},"description":"Jason is DreamHost\u2019s WordPress Product Advocate, based out of Bakersfield, CA. He is currently working on making our DreamPress product even better. In his free time, he likes to curl up on the couch and watch scary movies with his wife Sarah and three very small dogs. Follow him on Twitter.","url":"https:\/\/www-dev.dreamhost.com\/blog\/author\/jasoncosper\/"}]}},"lang":"pt","translations":{"pt":53954,"es":37643,"en":37601,"pl":52101,"de":53897,"ru":53939,"uk":54144,"it":67909,"fr":69414,"nl":69443},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/53954","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/users\/1062"}],"replies":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/comments?post=53954"}],"version-history":[{"count":4,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/53954\/revisions"}],"predecessor-version":[{"id":62300,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/53954\/revisions\/62300"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/media\/37607"}],"wp:attachment":[{"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/media?parent=53954"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/categories?post=53954"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www-dev.dreamhost.com\/blog\/wp-json\/wp\/v2\/tags?post=53954"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}