{"id":83219,"date":"2026-05-21T09:07:57","date_gmt":"2026-05-21T07:07:57","guid":{"rendered":"https:\/\/kinsta.com\/es\/?p=83219&#038;preview=true&#038;preview_id=83219"},"modified":"2026-05-28T09:22:39","modified_gmt":"2026-05-28T07:22:39","slug":"integrar-zendesk-con-api-de-kinsta","status":"publish","type":"post","link":"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/","title":{"rendered":"Crea un flujo de trabajo de copias de seguridad automatizadas para WordPress usando Zendesk y la API de Kinsta"},"content":{"rendered":"<p>Cuando llega un ticket de soporte urgente, el instinto es lanzarse a solucionar el problema lo antes posible. Sin embargo, en un sitio WordPress en producci\u00f3n, esa velocidad puede ser contraproducente.<\/p>\n<p>Una actualizaci\u00f3n fallida de un plugin, un peque\u00f1o ajuste en la configuraci\u00f3n o un cambio apresurado en la base de datos pueden hacer que un sitio pase de estar \u00abparcialmente da\u00f1ado\u00bb a quedar completamente inactivo. Sin una <a href=\"https:\/\/kinsta.com\/es\/docs\/alojamiento-wordpress\/copias-de-seguridad-wordpress\/\">copia de seguridad<\/a> reciente, no hay forma de recuperarlo sin complicaciones.<\/p>\n<p>En esta gu\u00eda, aprender\u00e1s a automatizar ese paso. Al conectar Zendesk a la <a href=\"https:\/\/kinsta.com\/es\/docs\/api-kinsta\/\">API de Kinsta<\/a>, cada ticket urgente de WordPress puede activar autom\u00e1ticamente una copia de seguridad, incluso antes de que lo abra un t\u00e9cnico. El resultado es un proceso de respuesta a incidencias m\u00e1s seguro y coherente, con un punto de restauraci\u00f3n ya preparado.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Por qu\u00e9 las agencias deber\u00edan hacer una copia de seguridad antes de arreglar nada<\/h2>\n<p>Un conflicto entre plugins, una consulta a la base de datos fallida o una actualizaci\u00f3n incompleta en un sitio de WordPress en producci\u00f3n sin una copia de seguridad son situaciones de las que es dif\u00edcil recuperarse. Cualquier cambio que realices antes de crear una copia de seguridad significa que no hay un punto de retorno limpio si algo sale mal.<\/p>\n<p>Para <a href=\"https:\/\/kinsta.com\/clients\/pixeled-eggs\/\">Pixeled Eggs<\/a>, hay mucho en juego, ya que sus clientes atienden a personas en situaciones de crisis. Alguien que busca ayuda psicol\u00f3gica o atenci\u00f3n urgente espera que la p\u00e1gina se cargue, as\u00ed que un intento fallido de solucionar el problema es una cat\u00e1strofe.<\/p>\n<blockquote><p>La soluci\u00f3n sin complicaciones y el tiempo que hemos ahorrado en nuestro equipo de desarrollo han supuesto un gran retorno de la inversi\u00f3n. Esto nos permite centrarnos en lo que mejor sabemos hacer: dise\u00f1ar y desarrollar sitios web de WordPress de alto rendimiento para clientes con objetivos claros.<\/p><\/blockquote>\n<h2>Lo que necesitas antes de empezar<\/h2>\n<p>Este tutorial requiere:<\/p>\n<ul>\n<li>Una cuenta de Kinsta con al menos un sitio de WordPress en un entorno en producci\u00f3n.<\/li>\n<li>Una cuenta de Zendesk en un <strong>plan Suite Team o superior<\/strong> (o un plan Support Team, Professional o Enterprise). Los Webhooks y Triggers est\u00e1n disponibles en todos estos niveles.<\/li>\n<li>Acceso de administrador dentro de Zendesk para crear webhooks y Triggers.<\/li>\n<li><a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/\">Node.js<\/a> instalado localmente.<\/li>\n<\/ul>\n<p>Para autenticarte con la API de Kinsta, dir\u00edgete a <strong>[Tu empresa]<\/strong> &gt; <strong>Configuraci\u00f3n de la empresa<\/strong> &gt; <strong>Claves API<\/strong> en MyKinsta y haz clic en <strong>Crear clave API<\/strong>.<\/p>\n<figure id=\"attachment_208865\" aria-describedby=\"caption-attachment-208865\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-208865 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2026\/04\/api-keys.png\" alt=\"El panel de MyKinsta mostrando la pantalla de Claves API\" width=\"1200\" height=\"436\"><figcaption id=\"caption-attachment-208865\" class=\"wp-caption-text\">El panel de MyKinsta mostrando la pantalla de Claves API<\/figcaption><\/figure>\n<p>Aqu\u00ed, ponle un nombre a la clave, establece una fecha de caducidad y haz clic en <b>Generar<\/b>. La clave solo se muestra una vez en este momento, as\u00ed que c\u00f3piala antes de cerrar el panel. Tambi\u00e9n necesitas un ID de sitio. Este aparece en la URL de MyKinsta cuando abres un sitio, o puedes consultar <code>GET \/sites<\/code> una vez que tengas la clave configurada.<\/p>\n<p>De todos modos, a\u00f1ade la clave API a un archivo <code>.env<\/code> en la ra\u00edz del proyecto:<\/p>\n<pre><code class=\"language-bash\">KINSTA_API_KEY=your_api_key_here<\/code><\/pre>\n<p>Ten en cuenta que el ID del sitio y el ID del entorno son dos cosas distintas: el agente introduce el ID del sitio, y el middleware llama a <code>GET \/sites\/{siteId}\/environments<\/code> para obtener el ID del entorno. Adem\u00e1s, el nivel de acceso de una clave API coincide con el rol que la cre\u00f3: las claves de desarrollador conllevan permisos m\u00e1s restringidos que las de propietarios o administradores. Si una solicitud devuelve un error de permiso, esto es lo primero que hay que verificar.<\/p>\n<h3>Otros requisitos previos para el desarrollo<\/h3>\n<p>Para el desarrollo local, el middleware se ejecuta en <code>localhost<\/code>, al que Zendesk no puede acceder directamente. El uso de una herramienta de tunelizaci\u00f3n como <a href=\"https:\/\/ngrok.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">ngrok<\/a> expone un puerto local a Internet con una URL p\u00fablica temporal, que puedes utilizar como endpoint del webhook durante el desarrollo. Una vez que la integraci\u00f3n funcione de principio a fin a nivel local, sustituye esa URL por la direcci\u00f3n del middleware en fase de despliegue.<\/p>\n<p>Tambi\u00e9n necesitas un campo de ticket personalizado en Zendesk para pasar el ID del sitio de Kinsta desde un ticket al payload del webhook. En el men\u00fa de opciones de Zendesk, situado en la parte derecha de la pantalla, ve a <strong>Objetos y reglas &gt; Tickets &gt; Campos<\/strong> y crea un nuevo campo de texto.<\/p>\n<figure id=\"attachment_208870\" aria-describedby=\"caption-attachment-208870\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-208870 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2026\/04\/zendesk-fields.png\" alt=\"La pantalla Tickets y Campos de Zendesk, donde puedes crear un nuevo campo de texto personalizado para introducir el ID del sitio de Kinsta.\" width=\"1200\" height=\"672\"><figcaption id=\"caption-attachment-208870\" class=\"wp-caption-text\">La pantalla Tickets y Campos de Zendesk.<\/figcaption><\/figure>\n<p>A continuaci\u00f3n, dale un nombre reconocible y anota el ID num\u00e9rico del campo que Zendesk le asigna. Cuando un agente abre un ticket para una incidencia de WordPress, rellena este campo con el ID del sitio afectado.<\/p>\n<h2>C\u00f3mo integrar Zendesk con Kinsta utilizando la API de Kinsta<\/h2>\n<p>Para iniciar una copia de seguridad basada en la recepci\u00f3n de un ticket de soporte relevante, el middleware Node.js recibe llamadas de webhook de Zendesk. A partir de ah\u00ed, resuelve un ID de sitio Kinsta a un ID de entorno y, a continuaci\u00f3n, activa una copia de seguridad manual etiquetada.<\/p>\n<p>La parte de Zendesk consta de dos elementos: un webhook que apunta al endpoint del middleware y un disparador que se activa cuando llega un ticket adecuado.<\/p>\n<h3>1. Crea el webhook de Zendesk<\/h3>\n<p>En Zendesk, un webhook y un Trigger (disparador) son dos objetos distintos. Primero creas el webhook y luego lo conectas al Trigger como una acci\u00f3n, y no al rev\u00e9s. Adem\u00e1s, una vez creado, no puedes cambiar el m\u00e9todo de conexi\u00f3n del webhook, as\u00ed que el orden es importante.<\/p>\n<p>Para crear el webhook, abre las opciones de Zendesk y ve a <strong>Aplicaciones e integraciones<\/strong> &gt; <strong>Webhooks<\/strong> &gt; <strong>Webhooks<\/strong>, y luego haz clic en <strong>Crear webhook<\/strong>.<\/p>\n<figure id=\"attachment_208867\" aria-describedby=\"caption-attachment-208867\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-208867 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2026\/04\/create-webhook.png\" alt=\"La p\u00e1gina de webhooks de Zendesk, en la que se muestra la opci\u00f3n de crear un nuevo webhook con un bot\u00f3n azul en el centro de la pantalla.\" width=\"1200\" height=\"668\"><figcaption id=\"caption-attachment-208867\" class=\"wp-caption-text\">La p\u00e1gina de Webhooks de Zendesk.<\/figcaption><\/figure>\n<p>En el m\u00e9todo de conexi\u00f3n, elige <strong>Trigger o automatizaci\u00f3n<\/strong>. Haz clic en <strong>Siguiente<\/strong> y, a continuaci\u00f3n, introduce un nombre. En la URL del endpoint, introduce un marcador de posici\u00f3n por ahora, ya que la actualizar\u00e1s una vez que se haya completado el despliegue del middleware. Tienes que a\u00f1adir <code>\/backup<\/code> a esa URL, configurar el m\u00e9todo de solicitud como <strong>POST<\/strong> y el formato de solicitud como <b>JSON<\/b>.<\/p>\n<p>En cuanto al m\u00e9todo de autenticaci\u00f3n, el <code>token Bearer<\/code> es una opci\u00f3n pr\u00e1ctica, ya que al configurar el middleware se a\u00f1ade una comprobaci\u00f3n que valida la solicitud entrante. Zendesk tambi\u00e9n incluye una cabecera de firma (<code>x-zendesk-webhook-signature<\/code>) que puedes usar para verificar las solicitudes. Una vez creado el webhook, Zendesk lo muestra en el panel de webhooks hasta que lo conectes a un Trigger.<\/p>\n<h3>2. Configura el Disparador de Zendesk<\/h3>\n<p>Con el webhook en su sitio, ve a <strong>Objetos y reglas<\/strong> &gt; <strong>Reglas de negocio<\/strong> &gt; <strong>Disparadores<\/strong>\u00a0y haz clic en <strong>Crear disparador<\/strong>.<\/p>\n<figure id=\"attachment_208866\" aria-describedby=\"caption-attachment-208866\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-208866 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2026\/04\/create-trigger.png\" alt=\"La p\u00e1gina Disparadores de Zendesk muestra una p\u00e1gina de creaci\u00f3n de disparadores vac\u00eda, con los campos en blanco.\" width=\"1200\" height=\"677\"><figcaption id=\"caption-attachment-208866\" class=\"wp-caption-text\">La p\u00e1gina de Disparadores de Zendesk muestra una p\u00e1gina de creaci\u00f3n de activadores vac\u00eda.<\/figcaption><\/figure>\n<p>Dale un nombre al disparador y, en la secci\u00f3n <strong>Condiciones<\/strong>, establece que se dispare cuando se cree el ticket, la prioridad sea <strong>Urgent<\/strong>, el campo personalizado est\u00e9 presente y las etiquetas contengan <code>wordpress-emergency<\/code>. Esta combinaci\u00f3n significa que el disparador (trigger) s\u00f3lo se dispara en los nuevos tickets que un agente de soporte ha marcado expl\u00edcitamente como una incidencia activa de WordPress.<\/p>\n<figure id=\"attachment_208869\" aria-describedby=\"caption-attachment-208869\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-208869 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2026\/04\/trigger-conditions.png\" alt=\"El editor de disparadores de Zendesk muestra las condiciones establecidas para ticket creado, prioridad urgente y etiqueta que contenga wordpress-emergency.\" width=\"1200\" height=\"556\"><figcaption id=\"caption-attachment-208869\" class=\"wp-caption-text\">El editor de disparadores de Zendesk muestra las condiciones establecidas para el ticket creado<\/figcaption><\/figure>\n<p>A continuaci\u00f3n, haz clic en <strong>Acciones<\/strong> &gt; <strong>A\u00f1adir acci\u00f3n<\/strong>, selecciona <strong>Notificar por<\/strong> &gt; <strong>Webhook activo<\/strong> y elige tu webhook. Esto abre el editor del payload de la solicitud, donde defines lo que Zendesk env\u00eda a tu middleware. El payload es JSON est\u00e1ndar, y Zendesk admite sintaxis de marcador de posici\u00f3n para inyectar datos del ticket cuando se dispara el webhook.<\/p>\n<p>El formato del campo personalizado es <code>{{ticket.custom_fields.FIELD_ID}}<\/code>, donde <code>FIELD_ID<\/code> es el ID num\u00e9rico del campo personalizado que creaste en los requisitos previos:<\/p>\n<pre><code class=\"language-bash\">{\n\u00a0\u00a0\"ticket_id\": \"{{ticket.id}}\",\n\u00a0\u00a0\"site_id\": \"{{ticket.custom_fields.12345678}}\" \/\/ Replace the numeric placeholder with the Zendesk field ID value.\n}<\/code><\/pre>\n<p>Definir esto significa que Zendesk pasa autom\u00e1ticamente el ID del sitio Kinsta del ticket al middleware.<\/p>\n<aside role=\"note\" class=\"wp-block-kinsta-notice is-style-info\">\n            <h3>Info<\/h3>\n        <p>Zendesk utiliza un proceso \u00a0<code>async<\/code>\u00a0para las tareas de los webhooks despu\u00e9s de que se active un disparador, por lo que no hay garant\u00eda de un orden de ejecuci\u00f3n espec\u00edfico cuando configuras varios webhooks.<\/p>\n<p>La solicitud caduca a los 12 segundos, y Zendesk vuelve a intentarlo hasta cinco veces. La entrega se realiza seg\u00fan el principio de mejor esfuerzo y no est\u00e1 garantizada, por lo que, aunque la integraci\u00f3n es ideal para un flujo de trabajo previo a la correcci\u00f3n, no deber\u00eda ser la \u00fanica estrategia de copia de seguridad de tu stack.<\/p>\n<\/aside>\n\n<h3>3. Construye el endpoint del middleware<\/h3>\n<p>El middleware es lo que permite que Zendesk y la API de Kinsta se comuniquen entre s\u00ed. <a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-express\/\">Express.js<\/a> es un framework web minimalista de <a href=\"https:\/\/kinsta.com\/es\/blog\/que-es-node-js\/\">Node.js<\/a> que se encarga del enrutamiento, analiza el contenido de las solicitudes y te permite definir el endpoint <code>POST \/backup<\/code> al que recurre Zendesk. Una vez que hayas inicializado un nuevo directorio de proyecto, instala ambas dependencias:<\/p>\n<pre><code class=\"language-bash\">npm init -y\nnpm install express dotenv<\/code><\/pre>\n<p>Aqu\u00ed, <code>express<\/code> proporciona el servidor y la capa de enrutamiento; <code>dotenv<\/code> carga tu archivo <code>.env<\/code> para que tu clave API est\u00e9 disponible en tiempo de ejecuci\u00f3n sin aparecer en tu c\u00f3digo fuente.<\/p>\n<p>Al crear un archivo <code>app.js<\/code>, el servidor inicia Express, analiza el JSON entrante y define una ruta <code>POST \/backup<\/code> que recibe la carga \u00fatil de Zendesk:<\/p>\n<pre><code class=\"language-javascript\">\/\/ app.js\nconst express = require('express');\nrequire('dotenv').config();\nconst app = express();\napp.use(express.json());\nconst KinstaAPIUrl = 'https:\/\/api.kinsta.com\/v2';\nconst headers = {\n\u00a0\u00a0\u00a0\u00a0'Content-Type': 'application\/json',\n\u00a0\u00a0\u00a0\u00a0Authorization: `Bearer ${process.env.KINSTA_API_KEY}`\n};\n\napp.post('\/backup', async (req, res) =&gt; {\n\u00a0\u00a0\u00a0\u00a0const { ticket_id, site_id } = req.body;\n\u00a0\u00a0\u00a0\u00a0if (!site_id) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return res.status(400).json({ message: 'Missing site ID' });\n\u00a0\u00a0\u00a0\u00a0}\n\n\u00a0\u00a0\u00a0\u00a0\/\/ Kinsta API calls placeholder\n\u00a0\u00a0\u00a0\u00a0res.status(200).json({ message: 'Received' });\n});\n\napp.listen(3000, () =&gt; console.log('Server running on port 3000'));<\/code><\/pre>\n<p>Para uso en producci\u00f3n, comprueba tambi\u00e9n que la solicitud procede de Zendesk. Incluye las cabeceras <code>x-zendesk-webhook-signature<\/code> y <code>x-zendesk-webhook-signature-timestamp<\/code> con cada invocaci\u00f3n, que puedes utilizar para validar el payload con tu webhook.<\/p>\n<h3>4. Autenticarse con la API de Kinsta<\/h3>\n<p>Todas las peticiones a la API Kinsta utilizan la autenticaci\u00f3n mediante token Bearer: La cabecera <code>Authorization<\/code> lleva tu clave API, y la constante de <code>headers<\/code>\u00a0definida en <code>app.js<\/code> se encarga de ello para cada solicitud en la aplicaci\u00f3n.<\/p>\n<p>La l\u00ednea <code>require('dotenv').config()<\/code> en la parte superior del archivo carga <code>.env<\/code> antes de que se ejecute nada m\u00e1s, por lo que <code>process.env.KINSTA_API_KEY<\/code> resuelve tu clave real en tiempo de ejecuci\u00f3n. La clave nunca aparece en el c\u00f3digo fuente.<\/p>\n<p>Ahora, lo que necesita el middleware es el ID de entorno del sitio, que incluye el endpoint de <code>backup<\/code> de Kinsta. Para ello, tienes que a\u00f1adir una funci\u00f3n debajo de la constante <code>headers<\/code>:<\/p>\n<pre><code class=\"language-javascript\">const getEnvironmentId = async (siteId) =&gt; {\n\u00a0\u00a0\u00a0\u00a0const resp = await fetch(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0`${KinstaAPIUrl}\/sites\/${siteId}\/environments`,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{ method: 'GET', headers }\n\u00a0\u00a0\u00a0\u00a0);\n\u00a0\u00a0\u00a0\u00a0const data = await resp.json();\n\u00a0\u00a0\u00a0\u00a0return data.site.environments[0].id;\n};<\/code><\/pre>\n<p>Esta funci\u00f3n llama a <code>GET \/sites\/{siteId}\/environments<\/code> y devuelve el ID del primer entorno en la respuesta, que corresponde al entorno de producci\u00f3n. Si tus sitios utilizan varios entornos y necesitas seleccionar uno espec\u00edfico, puedes buscar por el nombre del entorno en lugar de quedarte con el primer resultado.<\/p>\n<h3>5. Activar la copia de seguridad a trav\u00e9s de la API Kinsta<\/h3>\n<p>Para crear la copia de seguridad, el middleware llama a <code>POST \/sites\/environments\/{envId}\/manual-backups<\/code>, utilizando otra funci\u00f3n extra debajo de <code>getEnvironmentId<\/code>:<\/p>\n<pre><code class=\"language-javascript\">const triggerBackup = async (envId, tag) =&gt; {\n\u00a0\u00a0\u00a0\u00a0const resp = await fetch(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0`${KinstaAPIUrl}\/sites\/environments\/${envId}\/manual-backups`,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0method: 'POST',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0headers,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0body: JSON.stringify({ tag })\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0);\n\u00a0\u00a0\u00a0\u00a0const data = await resp.json();\n\u00a0\u00a0\u00a0\u00a0return data;\n};<\/code><\/pre>\n<p>El par\u00e1metro <code>tag<\/code> etiqueta la copia de seguridad, lo que facilita su identificaci\u00f3n en MyKinsta. Usar el ID del ticket de Zendesk en la etiqueta significa que cualquiera que mire la lista de copias de seguridad puede rastrearla hasta el incidente que la desencaden\u00f3.<\/p>\n<p>Por \u00faltimo, actualiza la ruta <code>POST \/backup<\/code> para llamar a ambas funciones en secuencia:<\/p>\n<pre><code class=\"language-javascript\">app.post('\/backup', async (req, res) =&gt; {\n\u00a0\u00a0\u00a0\u00a0const { ticket_id, site_id } = req.body;\n\u00a0\u00a0\u00a0\u00a0if (!site_id) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return res.status(400).json({ message: 'Missing site ID' });\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\u00a0\u00a0\u00a0try {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0const envId = await getEnvironmentId(site_id);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0const tag = `pre-remediation-${ticket_id || 'manual'}`;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0const result = await triggerBackup(envId, tag);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0res.status(200).json(result);\n\u00a0\u00a0\u00a0\u00a0} catch (err) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0console.error(err);\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0res.status(500).json({ message: 'Backup failed' });\n\u00a0\u00a0\u00a0\u00a0}\n});<\/code><\/pre>\n<p>Una petici\u00f3n exitosa al endpoint de copia de seguridad devuelve un estado <code>202<\/code> con un cuerpo de respuesta que confirma que la operaci\u00f3n est\u00e1 en curso:<\/p>\n<pre><code class=\"language-json\">{\n\u00a0\u00a0\u00a0\u00a0\"operation_id\": \"backups:add-manual-abc123\",\n\u00a0\u00a0\u00a0\u00a0\"message\": \"Adding a manual backup to environment in progress.\",\n\u00a0\u00a0\u00a0\u00a0\"status\": 202\n}<\/code><\/pre>\n<p>Sin embargo, la respuesta <code>202<\/code> no confirma que la copia de seguridad se haya completado. Las copias de seguridad manuales son as\u00edncronas, as\u00ed que debes consultar el endpoint <code>GET \/operations\/{operation_id}<\/code> hasta que el estado indique que se ha completado. En la mayor\u00eda de los casos, ver un <code>202<\/code> es suficiente para abrir un ticket.<\/p>\n<figure id=\"attachment_208868\" aria-describedby=\"caption-attachment-208868\" style=\"width: 1200px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-208868 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2026\/04\/mykinsta-backup.png\" alt=\"La pantalla Copias de seguridad de MyKinsta muestra una nueva copia de seguridad creada a partir de un ticket de Zendesk, junto con una nota al respecto.\" width=\"1200\" height=\"508\"><figcaption id=\"caption-attachment-208868\" class=\"wp-caption-text\">La pantalla de copias de seguridad de MyKinsta muestra una nueva copia de seguridad creada a partir de un ticket de Zendesk.<\/figcaption><\/figure>\n<p>Una vez que ejecutes <code>node app.js<\/code> y env\u00edes una solicitud de prueba con un ID de sitio y un ID de ticket v\u00e1lidos en el cuerpo, comprueba que la copia de seguridad aparece en MyKinsta con la etiqueta correcta.<\/p>\n<h2>Kinsta puede ayudarte a proteger los sitios de tus clientes en el momento en que algo vaya mal<\/h2>\n<p>Esta integraci\u00f3n hace que los tickets urgentes de soporte de WordPress en Zendesk activen una copia de seguridad inmediata. El middleware llama a la <a href=\"https:\/\/kinsta.com\/es\/docs\/api-kinsta\/\">API de Kinsta<\/a> para crear una instant\u00e1nea etiquetada antes incluso de que un t\u00e9cnico abra el ticket.<\/p>\n<p>Para el desarrollo local, <code>ngrok<\/code> gestiona la conexi\u00f3n entre Zendesk y <code>localhost<\/code>. Cuando est\u00e9s listo para trasladar el middleware a un endpoint permanente, <a href=\"https:\/\/sevalla.com\/\">Sevalla<\/a> es la opci\u00f3n ideal. Subes el proyecto a un proveedor de Git, conectas el repositorio, a\u00f1ades tu variable de entorno en la configuraci\u00f3n de despliegue y actualizas la URL del endpoint del webhook en Zendesk para que apunte a la direcci\u00f3n en producci\u00f3n.<\/p>\n<p>Si gestionas sitios web de clientes a gran escala, el add-on <a href=\"https:\/\/kinsta.com\/es\/complementos-kinsta\/actualizaciones-automaticas-de-kinsta\/\">Actualizaciones autom\u00e1ticas de Kinsta<\/a> encaja a la perfecci\u00f3n con este flujo de trabajo. Mantiene los plugins y los temas actualizados, realiza pruebas visuales autom\u00e1ticas despu\u00e9s de cada actualizaci\u00f3n y revierte los cambios si algo falla. Adem\u00e1s, puedes configurarlo con una programaci\u00f3n personalizada para cada sitio.<\/p>\n<p>Si tienes alguna pregunta, ponte en contacto con el <a href=\"https:\/\/kinsta.com\/es\/soporte-kinsta\/\">equipo de soporte<\/a> en cualquier momento.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Cuando llega un ticket de soporte urgente, el instinto es lanzarse a solucionar el problema lo antes posible. Sin embargo, en un sitio WordPress en producci\u00f3n, &#8230;<\/p>\n","protected":false},"author":287,"featured_media":83220,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[1270],"class_list":["post-83219","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>C\u00f3mo integrar Zendesk con Kinsta usando la API de Kinsta<\/title>\n<meta name=\"description\" content=\"Conecta Zendesk y la API de Kinsta: activa copias de seguridad autom\u00e1ticas cada vez que se cree un nuevo ticket.\" \/>\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\/integrar-zendesk-con-api-de-kinsta\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Crea un flujo de trabajo de copias de seguridad automatizadas para WordPress usando Zendesk y la API de Kinsta\" \/>\n<meta property=\"og:description\" content=\"Conecta Zendesk y la API de Kinsta: activa copias de seguridad autom\u00e1ticas cada vez que se cree un nuevo ticket.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-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=\"2026-05-21T07:07:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-28T07:22:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2026\/05\/how-to-integrate-zendesk-with-kinsta-hosting-using-the-kinsta-api.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1470\" \/>\n\t<meta property=\"og:image:height\" content=\"735\" \/>\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=\"Conecta Zendesk y la API de Kinsta: activa copias de seguridad autom\u00e1ticas cada vez que se cree un nuevo ticket.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2026\/05\/how-to-integrate-zendesk-with-kinsta-hosting-using-the-kinsta-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=\"13 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/\"},\"author\":{\"name\":\"Joel Olawanle\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07\"},\"headline\":\"Crea un flujo de trabajo de copias de seguridad automatizadas para WordPress usando Zendesk y la API de Kinsta\",\"datePublished\":\"2026-05-21T07:07:57+00:00\",\"dateModified\":\"2026-05-28T07:22:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/\"},\"wordCount\":2250,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2026\/05\/how-to-integrate-zendesk-with-kinsta-hosting-using-the-kinsta-api.png\",\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/\",\"url\":\"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/\",\"name\":\"C\u00f3mo integrar Zendesk con Kinsta usando la API de Kinsta\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2026\/05\/how-to-integrate-zendesk-with-kinsta-hosting-using-the-kinsta-api.png\",\"datePublished\":\"2026-05-21T07:07:57+00:00\",\"dateModified\":\"2026-05-28T07:22:39+00:00\",\"description\":\"Conecta Zendesk y la API de Kinsta: activa copias de seguridad autom\u00e1ticas cada vez que se cree un nuevo ticket.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2026\/05\/how-to-integrate-zendesk-with-kinsta-hosting-using-the-kinsta-api.png\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2026\/05\/how-to-integrate-zendesk-with-kinsta-hosting-using-the-kinsta-api.png\",\"width\":1470,\"height\":735},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-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\":\"Crea un flujo de trabajo de copias de seguridad automatizadas para WordPress usando Zendesk y la API de Kinsta\"}]},{\"@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":"C\u00f3mo integrar Zendesk con Kinsta usando la API de Kinsta","description":"Conecta Zendesk y la API de Kinsta: activa copias de seguridad autom\u00e1ticas cada vez que se cree un nuevo ticket.","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\/integrar-zendesk-con-api-de-kinsta\/","og_locale":"es_ES","og_type":"article","og_title":"Crea un flujo de trabajo de copias de seguridad automatizadas para WordPress usando Zendesk y la API de Kinsta","og_description":"Conecta Zendesk y la API de Kinsta: activa copias de seguridad autom\u00e1ticas cada vez que se cree un nuevo ticket.","og_url":"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinsta.es\/","article_published_time":"2026-05-21T07:07:57+00:00","article_modified_time":"2026-05-28T07:22:39+00:00","og_image":[{"width":1470,"height":735,"url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2026\/05\/how-to-integrate-zendesk-with-kinsta-hosting-using-the-kinsta-api.png","type":"image\/png"}],"author":"Joel Olawanle","twitter_card":"summary_large_image","twitter_description":"Conecta Zendesk y la API de Kinsta: activa copias de seguridad autom\u00e1ticas cada vez que se cree un nuevo ticket.","twitter_image":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2026\/05\/how-to-integrate-zendesk-with-kinsta-hosting-using-the-kinsta-api.png","twitter_creator":"@olawanle_joel","twitter_site":"@Kinsta_ES","twitter_misc":{"Escrito por":"Joel Olawanle","Tiempo de lectura":"13 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/"},"author":{"name":"Joel Olawanle","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/efa7de30245ca15be5ce1dcacff89c07"},"headline":"Crea un flujo de trabajo de copias de seguridad automatizadas para WordPress usando Zendesk y la API de Kinsta","datePublished":"2026-05-21T07:07:57+00:00","dateModified":"2026-05-28T07:22:39+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/"},"wordCount":2250,"publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2026\/05\/how-to-integrate-zendesk-with-kinsta-hosting-using-the-kinsta-api.png","inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/","url":"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/","name":"C\u00f3mo integrar Zendesk con Kinsta usando la API de Kinsta","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2026\/05\/how-to-integrate-zendesk-with-kinsta-hosting-using-the-kinsta-api.png","datePublished":"2026-05-21T07:07:57+00:00","dateModified":"2026-05-28T07:22:39+00:00","description":"Conecta Zendesk y la API de Kinsta: activa copias de seguridad autom\u00e1ticas cada vez que se cree un nuevo ticket.","breadcrumb":{"@id":"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-kinsta\/#primaryimage","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2026\/05\/how-to-integrate-zendesk-with-kinsta-hosting-using-the-kinsta-api.png","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2026\/05\/how-to-integrate-zendesk-with-kinsta-hosting-using-the-kinsta-api.png","width":1470,"height":735},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/es\/blog\/integrar-zendesk-con-api-de-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":"Crea un flujo de trabajo de copias de seguridad automatizadas para WordPress usando Zendesk y la API de Kinsta"}]},{"@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\/83219","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=83219"}],"version-history":[{"count":12,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/83219\/revisions"}],"predecessor-version":[{"id":83266,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/83219\/revisions\/83266"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/83219\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/83219\/translations\/it"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/83219\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/83219\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/83219\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/83219\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/83219\/translations\/es"},{"href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/83219\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media\/83220"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media?parent=83219"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/tags?post=83219"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/topic?post=83219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}