{"id":43183,"date":"2022-02-11T10:19:25","date_gmt":"2022-02-11T09:19:25","guid":{"rendered":"https:\/\/kinsta.com\/?p=4256"},"modified":"2025-01-31T14:52:39","modified_gmt":"2025-01-31T13:52:39","slug":"wordpress-http-api-parte-2","status":"publish","type":"post","link":"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/","title":{"rendered":"Gu\u00eda Sobre HTTP y la HTTP API de WordPress &#8211; Parte 2"},"content":{"rendered":"<p><a href=\"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-1\/\">En la parte 1 de esta gu\u00eda<\/a> ech\u00e9 un vistazo a la HTTP API en general. Aprendimos qu\u00e9 es HTTP, hablamos de la estructura de las peticiones y respuestas HTTP y de c\u00f3mo los tipos de acci\u00f3n y las URLs se unen para determinar lo que recibes a cambio de tu petici\u00f3n. En esta entrada vamos a echar un vistazo a la HTTP API de WordPress.<\/p>\n<ul>\n<li><a href=\"#wordpress-http-api\">La HTTP API de WordPress<\/a><\/li>\n<li><a href=\"#making-requests\">Hacer peticiones<\/a><\/li>\n<li><a href=\"#accessing-github-api\">Acceso a la API de Github<\/a><\/li>\n<\/ul>\n<h2 id=\"wordpress-http-api\">La HTTP\u00a0API de WordPress<\/h2>\n<p>Desde la versi\u00f3n 2.7 aproximadamente, <a href=\"https:\/\/kinsta.com\/es\/blog\/api-http-wordpress\/\">WordPress ha tenido una API para manejar HTTP<\/a>. Se compone de 9 funciones, de las cuales probablemente s\u00f3lo utilizar\u00e1s un par. Las funciones se pueden clasificar en dos grupos distintos: uno para hacer peticiones y otro para leer los resultados.<\/p>\n<p><code>wp_remote_get()<\/code>, <code>wp_remote_post()<\/code>, <code>wp_remote_head()<\/code> utilizan los m\u00e9todos GET, POST y HEAD respectivamente para solicitar datos de una URL determinada. La funci\u00f3n <code>wp_remote_request()<\/code> es una funci\u00f3n general que permite especificar una URL y un m\u00e9todo que la acompa\u00f1e.<\/p>\n<p>Las funciones utilizadas para leer las respuestas son igualmente autodescriptivas. <code>wp_remote_retrieve_body()<\/code> obtiene el cuerpo de la respuesta, la funci\u00f3n <code>wp_remote_retrieve_header()<\/code> obtiene una cabecera con nombre. La funci\u00f3n <code>wp_remote_retrieve_headers()<\/code> devuelve todas las cabeceras en forma de array, <code>wp_remote_retrieve_response_code()<\/code> le da el c\u00f3digo de respuesta y <code>wp_remote_retrieve_response_message()<\/code> devuelve el mensaje de respuesta.<\/p>\n<p>Eso es b\u00e1sicamente todo lo que hay que hacer, todo lo que necesitamos saber es c\u00f3mo especificar las cabeceras para hacer las peticiones adecuadas.<\/p>\n<h2 id=\"making-requests\">Hacer peticiones<\/h2>\n<p>Usemos la funci\u00f3n <code>wp_remote_get()<\/code> para hacer una petici\u00f3n. Usaremos el primer par\u00e1metro para establecer la URL y el segundo para a\u00f1adir argumentos. Puedes encontrar el conjunto completo de par\u00e1metros soportados en <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/wp_remote_get\">The Codex<\/a>, me centrar\u00e9 en la informaci\u00f3n de la cabecera aqu\u00ed.<\/p>\n<p>Para obtener el mensaje de estado de un usuario de Twitter tendr\u00e1s que utilizar la ruta <code>statuses\/user_timeline.json<\/code> junto con la URL <code>https:\/\/api.twitter.com\/1.1<\/code> y pasar un token de portador para la autenticaci\u00f3n &#8211; que he generado anteriormente. El token de portador necesita ser a\u00f1adido como una cabecera de autorizaci\u00f3n en la forma de <code>Bearer [TOKEN]<\/code>.<\/p>\n<pre><code>$token = 'Sijbwrf82wdaBief'; \n$response = wp_remote_get('https:\/\/api.twitter.com\/1.1\/statuses\/user_timeline.json?screen_name=kinsta', array(\n    'headers' =&gt; array(\n        'Authorization' =&gt; 'Bearer ' . $token\n    ),\n));<\/code><\/pre>\n<p>Al hacer esta petici\u00f3n se devuelve una gran cantidad de informaci\u00f3n que se puede obtener imprimiendo la variable <code>$response<\/code>. Tambi\u00e9n puede utilizar las funciones de tipo <code>wp_remote_retrieve<\/code> para obtener una parte de la respuesta.<\/p>\n<p>La mayor\u00eda de las veces el cuerpo contiene la informaci\u00f3n necesaria, normalmente en formato JSON. En PHP podemos convertir eso en un array con facilidad:<\/p>\n<pre><code>$data = json_decode( $response['body'], true ) <\/code><\/pre>\n<h2 id=\"accessing-github-api\">Acceso a la API de Github<\/h2>\n<p>Vamos a construir un ejemplo r\u00e1pido que listar\u00e1 nuestros \u00faltimos repos de Github en un widget de WordPress. En primer lugar, tendr\u00e1s que iniciar sesi\u00f3n en Github e ir a tu perfil, editarlo e ir a \u00abPersonal access tokens\u00bb donde puedes generar un token.<\/p>\n<figure id=\"attachment_4257\" aria-describedby=\"caption-attachment-4257\" style=\"width: 763px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/kinsta.com\/wp-content\/uploads\/2015\/08\/Screen-Shot-2015-08-31-at-14.45.52.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4257\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2015\/08\/Screen-Shot-2015-08-31-at-14.45.52.png\" alt=\"Github Access Tokens\" width=\"763\" height=\"252\" srcset=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2015\/08\/Screen-Shot-2015-08-31-at-14.45.52.png 763w, https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2015\/08\/Screen-Shot-2015-08-31-at-14.45.52-300x99.png 300w\" sizes=\"auto, (max-width: 763px) 100vw, 763px\" \/><\/a><figcaption id=\"caption-attachment-4257\" class=\"wp-caption-text\">Github Access Tokens<\/figcaption><\/figure>\n<p>Como siguiente paso, vamos a crear una plantilla de widget vac\u00eda. Este widget tendr\u00e1 dos opciones: un lugar para que a\u00f1adas tu token de API y un t\u00edtulo. Este no es el mejor m\u00e9todo ya que guarda tu token en la <a href=\"https:\/\/kinsta.com\/es\/blog\/base-de-datos-wordpress\/\">base de datos<\/a>, pero est\u00e1 bien para nuestros prop\u00f3sitos de ejemplo.<\/p>\n<pre><code class=\"language-php\">class My_Github_Widget extends WP_Widget {\n\n\tpublic function __construct() {\n\t\tparent::__construct(\n\t\t\t'my_github_widget',\n\t\t\t'My Github Repos',\n\t\t\tarray( 'description' =&gt; 'A widget that showcases your Github repos' )\n\t\t);\n\t}\n\n\tpublic function widget( $args, $instance ) {\n\t\t\/\/ Widget output\n\t}\n\n\tpublic function form( $instance ) {\n\t\t$token = ! empty( $instance['token'] ) ? $instance['token'] : '';\n\t\t$title = ! empty( $instance['title'] ) ? $instance['title'] : 'From Github';\n\t\t?&gt;<\/code><\/pre>\n<pre><code>&lt;label for=\"get_field_id( 'title' ); ?&gt;\"&gt;Title &lt;input class=\"widefat\" id=\"get_field_id( 'title' ); ?&gt;\" name=\"get_field_name( 'title' ); ?&gt;\" type=\"text\" value=\"\"&gt;\n\n&lt;label for=\"get_field_id( 'token' ); ?&gt;\"&gt;Github API Token &lt;input class=\"widefat\" id=\"get_field_id( 'token' ); ?&gt;\" name=\"get_field_name( 'token' ); ?&gt;\" type=\"text\" value=\"\"&gt;\n\n&lt;?php } }<\/code><\/pre>\n<p>No quiero entrar demasiado en c\u00f3mo se crean los widgets aqu\u00ed. Si quieres saber m\u00e1s, echa un vistazo a la gu\u00eda de la <a href=\"https:\/\/codex.wordpress.org\/Widgets_API\">API de Widgets<\/a> en el C\u00f3dice. Lo importante es que el contenido del m\u00e9todo <code>widget()<\/code> mostrar\u00e1 el contenido de nuestro widget. Dentro de esa funci\u00f3n, nos conectaremos a Github usando una petici\u00f3n HTTP y luego formatearemos y daremos salida a la respuesta. As\u00ed es como se hace todo esto &#8211; todo el c\u00f3digo siguiente va en el m\u00e9todo <code>widget()<\/code>.<\/p>\n<pre><code class=\"language-php\">echo $args['before_widget']; \n\nif ( ! empty( $instance['title'] ) ) { \n  echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ). $args['after_title']; \n} \n\n$args = array( \n  'headers' =&gt; array( \n    'Accept' =&gt; 'application\/vnd.github.v3+json', \n    'Authorization' =&gt; 'token 3f4f654ab31c2f15e839c74c952e5de2f562f1ee' \n  ) \n); \n\n$response = wp_remote_get( 'https:\/\/api.github.com\/user\/repos', $args ); \n$repos = json_decode( $response['body'], true ); \n\nif( !empty( $repos ) ) { \n  echo '&lt;ul&gt;'; \n  foreach( $repos as $repo ) { \n    echo '&lt;li&gt;&lt;a href=\"' . $repo['url'] . '\" target=\"_blank\"&gt;' . $repo['name'] . '&lt;\/a&gt;&lt;\/li&gt;'; \n  } \n  echo '&lt;\/ul&gt;'; \n} \n\necho $args['after_widget'];<\/code><\/pre>\n<p>Comienza simplemente a\u00f1adiendo el elemento envolvente del widget y el t\u00edtulo en la parte superior y termina cerrando el envolvente del widget, la secci\u00f3n principal del c\u00f3digo est\u00e1 entre los dos.<\/p>\n<p>Primero configuro las cabeceras de las peticiones HTTP. La primera pregunta puede ser: \u00bfc\u00f3mo s\u00e9 qu\u00e9 par\u00e1metros a\u00f1adir? La cabecera <code>Authorization<\/code> es la parte m\u00e1s importante, lo le\u00ed en la secci\u00f3n <a href=\"https:\/\/developer.github.com\/v3\/#authentication\">Authentication<\/a> de los documentos de la API.<\/p>\n<p>La cabecera <code>Accept<\/code> no es necesaria, pero en la parte superior de la misma p\u00e1gina de documentos la gu\u00eda te anima a proporcionarla.<\/p>\n<p>Luego utilizo <code>json_decode()<\/code> en el cuerpo de la respuesta y simplemente recorro el array resultante, creando una lista de enlaces.<\/p>\n<h2>Pr\u00f3ximos pasos<\/h2>\n<p>Si crees que es f\u00e1cil, tienes toda la raz\u00f3n, \u00a1lo es! Lo dif\u00edcil es asegurarse de tener todos los \u00e1ngulos cubiertos sin desperdiciar recursos. Hay dos problemas con el c\u00f3digo que requieren nuestra atenci\u00f3n inmediata.<\/p>\n<p>Si hay alg\u00fan problema con la API -que puede incluir errores desconocidos, cuentas con tarifa limitada, etc.- podemos encontrarnos con un gran error. S\u00f3lo comprobamos si el cuerpo est\u00e1 vac\u00edo o no antes de mostrar la lista.<\/p>\n<p>Si tenemos un error entre manos es probable que el cuerpo contenga informaci\u00f3n de error, por lo que tampoco estar\u00eda vac\u00edo en este caso. Es probable que enumeremos los elementos de la respuesta de error, pero como estos no tendr\u00edan las propiedades <code>url<\/code> y <code>name<\/code> terminar\u00edamos con elementos de lista vac\u00edos y advertencias de PHP.<\/p>\n<p>El segundo problema es que esto es simplemente un desperdicio. Estamos conectando a un servicio externo en cada carga de la p\u00e1gina que puede tomar un peaje en nuestros servidores y puede causar que la cuenta sea limitada en Github. Incluso si este no es el caso, \u00bfqu\u00e9 tan probable es que tu lista de repositorios de Github cambie entre dos vistas de p\u00e1gina, y qu\u00e9 tan importante es tener informaci\u00f3n actualizada aqu\u00ed?<\/p>\n<p>Personalmente recomendar\u00eda usar <a href=\"https:\/\/codex.wordpress.org\/Transients_API\">transients<\/a> en un caso como este. Un transient te permite almacenar la respuesta de la petici\u00f3n con un tiempo de expiraci\u00f3n. Si estableces la caducidad en un d\u00eda, los datos se recuperar\u00e1n de Github una vez, y luego directamente de tu base de datos durante las siguientes 24 horas. Despu\u00e9s de la expiraci\u00f3n se recupera de Github de nuevo y se guarda en la base de datos.<\/p>\n<p>Esto reduce sus llamadas a la API de una por carga de p\u00e1gina a una por d\u00eda, lo cual es una gran mejora y tampoco es una gran compensaci\u00f3n.<\/p>\n<h2>Resumen<\/h2>\n<p>WordPress facilita la interacci\u00f3n con las API de toda la web. El uso de un par de funciones integradas te permitir\u00e1 obtener datos m\u00e1s ricos y relevantes para tus usuarios.<\/p>\n<p>Junto con el saneamiento, la comprobaci\u00f3n de errores y un mecanismo de almacenamiento en cach\u00e9, se puede construir una aplicaci\u00f3n eficiente que no s\u00f3lo es m\u00e1s \u00fatil, sino que consume menos recursos de lo que te podr\u00edas imaginar.<\/p>\n<p>Si has utilizado la HTTP API de WordPress para conectar WordPress con una API de terceros, h\u00e1znoslo saber, \u00a1ser\u00eda estupendo conocer tu trabajo!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article I&#8217;ll take a look at how you can handle HTTP requests easily with the help of the WordPress HTTP API. We&#8217;ll also be looking at a simple example using Github&#8217;s API, if you want to follow along, grab a free account!<\/p>\n","protected":false},"author":18,"featured_media":6025,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[725,172],"topic":[1345],"class_list":["post-43183","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-api","tag-wordpress","topic-desarrollo-wordpress"],"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>Gu\u00eda Sobre HTTP y la HTTP API de WordPress - Parte 2<\/title>\n<meta name=\"description\" content=\"La HTTP API de WordPress nos permite conectarnos a APIs de terceros como Twitter, Facebook, Mailchimp y otros. Sigue leyendo para saber c\u00f3mo.\" \/>\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\/wordpress-http-api-parte-2\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gu\u00eda Sobre HTTP y la HTTP API de WordPress - Parte 2\" \/>\n<meta property=\"og:description\" content=\"La HTTP API de WordPress nos permite conectarnos a APIs de terceros como Twitter, Facebook, Mailchimp y otros. Sigue leyendo para saber c\u00f3mo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/\" \/>\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=\"2022-02-11T09:19:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-31T13:52:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2015\/09\/wordpress-http-api-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Daniel Pataki\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"La HTTP API de WordPress nos permite conectarnos a APIs de terceros como Twitter, Facebook, Mailchimp y otros. Sigue leyendo para saber c\u00f3mo.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2015\/09\/wordpress-http-api-1.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@danielpataki\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_ES\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Pataki\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/\"},\"author\":{\"name\":\"Daniel Pataki\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/b162216499225e1a4cdd35518f8ef0ff\"},\"headline\":\"Gu\u00eda Sobre HTTP y la HTTP API de WordPress &#8211; Parte 2\",\"datePublished\":\"2022-02-11T09:19:25+00:00\",\"dateModified\":\"2025-01-31T13:52:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/\"},\"wordCount\":1178,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2015\/09\/wordpress-http-api-1.jpg\",\"keywords\":[\"API\",\"WordPress\"],\"articleSection\":[\"Desarrollo de WordPress\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/\",\"url\":\"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/\",\"name\":\"Gu\u00eda Sobre HTTP y la HTTP API de WordPress - Parte 2\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2015\/09\/wordpress-http-api-1.jpg\",\"datePublished\":\"2022-02-11T09:19:25+00:00\",\"dateModified\":\"2025-01-31T13:52:39+00:00\",\"description\":\"La HTTP API de WordPress nos permite conectarnos a APIs de terceros como Twitter, Facebook, Mailchimp y otros. Sigue leyendo para saber c\u00f3mo.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2015\/09\/wordpress-http-api-1.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2015\/09\/wordpress-http-api-1.jpg\",\"width\":800,\"height\":500,\"caption\":\"wordpress http api\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Desarrollo WordPress\",\"item\":\"https:\/\/kinsta.com\/es\/secciones\/desarrollo-wordpress\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Gu\u00eda Sobre HTTP y la HTTP API de WordPress &#8211; Parte 2\"}]},{\"@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\/b162216499225e1a4cdd35518f8ef0ff\",\"name\":\"Daniel Pataki\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/kinsta.com\/es\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2a44c1ab807766aeaa5c8d76d4c5ea66?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2a44c1ab807766aeaa5c8d76d4c5ea66?s=96&d=mm&r=g\",\"caption\":\"Daniel Pataki\"},\"description\":\"Hi, my name is Daniel, I'm the CTO here at Kinsta. You may know me from Smashing Magazine, WPMU Dev, Tuts+ and other WordPress\/Development magazines. Aside from WordPress and PHP I spend most of my time around Node, React, GraphQL and other technologies in the Javascript space. When not working on making the best hosting solution in the Universe I collect board games, play table football in the office, travel or play guitar and sing in a pretty bad band.\",\"sameAs\":[\"http:\/\/danielpataki.com\",\"https:\/\/x.com\/danielpataki\"],\"url\":\"https:\/\/kinsta.com\/es\/blog\/author\/danielpataki\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Gu\u00eda Sobre HTTP y la HTTP API de WordPress - Parte 2","description":"La HTTP API de WordPress nos permite conectarnos a APIs de terceros como Twitter, Facebook, Mailchimp y otros. Sigue leyendo para saber c\u00f3mo.","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\/wordpress-http-api-parte-2\/","og_locale":"es_ES","og_type":"article","og_title":"Gu\u00eda Sobre HTTP y la HTTP API de WordPress - Parte 2","og_description":"La HTTP API de WordPress nos permite conectarnos a APIs de terceros como Twitter, Facebook, Mailchimp y otros. Sigue leyendo para saber c\u00f3mo.","og_url":"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinsta.es\/","article_published_time":"2022-02-11T09:19:25+00:00","article_modified_time":"2025-01-31T13:52:39+00:00","og_image":[{"width":800,"height":500,"url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2015\/09\/wordpress-http-api-1.jpg","type":"image\/jpeg"}],"author":"Daniel Pataki","twitter_card":"summary_large_image","twitter_description":"La HTTP API de WordPress nos permite conectarnos a APIs de terceros como Twitter, Facebook, Mailchimp y otros. Sigue leyendo para saber c\u00f3mo.","twitter_image":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2015\/09\/wordpress-http-api-1.jpg","twitter_creator":"@danielpataki","twitter_site":"@Kinsta_ES","twitter_misc":{"Escrito por":"Daniel Pataki","Tiempo de lectura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/"},"author":{"name":"Daniel Pataki","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/b162216499225e1a4cdd35518f8ef0ff"},"headline":"Gu\u00eda Sobre HTTP y la HTTP API de WordPress &#8211; Parte 2","datePublished":"2022-02-11T09:19:25+00:00","dateModified":"2025-01-31T13:52:39+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/"},"wordCount":1178,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/es\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2015\/09\/wordpress-http-api-1.jpg","keywords":["API","WordPress"],"articleSection":["Desarrollo de WordPress"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/","url":"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/","name":"Gu\u00eda Sobre HTTP y la HTTP API de WordPress - Parte 2","isPartOf":{"@id":"https:\/\/kinsta.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2015\/09\/wordpress-http-api-1.jpg","datePublished":"2022-02-11T09:19:25+00:00","dateModified":"2025-01-31T13:52:39+00:00","description":"La HTTP API de WordPress nos permite conectarnos a APIs de terceros como Twitter, Facebook, Mailchimp y otros. Sigue leyendo para saber c\u00f3mo.","breadcrumb":{"@id":"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/#primaryimage","url":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2015\/09\/wordpress-http-api-1.jpg","contentUrl":"https:\/\/kinsta.com\/es\/wp-content\/uploads\/sites\/8\/2015\/09\/wordpress-http-api-1.jpg","width":800,"height":500,"caption":"wordpress http api"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/es\/blog\/wordpress-http-api-parte-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/es\/"},{"@type":"ListItem","position":2,"name":"Desarrollo WordPress","item":"https:\/\/kinsta.com\/es\/secciones\/desarrollo-wordpress\/"},{"@type":"ListItem","position":3,"name":"Gu\u00eda Sobre HTTP y la HTTP API de WordPress &#8211; Parte 2"}]},{"@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\/b162216499225e1a4cdd35518f8ef0ff","name":"Daniel Pataki","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/kinsta.com\/es\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2a44c1ab807766aeaa5c8d76d4c5ea66?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2a44c1ab807766aeaa5c8d76d4c5ea66?s=96&d=mm&r=g","caption":"Daniel Pataki"},"description":"Hi, my name is Daniel, I'm the CTO here at Kinsta. You may know me from Smashing Magazine, WPMU Dev, Tuts+ and other WordPress\/Development magazines. Aside from WordPress and PHP I spend most of my time around Node, React, GraphQL and other technologies in the Javascript space. When not working on making the best hosting solution in the Universe I collect board games, play table football in the office, travel or play guitar and sing in a pretty bad band.","sameAs":["http:\/\/danielpataki.com","https:\/\/x.com\/danielpataki"],"url":"https:\/\/kinsta.com\/es\/blog\/author\/danielpataki\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/43183","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\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/comments?post=43183"}],"version-history":[{"count":8,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/43183\/revisions"}],"predecessor-version":[{"id":47754,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/posts\/43183\/revisions\/47754"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/43183\/translations\/en"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/43183\/translations\/de"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/43183\/translations\/it"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/43183\/translations\/es"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/43183\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/43183\/translations\/fr"},{"href":"https:\/\/kinsta.com\/es\/wp-json\/kinsta\/v1\/posts\/43183\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media\/6025"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/media?parent=43183"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/tags?post=43183"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/es\/wp-json\/wp\/v2\/topic?post=43183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}