{"id":11887,"date":"2019-11-19T11:35:24","date_gmt":"2019-11-19T09:35:24","guid":{"rendered":"https:\/\/www.hiberus.com\/crecemos-contigo\/?p=11887"},"modified":"2023-12-13T11:48:18","modified_gmt":"2023-12-13T10:48:18","slug":"creacion-de-un-api-rest-en-drupal-e-integracion-con-angular-ionic","status":"publish","type":"post","link":"https:\/\/www.hiberus.com\/crecemos-contigo\/creacion-de-un-api-rest-en-drupal-e-integracion-con-angular-ionic\/","title":{"rendered":"Creaci\u00f3n de un API REST en Drupal e integraci\u00f3n con Angular\/IONIC"},"content":{"rendered":"<p>Cuando hablamos de <strong>REST<\/strong> (Representational State Transfer)\u00a0nos referimos a cualquier<strong> interfaz entre sistemas que use HTTP para obtener datos o generar operaciones<\/strong> sobre estos, normalmente, en formato <strong>XML<\/strong> (Extensible Markup Language) o <strong>JSON<\/strong> (JavaScript Object Notation).<\/p>\n<h2>\u00bfCaracter\u00edsticas de un API REST?<\/h2>\n<p>Las caracter\u00edsticas m\u00e1s llamativas de un API REST son las siguientes:<\/p>\n<ul>\n<li><strong>Protocolo cliente\/servidor sin estado:<\/strong> Cada petici\u00f3n que hacemos, nos devuelve toda la informaci\u00f3n necesaria para realizar la tarea. No necesitamos recordar ning\u00fan estado anterior (aunque es posible guardarlos mediante el protocolo cliente-cache-servidor sin estado).<\/li>\n<li><strong>Operaciones:<\/strong> Nos proporciona las operaciones necesarias para trabajar: <strong>POST<\/strong> (crear), <strong>GET<\/strong> (obtener), <strong>PUT<\/strong> (editar) y <strong>DELETE<\/strong> (eliminar).<\/li>\n<li><strong>Sistema de capas: <\/strong>Arquitectura entre componentes. Cada una realiza su funci\u00f3n dentro de un sistema REST<\/li>\n<\/ul>\n<h2>Ventajas de un sistema REST<\/h2>\n<p>Las ventajas principales de un sistema REST respecto a los dem\u00e1s son:<\/p>\n<ul>\n<li><strong>Independencia:<\/strong> Da igual qu\u00e9 lenguaje de programaci\u00f3n est\u00e9s utilizando o qu\u00e9 plataforma. Con una API REST podr\u00e1s trabajar de cualquier manera. Lo \u00fanico necesario es que el intercambio de informaci\u00f3n sea mediante XML o JSON.<\/li>\n<li><strong>Separaci\u00f3n:<\/strong> La interfaz de usuario, el servidor y el almacenamiento de datos estar\u00e1n separados. Su principal ventaja, por ello, es la escalabilidad de los proyectos.<\/li>\n<li><strong>Escalabilidad: <\/strong>La separaci\u00f3n cliente-servidor permite la posibilidad de migrar a otros servidores sin realizar demasiados cambios. Esto hace que podamos tener el FRONT y el BACK separados.<\/li>\n<\/ul>\n<h2>\u00bfQu\u00e9 es Angular\/IONIC?<\/h2>\n<p>IONIC es un <strong>framework de c\u00f3digo abierto que se emplea para crear aplicaciones h\u00edbridas<\/strong>. IONIC posibilita la creaci\u00f3n de aplicaciones para los distintos clientes m\u00f3viles mediante el uso de un \u00fanico lenguaje de programaci\u00f3n.<\/p>\n<h2>Pasos a seguir para la creaci\u00f3n de un API REST en Drupal 8<\/h2>\n<p>La mejor manera de entender en qu\u00e9 consiste un API REST, es mediante la creaci\u00f3n de un sencillo ejemplo pr\u00e1ctico. Montaremos un webservices en <a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/tag\/drupal\/\">Drupal<\/a>, que devolver\u00e1 los elementos de un blog en formato JSON.<\/p>\n<p>&nbsp;<\/p>\n<h3>Activaci\u00f3n de m\u00f3dulos necesarios<\/h3>\n<p>Para crear una API REST en Drupal 8 necesitaremos acceder al men\u00fa <strong>\u201cExtend\u201d<\/strong> y buscar la secci\u00f3n <strong>\u201cWeb services\u201d<\/strong>. Una vez ah\u00ed, activaremos todos los m\u00f3dulos que est\u00e1n dentro de esta secci\u00f3n (los cuales son nativos del core y no es necesario instalarlos de forma individual).<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/1.png\" data-rel=\"lightbox-image-0\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11889 size-large\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/1-1024x291.png\" alt=\"Imagen explicativa de activaci\u00f3n de m\u00f3dulos necesarios\" width=\"620\" height=\"176\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/1-1024x291.png 1024w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/1-300x85.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/1-768x218.png 768w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/1-1536x436.png 1536w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/1-360x102.png 360w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/1.png 1556w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<h3><\/h3>\n<h3>Creaci\u00f3n de vistas<\/h3>\n<p>Esta vista nos servir\u00e1 para <strong>definir el modelo que vamos a entregar al cliente<\/strong>. Para ello, iremos a <strong>\u201cStructure &gt; Views\u201d<\/strong> y pulsaremos sobre <strong>\u201cAdd view\u201d<\/strong>.<\/p>\n<p>Completaremos la informaci\u00f3n b\u00e1sica de la vista y marcaremos la opci\u00f3n <strong>\u201cProvide a REST export\u201d<\/strong>.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/2.png\" data-rel=\"lightbox-image-1\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11890 size-large\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/2-1024x794.png\" alt=\"Imagen explicativa para seleccionar la opci\u00f3n Provide a REST export\" width=\"620\" height=\"481\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/2-1024x794.png 1024w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/2-300x233.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/2-768x596.png 768w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/2-1536x1191.png 1536w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/2-360x279.png 360w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/2.png 1555w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<p>En este momento, ya podr\u00edamos consultar un listado de <strong>\u201cArt\u00edculos\u201d <\/strong>a trav\u00e9s de la url: <a href=\"http:\/\/localhost\/rest\/blogs\"><strong>http:\/\/localhost\/rest\/blogs<\/strong><\/a> pero vamos a entrar en la vista para configurar una serie de opciones extras.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/3.png\" data-rel=\"lightbox-image-2\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11891 size-large\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/3-844x1024.png\" alt=\"Imagen explicativa para consultar el listado de art\u00edculos\" width=\"620\" height=\"752\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/3-844x1024.png 844w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/3-247x300.png 247w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/3-768x932.png 768w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/3-1266x1536.png 1266w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/3-360x437.png 360w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/3.png 1555w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<ul>\n<li><strong>Format:<\/strong> Seleccionaremos la opci\u00f3n <strong>hal_json<\/strong> clicando en <strong>\u201cSettings\u201d <\/strong>para elegir el formato en el que se va enviar la petici\u00f3n.<\/li>\n<li><strong>Show:<\/strong> Con la finalidad de no enviar en el modelo m\u00e1s de los datos necesarios (y hacer mas liviana la petici\u00f3n), seleccionaremos la opci\u00f3n <strong>\u201cFields\u201d <\/strong>y en <strong>\u201csettings\u201d<\/strong> a\u00f1adiremos un alias a cada uno de los campos para llamarlos posteriormente desde el cliente.<\/li>\n<li><\/li>\n<\/ul>\n<p><strong>POSTMAN es una herramienta que permite probar servicios webs de forma sencilla e intuitiva<\/strong>. Simplemente tendremos que indicar la URL y el m\u00e9todo HTTP que queremos utilizar.<\/p>\n<p>Para probar nuestra webservice seleccionaremos GET e indicaremos la URL de la petici\u00f3n.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/4.png\" data-rel=\"lightbox-image-3\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11892 size-large\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/4-1024x589.png\" alt=\"Imagen explicativa para probar el API REST con POSTMAN\" width=\"620\" height=\"357\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/4-1024x589.png 1024w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/4-300x173.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/4-768x442.png 768w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/4-1536x883.png 1536w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/4-360x207.png 360w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/4.png 1558w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3>\u00a0Creaci\u00f3n de la aplicaci\u00f3n cliente (IONIC)<\/h3>\n<p>Para <strong>crear un proyecto en IONIC<\/strong> podemos seguir la <strong>gu\u00eda de inicio<\/strong> que nos proporcionan el equipo de desarrollo (<a href=\"https:\/\/ionicframework.com\/getting-started\">https:\/\/ionicframework.com\/getting-started<\/a>). Nosotros comenzaremos a montar nuestra aplicaci\u00f3n a partir de este paso.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/5.png\" data-rel=\"lightbox-image-4\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11893 size-large\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/5-1024x533.png\" alt=\"Imagen para explicar como crear la aplicaci\u00f3n cliente IONIC\" width=\"620\" height=\"323\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/5-1024x533.png 1024w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/5-300x156.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/5-768x400.png 768w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/5-1536x800.png 1536w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/5-360x187.png 360w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/5.png 1556w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<h3><\/h3>\n<h3>Creaci\u00f3n del servicio encargado de llamar al API REST<\/h3>\n<p>La primera tarea que tendremos que hacer es <strong>crear un servicio que nos permita obtener los datos de nuestra API REST<\/strong>. En este caso, lo llamaremos blog.service.ts y nos devolver\u00e1 el mismo objeto que anteriormente hemos visto en POSTMAN.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/6.png\" data-rel=\"lightbox-image-5\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11894 size-full\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/6.png\" alt=\"Imagen para explicar la creaci\u00f3n del servicio encargado de llamar al API REST\" width=\"1558\" height=\"896\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/6.png 1558w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/6-300x173.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/6-1024x589.png 1024w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/6-768x442.png 768w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/6-1536x883.png 1536w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/6-360x207.png 360w\" sizes=\"auto, (max-width: 1558px) 100vw, 1558px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3>Creaci\u00f3n del componente encargado de la visualizaci\u00f3n del contenido<\/h3>\n<p>A continuaci\u00f3n, <strong>crearemos el componente que se encargar\u00e1 de pintar los posts<\/strong>. Como el proyecto base de IONIC ya trae tres componentes creados por defecto, utilizaremos uno de ellos para trabajar.<\/p>\n<p>Comenzaremos localizado el archivo tab1.page.ts. Este TypeScript ser\u00e1 el encargado de devolver el objeto con los datos de nuestro webservice a la vista HTML.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/7.png\" data-rel=\"lightbox-image-6\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11895 size-full\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/7.png\" alt=\"Imagen explicativa de la creaci\u00f3n del componente encargado de la visualizaci\u00f3n del contenido\" width=\"1558\" height=\"896\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/7.png 1558w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/7-300x173.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/7-1024x589.png 1024w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/7-768x442.png 768w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/7-1536x883.png 1536w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/7-360x207.png 360w\" sizes=\"auto, (max-width: 1558px) 100vw, 1558px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>Una vez tengamos montado el objeto en el archivo TypeScript de nuestro componente, iremos al archivo tab1.page.html. Aprovechando que IONIC tiene una colecci\u00f3n de componente visuales muy amplia, <strong>utilizaremos el elemento <a href=\"https:\/\/ionicframework.com\/docs\/api\/card\">CARD<\/a> para presentar la informaci\u00f3n<\/strong>.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/8.png\" data-rel=\"lightbox-image-7\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11896 size-full\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/8.png\" alt=\"Imagen explicativa del elemento CARD para presentar la informaci\u00f3n\" width=\"1558\" height=\"896\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/8.png 1558w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/8-300x173.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/8-1024x589.png 1024w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/8-768x442.png 768w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/8-1536x883.png 1536w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/8-360x207.png 360w\" sizes=\"auto, (max-width: 1558px) 100vw, 1558px\" \/><\/a><\/p>\n<p>Una vez a\u00f1adidas estas l\u00edneas de c\u00f3digo, visitaremos la pesta\u00f1a uno de nuestro proyecto y <strong>veremos todos los posts de nuestro blog en formato CARD<\/strong>.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/9.png\" data-rel=\"lightbox-image-8\" data-rl_title=\"\" data-rl_caption=\"\" title=\"\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11897 size-large\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/9-1024x589.png\" alt=\"Imagen explicativa para ver los posts del blog en formato CARD\" width=\"620\" height=\"357\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/9-1024x589.png 1024w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/9-300x173.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/9-768x442.png 768w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/9-1536x883.png 1536w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/9-360x207.png 360w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2019\/11\/9.png 1558w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\" \/><\/a><\/p>\n<p>Pod\u00e9is <strong>descargar el ejemplo completo<\/strong> en el siguiente repositorio: <a href=\"https:\/\/github.com\/julenmelgar\/ionic-rest-api\">https:\/\/github.com\/julenmelgar\/ionic-rest-api<\/a><\/p>\n<h2><\/h2>\n<p>En definitiva, la principal ventaja de un desarrollo API REST reside en la independencia frente a cualquier consumidor, sin importar el lenguaje o la plataforma que intente acceder a ella. Esta caracter\u00edstica <strong>proporciona fiabilidad, <a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/drupal-8-cms-mas-escalable\/\">escalabilidad<\/a> y una f\u00e1cil portabilidad a cualquier plataforma<\/strong>. Todo ello constituye una <strong>soluci\u00f3n ideal para proyectos de <a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/estrategia-omnicanalidad-drupal-8\/\">estrategia omnicanal<\/a>.<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>En Hiberus contamos con un departamento de\u00a0<strong>m\u00e1s de 60 desarrolladores Drupal<\/strong>. Nuestros m\u00e1s de 10 a\u00f1os de experiencia nos ha hecho trabajar en los principales <a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/casos-de-exito-de-drupal\/\">casos de \u00e9xito Drupal<\/a> a nivel nacional. Cu\u00e9ntanos tu proyecto y conoce a nuestro equipo <a href=\"https:\/\/www.hiberus.com\/dxp\/drupal\">experto en Drupal<\/a>.<\/p>\n<p>&nbsp;<\/p>\n        <div class=\"row\">\n            <div class=\"block-cta-form\" style=\"background-color: #003664;\">\n                <div class=\"content-cta-form\">\n                    <div class=\"text-cta-form\">\n                        <p class=\"title-cta-form\">\u00bfQuieres m\u00e1s informaci\u00f3n sobre nuestros servicios de Drupal?<\/p>\n                        <p>Contacta con nuestro equipo de Drupal<\/p>\n                    <\/div>\n                    <div class=\"form-fields\">\n                        \n<div class=\"wpcf7 no-js\" id=\"wpcf7-f33973-o1\" lang=\"es-ES\" dir=\"ltr\" data-wpcf7-id=\"33973\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/11887#wpcf7-f33973-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formulario de contacto\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"33973\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"es_ES\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f33973-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/><input type=\"hidden\" name=\"_wpcf7_recaptcha_response\" value=\"\" \/>\n<\/fieldset>\n<div id=\"responsive-form\" class=\"clearfix\">\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"nombre\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Nombre *\" value=\"\" type=\"text\" name=\"nombre\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"apellido\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Apellido *\" value=\"\" type=\"text\" name=\"apellido\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"correo\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Correo corporativo *\" value=\"\" type=\"email\" name=\"correo\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"telf-contacto\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Tel\u00e9fono *\" value=\"\" type=\"tel\" name=\"telf-contacto\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"compania\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Compa\u00f1ia *\" value=\"\" type=\"text\" name=\"compania\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"mensaje\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Mensaje *\" name=\"mensaje\"><\/textarea><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full color-acceptance\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"politica\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"politica\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">He le\u00eddo y acepto la <a href=\"https:\/\/www.hiberus.com\/politica\" target=\"_blank\"><u>Pol\u00edtica de privacidad<\/u><\/a><\/span><\/label><\/span><\/span><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full color-acceptance\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"marketing\"><span class=\"wpcf7-form-control wpcf7-acceptance optional\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"marketing\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">Me gustar\u00eda recibir comunicaciones de marketing de Hiberus y sobre sus productos, servicios y eventos.<\/span><\/label><\/span><\/span><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Contacta con nosotros\" \/>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div id=\"campos_ocultos\" class=\"hidden\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new1\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new1\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new1\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new2\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new2\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new2\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new3\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new3\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new3\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new4\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new4\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new4\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new_p\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new_p\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new_p\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n<!--end responsive-form--><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n        \n","protected":false},"excerpt":{"rendered":"<p>Cuando hablamos de REST (Representational State Transfer)\u00a0nos referimos a cualquier interfaz entre sistemas que use HTTP para obtener datos o generar operaciones&#8230;<\/p>\n","protected":false},"author":133,"featured_media":11888,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_ayudawp_aiss_exclude":false,"footnotes":""},"categories":[3,232],"tags":[25,32],"class_list":{"0":"post-11887","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-negocio-electronico","8":"category-portales-dxp","9":"tag-cms","10":"tag-drupal"},"acf":[],"_links":{"self":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/11887","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/users\/133"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/comments?post=11887"}],"version-history":[{"count":5,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/11887\/revisions"}],"predecessor-version":[{"id":38774,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/11887\/revisions\/38774"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/media\/11888"}],"wp:attachment":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/media?parent=11887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/categories?post=11887"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/tags?post=11887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}