Juan Santamaría

Juan Santamaría

Programador web

Cómo crear una API para tu aplicación web

Desde que empecé en el mundo del desarrollo web nunca había tenido que crear una API completa como tal y cuando te toca hacerlo… te vienen cientos de dudas a la cabeza: cómo empiezo, cómo funciona esto, para que sirve. Si a ti también te han asaltado esta serie de dudas te voy a desmigar cómo realizar una API

¿Qué es una API?

API viene de Aplication Programming Interface o lo que es lo mismo Interfaz de Programación de Aplicaciones y sirve para dar acceso a los datos de tu aplicación (ya sea para consultar o actualizar) de una manera sencilla y segura para que luego el usuario final los utilice como el decida. También la podríamos programar para nosotros mismos y dar acceso por ejemplo a una app de iOS o Android.

Cómo crear una API

Cómo gestionar la autenticación a tu API

Si tuviéramos una aplicación web de facturas por poner un ejemplo, lógicamente cada usuario tendría las suyas propias y por tanto tendríamos que poder distinguir que usuario nos esta haciendo una petición. Para ello deberíamos generar una hash asociado a cada usuario y que este fuera unico y nunca se repitiera.

Por ejemplo, podríamos crear un hash codificado en md5 que incluyera el ID del usuario, su email y el día y hora exactos del momento en que se genera:

md5($iduser.$email.time());

Cuando el usuario hiciera una petición a nuestra web comprobaríamos el Api Key y en el caso de que exista ya tendríamos identificado quien nos esta haciendo la petición para luego devolverle los datos correspondientes.

Cómo gestionar las peticiones

Esto dependerá un poco de cada uno y podremos procesar las peticiones vía parámetros POST o GET o una combinación de ambas. Por ejemplo si vamos a sacar un listado sin mas y no necesitamos insertar ningún dato yo optaría por una petición GET simple y sin complicaciones como la siguiente:

http://api.juansm.com/index.php?api_key=xxxx&action=getlist

Cómo devolver los datos

Lo más habitual a la hora de devolver los datos es en XML o en JSON. Si te decides a devolver los datos en JSON podrías hacer algo como esto:

$arr = array('response' => true, 'data' => 'Datos a devolver');
header('Content-Type: application/json; charset=utf-8');
echo json_encode($arr);

Fijaros que antes de mostrar por pantalla el resultado de la petición defino una cabecera header para que se muestre en el formato adecuado.

Muy importante: LA DOCUMENTACIÓN

constructor-de-api

Si has desarrollado una API es muy importante que la documentes ya que quien la acabará utilizando será un usuario final que puede que no tenga mucha idea. También viene bien añadir una zona donde pueda generar los códigos necesarios con un simple click y que solo tenga que copiar y pegar. Cuanto más sencillo para el, mejor para todos.

Si tienes cualquier duda o quieres ampliar información al respecto solo tenéis que dejar un comentario 🙂

COMPARTE TU OPINIÓN

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies

ACEPTAR
Aviso de cookies