Usa Laravel para consumir APIs y Servicios HTTP
4.3 (61 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
290 students enrolled

Usa Laravel para consumir APIs y Servicios HTTP

Crea un cliente HTTP genérico con Laravel y GuzzleHttp para consumir cualquier API y proyecto en línea usando HTTP.
4.3 (61 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
290 students enrolled
Last updated 10/2019
Spanish
Spanish [Auto]
Current price: $34.99 Original price: $49.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 6 hours on-demand video
  • 4 articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Consume cualquier servicio HTTP (propio o de terceros)
  • Reutiliza los componentes construidos en el curso para consumir cualquier servicio HTTP
  • Autentica usuarios en tu proyecto a partir de la información obtenida de servicio HTTP externos
  • Comprende el modo de consumir cualquier servicio HTTP desde Laravel
  • Construye Clientes HTTP con Laravel, completamente modulares y mantenibles
  • Domina el uso de access tokens y OAuth2 al enviar y autorizar las peticiones de tus Clientes HTTP
Course content
Expand all 67 lectures 06:05:55
+ Conociendo el curso y el instructor
4 lectures 08:31

Acá te comento qué es lo que vas a prender con detalle y lo que alcanzarás al finalizar el curso.

Preview 03:59

Antes de comenzar, déjame presentarme y mencionarte algunas cosas interesantes sobre mí y las experiencias que me han permitido construir esta guía definitiva para construir un Cliente HTTP con Laravel.

Preview 02:11

Acá te explico un poco sobre el entorno de desarrollo que recomiendo para seguir el curso. Sin embargo, eres libre de usar las herramientas con las que te sienta mejor para seguir el curso.

Acerca del entorno de desarrollo a usar en el curso
01:56

Acá te comparto detalles de cómo acceder al código fuente del Cliente HTTP construido durante el curso y cómo usarlo.

El código fuente del Cliente HTTP con Laravel
00:25
+ Detalles sobre la API o Servicio HTTP a consumir desde el Cliente HTTP
5 lectures 30:51

Antes de poder consumir cualquier servicio, necesitas conocerlo un poco. Determinar dónde enviar las peticiones (qué URL), cómo funciona y cómo accederlo.

Preview 04:18

La API que vas a consumir durante el curso es protegida. Así que tendrás que crear tus propios usuarios y clientes para acceder a su información. Acá te explico cómo.

Creando un cliente y usuarios para la API
04:23

¿Tienes dudas sobre OAuth2 y los access tokens? No te preocupes, en esta clase te explico las diferentes maneras de obtener un access token y sus características.

Los diferentes modos de autenticar peticiones a la API (OAuth2)
09:37

Usualmente, los tokens obtenidos desde una API suelen expirar al cabo de unas horas, así que es necesario refrescarlos o renovarlos para obtener uno nuevo.

Cómo refrescar tokens y manejar los permisos de un token
06:50

Finalmente, para consumir un servicio cualquiera, es muy importante conocer la estructura de las respuestas que tal servicio retorna, pues de ese modo sabrás como acceder a la información que requieres e incluso determinar cuándo hay errores o no.

Las respuestas, acciones y restricciones de la API a consumir
05:43
+ Creando y preparando el proyecto de Laravel para el Cliente HTTP
5 lectures 21:34

Es momento de obtener la estructura de Laravel, usando composer, para comenzar a implementar el Cliente HTTP

Obteniendo la estructura de Laravel para el Cliente HTTP
05:33

Guzzle es una librería de PHP muy popular y extendida para realizar peticiones HTTP de manera sencilla e intuitiva desde cualquier proyecto PHP, lo cual incluye Laravel y nuestro propio Cliente HTTP.

Agregando Guzzle para realizar peticiones HTTP desde Laravel
02:45

Toma algunas notas de un paso adicional a seguir si estás utilizando Laravel 6

Laravel 6: Un paso adicional
00:21

Es momento de preparar el entorno para que el Cliente HTTP pueda funcionar sin problemas. En esta clase mostraré el uso de php artisan serve y SQLite. Sin embargo, puedes usar el entorno que desees.

Preparando el entorno con una configuración sencilla
05:43

Es momento de agregar los campos y componentes que necesitaremos almacenar en nuestra propia base de datos para poder consumir la API objetivo y automatizar fácilmente el proceso.

Preparando el cliente HTTP para almacenar y autenticar usuarios
07:12
+ Construyendo la interfaz gráfica inicial del Cliente HTTP
5 lectures 24:53

Algunos detalles de utilidad a tener en cuenta para llevar a cabo todo los pasos de esta sección con Laravel 6.

Laravel 6: Antes de comenzar esta sección
01:16

Por medio de las facilidades que proporciona Laravel, vamos a generar diferentes componentes que permitirán construir la interfaz gráfica del Cliente HTTP.

Generando los componentes iniciales de la interfaz del cliente HTTP
07:42

El modo en el que la vista de bienvenida que viene por defecto con Laravel es usada, es un tanto limitada en funcionalidad. Durante esta clase, vamos a mejorar eso, para poder enviar valores fácilmente a la vista principal de bienvenida, junto con algunos arreglos en la parte visual.

Generalizando la vista de bienvenida del Cliente HTTP
06:09

Es muy importante poder indicarle al usuario del Cliente HTTP, el resultado de diferentes operaciones (ya sea de éxito o de error). Durante esta clase, crearás dos componentes que se usarán en el layout del proyecto que permitirán mostrar adecuadamente los mensajes tanto de error como de éxito.

Permitiendo mostrar mensajes del Cliente HTTP en cualquier ubicación
05:52

Vamos a agregar un pequeño botón en el formulario de inicio de sesión que permitirá, una vez sea implementado, iniciar sesión directamente con la API usada por el Cliente HTTP.

Agregando la posibilidad de iniciar sesión directamente con la API
03:54
+ Preparando el proyecto Laravel para consumir el servicio objetivo
3 lectures 22:17

Durante esta clase vas a crear el componente principal del proyecto. Se trata del componente que podrá enviar peticiones HTTP de manera genérica usando Guzzle desde Laravel.

Este será ese componente altamente re-utilizable que tendrás para todos tus demás proyectos de clientes HTTP.

Creando un componente genérico para consumir servicios HTTP desde Laravel
09:45

Una vez creado el componente genérico, es momento de crear el componente específico que sabrá con exactitud cómo hacer las peticiones del modo correcto a la API que está consumiendo el Cliente HTTP.

Creando el componente que sabrá cómo consumir el servicio objetivo
06:03

Haciendo uso de los archivos de configuración de Laravel. Vamos a indicar las configuraciones respectivas a la API que se consumirá. Tales como URL base, y credenciales de acceso.

Preparando la configuración del servicio a consumir
06:29
+ Implementando los métodos necesarios para consumir el Servicio HTTP
4 lectures 19:46

Es momento de implementar uno por uno los métodos del servicio que caracteriza la API que se estará consumiendo. En este caso, se implementará el método encargado de resolver el modo de autenticar las peticiones y conseguir que sean autorizadas.

Implementando el método para autorizar las peticiones
05:13

Es momento de implementar el método que se encargará de interpretar y obtener correctamente la estructura de las respuestas de la API, para que puedan ser usadas con facilidad a lo largo de todo el Cliente HTTP.

Implementando el método para decodificar las respuestas de la API HTTP
03:00

Aunque Guzzle dispara excepciones al momento de obtener respuestas de error, las cuales deben ser controladas de forma diferente, existen servicios que retornan errores de modo diferente, lo cual hace necesario implementar un método que permita identificar errores de forma adecuada y proceder según sea necesario.

Implementando el método para detectar respuestas de error
03:55

Es muy importante mantener el orden y la modularidad del proyecto, especialmente para facilitar la re-utilización de componentes desde otros lugares del Cliente HTTP.

Durante esta clase, vamos a invertir algunos minutos para mejorar la modularidad y mantenibilidad del Cliente HTTP en Laravel, permitiéndonos ahorrar tiempo más adelante.

Facilitando y generalizando el uso del Servicio creado en el Cliente
07:38
+ Haciendo las primeras peticiones al Servicio HTTP y mostrando los resultados
8 lectures 37:47

Es momento de enviar tu primera petición a la API. Y será para obtener la lista de productos.

Obteniendo la lista de productos desde la API
07:20

Una vez obtenida la lista de productos de las API, es necesario utilizar esa información para mostrarla adecuadamente a los usuarios del Cliente HTTP.

Preview 04:26

Es momento de enviar una nueva petición. En esta ocasión será para obtener la lista de categorías.

Obteniendo la lista de categorías desde el servicio HTTP
02:40

Tal como se hizo con los productos, es momento de mostrar también la lista de categorías en la vista principal. Para ello agregaremos una columna adicional en la vista principal, para mostrarlas de forma acorde a los usuarios del Cliente HTTP con Laravel.

Agregando la lista de categorías a la página principal del Cliente HTTP
03:57

Es momento de obtener los detalles de un producto específico, a partir del identificador del mismo.

Obteniendo los detalles de un producto específico desde la API
05:44

Es momento de mostrar los detalles obtenidos de un producto dado. Esto implica construir también una ruta que permita obtener el identificador del producto, y además agregaremos su título para ser un poco más realistas en el modo de funcionar del Cliente HTTP con Laravel.

Mostrando los detalles de un producto específico
04:56

Es momento de obtener los productos de una categoría. Para ello, es necesario recibir el identificador de la categoría que se desea utilizar.

Obteniendo los productos de una categoría del servicio HTTP
04:53

Una vez obtenidos los productos de una categoría, mostrarlos será bastante similar a lo que se hizo para mostrar la lista completa de productos.

Mostrando los productos de una categoría en el Cliente HTTP
03:51
+ Automatizando la obtención de access tokens asociados al Cliente HTTP
4 lectures 26:09

Es necesario agregar un nuevo servicio encargado de todo el proceso de obtener access tokens (OAuth2). Este servicio debe ser completamente independiente, puesto que el servicio que ya tenemos se autentica a partir de tokens ya obtenidos así que no podrá ser usado para este propósito.

Agregando un nuevo servicio para obtener access tokens del Cliente HTTP
06:11

Es momento de agregar la primera capacidad al nuevo servicio, capaz de obtener un token asociado al cliente. Básicamente, obtendrás un access token por medio del grant type llamado client_credentials de OAuth2.

Obteniendo automáticamente un token asociado al Cliente HTTP
05:39

Ahora que el Cliente HTTP es capaz de obtener access tokens automáticamente, al menos de manera inicial asociados al cliente (client_credentials); debes automatizar el proceso de obtención cada vez que se vaya a enviar una petición a la API.

Usando tokens obtenidos automáticamente al consumir la API
05:18

Cada token obtenido tiene un tiempo de duración, así que no tiene sentido obtener uno nuevo cada vez que se envía una petición.

Durante esta clase agregarás la capacidad de determinar si un token sigue siendo válido o no para re-utilizarlo al máximo.

Evitando obtener un token en cada petición al Servicio HTTP
09:01
+ Autenticando usuarios directamente desde la API
6 lectures 41:27

Durante esta clase, te encargarás de generar correctamente la URL hacia la cual se dirigirá al usuario al momento de solicitar su autorización para acceder a su información y permitirle iniciar sesión en el Cliente HTTP.

Generando la URL para habilitar el botón de inicio de sesión con la API
05:47

Una vez que el Cliente HTTP está en capacidad de generar la URL correctamente, es momento de asociarla con el botón de manera que el usuario sea correctamente dirigido al momento de presionar el botón.

Preparando el botón para obtener la autorización de los usuarios
06:31

Una vez que el usuario autoriza al Cliente HTTP, se obtiene un código de autorización.

Durante esta clase, agregarás la capacidad de obtener un access token válido a partir de un código obtenido. Básicamente, se usará el grant type llamado authorization_code de OAuth2.

Obteniendo un token válido a partir del código de autorización
08:18

Una vez que el Cliente HTTP está en capacidad de obtener un token asociado al usuario, después de obtener su autorización, podrás acceder a su información.

Durante esta clase, agregarás la capacidad de obtener la información de un usuario a partir de un token válido asociado.

Obteniendo la información de un usuario desde el servicio HTTP
06:49

Debido a que no existe una forma de controlar que un usuario existente o no use el botón para iniciar sesión, debes encargarte de determinar si se trata de un usuario nuevo o no, a partir de su identificador en la API, para crearlo o actualizar su información de acceso, según sea el caso.

Registrando o actualizando usuarios con información desde la API
07:19

Finalmente, una vez que el Cliente HTTP en Laravel, está en capacidad de identificar usuario de forma interna, a partir de las credenciales de acceso en la base de datos, es posible crear sesiones para los usuarios.

Se trata de una de las funciones más interesantes de un Cliente HTTP, pues se están creando sesiones a partir de un usuario cualquiera proveniente de la API consumida.

Creando sesiones para usuarios validados por el servicio HTTP
06:43
+ Autenticando usuarios en el Cliente HTTP directamente con su email y contraseña
3 lectures 18:07

Tal como se puede obtener un token válido a partir de un código de autorización, también se puede obtener a partir de las credenciales del usuario (username y password). Esta forma de obtener un access token, corresponde al grant type llamado password.

Obteniendo un token válido a partir de las credenciales de un usuario
06:48

Es momento de autenticar un usuario y crearle una sesión a partir del token obtenido con sus credenciales. Por supuesto, siempre utilizando algunos componentes anteriormente implementados.

Autenticando un usuario en el Cliente HTTP a través de sus credenciales
05:48

Es importante controlar adecuadamente las fallas al intentar obtener un token con las credenciales del usuario, asegurándose de que solo se trate de casos en los que las credenciales hayan sido inválidas y no cualquier otro error.

Controlando correctamente los intentos con credenciales inválidas
05:31
Requirements
  • Tener PHP instalado y funcional en tu sistema (se recomienda al menos PHP 7.2)
  • Tener composer instalado y funcional en tu entorno de desarrollo
  • Dominio básico de PHP
Description

¿Necesitas consumir un Servicio o API HTTP y te abruma pensar en OAuth2, access tokens, credenciales, grant types, sesiones de usuario y demás?
¡Yo te cubro!
En este curso te muestro que todo se trata de peticiones HTTP, usando los valores y herramientas correctas para hacer todo mucho más sencillo.


Crea tu propio cliente HTTP con Laravel: Construye y diseña tu propio proyecto web con Laravel, para consumir servicios y APIs en línea.

Obtén datos de servicios o APIs HTTP (propios o de terceros) y muéstralos de forma agradable y correcta a los usuarios de tu proyecto.

Aprende paso a paso todo lo necesario para consumir cualquier servicio web o API en línea, con PHP desde un proyecto Laravel y usando Guzzle.

Al final del curso tendrás múltiples componentes que podrás reutilizar en tus proyectos para consumir cualquier servicio o API HTTP.


No esperes más e inscríbete :)


¿Por qué debes elegir este curso?

  • Porque te da una vista detallada, como en ningún otro curso, de cómo consumir un servicio o API HTTP usando Laravel y PHP.

  • Porque te da los componentes esenciales que podrás re-utilizar en tus demás proyectos al momento de consumir cualquier servicio o API HTTP

  • Porque, estarás en capacidad y con la confianza suficientes para usar cualquier servicio o API protegidos por OAuth2 o access tokens.

  • Porque no solo te muestro cómo crear tu Cliente HTTP con Laravel, sino que también te ayudo a identificar los diferentes desafíos de un Cliente HTTP y cómo resolverlos adecuadamente.

  • Porque simplemente, no existe otro curso que cubra todos estos temas.

¿De qué serás capaz al finalizar el curso?
En general, serás capaz de implementar un Cliente HTTP que te permita consumir cualquier servicio o API HTTP, ya sea propio o de terceros, usando PHP y Laravel. Además, tendrás una idea clara de cómo proceder al enfrentar nuevos proyectos y servicios a consumir, re-utilizando al máximo los componentes creados y aprendidos durante este curso.

Sabrás hacer uso de una librería de alto nivel como Guzzle, para enviar peticiones HTTP desde PHP con Laravel. Implementando componentes genéricos que permitan enviar peticiones de cualquier tipo a cualquier servicio HTTP con Guzzle.

Al final, habrás adquirido total confianza al enviar peticiones seguras y debidamente autorizadas a diferentes servicios HTTP, ya sea usando access tokens simples o incluso haciendo uso de todo un mecanismo de seguridad como lo es OAuth2. Todo, usando PHP y Laravel.


Durante el curso aprenderás esto:

Para el Cliente HTTP:

  • Cómo consumir un servicio o API a través de peticiones HTTP desde Laravel

  • Cómo autenticar y crear sesiones de usuario en tu Cliente HTTP con información de otros servicios

  • Cómo automatizar el proceso de obtención de un access token par autorizar las peticiones de tu Cliente HTTP

  • Las diferentes formas de obtener un access token desde un servicio que use OAuth2 y sus diferencias

  • Cómo manejar los tiempos de expiración de un token y evitar perder el acceso a la información

  • Cómo manejar errores de acceso al servicio o API HTTP consumido y cómo proceder

  • Cómo manejar y autenticar peticiones protegidas y asociadas a información de un usuario desde el Cliente HTTP

  • Uso de Guzzle desde Laravel, para enviar peticiones HTTP a cualquier servicio o API HTTP

  • Cómo  configurar y preparar Laravel para realizar peticiones a un servicio o API HTTP

  • Uso de Bootstrap 4 para mostrar la información obtenida desde un servicio consumido

  • Manejo y control de excepciones y errores al consumir servicios externos con Laravel

Para cualquier proyecto Laravel:

  • Cómo instalar Laravel en tu entorno de desarrollo para proyectos profesionales

  • Configurar Laravel, en tu entorno para un desarrollo ágil y sencillo

  • Construcción de un proyecto profesional, modular y escalable con Laravel

  • Creación de rutas, vistas, plantillas, controladores y más con Laravel

  • Manejo de errores y excepciones internas del proyecto Laravel

  • Instalación de dependencias a un proyecto Laravel (caso de Guzzle)

Por supuesto, eso no es todo. Dale una mirada a la descripción completa de secciones y clases para obtener más detalles.

¡Y no termina ahí! Tendrás acceso de por vida a las clases actuales y a las que agregue más adelante al curso.   

No esperes más para consumir esos servicios que necesitas y obtener la información que tus usuarios requieren.

Suscríbete y comienza a darle un nuevo enfoque a tus proyectos y mejóralos notablemente con información obtenida desde otros servicios (propios o de terceros).


¿Aún tienes dudas?

No te preocupes, acá te comparto algo más de información.


¿Por qué un Cliente HTTP con Laravel?
HTTP (HyperText Transfer Protocol) es  un protocolo muy extendido y utilizado en Internet y cualquier lenguaje actual tiene mecanismo para conseguir realizar peticiones sobre HTTP de manera sencilla lo cual, por supuesto, incluye a PHP y por ende a Laravel (un framework para PHP).

Al ser HTTP un protocolo muy extendido actualmente, cualquier sistema o lenguaje actual será capaz de comunicarse correctamente con otros sistemas que usen este protocolo (sin importar el lenguaje), permitiendo el uso de datos e información de cualquier sistema en línea.
Tal información obtenida desde cualquier servicio HTTP, la podrás utilizar en tus proyectos para ofrecer cualquier tipo de información y servicio a los usuarios de tus sistemas. Eso te convierte en un cliente HTTP, pues estarás consumiendo un servicio o API HTTP cualquiera desde tu propio proyecto.

Ahora, Laravel, es el framework más popular para PHP. Con Laravel podrás desarrollar en muy poco tiempo aplicaciones PHP de alta complejidad, lo cual incluye un Cliente HTTP. Durante el curso, verás las enormes facilidades que Laravel brinda al momento de obtener y usar información de importancia para tus usuarios, además de facilitar mucho el proceso de integrar sistemas externos fácilmente.

Laravel posee innumerables características que lo diferencian de múltiples framework para PHP, las cuales permiten implementar de manera simple y en poco tiempo, tareas muy complejas.

Si requieres más información, no dudes en ponerte en contacto :)

Suscríbete ahora y nos vemos en clases :)

Who this course is for:
  • Principiantes o avanzados que requieran consumir Servicios HTTP (propios o de terceros) usando Laravel
  • Quienes tengan problemas en dominar el uso de access tokens para enviar y autenticar peticiones a Servicios o APIs HTTP
  • Quienes busquen dominar OAuth2 y su uso al momento de autenticar peticiones a Servicios o APIs HTTP protegidos
  • Quienes busquen dominar las diferentes formas de obtener un access token válido para enviar peticiones válidas a un Servicio HTTP protegido
  • Quienes quieran aprender a construir un producto visualmente atractivo a partir de datos obtenidos de Servicios o APIs HTTP externos
  • Quienes necesiten autenticar usuarios, cuya información reside en sistemas externos que se pueden consumir con HTTP