API REST FULL: La guía completa sobre los status code
¿Qué es un API RESTful?
Es una interfaz de programación de aplicaciones (API) que permite que dos sistemas intercambien información por internet de manera segura para llevar a cabo varias tareas, basándose en la arquitectura de transferencia de estado representacional (REST). Este tipo de API, mayormente se utilizan para desarrollar aplicaciones móviles y servicios web, ya que admiten un intercambio de información que sigue estándares de comunicación de software seguros, confiables y eficientes en un proyecto.
Se puede implementar una desde cero para integrar en un proyecto especificó, o también consumir (hacer uso) de una API pública, eso ya depende de los requerimientos que se tenga.
Por ejemplo. En una empresa comercial, para cumplir con las obligaciones tributarias, su sistema interno debe comunicarse con la API de SUNAT utilizando las credenciales de la empresa, para el envío automatizado de sus ventas diarias, mensuales, etc. De esta manera, se genera un archivo con el formato requerido por la SUNAT, conteniendo la información de las ventas, como tipo de comprobante, números de serie, fecha de emisión y monto total. La API responde con un código de estado(status code) que indica si el envío fue exitoso o no, permitiendo se registre la operación y realice un seguimiento de los envíos, incluso alertando al usuario en caso de errores.
Ahora, si desarrollas o implementas una API, de hecho te vas encontrar con los códigos de estado (status code), pero los conoces a todos, o sólo los más comunes, sabes para que sirven y que significan, y porque debemos conocerlos?. Aquí te dejo una guía detallada sobre estos códigos.
¿Qué significan todos los Status Code?
Los códigos de estado indican si una solicitud HTTP específica al servidor se completó con éxito o no, son importantes para la comunicación entre el cliente(navegador, aplicación) y el servidor. Estos mensajes de error, alerta o información, son una serie de códigos numéricos de tres cifras que están relacionados con una serie de determinadas respuestas que pueden significar un error u otro; en palabras resumidas, son un diccionario completo de códigos para el manejo de errores, control del flujo de la aplicación y la depuración de problemas en el desarrollo web, están más enfocado a los desarrolladores que al usuario final. Las respuestas se agrupan en cinco(5) clases.
1. Informativas o advertencias
Cod. | Nombre | Significado |
---|---|---|
100 | Continue | Indica que el cliente debe continuar con la solicitud o ignorar la respuesta si la solicitud ya ha finalizado. |
101 | Switching protocols | El servidor entiende y está dispuesto a cumplir con la solicitud del cliente aceptando el cambio de protocolo pedido. |
102 | Processing | La petición de solicitud ha sido recibida por el servidor y aún se encuentra en proceso. |
103 | Checkpoint | El servidor reanudará una petición cancelada anteriormente. |
2. Mensajes de éxito
Cod. | Nombre | Significado |
---|---|---|
200 | Ok | La solicitud se realizó correctamente. |
201 | Created | La solicitud ha tenido éxito y se ha creado un nuevo recurso. |
202 | Accepted | Solicitud aceptada, pero aún no procesada. |
203 | Non-Authoritative Information | Información no autoritativa. |
204 | No Content | La petición se ha procesado correctamente pero el resultado no tiene contenidos, está vacío. |
205 | Reset Content | Le dice al agente de usuario que restablezca el documento que envió esta solicitud. |
206 | Partial Content | El contenido se está recibiendo de manera parcial con la finalidad de poder reanudar descargas que se pausaron. |
3. Mensajes de redireccionamientos
Cod. | Nombre | Significado |
---|---|---|
300 | Multiple Choice | Esta solicitud tiene más de una posible respuesta, el usuario debe escoger uno de ellos. |
301 | Moved Permanently | La url del recurso solicitado no se encuentra y ha sido movido permanentemente a otro lugar. |
302 | Found | El recurso solicitado en la petición se encuentra temporalmente bajo una URl diferente |
304 | Not modified | El recurso solicitado no ha sido modificado. |
307 | Temporary redirect | El recursos solicitado se movió de ubicación, pero sigue estando disponible en esta dirección. |
4. Errores del cliente
Cod. | Nombre | Significado |
---|---|---|
400 | Bad Request | El servidor no pudo interpretar la solicitud debido a que el cliente empleó una sintaxis no válida. |
401 | Unauthorized | La petición de respuesta requiere de la autentificación de usuario. |
403 | Forbidden | El servidor entendió la petición, pero se niega a proporcionarla. |
404 | Not Found | El servidor no ha encontrado recurso solicitado. |
405 | Method Not Allowed | El método empleado para la petición de solicitud no está permitido. |
406 | Not Acceptable | Cuando el servidor web, no encuentra ningún contenido que se ajuste a los criterios dados por el agente de usuario. |
408 | Request Timout | El servidor estaba preparado para recibir la petición pero el cliente esperó demasiado a realizarla. |
409 | Conflict | La solicitud no se pudo completar debido a un conflicto con el actual estado del recurso. |
5. Errores del servidor
Cod. | Nombre | Significado |
---|---|---|
500 | Internal Server Error | El servidor encontró una condición inesperada que le impidió cumplir con la solicitud. |
501 | Not Implemented | El servidor no admite el método de solicitud y no se puede procesar. |
502 | Bad Gateway | El servidor obtuvo una respuesta no válida, mientras funcionaba como puerta de enlace para obtener una respuesta necesaria para manejar la solicitud. |
503 | Service Unavailable | El servidor no está listo para procesar la solicitud, por diferentes razones. |
504 | Gateway Timeout | El servidor actúa como puerta de enlace y no puede obtener una respuesta a tiempo. |
505 | Version Not Supported | El servidor no admite la versión HTTP utilizada en la solicitud. |
Quieres profundizar más, visita el siguiente enlace: HTTP response status codes
Comentarios
Publicar un comentario