Con el aumento de aplicaciones móviles y clientes web desarrollados con frameworks como Angular, React, Laravel entre otros, la demanda de APIs es cada día mayor. Pero, ¿cuáles son realmente los retos que debemos afrontar al crear APIs REST seguras, consistentes y que los usuarios amen para que no solo se reduzcan a retornar respuestas tipo JSON?
4. www.sgcampus.com.mx @sgcampus
Que es un API?
•Según Wikipedia
–Una API representa la capacidad de
comunicación entre componentes de software.
•En el contexto de nuestra charla
–Medio de comunicación entre diferentes
aplicaciones que comparten un mismo dominio
o uno relacionado.
5. www.sgcampus.com.mx @sgcampus
Que es un API?
Base de datos
Almacenamiento
de archivos
ERP
REST / JSON API
Por HTTPS
Aplicación A
(iOS)
Aplicación B
(Android)
Aplicación C
(Slack bot)
Private Cloud Public Cloud Public
7. www.sgcampus.com.mx @sgcampus
Datos de prueba
( Database Seeding )
• No usar bases de datos REALES!!!!
• Usar un generador de dummy data (Tipo Faker
en PHP)
• Usar migraciones y/o una DB SQLite (Para
pruebas de integración / unitarias).
26. www.sgcampus.com.mx @sgcampus
Códigos de estado y manejo de errores
2XX - Todo está bien
3XX – Redirecciones
4XX - El cliente lo hizo mal
5XX - El API / servidor hizo algo mal
Códigos de estado HTTP
31. www.sgcampus.com.mx @sgcampus
Códigos de estado y manejo de errores
200 - Todo OK
201 - Se ha creado el recurso
202 - Aceptado, se está procesando
301 - Redirección
400 - Petición mal hecha
401 - No autorizado (No esta logueado)
403 - No tienes permiso para esto (Si está
logueado)
404 - What?
405 - El verbo no está soportado
422 - No podemos procesar la entidad
429 - Muchas peticiones
500 - Error del API o server
503 - Vuelve pronto!
36. www.sgcampus.com.mx @sgcampus
Autenticación
• Usar un método de autenticación que sea acorde
a la necesidad.
• No dejar de usar autenticación.
• No inventar métodos de autenticación
• Siempre usar SSL