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