{"id":68213,"date":"2023-07-20T11:49:43","date_gmt":"2023-07-20T09:49:43","guid":{"rendered":"https:\/\/kinsta.com\/es\/?p=68213&#038;preview=true&#038;preview_id=68213"},"modified":"2023-08-20T15:12:53","modified_gmt":"2023-08-20T13:12:53","slug":"programar-tareas-api-kinsta","status":"publish","type":"post","link":"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/","title":{"rendered":"Programa tus Tareas de Mantenimiento con la API de Kinsta (Borrar Cach\u00e9, Reiniciar Motor PHP)"},"content":{"rendered":"<p>A lo largo de los a\u00f1os, Kinsta ha progresado significativamente en la optimizaci\u00f3n de la gesti\u00f3n de sitios web a trav\u00e9s del panel de control <a href=\"https:\/\/my.kinsta.com\/?lang=es\">MyKinsta<\/a>. Este potente panel permite a los usuarios gestionar sus sitios y realizar diversas acciones de mantenimiento, como <a href=\"https:\/\/kinsta.com\/es\/docs\/alojamiento-wordpress\/php\/#restart-php\">reiniciar el motor PHP<\/a> y <a href=\"https:\/\/kinsta.com\/es\/docs\/alojamiento-wordpress\/cache\/cache-del-sitio\/#manage-and-clear-cache-in-your-wordpress-dashboard\">borrar la cach\u00e9 de su sitio<\/a>.<\/p>\n<p>Sin embargo, la introducci\u00f3n de <a href=\"https:\/\/kinsta.com\/es\/docs\/api-kinsta\/\">la API de Kinsta<\/a> lleva la gesti\u00f3n de sitios web a un nivel completamente nuevo. Ahora los <a href=\"https:\/\/kinsta.com\/es\/blog\/tipos-de-desarrolladores\/\">desarrolladores<\/a> pueden aprovechar la potencia de la API de Kinsta para mejorar el proceso de gesti\u00f3n, <a href=\"https:\/\/kinsta.com\/es\/blog\/api-wordpress\/\">crear interfaces personalizadas<\/a> e incluso crear aplicaciones de programaci\u00f3n para automatizar tareas esenciales.<\/p>\n<p>Este tutorial se adentra en el mundo de la API Kinsta y explica c\u00f3mo crear una aplicaci\u00f3n <a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-react-js\/\">React<\/a> para programar tareas de mantenimiento esenciales como reinicios del motor PHP y limpieza de la cach\u00e9 con la API de Kinsta.<\/p>\n<p>Aqu\u00ed tienes una demostraci\u00f3n en tiempo real de la <a href=\"https:\/\/site-tools-scheduler-6u1a5.kinsta.app\/\" target=\"_blank\" rel=\"noopener noreferrer\">aplicaci\u00f3n programaci\u00f3n de herramientas del sitio<\/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=\"Demostraci\u00f3n de la aplicaci\u00f3n Site Tools Scheduler\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">Demostraci\u00f3n de la aplicaci\u00f3n Site Tools Scheduler<\/figcaption><\/figure>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Si quieres probar esto con tu alojamiento administrado de WordPress, no dudes en utilizar <a href=\"https:\/\/github.com\/kinsta\/site-tools-scheduler\">esta plantilla de GitHub<\/a>, desplegarla y a\u00f1adir el ID de tu empresa y la clave API como variables de entorno. Consulta el <a href=\"https:\/\/github.com\/kinsta\/site-tools-scheduler\/blob\/main\/README.md\" target=\"_blank\" rel=\"noopener noreferrer\">archivo Readme.md<\/a> para m\u00e1s detalles.<\/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>Comprender la API de Kinsta<\/h2>\n<p>La API de <a href=\"https:\/\/kinsta.com\/es\/changelog\/api-kinsta\/\">Kinsta<\/a> es una potente herramienta que te permite interactuar con la plataforma de <a href=\"https:\/\/kinsta.com\/es\/wordpress-hosting\/\">Alojamiento Administrado de WordPress<\/a> de Kinsta mediante programaci\u00f3n. Puede ayudarte a automatizar varias tareas relacionadas con los servicios proporcionados por Kinsta, incluyendo la creaci\u00f3n de sitios, la recuperaci\u00f3n de informaci\u00f3n del sitio, la <a href=\"https:\/\/kinsta.com\/es\/blog\/kinsta-api-key\/#how-to-use-kinsta-api-to-build-a-status-checker\">obtenci\u00f3n del estado de un sitio<\/a> y mucho m\u00e1s.<\/p>\n<p>Para utilizar la API de Kinsta, debes tener una cuenta con al menos un sitio, <a href=\"https:\/\/sevalla.com\/application-hosting\/\">aplicaci\u00f3n<\/a> o <a href=\"https:\/\/sevalla.com\/database-hosting\/\">base de datos<\/a> de WordPress en MyKinsta. Tambi\u00e9n necesitas generar una clave API para autenticarte y acceder a tu cuenta a trav\u00e9s de la API.<\/p>\n<p>Para generar una clave API:<\/p>\n<ol start=\"1\">\n<li>Ve a tu panel de MyKinsta.<\/li>\n<li>Ve a la p\u00e1gina <strong>Claves API<\/strong> (<strong>Tu nombre<\/strong> &gt; <strong>Configuraci\u00f3n de la empresa<\/strong> &gt; <strong>Claves API<\/strong>).<\/li>\n<li>Haz clic en <strong>Crear Clave API<\/strong>.<\/li>\n<li>Elige una fecha de caducidad o establece una fecha de inicio personalizada y un n\u00famero de horas para que caduque la clave.<\/li>\n<li>Dale a la clave un nombre \u00fanico.<\/li>\n<li>Haz clic en <strong>Generar<\/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=\"Crear clave API en MyKinsta.\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">Crear clave API en MyKinsta.<\/figcaption><\/figure>\n<p>Despu\u00e9s de crear una clave API, c\u00f3piala y gu\u00e1rdala en alg\u00fan lugar seguro (puedes utilizar un <a href=\"https:\/\/kinsta.com\/es\/blog\/administradores-contrasenas\/\">gestor de contrase\u00f1as<\/a>), ya que es la <strong>\u00fanica vez<\/strong> que se revela dentro de MyKinsta. Puedes generar m\u00faltiples claves API \u2014 est\u00e1n listadas en la p\u00e1gina <strong>Claves API<\/strong>. Si necesitas revocar una clave API, haz clic en <strong>Revocar<\/strong> junto a la que quieras revocar.<\/p>\n<h2>C\u00f3mo Utilizar las Herramientas de Sitio de Kinsta con la API de Kinsta<\/h2>\n<p>Las <a href=\"https:\/\/kinsta.com\/es\/docs\/alojamiento-wordpress\/herramientas-mykinsta\/\">herramientas de sitio de Kinsta<\/a> son un conjunto de herramientas a disposici\u00f3n de los usuarios de Kinsta para ayudarles a gestionar y mantener sus sitios de WordPress. Estas herramientas est\u00e1n disponibles a trav\u00e9s de MyKinsta (<strong>Sitios WordPress<\/strong> &gt; <strong>nombre del sitio<\/strong> &gt; <strong>Herramientas<\/strong>), pero no todas son compatibles con la API de Kinsta en este momento. Nuestro equipo est\u00e1 trabajando constantemente para a\u00f1adir las pr\u00f3ximas funciones, siguiendo de cerca y escuchando los comentarios, como comparte Kristof Siket, jefe del equipo de desarrollo de la API de Kinsta:<\/p>\n<blockquote><p><em>Los comentarios de los usuarios impulsan la priorizaci\u00f3n de la exposici\u00f3n de funciones. El plan actual no cubre totalmente la p\u00e1gina Herramientas; en su lugar, las funciones se basan en las peticiones de los usuarios y en los comentarios recogidos.<\/em><em>Si crees que una herramienta o endpoint espec\u00edfico deber\u00eda incluirse en la API de Kinsta, no dudes en <a href=\"https:\/\/kinsta.com\/es\/docs\/servicio-de-informacion\/programa-de-investigacion-kinsta\/#how-to-join\">enviar tus comentarios<\/a><\/em>.<\/p><\/blockquote>\n<p>Para utilizar las herramientas de sitio proporcionadas por Kinsta, es necesario obtener el ID de entorno de tu sitio. Cada sitio en MyKinsta tiene al menos un entorno, cada uno con un ID \u00fanico. Para recuperar el ID del entorno, puedes aprovechar la API de Kinsta obteniendo primero el ID de tu sitio y utiliz\u00e1ndolo despu\u00e9s como par\u00e1metro para acceder a los datos del entorno correspondiente.<\/p>\n<p>Para recuperar el ID de tu sitio, puedes utilizar el endpoint <code><a href=\"https:\/\/api-docs.kinsta.com\/tag\/WordPress-Sites#operation\/getSites\" target=\"_blank\" rel=\"noopener noreferrer\">\/sites<\/a><\/code> que devuelve una lista de tus sitios. Una vez que hayas obtenido el ID del sitio, puedes recuperar el ID del entorno haciendo una solicitud GET al endpoint <code>\/sites<\/code>, especificando el ID y a\u00f1adiendo el par\u00e1metro <code><a href=\"https:\/\/api-docs.kinsta.com\/tag\/WordPress-Sites#operation\/getSiteEnvironments\" target=\"_blank\" rel=\"noopener noreferrer\">\/environments<\/a><\/code> al endpoint.<\/p>\n<p>Aqu\u00ed tienes un fragmento de c\u00f3digo de ejemplo que demuestra c\u00f3mo conseguirlo utilizando la <a href=\"https:\/\/kinsta.com\/es\/blog\/javascript-peticion-http\/#4-how-to-make-an-http-request-in-javascript-using-the-fetch-api\">API Fetch de JavaScript<\/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>En el c\u00f3digo anterior, defines la variable <code>siteId<\/code> con el ID de tu sitio. A continuaci\u00f3n, realiza una solicitud de obtenci\u00f3n al endpoint de la API de Kinsta para recuperar los entornos del sitio especificado. Aseg\u00farate de incluir la clave API en la cabecera de Autorizaci\u00f3n.<\/p>\n<p>Tras recibir la respuesta, los datos se registran en la consola, que contiene los detalles de tu(s) entorno(s), incluido el 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>Ahora que ya sabes c\u00f3mo acceder al ID de tu entorno, vamos a utilizar las herramientas del sitio de Kinsta mediante programaci\u00f3n.<\/p>\n<h3>C\u00f3mo Borrar la Cach\u00e9 del Sitio con la API de Kinsta<\/h3>\n<p>Para borrar la cach\u00e9 de tu sitio con la API de Kinsta, enviar\u00e1s una solicitud post al 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>. Esto requiere que pases el ID de entorno como cuerpo de la solicitud.<\/p>\n<p>El siguiente c\u00f3digo muestra c\u00f3mo hacerlo utilizando JavaScript y la 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>En el c\u00f3digo anterior, se define una funci\u00f3n <code>clearSiteCache<\/code> que recibe dos par\u00e1metros: la URL del endpoint de la API y un objeto que contiene la configuraci\u00f3n para la solicitud de obtenci\u00f3n. La configuraci\u00f3n incluye los campos <code>method<\/code>, <code>headers<\/code>, y <code>body<\/code>.<\/p>\n<p>El campo <code>body<\/code> es donde pasas el payload de la solicitud, que es el ID del entorno. Utiliza <code>JSON.stringify<\/code> para convertir el objeto en una cadena JSON. Sustituye el valor <code>environment_id<\/code> por el ID real del entorno que quieres reiniciar. Una vez enviada la solicitud, los datos de respuesta se registran en la consola.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Muy similar a como borras la cach\u00e9 de tu sitio es como reiniciar el motor PHP de tu sitio con la API de Kinsta. La \u00fanica diferencia es el endpoint, pues ya no es <code>\/clear-cache<\/code> sino <code><a href=\"https:\/\/api-docs.kinsta.com\/tag\/Site-Tools#operation\/restartPhpEngine\" target=\"_blank\" rel=\"noopener noreferrer\">\/restart-php<\/a><\/code> \u2014 https:\/\/api.kinsta.com\/v2\/sites\/tools\/restart-php. Todos los dem\u00e1s par\u00e1metros y consultas son los mismos.<\/p>\n<\/aside>\n\n<h2>Crear una Aplicaci\u00f3n React para Programar Tareas de Mantenimiento con la API de Kinsta<\/h2>\n<p>Con la introducci\u00f3n de la API de Kinsta, ahora puedes construir interfaces personalizadas que proporcionan una flexibilidad sin precedentes. Un ejemplo es una aplicaci\u00f3n que te permite programar las tareas de mantenimiento de tu sitio. Imagina programar la limpieza de la cach\u00e9 de tu sitio o el reinicio del motor PHP para que se produzca autom\u00e1ticamente a medianoche en una ubicaci\u00f3n espec\u00edfica. Esto puede ayudarte a garantizar un rendimiento \u00f3ptimo sin dificultad.<\/p>\n<h3>C\u00f3mo Empezar<\/h3>\n<p>Para seguir este tutorial, es aconsejable tener conocimientos b\u00e1sicos de <a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-el-html\/\">HTML<\/a>, <a href=\"https:\/\/kinsta.com\/es\/blog\/buenas-practicas-css\/\">CSS<\/a> y <a href=\"https:\/\/kinsta.com\/javascript\/\">JavaScript<\/a> y cierta familiaridad con React. El objetivo principal de este proyecto es demostrar la utilizaci\u00f3n de la API Kinsta, por lo que este art\u00edculo no profundiza en los detalles de la creaci\u00f3n o el estilo de la interfaz de usuario, ni en otros aspectos l\u00f3gicos.<\/p>\n<p>Para agilizar el proceso de configuraci\u00f3n del proyecto, se ha preparado para ti un proyecto de inicio. Sigue estos pasos para empezar:<\/p>\n<p>1. Crea un repositorio <a href=\"https:\/\/kinsta.com\/es\/secciones\/git\/\">Git<\/a> utilizando <a href=\"https:\/\/github.com\/kinsta\/site-tools-scheduler\">esta plantilla en GitHub<\/a>. Selecciona <strong>Utilizar esta plantilla<\/strong> &gt; <strong>Crear un nuevo repositorio<\/strong> para copiar el c\u00f3digo de inicio en un nuevo repositorio dentro de tu cuenta de GitHub, y aseg\u00farate de marcar la casilla para <strong>incluir todas las ramas<\/strong>.<\/p>\n<p>2. Descarga el repositorio a tu ordenador local y cambia a la rama <a href=\"https:\/\/github.com\/kinsta\/site-tools-scheduler\/tree\/starter-files\" target=\"_blank\" rel=\"noopener noreferrer\">starter-files<\/a> utilizando el siguiente comando:<\/p>\n<pre><code class=\"language-bash\">git checkout starter-files<\/code><\/pre>\n<p>3. Instala las dependencias necesarias ejecutando el comando <code>npm install<\/code>. Una vez completada la instalaci\u00f3n, puedes lanzar el proyecto en tu ordenador local con <code>npm run start<\/code>. Esto abre el proyecto en <a href=\"http:\/\/localhost:3000\/\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/localhost:3000\/<\/a>.<\/p>\n<h3>Comprender los Archivos del Proyecto<\/h3>\n<p>Dentro de la <strong>carpeta src<\/strong> de este proyecto hay dos subcarpetas principales: <strong>components<\/strong>\u00a0y <strong>pages<\/strong>. La carpeta components contiene componentes reutilizables, como el <strong>Header<\/strong> y el <b>Footer<\/b>\u00a0que se utilizan en todas las p\u00e1ginas (<strong>Home<\/strong>, <strong>Operations<\/strong>, <strong>Tools<\/strong>, <strong>Schedule<\/strong>).<\/p>\n<p>En este proyecto, tu objetivo principal es implementar la l\u00f3gica en las <strong>Home<\/strong> y <strong>Tools<\/strong>, ya que el estilo, el enrutamiento y otra l\u00f3gica ya est\u00e1n hechos.<\/p>\n<p>La <strong>p\u00e1gina de Inicio<\/strong> tiene un formulario que enumera todos los sitios de tu cuenta MyKinsta. Cada vez que se muestra esta p\u00e1gina, el <a href=\"https:\/\/kinsta.com\/es\/blog\/react-efecos-secundarios\/\">hook useEffect<\/a> inmediatamente <a href=\"https:\/\/kinsta.com\/es\/blog\/kinsta-api-key\/#fetch-list-of-sites-with-kinsta-api\">recupera una lista de todos tus sitios<\/a> y los rellena en un campo de formulario de selecci\u00f3n. El ID de cada sitio se utiliza como valor para la opci\u00f3n correspondiente.<\/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=\"Aplicaci\u00f3n React personalizada para la gesti\u00f3n de herramientas del sitio Kinsta\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">Aplicaci\u00f3n React personalizada para la gesti\u00f3n de herramientas de sitios Kinsta.<\/figcaption><\/figure>\n<p>Cuando se selecciona un sitio y se pulsa el bot\u00f3n \u00abContinuar\u00bb, se activa la funci\u00f3n <code>handleSubmission<\/code>. En esta funci\u00f3n, se utiliza la API de Kinsta para recuperar el ID de entorno del sitio. A continuaci\u00f3n, pasa este ID como par\u00e1metro de ruta a la <strong>p\u00e1gina Tools<\/strong>.<\/p>\n<p>La <strong>p\u00e1gina<\/strong> <strong>Tools<\/strong> es donde puedes realizar y programar tareas de mantenimiento para el sitio seleccionado, como borrar la cach\u00e9 del sitio o reiniciar el motor PHP. Para realizar cualquiera de estas acciones en la <strong>p\u00e1gina Tools<\/strong>, necesitas el ID de entorno. Por lo tanto, se pasa como par\u00e1metro de ruta a esta 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=\"Gesti\u00f3n de herramientas del sitio Kinsta\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">Gesti\u00f3n de herramientas del sitio Kinsta.<\/figcaption><\/figure>\n<p>Cuando inicias acciones como borrar la cach\u00e9 del sitio o reiniciar el motor PHP, se te dirige autom\u00e1ticamente a la <strong>p\u00e1gina Operations<\/strong>. Aqu\u00ed, puedes seguir el progreso de tu operaci\u00f3n utilizando su ID asignado.<\/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=\"Estado de la operaci\u00f3n de las herramientas del sitio Kinsta.\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">Estado de la operaci\u00f3n de las herramientas del sitio Kinsta.<\/figcaption><\/figure>\n<p>Cuando programes una tarea, se te redirigir\u00e1 a la <strong>p\u00e1gina Schedule<\/strong>, que muestra informaci\u00f3n detallada sobre la tarea programada.<\/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 informaci\u00f3n sobre la programaci\u00f3n de las herramientas del sitio Kinsta.\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">P\u00e1gina de informaci\u00f3n sobre la programaci\u00f3n de las herramientas del sitio Kinsta.<\/figcaption><\/figure>\n<p>Una vez alcanzada la hora programada, la operaci\u00f3n espec\u00edfica comienza y te redirige autom\u00e1ticamente a la <strong>p\u00e1gina Operations<\/strong>, donde puedes supervisar el progreso de la operaci\u00f3n.<\/p>\n<h2>Interactuar con la API de Kinsta en React<\/h2>\n<p>Con la interfaz de usuario (UI) ahora en su lugar, tu siguiente paso es gestionar el env\u00edo del formulario en la <strong>p\u00e1gina de Inicio<\/strong> y recuperar el ID de entorno de tu sitio seleccionado a trav\u00e9s de la API de Kinsta antes de navegar al usuario a la <strong>p\u00e1gina Tools<\/strong>\u00a0con el ID como par\u00e1metro de ruta.<\/p>\n<p>Para interactuar con la API de Kinsta, necesitas <strong>el ID de tu empresa<\/strong> y <strong>la clave API<\/strong>. Al realizar llamadas a la API en un proyecto que se alojar\u00e1 en la nube, tus credenciales, como la clave de la API, deben almacenarse de forma segura para evitar cualquier forma de compromiso.<\/p>\n<p>Puedes almacenarlas de forma segura como variables de entorno en tu aplicaci\u00f3n React creando un <strong> archivo .env<\/strong> en la carpeta root de tu proyecto. En este archivo, a\u00f1ade las siguientes l\u00edneas:<\/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 acceder a estas variables de entorno dentro de tu proyecto, puedes utilizar la sintaxis <code>process.env.THE_VARIABLE<\/code>. Por ejemplo, para acceder a <code>REACT_APP_KINSTA_COMPANY_ID<\/code>, utilizar\u00edas <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>Es importante a\u00f1adir el <strong> archivo .env<\/strong> a tu <a href=\"https:\/\/kinsta.com\/es\/blog\/gitignore-no-funciona\/\">archivo .gitignore<\/a> para evitar que el archivo se env\u00ede a GitHub. Esto garantiza que tu informaci\u00f3n sensible, como las claves API, permanezca privada y segura.<\/p>\n<\/aside>\n\n<h3>Obtener el ID de Entorno con la API de Kinsta en React<\/h3>\n<p>En la <strong>p\u00e1gina de inicio<\/strong>, cuando se selecciona un sitio y se pulsa el bot\u00f3n de env\u00edo, se activa la funci\u00f3n <code>handleSubmission<\/code>. Esta funci\u00f3n utiliza la API Fetch (o tu m\u00e9todo de solicitud HTTP preferido) para realizar una solicitud GET a la API Kinsta.<\/p>\n<p>Para evitar repetir las cabeceras y la URL de la API Kinsta en cada llamada a la API, vamos a almacenar las <code>headers<\/code> y <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>La variable <code>KinstaAPIUrl<\/code> almacena la URL base de la API Kinsta. La constante <code>headers<\/code> se crea utilizando el <a href=\"https:\/\/kinsta.com\/es\/blog\/react-usecallback\/#reacts-usecallback-vs-usememo\">hook useMemo<\/a> para garantizar que el objeto headers s\u00f3lo se crea una vez y no cambia entre renders. Incluye la cabecera Autorizaci\u00f3n, que contiene la clave de la API Kinsta obtenida de las variables de entorno.<\/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>En el c\u00f3digo anterior, se crea una funci\u00f3n as\u00edncrona (<code>fetchEnvironmentId<\/code>), que toma el <code>siteId<\/code> obtenido del sitio seleccionado y lo pasa al <a href=\"https:\/\/kinsta.com\/es\/blog\/punto-final-de-la-api\/\">endpoint de la API<\/a> para recuperar los detalles del entorno.<\/p>\n<p>Una vez recibida la respuesta, extrae el ID del entorno de los datos (puedes tener m\u00e1s de un entorno: de staging o producci\u00f3n \u2014 por lo que todos se almacenan en un array, vamos a utilizar el entorno en producci\u00f3n para esta demostraci\u00f3n) y utiliza la funci\u00f3n navegar (ya importada e instanciada para ti) para redirigir al usuario a la <strong>p\u00e1gina Tools<\/strong> con el ID del entorno como par\u00e1metro de ruta.<\/p>\n<p><strong>Nota:<\/strong> Todas estas rutas ya est\u00e1n configuradas en el <strong>archivo App.js<\/strong>.<\/p>\n<h3>Realizar Tareas de Mantenimiento con la API de Kinsta en React<\/h3>\n<p>En la P\u00e1gina Tools, hay dos herramientas que se pueden utilizar para mantener tu sitio, cada una con dos botones para realizar la operaci\u00f3n inmediatamente o programar la operaci\u00f3n (se han creado las funciones y se han adjuntado eventos <code>onClick<\/code> a todos los botones para ti). Este tutorial s\u00f3lo explicar\u00e1 c\u00f3mo reiniciar el motor PHP de tu sitio porque es muy similar a c\u00f3mo borrar la cach\u00e9 de tu sitio \u2014 la \u00fanica diferencia es el endpoint.<\/p>\n<p>Para reiniciar el motor PHP o realizar cualquier operaci\u00f3n de la herramienta del sitio, necesitas el ID del entorno, que ya se pasa a la <strong>p\u00e1gina Tools<\/strong> como par\u00e1metro de ruta. El siguiente paso ser\u00eda recuperar este par\u00e1metro, almacenarlo en una variable y, a continuaci\u00f3n, enviar una solicitud a la API de 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>Esto se ha gestionado en los archivos de inicio. Todo lo que tienes que hacer es realizar la solicitud a la API de Kinsta en la funci\u00f3n <code>restartEngine<\/code>.<\/p>\n<\/aside>\n\n<p>Guarda las cabeceras de la solicitud y la URL de la API como variables constantes, ya que no cambian. Las cabeceras de una solicitud POST son diferentes de las de una solicitud GET, ya que tienen el 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>Cuando se pulse el bot\u00f3n <strong>Restart<\/strong>, se llamar\u00e1 a la funci\u00f3n <code>restartEngine<\/code>. En esta funci\u00f3n, vamos a enviar una solicitud POST a la API Kinsta, que toma el ID del entorno 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>Cada vez que se ejecute el c\u00f3digo anterior, se activar\u00e1 autom\u00e1ticamente un reinicio del motor PHP en tu sitio. Si compruebas inmediatamente el panel MyKinsta de tu sitio, ver\u00e1s esta notificaci\u00f3n en la parte superior de tu 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=\"Reinicio de PHP en MyKinsta.\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">Reinicio de PHP en MyKinsta.<\/figcaption><\/figure>\n<p>Puedes comprobarlo mediante programaci\u00f3n utilizando el endpoint <code><a href=\"https:\/\/api-docs.kinsta.com\/tag\/Operations#operation\/getOperationStatus\" target=\"_blank\" rel=\"noopener noreferrer\">\/operations<\/a><\/code> de la API de Kinsta. En el c\u00f3digo anterior, una vez que esta solicitud tiene \u00e9xito, se te redirige autom\u00e1ticamente a la <strong>p\u00e1gina Operations<\/strong> junto con el ID de la operaci\u00f3n como par\u00e1metro de ruta, donde puedes comprobar el estado de la operaci\u00f3n. Aseg\u00farate de comprobar la <a href=\"https:\/\/github.com\/kinsta\/site-tools-scheduler\/blob\/starter-files\/src\/pages\/Operations.jsx\">p\u00e1gina operations<\/a> para ver c\u00f3mo se gestiona esto.<\/p>\n<h3>C\u00f3mo Programar una Tarea con la API de Kinsta en React<\/h3>\n<p>Programar una tarea con JavaScript significa que tienes que calcular el tiempo estimado para que se produzca la tarea en milisegundos y luego utilizar la funci\u00f3n <code>setTimeout<\/code>.<\/p>\n<p>En la <strong>p\u00e1gina Tools<\/strong>, cuando se pulsa el bot\u00f3n Schedule, aparece un modal con dos campos de formulario. Estos campos te permiten seleccionar la <strong>fecha<\/strong> y <strong>hora<\/strong> deseadas para que tenga lugar la operaci\u00f3n. Los datos introducidos se utilizan para calcular el tiempo total, en milisegundos, desde el momento actual hasta cuando se espera que comience la operaci\u00f3n.<\/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=\"Interfaz del programador de herramientas del sitio.\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">Interfaz del programador de herramientas del sitio.<\/figcaption><\/figure>\n<p>Para ello, extrae el d\u00eda, el mes y el a\u00f1o del campo de fecha pasando la fecha a un objeto <code>new Date<\/code>, y luego almacena cada uno de ellos en variables 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>A continuaci\u00f3n, extraigamos la hora y los minutos del campo hora:<\/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>Con estos valores obtenidos, puedes calcular el tiempo previsto en milisegundos:<\/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>En este punto, tienes el tiempo esperado en milisegundos. Ahora puedes crear una funci\u00f3n <code>setTimeout<\/code> que se active en la fecha y hora especificadas:<\/p>\n<pre><code class=\"language-jsx\">setTimeout(function () {\n    restartEngine();\n}, eta_ms);<\/code><\/pre>\n<p>En el c\u00f3digo anterior, se llama a la funci\u00f3n <code>restartEngine()<\/code> cuando se alcanza la hora especificada para reiniciar el motor PHP.<\/p>\n<p>Este es el aspecto que tendr\u00e1 el 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>Cuando programes una tarea, se te redirigir\u00e1 a la <strong>p\u00e1gina Schedule<\/strong>, donde podr\u00e1s ver los detalles de la programaci\u00f3n. Cuando se alcance la hora programada, se llamar\u00e1 a la funci\u00f3n <code>setTimeout<\/code>, que navegar\u00e1 autom\u00e1ticamente a la <strong>p\u00e1gina Operations<\/strong>\u00a0para seguir el estado de la operaci\u00f3n.<\/p>\n<p>En este punto, has implementado con \u00e9xito la funcionalidad de programaci\u00f3n y activado la API de Kinsta para reiniciar el motor PHP de tu sitio. Puedes hacer lo mismo para borrar la cach\u00e9 de tu sitio.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Supongamos que quieres programar la tarea para que se repita cada 24 horas, 72 horas o lo que sea. Todo lo que tienes que hacer es convertir ese tiempo en milisegundos, y luego crear una sentencia if, por ejemplo:<\/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>C\u00f3mo Desplegar tu Aplicaci\u00f3n React con Kinsta<\/h2>\n<p>Para desplegar tu proyecto React en el <a href=\"https:\/\/sevalla.com\/application-hosting\/\">alojamiento de aplicaciones<\/a> de Kinsta, tienes que enviar el proyecto a tu <a href=\"https:\/\/docs.sevalla.com\/applications\/get-started\/add-an-application#adding-an-application\">proveedor Git preferido<\/a>. Cuando tu proyecto est\u00e9 alojado en <a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-github\/\">GitHub<\/a>, <a href=\"https:\/\/kinsta.com\/es\/blog\/gitlab-vs-github\/\">GitLab<\/a> o <a href=\"https:\/\/kinsta.com\/es\/blog\/bitbucket-vs-github\/\">Bitbucket<\/a>, puedes proceder a desplegarlo en Kinsta.<\/p>\n<p>Para desplegar tu repositorio en Kinsta, sigue estos pasos:<\/p>\n<ol start=\"1\">\n<li>Inicia sesi\u00f3n o crea tu cuenta Kinsta en el panel MyKinsta.<\/li>\n<li>En la barra lateral izquierda, haz clic en \u00abAplicaciones\u00bb y luego en \u00abA\u00f1adir servicio\u00bb.<\/li>\n<li>Selecciona \u00abAplicaci\u00f3n\u00bb en el men\u00fa desplegable para desplegar una aplicaci\u00f3n React en Kinsta.<\/li>\n<li>En el modal que aparece, elige el repositorio que quieres desplegar. Si tienes varias ramas, puedes seleccionar la rama deseada y dar un nombre a tu aplicaci\u00f3n.<\/li>\n<li>Selecciona una de las ubicaciones de centros de datos disponibles en la lista de 24 opciones. Kinsta detecta autom\u00e1ticamente el comando de inicio de tu aplicaci\u00f3n.<\/li>\n<\/ol>\n<p>Por \u00faltimo, no es seguro enviar claves API a alojamientos p\u00fablicos como tu proveedor de Git. Cuando alojes, puedes a\u00f1adirlas como <a href=\"https:\/\/docs.sevalla.com\/applications\/environment-variables\">variables de entorno<\/a> utilizando el mismo nombre de variable y valor especificados en el <strong> archivo .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=\"Establece variables de entorno en MyKinsta al desplegar.\" width=\"1600\" height=\"225\"><figcaption class=\"wp-caption-text\">Establece variables de entorno en MyKinsta al desplegar.<\/figcaption><\/figure>\n<p>Una vez que inicias el despliegue de tu aplicaci\u00f3n, comienza el proceso y normalmente se completa en unos minutos. Un despliegue con \u00e9xito genera un enlace a tu aplicaci\u00f3n, 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>Puedes activar el despliegue autom\u00e1tico, para que Kinsta vuelva a desplegar tu aplicaci\u00f3n cada vez que cambies tu c\u00f3digo base y lo env\u00edes a tu servidor Git.<\/p>\n<\/aside>\n\n<h2>Resumen<\/h2>\n<p>Con la API de Kinsta puedes ocuparte de las tareas recurrentes de tus sitios WordPress de forma a\u00fan m\u00e1s eficiente. Y en un futuro pr\u00f3ximo, podr\u00e1s hacer a\u00fan m\u00e1s.<\/p>\n<p>En este art\u00edculo, has aprendido a aprovechar la API de Kinsta construyendo una aplicaci\u00f3n React desde cero \u2014 alojada tambi\u00e9n en Kinsta \u2014 que te permite programar el reinicio de PHP y borrar la cach\u00e9 del sitio a trav\u00e9s de un atractivo panel de control que tambi\u00e9n puedes clonar y personalizar para tu propio caso de uso.<\/p>\n<p><em>\u00bfC\u00f3mo utilizas la API de Kinsta? \u00bfQu\u00e9 funciones te gustar\u00eda que se a\u00f1adieran\/expusieran pr\u00f3ximamente?<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A lo largo de los a\u00f1os, Kinsta ha progresado significativamente en la optimizaci\u00f3n de la gesti\u00f3n de sitios web a trav\u00e9s del panel de control MyKinsta. &#8230;<\/p>\n","protected":false},"author":287,"featured_media":68214,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[1270],"class_list":["post-68213","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-api"],"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>Programa tus tareas de mantenimiento con la API de Kinsta (Borrar Cach\u00e9, Reiniciar Motor PHP)- Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Aprende a crear una aplicaci\u00f3n React para programar tareas de mantenimiento, como borrar la cach\u00e9 y reiniciar el motor PHP con la API 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\/es\/blog\/programar-tareas-api-kinsta\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Programa tus Tareas de Mantenimiento con la API de Kinsta (Borrar Cach\u00e9, Reiniciar Motor PHP)\" \/>\n<meta property=\"og:description\" content=\"Aprende a crear una aplicaci\u00f3n React para programar tareas de mantenimiento, como borrar la cach\u00e9 y reiniciar el motor PHP con la API Kinsta.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinsta.es\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-20T09:49:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-20T13:12:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/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=\"Aprende a crear una aplicaci\u00f3n React para programar tareas de mantenimiento, como borrar la cach\u00e9 y reiniciar el motor PHP con la API Kinsta.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/07\/restart-php-api.png\" \/>\n<meta name=\"twitter:creator\" content=\"@olawanle_joel\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_ES\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joel Olawanle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\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\/es\/blog\/programar-tareas-api-kinsta\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"Programa tus Tareas de Mantenimiento con la API de Kinsta (Borrar Cach\u00e9, Reiniciar Motor PHP)\",\"datePublished\":\"2023-07-20T09:49:43+00:00\",\"dateModified\":\"2023-08-20T13:12:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/\"},\"wordCount\":3425,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/07\/restart-php-api.png\",\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/\",\"url\":\"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/\",\"name\":\"Programa tus tareas de mantenimiento con la API de Kinsta (Borrar Cach\u00e9, Reiniciar Motor PHP)- Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/07\/restart-php-api.png\",\"datePublished\":\"2023-07-20T09:49:43+00:00\",\"dateModified\":\"2023-08-20T13:12:53+00:00\",\"description\":\"Aprende a crear una aplicaci\u00f3n React para programar tareas de mantenimiento, como borrar la cach\u00e9 y reiniciar el motor PHP con la API Kinsta.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/07\/restart-php-api.png\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/07\/restart-php-api.png\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API\",\"item\":\"https:\/\/kinsta.com\/es\/secciones\/api\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Programa tus Tareas de Mantenimiento con la API de Kinsta (Borrar Cach\u00e9, Reiniciar Motor PHP)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/es\/#website\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluciones de alojamiento premium, r\u00e1pidas y seguras\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/es\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinsta.es\/\",\"https:\/\/x.com\/Kinsta_ES\",\"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\/es\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\",\"name\":\"Joel Olawanle\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/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\/es\/blog\/author\/joelolawanle\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Programa tus tareas de mantenimiento con la API de Kinsta (Borrar Cach\u00e9, Reiniciar Motor PHP)- Kinsta\u00ae","description":"Aprende a crear una aplicaci\u00f3n React para programar tareas de mantenimiento, como borrar la cach\u00e9 y reiniciar el motor PHP con la API 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\/es\/blog\/programar-tareas-api-kinsta\/","og_locale":"es_ES","og_type":"article","og_title":"Programa tus Tareas de Mantenimiento con la API de Kinsta (Borrar Cach\u00e9, Reiniciar Motor PHP)","og_description":"Aprende a crear una aplicaci\u00f3n React para programar tareas de mantenimiento, como borrar la cach\u00e9 y reiniciar el motor PHP con la API Kinsta.","og_url":"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinsta.es\/","article_published_time":"2023-07-20T09:49:43+00:00","article_modified_time":"2023-08-20T13:12:53+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/07\/restart-php-api.png","type":"image\/png"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"Aprende a crear una aplicaci\u00f3n React para programar tareas de mantenimiento, como borrar la cach\u00e9 y reiniciar el motor PHP con la API Kinsta.","twitter_image":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/07\/restart-php-api.png","twitter_creator":"@olawanle_joel","twitter_site":"@Kinsta_ES","twitter_misc":{"Escrito por":"Joel Olawanle","Tiempo de lectura":"18 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"Programa tus Tareas de Mantenimiento con la API de Kinsta (Borrar Cach\u00e9, Reiniciar Motor PHP)","datePublished":"2023-07-20T09:49:43+00:00","dateModified":"2023-08-20T13:12:53+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/"},"wordCount":3425,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/07\/restart-php-api.png","inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/","url":"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/","name":"Programa tus tareas de mantenimiento con la API de Kinsta (Borrar Cach\u00e9, Reiniciar Motor PHP)- Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/07\/restart-php-api.png","datePublished":"2023-07-20T09:49:43+00:00","dateModified":"2023-08-20T13:12:53+00:00","description":"Aprende a crear una aplicaci\u00f3n React para programar tareas de mantenimiento, como borrar la cach\u00e9 y reiniciar el motor PHP con la API Kinsta.","breadcrumb":{"@id":"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/#primaryimage","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/07\/restart-php-api.png","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/07\/restart-php-api.png","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/es\/blog\/programar-tareas-api-kinsta\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/es\/"},{"@type":"ListItem","position":2,"name":"API","item":"https:\/\/kinsta.com\/es\/secciones\/api\/"},{"@type":"ListItem","position":3,"name":"Programa tus Tareas de Mantenimiento con la API de Kinsta (Borrar Cach\u00e9, Reiniciar Motor PHP)"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/es\/#website","url":"https:\/\/kinsta.com\/es\/","name":"Kinsta\u00ae","description":"Soluciones de alojamiento premium, r\u00e1pidas y seguras","publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/es\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinsta.es\/","https:\/\/x.com\/Kinsta_ES","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\/es\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07","name":"Joel Olawanle","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/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\/es\/blog\/author\/joelolawanle\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/68213","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/users\/287"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/comments?post=68213"}],"version-history":[{"count":12,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/68213\/revisions"}],"predecessor-version":[{"id":68520,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/68213\/revisions\/68520"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/68213\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/68213\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/68213\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/68213\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/68213\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/68213\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/68213\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/68213\/translations\/es"},{"href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/68213\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media\/68214"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media?parent=68213"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/tags?post=68213"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/topic?post=68213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}