{"id":61278,"date":"2023-07-20T06:52:19","date_gmt":"2023-07-20T09:52:19","guid":{"rendered":"https:\/\/kinsta.com\/pt\/?p=61278&#038;preview=true&#038;preview_id=61278"},"modified":"2025-01-31T11:12:24","modified_gmt":"2025-01-31T14:12:24","slug":"agendar-tarefas-api-kinsta","status":"publish","type":"post","link":"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/","title":{"rendered":"Agende suas Tarefas de Manuten\u00e7\u00e3o com a API da Kinsta (Limpar o Cache, Reiniciar o Mecanismo PHP)"},"content":{"rendered":"<p>Ao longo dos anos, a Kinsta fez um progresso significativo na simplifica\u00e7\u00e3o do gerenciamento de sites por meio do painel <a href=\"https:\/\/my.kinsta.com\/?lang=pt\">MyKinsta<\/a>. Esse poderoso painel permite que os usu\u00e1rios gerenciem seus sites e realizem v\u00e1rias a\u00e7\u00f5es de manuten\u00e7\u00e3o, incluindo a <a href=\"https:\/\/kinsta.com\/pt\/docs\/hospedagem-de-wordpress\/php\/#restart-php\">reinicializa\u00e7\u00e3o do mecanismo PHP<\/a> e a <a href=\"https:\/\/kinsta.com\/pt\/docs\/hospedagem-de-wordpress\/cache\/cache-do-site\/#manage-and-clear-cache-in-your-wordpress-dashboard\">limpeza do cache do site<\/a>.<\/p>\n<p>No entanto, a introdu\u00e7\u00e3o da <a href=\"https:\/\/kinsta.com\/pt\/docs\/kinsta-api\/\">API da Kinsta<\/a> leva o gerenciamento de sites a um n\u00edvel totalmente novo. <a href=\"https:\/\/kinsta.com\/pt\/blog\/tipos-de-desenvolvedores\/\">Os desenvolvedores<\/a> agora podem aproveitar o poder da API da Kinsta para aprimorar o processo de gerenciamento, <a href=\"https:\/\/kinsta.com\/pt\/blog\/wordpress-api\/\">criar interfaces personalizadas<\/a> e at\u00e9 mesmo criar aplicativos de agendamento para automatizar tarefas essenciais.<\/p>\n<p>Este tutorial se aprofunda no mundo da API Kinsta e explica como criar um aplicativo <a href=\"https:\/\/kinsta.com\/pt\/blog\/o-que-e-react-js\/\">React<\/a> para agendar tarefas essenciais de manuten\u00e7\u00e3o, como reinicializa\u00e7\u00f5es do mecanismo PHP e limpeza do cache com a API da Kinsta.<\/p>\n<p>Aqui est\u00e1 uma demonstra\u00e7\u00e3o em tempo real do <a href=\"https:\/\/site-tools-scheduler-6u1a5.kinsta.app\/\" target=\"_blank\" rel=\"noopener noreferrer\">aplicativo de agendamento de ferramentas do site<\/a>.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/07\/maintenance-tasks-app.gif\" alt=\"Demonstra\u00e7\u00e3o do aplicativo de agendamento de ferramentas do site.\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">Demonstra\u00e7\u00e3o do aplicativo de agendamento de ferramentas do site.<\/figcaption><\/figure>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Se voc\u00ea quiser testar isso com sua hospedagem gerenciada de WordPress, fique \u00e0 vontade para usar <a href=\"https:\/\/github.com\/kinsta\/site-tools-scheduler\">este template do GitHub<\/a>, implant\u00e1-lo e adicionar o ID da sua empresa e a chave API como vari\u00e1veis de ambiente. Verifique o <a href=\"https:\/\/github.com\/kinsta\/site-tools-scheduler\/blob\/main\/README.md\" target=\"_blank\" rel=\"noopener noreferrer\">arquivo Readme.md<\/a> para obter mais detalhes.<\/p>\n<\/aside>\n\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Entendendo a API da Kinsta<\/h2>\n<p>A <a href=\"https:\/\/kinsta.com\/pt\/changelog\/kinsta-api\/\">API da Kinsta<\/a>\u00a0\u00e9 uma ferramenta poderosa que permite que voc\u00ea interaja com a plataforma de <a href=\"https:\/\/kinsta.com\/pt\/hospedagem-wordpress\/\">hospedagem gerenciada de WordPress da Kinsta<\/a>\u00a0de forma program\u00e1tica. Ela pode ajudar voc\u00ea a automatizar v\u00e1rias tarefas relacionadas aos servi\u00e7os fornecidos pela Kinsta, incluindo a cria\u00e7\u00e3o de sites, a recupera\u00e7\u00e3o de informa\u00e7\u00f5es do site, a <a href=\"https:\/\/kinsta.com\/pt\/blog\/chave-api-kinsta\/#how-to-use-kinsta-api-to-build-a-status-checker\">obten\u00e7\u00e3o do status de um site<\/a> e muito mais.<\/p>\n<p>Para usar a API da Kinsta, voc\u00ea deve ter uma conta com pelo menos um site, <a href=\"https:\/\/sevalla.com\/application-hosting\/\">aplicativo<\/a> ou <a href=\"https:\/\/sevalla.com\/database-hosting\/\">banco de dados<\/a> do WordPress no MyKinsta. Voc\u00ea tamb\u00e9m precisa gerar uma chave de API para autenticar e acessar sua conta atrav\u00e9s da API.<\/p>\n<p>Para gerar uma chave de API:<\/p>\n<ol start=\"1\">\n<li>V\u00e1 para o painel MyKinsta.<\/li>\n<li>Navegue at\u00e9 a p\u00e1gina <strong>Chaves API <\/strong>(<strong>Seu nome<\/strong> &gt; <strong>Configura\u00e7\u00f5es da empresa<\/strong> &gt; <strong>Chaves API<\/strong>).<\/li>\n<li>Clique em <strong>Criar chave de API<\/strong>.<\/li>\n<li>Escolha uma expira\u00e7\u00e3o ou defina uma data de in\u00edcio personalizada e o n\u00famero de horas para a chave expirar.<\/li>\n<li>D\u00ea \u00e0 chave um nome exclusivo.<\/li>\n<li>Clique em <strong>Gerar<\/strong>.<\/li>\n<\/ol>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/07\/create-api-key-on-mykinsta-1.jpg\" alt=\"Criar chave API no MyKinsta.\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">Criar chave API no MyKinsta.<\/figcaption><\/figure>\n<p>Ap\u00f3s criar uma chave API, copie e armazene em algum lugar seguro (voc\u00ea pode usar um <a href=\"https:\/\/kinsta.com\/pt\/blog\/gerenciadores-de-senhas\/\">gerenciador de senhas<\/a>), pois esta \u00e9 a <strong>\u00fanica vez<\/strong> em que ela \u00e9 revelada no MyKinsta. Voc\u00ea pode gerar v\u00e1rias chaves API &#8211; elas s\u00e3o listadas na p\u00e1gina &#8220;<strong>Chaves API<\/strong>&#8220;. Se precisar revogar uma chave de API, clique em &#8220;<strong>Revogar<\/strong>&#8221; ao lado daquela que deseja revogar.<\/p>\n<h2>Como usar as ferramentas de site da Kinsta com a API da Kinsta<\/h2>\n<p>A <a href=\"https:\/\/kinsta.com\/pt\/docs\/hospedagem-de-wordpress\/ferramentas-mykinsta\/\">ferramenta do site Kinsta<\/a> \u00e9 um conjunto de ferramentas dispon\u00edveis para os usu\u00e1rios da Kinsta para ajud\u00e1-los a gerenciar e manter seus sites WordPress. Essas ferramentas est\u00e3o dispon\u00edveis atrav\u00e9s do MyKinsta (<strong>Sites WordPress<\/strong> &gt; <strong>nome do site<\/strong> &gt; <strong>Ferramentas<\/strong>), mas nem todas s\u00e3o suportadas pela API da Kinsta no momento. Nossa equipe est\u00e1 constantemente trabalhando para adicionar novos recursos, acompanhando de perto e ouvindo o feedback, como compartilha Kristof Siket, L\u00edder da Equipe de Desenvolvimento da API Kinsta.<\/p>\n<blockquote><p><em>O feedback dos usu\u00e1rios orienta a prioriza\u00e7\u00e3o da exposi\u00e7\u00e3o dos recursos. O plano atual n\u00e3o cobre totalmente a p\u00e1gina Ferramentas; em vez disso, os recursos s\u00e3o baseados nas solicita\u00e7\u00f5es dos usu\u00e1rios e no feedback obtido.<\/em><em>Se voc\u00ea acredita que uma ferramenta ou endpoint espec\u00edfico deve ser inclu\u00eddo na API da Kinsta, fique \u00e0 vontade para <a href=\"https:\/\/kinsta.com\/pt\/docs\/informacoes-de-servico\/programa-de-pesquisa-kinsta\/#how-to-join\">enviar seu feedback<\/a><\/em>.<\/p><\/blockquote>\n<p>Para que voc\u00ea possa utilizar as ferramentas do site fornecidas pela Kinsta, \u00e9 necess\u00e1rio obter o ID do ambiente do seu site. Cada site no MyKinsta tem pelo menos um ambiente, cada um com um ID exclusivo. Para recuperar o ID do ambiente, voc\u00ea pode aproveitar a API da Kinsta obtendo primeiro o ID do site e, em seguida, utilizando como um par\u00e2metro para acessar os dados do ambiente correspondente.<\/p>\n<p>Para recuperar o ID do site, voc\u00ea pode usar o endpoint\u00a0 <code><a href=\"https:\/\/api-docs.kinsta.com\/tag\/WordPress-Sites#operation\/getSites\" target=\"_blank\" rel=\"noopener noreferrer\">\/sites<\/a><\/code> que retorna uma lista de seus sites. Ap\u00f3s obter o ID do site, voc\u00ea pode recuperar o ID do ambiente fazendo uma solicita\u00e7\u00e3o GET para o endpoint\u00a0 <code>\/sites<\/code>, especificando o ID e anexando o endpoint\u00a0 <code><a href=\"https:\/\/api-docs.kinsta.com\/tag\/WordPress-Sites#operation\/getSiteEnvironments\" target=\"_blank\" rel=\"noopener noreferrer\">\/environments<\/a><\/code> ao endpoint.<\/p>\n<p>Aqui est\u00e1 um exemplo de trecho de c\u00f3digo que demonstra como voc\u00ea pode fazer isso usando a <a href=\"https:\/\/kinsta.com\/pt\/blog\/solicitacoes-http-javascript\/#4-how-to-make-an-http-request-in-javascript-using-the-fetch-api\">API JavaScript Fetch<\/a>:<\/p>\n<pre><code class=\"language-js\">const siteId = 'YOUR_site_id_PARAMETER'; \/\/ Replace with your actual site ID\nconst resp = await fetch(\n    `https:\/\/api.kinsta.com\/v2\/sites\/${siteId}\/environments`,\n    {\n        method: 'GET',\n        headers: {\n            Authorization: 'Bearer &lt;YOUR_TOKEN_HERE&gt;' \/\/ Replace with your actual API key\/token\n        }\n    }\n);\nconst data = await resp.json();\nconsole.log(data);<\/code><\/pre>\n<p>No c\u00f3digo acima, voc\u00ea define a vari\u00e1vel <code>siteId<\/code> com o ID do seu site. Em seguida, voc\u00ea faz uma solicita\u00e7\u00e3o de busca ao endpoint da API da Kinsta para recuperar os ambientes do site especificado. Certifique-se de que voc\u00ea inclua a chave da API no cabe\u00e7alho de autoriza\u00e7\u00e3o.<\/p>\n<p>Ap\u00f3s receber a resposta, os dados s\u00e3o registrados no console, que cont\u00e9m os detalhes do(s) seu(s) ambiente(s), incluindo o ID:<\/p>\n<pre><code class=\"language-json\">{\n    \"site\": {\n        \"environments\": [\n            {\n                \"id\": \"54fb80af-576c-4fdc-ba4f-b596c83f15a1\",\n                \"name\": \"first-site\",\n                \"display_name\": \"First site\",\n                \"is_blocked\": false,\n                \"id_edge_cache\": \"54fb80af-576c-4fdc-ba4f-b596c83f15a1\",\n                \"is_premium\": false,\n                \"domains\": [],\n                \"primaryDomain\": {},\n                \"ssh_connection\": {}\n            }\n        ]\n    }\n}<\/code><\/pre>\n<p>Agora que voc\u00ea sabe como acessar o ID do seu ambiente, vamos usar as ferramentas do site da Kinsta de forma program\u00e1tica.<\/p>\n<h3>Como limpar o cache do site com a API da Kinsta<\/h3>\n<p>Para limpar o cache do seu site com a API da Kinsta, voc\u00ea enviar\u00e1 uma solicita\u00e7\u00e3o POST para o endpoint <code><a href=\"https:\/\/api-docs.kinsta.com\/tag\/Site-Tools#operation\/clearSiteCache\" target=\"_blank\" rel=\"noopener noreferrer\">\/sites\/tools\/clear-cache<\/a><\/code>. Isso requer que voc\u00ea passe o ID do ambiente como corpo da solicita\u00e7\u00e3o.<\/p>\n<p>O c\u00f3digo abaixo demonstra como voc\u00ea pode fazer isso usando JavaScript e a API Fetch:<\/p>\n<pre><code class=\"language-js\">const clearSiteCache = async () =&gt; {\n  const resp = await fetch(\n    `https:\/\/api.kinsta.com\/v2\/sites\/tools\/clear-cache`,\n    {\n      method: \"POST\",\n      headers: {\n        \"Content-Type\": \"application\/json\",\n        Authorization: \"Bearer &lt;YOUR_TOKEN_HERE&gt;\"\n      },\n      body: JSON.stringify({\n        environment_id: \"e.g. 54fb80af-576c-4fdc-ba4f-b596c83f15a1\"\n      })\n    }\n  );\n\n  \/\/ Parse the response as JSON\n  const data = await resp.json();\n  console.log(data);\n};<\/code><\/pre>\n<p>No c\u00f3digo acima, \u00e9 definida uma fun\u00e7\u00e3o <code>clearSiteCache<\/code> que recebe dois par\u00e2metros: a URL do endpoint da API e um objeto que cont\u00e9m a configura\u00e7\u00e3o para a solicita\u00e7\u00e3o de busca. A configura\u00e7\u00e3o inclui <code>method<\/code>, <code>headers<\/code> e <code>body<\/code>.<\/p>\n<p>O campo <code>body<\/code> \u00e9 onde voc\u00ea passa a carga \u00fatil da solicita\u00e7\u00e3o, que \u00e9 o ID do ambiente. Voc\u00ea usa <code>JSON.stringify<\/code> para converter o objeto em uma cadeia de caracteres JSON. Substitua o valor <code>environment_id<\/code> pelo ID real do ambiente que voc\u00ea deseja reiniciar. Depois que a solicita\u00e7\u00e3o \u00e9 enviada, os dados de resposta s\u00e3o registrados no console.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Muito semelhante \u00e0 forma como voc\u00ea limpa o cache do site \u00e9 como reiniciar o mecanismo PHP do seu site com a API da Kinsta. A \u00fanica diferen\u00e7a \u00e9 o endpoint, pois n\u00e3o \u00e9 mais <code>\/clear-cache<\/code>, mas <code><a href=\"https:\/\/api-docs.kinsta.com\/tag\/Site-Tools#operation\/restartPhpEngine\" target=\"_blank\" rel=\"noopener noreferrer\">\/restart-php<\/a><\/code> &#8211; https:\/\/api.kinsta.com\/v2\/sites\/tools\/restart-php. Todos os outros par\u00e2metros e consultas s\u00e3o os mesmos.<\/p>\n<\/aside>\n\n<h2>Criando um aplicativo React para agendar tarefas de manuten\u00e7\u00e3o com a API da Kinsta<\/h2>\n<p>Com a introdu\u00e7\u00e3o da API da Kinsta, agora voc\u00ea pode criar interfaces personalizadas que proporcionam uma flexibilidade sem igual. Um exemplo disso \u00e9 um aplicativo que permite que voc\u00ea agende as tarefas de manuten\u00e7\u00e3o do seu site. Imagine programar a limpeza do cache do seu site ou a reinicializa\u00e7\u00e3o do mecanismo PHP para ocorrer automaticamente \u00e0 meia-noite em um local espec\u00edfico. Isso pode ajudar voc\u00ea a garantir o desempenho ideal sem dificuldade.<\/p>\n<h3>Primeiros passos<\/h3>\n<p>Para acompanhar este tutorial, \u00e9 aconselh\u00e1vel que voc\u00ea tenha um conhecimento b\u00e1sico de <a href=\"https:\/\/kinsta.com\/pt\/blog\/o-que-e-html\/\">HTML<\/a>, <a href=\"https:\/\/kinsta.com\/pt\/blog\/melhores-praticas-css\/\">CSS<\/a> e <a href=\"https:\/\/kinsta.com\/javascript\/\">JavaScript<\/a> e alguma familiaridade com o React. O foco principal deste projeto \u00e9 demonstrar a utiliza\u00e7\u00e3o da API da Kinsta, portanto, este artigo n\u00e3o se aprofunda nos detalhes da cria\u00e7\u00e3o ou estilo da interface do usu\u00e1rio e em outras l\u00f3gicas.<\/p>\n<p>Para simplificar o processo de configura\u00e7\u00e3o do projeto, um projeto inicial foi preparado para voc\u00ea. Siga estas etapas para que voc\u00ea possa come\u00e7ar:<\/p>\n<p>1. Crie um reposit\u00f3rio <a href=\"https:\/\/kinsta.com\/pt\/topicos\/git\/\">Git<\/a> usando <a href=\"https:\/\/github.com\/kinsta\/site-tools-scheduler\" target=\"_blank\" rel=\"noopener noreferrer\">este template no GitHub<\/a>. Selecione <strong>Usar este template<\/strong> &gt; <strong>Criar um novo reposit\u00f3rio<\/strong> para copiar o c\u00f3digo inicial em um novo reposit\u00f3rio na sua conta do GitHub e verifique se voc\u00ea marcou a caixa para <strong>incluir todas as branches<\/strong>.<\/p>\n<p>2. Fa\u00e7a o pull do reposit\u00f3rio para o seu computador local e mude para o branch <a href=\"https:\/\/github.com\/kinsta\/site-tools-scheduler\/tree\/starter-files\" target=\"_blank\" rel=\"noopener noreferrer\">starter-files<\/a> usando o comando abaixo:<\/p>\n<pre><code class=\"language-bash\">git checkout starter-files<\/code><\/pre>\n<p>3. Instale as depend\u00eancias necess\u00e1rias executando o comando <code>npm install<\/code>. Quando a instala\u00e7\u00e3o estiver conclu\u00edda, voc\u00ea poder\u00e1 iniciar o projeto no computador local com <code>npm run start<\/code>. Isso abre o projeto em <a href=\"http:\/\/localhost:3000\/\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/localhost:3000\/<\/a>.<\/p>\n<h3>Entendendo os arquivos do projeto<\/h3>\n<p>Dentro da <strong>pasta<\/strong> <strong>&#8220;src&#8221;<\/strong> deste projeto, existem duas principais subpastas: &#8220;<strong>components<\/strong>&#8221; e &#8220;<strong>pages<\/strong>&#8220;. A pasta &#8220;<strong>components<\/strong>&#8221; cont\u00e9m componentes reutiliz\u00e1veis, como o cabe\u00e7alho (<strong>Header<\/strong>) e rodap\u00e9 (<strong>Footer<\/strong>), que s\u00e3o utilizados em todas as p\u00e1ginas (<strong>P\u00e1gina inicial<\/strong>,<strong> Opera\u00e7\u00f5es<\/strong>,<strong> Ferramentas<\/strong>,<strong> Programa\u00e7\u00e3o<\/strong>).<\/p>\n<p>Neste projeto, voc\u00ea deve se concentrar principalmente na implementa\u00e7\u00e3o da l\u00f3gica na <strong>P\u00e1gina inicial<\/strong> e <strong>Ferramentas<\/strong>, pois o estilo, o roteamento e outras l\u00f3gicas j\u00e1 est\u00e3o prontos.<\/p>\n<p>A <strong>P\u00e1gina inicial<\/strong><strong>\u00a0<\/strong>tem um formul\u00e1rio que lista todos os sites em sua conta MyKinsta. Sempre que essa p\u00e1gina \u00e9 renderizada, o <a href=\"https:\/\/kinsta.com\/pt\/blog\/react-useeffect\/\">hook useEffect<\/a> <a href=\"https:\/\/kinsta.com\/pt\/blog\/chave-api-kinsta\/#fetch-list-of-sites-with-kinsta-api\">recupera imediatamente uma lista de todos os seus sites<\/a>\u00a0e os preenche em um campo de formul\u00e1rio de sele\u00e7\u00e3o. O ID de cada site \u00e9 usado como o valor para a op\u00e7\u00e3o correspondente.<\/p>\n<pre><code class=\"language-jsx\">&lt;select className=\"form-control\" value={selectedSiteId} onChange={(e) =&gt; setSelectedSiteId(e.target.value)}&gt;\n    &lt;option value=\"\"&gt;&lt;\/option&gt;\n    {sites && (\n        sites.map((site) =&gt; {\n            return (\n                &lt;option&gt; key={site.id} value={site.id}&gt;{site.display_name}&lt;\/option&gt;\n            )\n        })\n    )}\n&lt;\/select&gt;<\/code><\/pre>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/07\/custom-react-app-for-kinsta-site-tools-management.jpg\" alt=\"Aplicativo React personalizado para gerenciamento de ferramentas do site Kinsta.\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">Aplicativo React personalizado para gerenciamento de ferramentas do site Kinsta.<\/figcaption><\/figure>\n<p>Quando um site \u00e9 selecionado e o bot\u00e3o &#8220;Prosseguir&#8221; \u00e9 clicado, a fun\u00e7\u00e3o <code>handleSubmission<\/code> \u00e9 acionada. Nessa fun\u00e7\u00e3o, a API da Kinsta \u00e9 usada para recuperar o ID do ambiente do site. Em seguida, voc\u00ea passa esse ID como um par\u00e2metro de rota para a <strong>p\u00e1gina Ferramentas<\/strong>.<\/p>\n<p>A <strong>p\u00e1gina Ferramentas<\/strong> \u00e9 onde voc\u00ea pode executar e programar tarefas de manuten\u00e7\u00e3o para o site selecionado, como limpar o cache do site ou reiniciar o mecanismo PHP. Para executar qualquer uma dessas a\u00e7\u00f5es na <strong>p\u00e1gina Ferramentas<\/strong>, voc\u00ea precisa do ID do ambiente. Por isso, ele \u00e9 passado como um par\u00e2metro de rota para essa p\u00e1gina.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/07\/schedule-tasks-kinsta-api.jpg\" alt=\"Gerenciamento de ferramentas do site Kinsta.\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">Gerenciamento de ferramentas do site Kinsta.<\/figcaption><\/figure>\n<p>Quando voc\u00ea inicia a\u00e7\u00f5es como limpar o cache do site ou reiniciar o mecanismo PHP, voc\u00ea \u00e9 automaticamente direcionado para a <strong>p\u00e1gina Opera\u00e7\u00f5es<\/strong>. Aqui, voc\u00ea pode acompanhar o progresso da sua opera\u00e7\u00e3o usando o ID atribu\u00eddo.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/07\/kinsta-site-tools-operation-status.jpg\" alt=\"Status da opera\u00e7\u00e3o das ferramentas do site Kinsta.\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">Status da opera\u00e7\u00e3o das ferramentas do site Kinsta.<\/figcaption><\/figure>\n<p>Ao agendar uma tarefa, voc\u00ea \u00e9 direcionado para a <strong>p\u00e1gina Agendar<\/strong>, que exibe informa\u00e7\u00f5es detalhadas sobre a tarefa agendada.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/07\/kinsta-site-tools-schedule-information-page.jpg\" alt=\"P\u00e1gina de informa\u00e7\u00f5es de programa\u00e7\u00e3o das ferramentas do site Kinsta.\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">P\u00e1gina de informa\u00e7\u00f5es de programa\u00e7\u00e3o das ferramentas do site Kinsta.<\/figcaption><\/figure>\n<p>Quando o hor\u00e1rio programado \u00e9 atingido, a opera\u00e7\u00e3o espec\u00edfica come\u00e7a e redireciona voc\u00ea automaticamente para a <strong>p\u00e1gina Opera\u00e7\u00f5es<\/strong>, onde voc\u00ea pode monitorar o progresso da opera\u00e7\u00e3o.<\/p>\n<h2>Interagindo com a API da Kinsta no React<\/h2>\n<p>Com a interface do usu\u00e1rio (UI) pronta, sua pr\u00f3xima etapa \u00e9 lidar com o envio do formul\u00e1rio na <strong>P\u00e1gina inicial<\/strong><strong>e<\/strong> recuperar o ID do ambiente do site selecionado por meio da API da Kinsta antes de levar o usu\u00e1rio \u00e0 <strong>p\u00e1gina<\/strong> <strong style=\"font-size: 1rem\">Ferramentas<\/strong> com o ID como par\u00e2metro de rota.<\/p>\n<p>Para interagir com a API da Kinsta, voc\u00ea precisa do <strong>ID da<\/strong> <strong>sua<\/strong> <strong>empresa<\/strong> e da <strong>chave API<\/strong>. Ao fazer chamadas de API em um projeto que ser\u00e1 hospedado na nuvem, suas credenciais, como a chave de API, precisam ser armazenadas com seguran\u00e7a para evitar qualquer forma de comprometimento.<\/p>\n<p>Voc\u00ea pode armazen\u00e1-las com seguran\u00e7a como vari\u00e1veis de ambiente em seu aplicativo React, criando um <strong> arquivo .env<\/strong> na pasta raiz do seu projeto. Nesse arquivo, adicione as seguintes linhas:<\/p>\n<pre><code class=\"language-bash\">REACT_APP_KINSTA_COMPANY_ID = 'YOUR_COMPANY_ID' \nREACT_APP_KINSTA_API_KEY = 'YOUR_API_KEY'<\/code><\/pre>\n<p>Para acessar essas vari\u00e1veis de ambiente em seu projeto, voc\u00ea pode usar a sintaxe <code>process.env.THE_VARIABLE<\/code>. Por exemplo, para acessar <code>REACT_APP_KINSTA_COMPANY_ID<\/code>, voc\u00ea usaria <code>process.env.REACT_APP_KINSTA_COMPANY_ID<\/code>.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>\u00c9 importante que voc\u00ea adicione o <strong> arquivo .env<\/strong> ao seu <a href=\"https:\/\/kinsta.com\/pt\/blog\/nao-funcionamento-do-gitignore\/\">arquivo .gitignore<\/a> para evitar que o arquivo seja enviado ao GitHub. Isso garante que suas informa\u00e7\u00f5es confidenciais, como chaves API, permane\u00e7am privadas e seguras.<\/p>\n<\/aside>\n\n<h3>Obter o ID do ambiente com a API Kinsta no React<\/h3>\n<p>Na <strong>p\u00e1gina inicial<\/strong>, quando um site \u00e9 selecionado e o bot\u00e3o de envio \u00e9 clicado, a fun\u00e7\u00e3o <code>handleSubmission<\/code> \u00e9 acionada. Essa fun\u00e7\u00e3o usa a API Fetch (ou o m\u00e9todo de solicita\u00e7\u00e3o HTTP de sua prefer\u00eancia) para fazer uma solicita\u00e7\u00e3o GET para a API Kinsta.<\/p>\n<p>Para evitar a repeti\u00e7\u00e3o dos cabe\u00e7alhos e da URL da API da Kinsta em cada chamada, iremos armazenar os <code>headers<\/code> e a <code>KinstaAPIUrl<\/code> como constantes.<\/p>\n<pre><code class=\"language-jsx\">const KinstaAPIUrl = 'https:\/\/api.kinsta.com\/v2';\nconst headers = useMemo(() =&gt; {\n    return {\n        Authorization: `Bearer ${process.env.REACT_APP_KINSTA_API_KEY}`\n    }\n}, [])<\/code><\/pre>\n<p>A vari\u00e1vel <code>KinstaAPIUrl<\/code> armazena a URL b\u00e1sica da API da Kinsta. A constante <code>headers<\/code> \u00e9 criada usando o <a href=\"https:\/\/kinsta.com\/pt\/blog\/usecallback-react\/#reacts-usecallback-vs-usememo\">hook useMemo<\/a> para garantir que o objeto de cabe\u00e7alhos seja criado apenas uma vez e n\u00e3o, seja alterado entre as renderiza\u00e7\u00f5es. Ela inclui o cabe\u00e7alho Authorization, que cont\u00e9m a chave API da Kinsta obtida das vari\u00e1veis de ambiente.<\/p>\n<pre><code class=\"language-jsx\">const handleSubmission = (e) =&gt; {\n    e.preventDefault();\n\n    const fetchEnvironmentId = async (siteId) =&gt; {\n        const resp = await fetch(\n            `${KinstaAPIUrl}\/sites\/${siteId}\/environments`,\n            {\n                method: 'GET',\n                headers\n            }\n        );\n\n        const data = await resp.json();\n        let envId = data.site.environments[0].id;\n        navigate(`\/tools\/${envId}`)\n    }\n    fetchEnvironmentId(selectedSiteId);\n}<\/code><\/pre>\n<p>No c\u00f3digo acima, \u00e9 criada uma fun\u00e7\u00e3o ass\u00edncrona (<code>fetchEnvironmentId<\/code>), que pega o <code>siteId<\/code> obtido do site selecionado e o passa para o <a href=\"https:\/\/kinsta.com\/pt\/blog\/endpoint-api\/\">endpoint da API<\/a> para recuperar os detalhes do ambiente.<\/p>\n<p>Assim que a resposta for recebida, extraia o ID do ambiente dos dados (voc\u00ea pode ter mais de um ambiente: de teste ou de produ\u00e7\u00e3o &#8211; portanto, todos eles s\u00e3o armazenados em uma array; vamos usar o ambiente de produ\u00e7\u00e3o para esta demonstra\u00e7\u00e3o) e use a fun\u00e7\u00e3o navigate (j\u00e1 importada e instanciada para voc\u00ea) para redirecionar o usu\u00e1rio para a <strong>p\u00e1gina Ferramentas <\/strong>com o ID do ambiente como par\u00e2metro de rota.<\/p>\n<p><strong>Observa\u00e7\u00e3o:<\/strong> todas essas rotas j\u00e1 est\u00e3o configuradas no <strong>arquivo App.js<\/strong>.<\/p>\n<h3>Execute tarefas de manuten\u00e7\u00e3o com a API da Kinsta no React<\/h3>\n<p>Na p\u00e1gina Ferramentas, h\u00e1 duas ferramentas que podem ser usadas para manter seu site, cada uma com dois bot\u00f5es para executar a opera\u00e7\u00e3o imediatamente ou agendar a opera\u00e7\u00e3o (as fun\u00e7\u00f5es foram criadas e os eventos <code>onClick<\/code> foram anexados a todos os bot\u00f5es para voc\u00ea). Este tutorial explicar\u00e1 apenas como reiniciar o mecanismo PHP do seu site porque \u00e9 muito semelhante a como limpar o cache do site &#8211; a \u00fanica diferen\u00e7a \u00e9 o endpoint.<\/p>\n<p>Para reiniciar o mecanismo PHP ou executar qualquer opera\u00e7\u00e3o de ferramenta do site, voc\u00ea precisa do ID do ambiente, que j\u00e1 \u00e9 passado para a <strong>p\u00e1gina Ferramentas <\/strong>como um par\u00e2metro de rota. A pr\u00f3xima etapa seria recuperar esse par\u00e2metro, armazen\u00e1-lo em uma vari\u00e1vel e, em seguida, enviar uma solicita\u00e7\u00e3o \u00e0 API da Kinsta.<\/p>\n<pre><code class=\"language-jsx\">const { envId } = useParams();<\/code><\/pre>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Isso foi feito nos arquivos iniciais. Tudo o que voc\u00ea precisa fazer \u00e9 executar a solicita\u00e7\u00e3o de API para a API da Kinsta na fun\u00e7\u00e3o <code>restartEngine<\/code>.<\/p>\n<\/aside>\n\n<p>Armazene os cabe\u00e7alhos da solicita\u00e7\u00e3o e a URL da API como vari\u00e1veis constantes, pois elas n\u00e3o mudam. Os cabe\u00e7alhos de uma solicita\u00e7\u00e3o POST diferem de uma solicita\u00e7\u00e3o GET, pois t\u00eam o valor <code>Content-Type<\/code>.<\/p>\n<pre><code class=\"language-jsx\">const KinstaAPIUrl = 'https:\/\/api.kinsta.com\/v2';\nconst headers = useMemo(() =&gt; {\n    return {\n        'Content-Type': 'application\/json',\n        Authorization: `Bearer ${process.env.REACT_APP_KINSTA_API_KEY}`\n    }\n}, [])<\/code><\/pre>\n<p>Quando o bot\u00e3o <strong>Reiniciar<\/strong> for clicado, a fun\u00e7\u00e3o <code>restartEngine<\/code> ser\u00e1 chamada. Nessa fun\u00e7\u00e3o, vamos enviar uma solicita\u00e7\u00e3o POST para a API da Kinsta, que recebe o ID do ambiente como carga \u00fatil:<\/p>\n<pre><code class=\"language-jsx\">const restartEngine = async () =&gt; {\n    const resp = await fetch(\n        `${KinstaAPIUrl}\/sites\/tools\/restart-php`,\n        {\n            method: 'POST',\n            headers,\n            body: JSON.stringify({\n                environment_id: envId\n            })\n        }\n    );\n    const data = await resp.json();\n    navigate(`\/operations\/${data.operation_id}`);\n}<\/code><\/pre>\n<p>Sempre que o c\u00f3digo acima for executado, ele acionar\u00e1 automaticamente uma reinicializa\u00e7\u00e3o do mecanismo PHP em seu site. Se voc\u00ea verificar o painel MyKinsta do seu site imediatamente, notar\u00e1 essa notifica\u00e7\u00e3o na parte superior da sua p\u00e1gina:<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/07\/php-restart-on-mykinsta.jpg\" alt=\"Rein\u00edcio do PHP no MyKinsta.\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">Rein\u00edcio do PHP no MyKinsta.<\/figcaption><\/figure>\n<p>Voc\u00ea pode verificar isso programaticamente usando o endpoint\u00a0 <code><a href=\"https:\/\/api-docs.kinsta.com\/tag\/Operations#operation\/getOperationStatus\" target=\"_blank\" rel=\"noopener noreferrer\">\/operations<\/a><\/code> da API da Kinsta. No c\u00f3digo acima, assim que essa solicita\u00e7\u00e3o for bem-sucedida, voc\u00ea ser\u00e1 automaticamente direcionado para a <strong>p\u00e1gina Opera\u00e7\u00f5es<\/strong>, juntamente com o ID da opera\u00e7\u00e3o como um par\u00e2metro de rota, onde poder\u00e1 verificar o status da opera\u00e7\u00e3o. Certifique-se de que voc\u00ea verifique a <a href=\"https:\/\/github.com\/kinsta\/site-tools-scheduler\/blob\/starter-files\/src\/pages\/Operations.jsx\" target=\"_blank\" rel=\"noopener noreferrer\">p\u00e1gina de opera\u00e7\u00f5es<\/a> para ver como isso \u00e9 tratado.<\/p>\n<h3>Como agendar uma tarefa com a API da Kinsta no React<\/h3>\n<p>Agendar uma tarefa com JavaScript significa que voc\u00ea precisa calcular o tempo estimado para que a tarefa ocorra em milissegundos e, em seguida, usar a fun\u00e7\u00e3o <code>setTimeout<\/code>.<\/p>\n<p>Na <strong>p\u00e1gina Ferramentas<\/strong>, quando voc\u00ea clica no bot\u00e3o de agendamento, \u00e9 exibido um modal com dois campos de formul\u00e1rio. Esses campos permitem que voc\u00ea selecione a <strong>data<\/strong> e a <strong>hora<\/strong> desejadas para a realiza\u00e7\u00e3o da opera\u00e7\u00e3o. Os dados inseridos s\u00e3o usados para calcular o tempo total, em milissegundos, desde o momento atual at\u00e9 o in\u00edcio da opera\u00e7\u00e3o.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/07\/schedule-tasks-ui.jpg\" alt=\"Interface do programador de ferramentas do site.\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">Interface do programador de ferramentas do site.<\/figcaption><\/figure>\n<p>Para fazer isso, extraia o dia, o m\u00eas e o ano do campo de data passando a data para um objeto <code>new Date<\/code> e, em seguida, armazene cada um deles em vari\u00e1veis separadas.<\/p>\n<pre><code class=\"language-jsx\">let year = new Date(scheduleDate).getFullYear();\nlet month = new Date(scheduleDate).getMonth();\nlet day = new Date(scheduleDate).getDate();<\/code><\/pre>\n<p>Em seguida, vamos extrair a hora e o minuto do campo de tempo:<\/p>\n<pre><code class=\"language-jsx\">let timeArray = scheduleTime.split(\":\");\nlet hour = parseInt(timeArray[0]);\nlet minute = parseInt(timeArray[1]);<\/code><\/pre>\n<p>Com esses valores obtidos, voc\u00ea pode calcular o tempo esperado em milissegundos:<\/p>\n<pre><code class=\"language-jsx\">const now = new Date();\nlet eta_ms = new Date(year, month, day, hour, minute, 0, 0).getTime() - now;<\/code><\/pre>\n<p>Nesse ponto, voc\u00ea tem o tempo esperado em milissegundos. Agora voc\u00ea pode criar uma fun\u00e7\u00e3o <code>setTimeout<\/code> que \u00e9 acionada na data e hora especificadas:<\/p>\n<pre><code class=\"language-jsx\">setTimeout(function () {\n    restartEngine();\n}, eta_ms);<\/code><\/pre>\n<p>No c\u00f3digo acima, a fun\u00e7\u00e3o <code>restartEngine()<\/code> \u00e9 chamada quando voc\u00ea atinge o tempo especificado para reiniciar o mecanismo do PHP.<\/p>\n<p>Aqui est\u00e1 a apar\u00eancia do c\u00f3digo completo:<\/p>\n<pre><code class=\"language-jsx\">const schedulePhpEngineRestart = async (e) =&gt; {\n    e.preventDefault();\n\n    let year = new Date(scheduleDate).getFullYear();\n    let month = new Date(scheduleDate).getMonth();\n    let day = new Date(scheduleDate).getDate();\n\n    let timeArray = scheduleTime.split(\":\");\n    let hour = parseInt(timeArray[0]);\n    let minute = parseInt(timeArray[1]);\n\n    const now = new Date();\n    let eta_ms = new Date(year, month, day, hour, minute, 0, 0).getTime() - now;\n\n    setTimeout(function () {\n        restartEngine();\n    }, eta_ms);\n\n    let date = `${day}-${month + 1}-${year}`;\n    let time = `${hour}:${minute}`;\n    navigate(`\/schedule\/${date}\/${time}`);\n}<\/code><\/pre>\n<p>Ao agendar uma tarefa, voc\u00ea ser\u00e1 direcionado para a <strong>p\u00e1gina de agendamento<\/strong>, onde poder\u00e1 visualizar detalhes sobre o agendamento. Quando o hor\u00e1rio programado for atingido, a fun\u00e7\u00e3o <code>setTimeout<\/code> ser\u00e1 chamada, e voc\u00ea navegar\u00e1 automaticamente para a <strong>p\u00e1gina de opera\u00e7\u00f5es<\/strong> para acompanhar o status da opera\u00e7\u00e3o.<\/p>\n<p>Nesse ponto, voc\u00ea implementou com \u00eaxito a funcionalidade de agendamento e acionou a API da Kinsta para reiniciar o mecanismo PHP do seu site. Voc\u00ea pode fazer o mesmo para limpar o cache do seu site.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Suponha que voc\u00ea queira programar a tarefa para ser repetida a cada 24 horas, 72 horas ou o que for. Tudo o que voc\u00ea precisa fazer \u00e9 converter esse tempo em milissegundos e, em seguida, criar uma instru\u00e7\u00e3o if, por exemplo:<\/p>\n<pre><code class=\"language-jsx\">const twentyFourHours = 86400000;\nif (eta_ms &lt; 0) {\n    eta_ms += twentyFourHours;\n}<\/code><\/pre>\n<p><\/p>\n<\/aside>\n\n<h2>Como implantar seu aplicativo React na Kinsta<\/h2>\n<p>Para implantar seu projeto React na <a href=\"https:\/\/sevalla.com\/application-hosting\/\">hospedagem de aplicativos<\/a> da Kinsta, voc\u00ea precisa enviar o projeto para o seu <a href=\"https:\/\/docs.sevalla.com\/applications\/get-started\/add-an-application#adding-an-application\">provedor Git preferido<\/a>. Quando seu projeto estiver hospedado no <a href=\"https:\/\/kinsta.com\/pt\/blog\/que-github\/\">GitHub<\/a>, no <a href=\"https:\/\/kinsta.com\/pt\/blog\/gitlab-vs-github\/\">GitLab<\/a> ou no <a href=\"https:\/\/kinsta.com\/pt\/blog\/bitbucket-vs-github\/\">Bitbucket<\/a>, voc\u00ea poder\u00e1 fazer a implanta\u00e7\u00e3o na Kinsta.<\/p>\n<p>Para implantar seu reposit\u00f3rio na Kinsta, siga estas etapas:<\/p>\n<ol start=\"1\">\n<li>Fa\u00e7a login ou crie sua conta Kinsta no painel MyKinsta.<\/li>\n<li>Na barra lateral esquerda, clique em &#8220;Aplicativos&#8221; e depois em &#8220;Adicionar servi\u00e7o&#8221;.<\/li>\n<li>Selecione &#8220;Aplicativo&#8221; no menu suspenso para implantar um aplicativo React na Kinsta.<\/li>\n<li>No modal que aparece, escolha o reposit\u00f3rio que voc\u00ea deseja implantar. Se voc\u00ea tiver v\u00e1rias branches, poder\u00e1 selecionar a branch desejada e dar um nome ao seu aplicativo.<\/li>\n<li>Selecione um dos 24 centros de dados dispon\u00edveis na lista de op\u00e7\u00f5es. Quando voc\u00ea fizer a escolha, a Kinsta automaticamente identificar\u00e1 e executar\u00e1 o comando start necess\u00e1rio para o seu aplicativo.<\/li>\n<\/ol>\n<p>Por fim, n\u00e3o \u00e9 seguro enviar chaves API para hosts p\u00fablicos, como seu provedor Git. Ao hospedar, voc\u00ea pode adicion\u00e1-las como <a href=\"https:\/\/docs.sevalla.com\/applications\/environment-variables\">vari\u00e1veis de ambiente<\/a> usando o mesmo nome e valor de vari\u00e1vel especificados no <strong> arquivo .env<\/strong>.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2023\/07\/set-environment-variables-on-mykinsta-when-deploying.jpg\" alt=\"Defina as vari\u00e1veis de ambiente no MyKinsta quando voc\u00ea estiver implementando.\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">Defina as vari\u00e1veis de ambiente no MyKinsta quando voc\u00ea estiver implementando.<\/figcaption><\/figure>\n<p>Quando voc\u00ea inicia a implanta\u00e7\u00e3o do seu aplicativo, o processo come\u00e7a e \u00e9 normalmente conclu\u00eddo em alguns minutos. Uma implanta\u00e7\u00e3o bem-sucedida gera um link para o seu aplicativo, como <strong>http:\/\/site-tools-scheduler-6u1a5.kinsta.app\/<\/strong>.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Voc\u00ea pode ativar a implanta\u00e7\u00e3o autom\u00e1tica, para que a Kinsta reimplante seu aplicativo sempre que voc\u00ea alterar sua base de c\u00f3digo e envi\u00e1-la para o host do Git.<\/p>\n<\/aside>\n\n<h2>Resumo<\/h2>\n<p>Com a API da Kinsta, voc\u00ea pode cuidar de tarefas recorrentes para seus sites WordPress de forma ainda mais eficiente. E, em um futuro pr\u00f3ximo, voc\u00ea poder\u00e1 fazer ainda mais.<\/p>\n<p>Neste artigo, voc\u00ea aprendeu como tirar proveito da API da Kinsta criando um aplicativo React do zero &#8211; tamb\u00e9m hospedado na Kinsta &#8211; que permite agendar a reinicializa\u00e7\u00e3o do PHP e limpar o cache do site por meio de um bom painel que voc\u00ea tamb\u00e9m pode clonar e personalizar para o seu pr\u00f3prio caso de uso.<\/p>\n<p><em>Como voc\u00ea est\u00e1 usando a API da Kinsta? Quais recursos voc\u00ea gostaria de ver adicionados\/expostos em seguida?<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ao longo dos anos, a Kinsta fez um progresso significativo na simplifica\u00e7\u00e3o do gerenciamento de sites por meio do painel MyKinsta. Esse poderoso painel permite que &#8230;<\/p>\n","protected":false},"author":287,"featured_media":61279,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[951,983],"class_list":["post-61278","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-api","topic-servicos-kinsta"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Agende suas Tarefas de Manuten\u00e7\u00e3o com a API da Kinsta (Limpar o Cache, Reiniciar o Mecanismo PHP)- Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Aprenda como construir um aplicativo React para agendar tarefas de manuten\u00e7\u00e3o, como limpar o cache e reiniciar o mecanismo PHP usando a API da Kinsta.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Agende suas Tarefas de Manuten\u00e7\u00e3o com a API da Kinsta (Limpar o Cache, Reiniciar o Mecanismo PHP)\" \/>\n<meta property=\"og:description\" content=\"Aprenda como construir um aplicativo React para agendar tarefas de manuten\u00e7\u00e3o, como limpar o cache e reiniciar o mecanismo PHP usando a API da Kinsta.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstapt\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-20T09:52:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-31T14:12:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/07\/restart-php-api.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Joel Olawanle\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Aprenda como construir um aplicativo React para agendar tarefas de manuten\u00e7\u00e3o, como limpar o cache e reiniciar o mecanismo PHP usando a API da Kinsta.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/07\/restart-php-api.png\" \/>\n<meta name=\"twitter:creator\" content=\"@olawanle_joel\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joel Olawanle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"Agende suas Tarefas de Manuten\u00e7\u00e3o com a API da Kinsta (Limpar o Cache, Reiniciar o Mecanismo PHP)\",\"datePublished\":\"2023-07-20T09:52:19+00:00\",\"dateModified\":\"2025-01-31T14:12:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/\"},\"wordCount\":3416,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/07\/restart-php-api.png\",\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/\",\"url\":\"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/\",\"name\":\"Agende suas Tarefas de Manuten\u00e7\u00e3o com a API da Kinsta (Limpar o Cache, Reiniciar o Mecanismo PHP)- Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/07\/restart-php-api.png\",\"datePublished\":\"2023-07-20T09:52:19+00:00\",\"dateModified\":\"2025-01-31T14:12:24+00:00\",\"description\":\"Aprenda como construir um aplicativo React para agendar tarefas de manuten\u00e7\u00e3o, como limpar o cache e reiniciar o mecanismo PHP usando a API da Kinsta.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/07\/restart-php-api.png\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/07\/restart-php-api.png\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API\",\"item\":\"https:\/\/kinsta.com\/pt\/topicos\/api\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Agende suas Tarefas de Manuten\u00e7\u00e3o com a API da Kinsta (Limpar o Cache, Reiniciar o Mecanismo PHP)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/pt\/#website\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstapt\/\",\"https:\/\/x.com\/kinsta_pt\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\",\"name\":\"Joel Olawanle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g\",\"caption\":\"Joel Olawanle\"},\"description\":\"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.\",\"sameAs\":[\"https:\/\/joelolawanle.com\/\",\"https:\/\/www.linkedin.com\/in\/olawanlejoel\/\",\"https:\/\/x.com\/olawanle_joel\",\"https:\/\/www.youtube.com\/@joelolawanle\"],\"gender\":\"male\",\"knowsAbout\":[\"JavaScript\",\"React\",\"Next.js\"],\"knowsLanguage\":[\"English\"],\"jobTitle\":\"Technical Editor\",\"worksFor\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/pt\/blog\/author\/joelolawanle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Agende suas Tarefas de Manuten\u00e7\u00e3o com a API da Kinsta (Limpar o Cache, Reiniciar o Mecanismo PHP)- Kinsta\u00ae","description":"Aprenda como construir um aplicativo React para agendar tarefas de manuten\u00e7\u00e3o, como limpar o cache e reiniciar o mecanismo PHP usando a API da Kinsta.","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:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/","og_locale":"pt_PT","og_type":"article","og_title":"Agende suas Tarefas de Manuten\u00e7\u00e3o com a API da Kinsta (Limpar o Cache, Reiniciar o Mecanismo PHP)","og_description":"Aprenda como construir um aplicativo React para agendar tarefas de manuten\u00e7\u00e3o, como limpar o cache e reiniciar o mecanismo PHP usando a API da Kinsta.","og_url":"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstapt\/","article_published_time":"2023-07-20T09:52:19+00:00","article_modified_time":"2025-01-31T14:12:24+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/07\/restart-php-api.png","type":"image\/png"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"Aprenda como construir um aplicativo React para agendar tarefas de manuten\u00e7\u00e3o, como limpar o cache e reiniciar o mecanismo PHP usando a API da Kinsta.","twitter_image":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/07\/restart-php-api.png","twitter_creator":"@olawanle_joel","twitter_site":"@kinsta_pt","twitter_misc":{"Escrito por":"Joel Olawanle","Tempo estimado de leitura":"18 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"Agende suas Tarefas de Manuten\u00e7\u00e3o com a API da Kinsta (Limpar o Cache, Reiniciar o Mecanismo PHP)","datePublished":"2023-07-20T09:52:19+00:00","dateModified":"2025-01-31T14:12:24+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/"},"wordCount":3416,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/07\/restart-php-api.png","inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/","url":"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/","name":"Agende suas Tarefas de Manuten\u00e7\u00e3o com a API da Kinsta (Limpar o Cache, Reiniciar o Mecanismo PHP)- Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/07\/restart-php-api.png","datePublished":"2023-07-20T09:52:19+00:00","dateModified":"2025-01-31T14:12:24+00:00","description":"Aprenda como construir um aplicativo React para agendar tarefas de manuten\u00e7\u00e3o, como limpar o cache e reiniciar o mecanismo PHP usando a API da Kinsta.","breadcrumb":{"@id":"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/#primaryimage","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/07\/restart-php-api.png","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/07\/restart-php-api.png","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/pt\/blog\/agendar-tarefas-api-kinsta\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/pt\/"},{"@type":"ListItem","position":2,"name":"API","item":"https:\/\/kinsta.com\/pt\/topicos\/api\/"},{"@type":"ListItem","position":3,"name":"Agende suas Tarefas de Manuten\u00e7\u00e3o com a API da Kinsta (Limpar o Cache, Reiniciar o Mecanismo PHP)"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/pt\/#website","url":"https:\/\/kinsta.com\/pt\/","name":"Kinsta\u00ae","description":"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura","publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/pt\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstapt\/","https:\/\/x.com\/kinsta_pt","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07","name":"Joel Olawanle","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/051bf577ce2c837846a1db9eef184758?s=96&d=mm&r=g","caption":"Joel Olawanle"},"description":"Joel is a Frontend developer working at Kinsta as a Technical Editor. He is a passionate teacher with love for open source and has written over 300 technical articles majorly around JavaScript and it's frameworks.","sameAs":["https:\/\/joelolawanle.com\/","https:\/\/www.linkedin.com\/in\/olawanlejoel\/","https:\/\/x.com\/olawanle_joel","https:\/\/www.youtube.com\/@joelolawanle"],"gender":"male","knowsAbout":["JavaScript","React","Next.js"],"knowsLanguage":["English"],"jobTitle":"Technical Editor","worksFor":"Kinsta","url":"https:\/\/kinsta.com\/pt\/blog\/author\/joelolawanle\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/61278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/users\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/comments?post=61278"}],"version-history":[{"count":14,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/61278\/revisions"}],"predecessor-version":[{"id":61565,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/61278\/revisions\/61565"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/61278\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/61278\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/61278\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/61278\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/61278\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/61278\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/61278\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/61278\/translations\/es"},{"href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/61278\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media\/61279"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media?parent=61278"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/tags?post=61278"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/topic?post=61278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}