Creando contenido con Rest Services

June 18, 2021

Share

Table of contents

Quick Access

Debido al auge que tiene Internet en estos tiempos y a la facilidad de poder acceder a este servicio, una de las necesidades más grandes de los empresarios es el poder sincronizar la información de una manera más rápida y sencilla, ya sea para poder mostrarla a sus clientes (a través de una página web o aplicación móvil) o para tomas de decisiones en tiempo real. Es aquí donde [Drupal](https://drupal.org/) nos ofrece el módulo [Services](https://drupal.org/project/services), el cual brinda la posibilidad de crear nuevos contenidos (nodos), hay que tener en cuenta el tipo de campo de los elementos que la conforman (por ejemplo: campo tipo texto, fecha, referencia a taxonomías, entre otros) A continuación veremos los diferentes parámetros que se deben usar para poder agregar nuevos contenidos. **- Módulo a usar: [Services](https://drupal.org/project/services) versión 7.x-3.3** Una vez instalado procedemos a activarlo, junto con [REST Server](http://en.wikipedia.org/wiki/Representational_state_transfer),el cual se encuentra incluido en el módulo Services. 1. Creación del servicio: Accedemos a nuestro sitio http://drupal_site/admin/structure/services y procedemos a agregar un nuevo servicio, los datos a usar para esta prueba son: - Machine-readable name of the endpoint: test_services. - Server: REST. - Path to endpoint: endpoint_services. - Seleccionamos la opción Session Authentication. - Guardamos. ![Add Services](https://cms.rootstack.com/sites/default/files/blog/img/rootstack_add_new_services.jpg) 2. Configuración: a) Pestaña de servicios: - Formatos: json. - Analizador de peticiones: application/json, application/x-www-form-urlencoded. b) Pestaña de recursos: - Nodos. - Usuarios. Para las siguientes pruebas, usaremos la extensión [Postman](https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CCoQFjAA&url=https%3A%2F%2Fchrome.google.com%2Fwebstore%2Fdetail%2Fpostman-rest-client%2Ffdmmgilgnpjigdojojpjoooidkmcomcm%3Fhl%3Den&ei=ycaDUvbfBeXA4AON14HADQ&usg=AFQjCNHaecLwAKk91gpdCY_y1x_ViIrHwQ&bvm=bv.56343320,d.dmg) en Chrome 1. Login: - URL: http://drupal_site/endpoint_services/user/login.json - Keys: - username - password ![Login](https://cms.rootstack.com/sites/default/files/blog/img/rootstack_login_services.jpg) 2. Creación de contenidos: - URL: http://drupal_site/?q=endpoint_services/node.json - Keys: - node[type] = page - node[language] = es (“en” para ingles) - node[title] = Primer nodo - node[body][und][0][value] = Este es nuestro primer nodo **Para tener en cuenta:** 1. Al momento de introducir los valores en los campos, hay que tener en cuenta el tipo de campo, ya que de eso dependerán los parámetros: - Campo texto: node[body][es][0][value]=$text - Campo fecha: node[campo_fecha][es][0][value][date]= $date - Campo referencia a entidad: node[campo_referencia][es] = $target_id - Campo referencia a taxomía: node[campo_referencia][es] = $tid - Campo archivo: node[field_inspection_image][es][0][fid] = $fid 2. En el caso de querer subir más valores del mismo campo, se hace aumentado uno de los parámetros, ejemplo: - node[body][es][0][value]=$first_text - node[body][es][1][value]=$second_text - node[body][es][2][value]=$third_text **Conclusión** El papel que juega el módulo [Services](https://drupal.org/project/services) en estos tiempos es de gran importancia, en especial para aquellos que buscan automatizar los procesos (relacionados a la creación de contenidos), los cuales posiblemente se realicen de manera manual, ahorrando así en horas-trabajo.