¿Cómo funcionan las solicitudes, respuestas y cargas útiles de la API?
Una solicitud de API es un mensaje enviado de una aplicación a otra para recuperar información o realizar una operación admitida.
La aplicación receptora procesa la solicitud y generalmente devuelve una respuesta HTTP.
Entender las solicitudes y respuestas ayuda a las empresas a configurar, probar y solucionar problemas de integraciones externas.
¿Qué contiene una solicitud de API?
Dependiendo del proveedor, una solicitud puede incluir:
1. Una URL de endpoint.
2. Un método HTTP.
3. Información de autenticación.
4. Encabezados de solicitud.
5. Parámetros de consulta.
6. Un cuerpo de solicitud.
7. Identificadores para los registros o recursos involucrados.
No todas las solicitudes requieren todos estos componentes.
Métodos HTTP comunes
GET
Se utiliza típicamente para recuperar información.
POST
Se utiliza comúnmente para enviar información o iniciar una operación.
PUT
Se utiliza comúnmente para reemplazar o actualizar un recurso.
PATCH
Se utiliza comúnmente para aplicar cambios parciales.
DELETE
Se utiliza comúnmente para eliminar un recurso.
El comportamiento real está definido por la API externa.
¿Qué es una carga útil de API?
Una carga útil es la información transportada en una solicitud o respuesta.
Muchas API utilizan JSON, aunque otros formatos son posibles.
Una carga útil JSON puede contener campos como identificadores de clientes, estados de registros, marcas de tiempo o parámetros operativos.
¿Qué es una respuesta de API?
Una respuesta generalmente contiene un código de estado HTTP y puede incluir un cuerpo de respuesta.
El cuerpo de la respuesta puede contener información solicitada, confirmación de una operación o detalles de error.
Códigos de respuesta HTTP comunes
200 — La solicitud fue exitosa.
201 — Se creó un recurso.
202 — La solicitud fue aceptada para su procesamiento, pero el procesamiento puede no estar completo.
204 — La solicitud tuvo éxito sin un cuerpo de respuesta.
400 — La solicitud es inválida.
401 — Falta o es inválida la autenticación.
403 — El acceso está prohibido.
404 — No se encontró el recurso solicitado.
409 — Ocurrió un conflicto.
429 — La solicitud fue limitada por la tasa.
500 — El servicio externo encontró un error interno.
503 — El servicio está temporalmente no disponible.
Estos son significados comunes de HTTP. Las API individuales pueden proporcionar detalles adicionales.
¿Significa HTTP 200 siempre que la operación comercial se completó correctamente?
No necesariamente.
Una respuesta HTTP exitosa confirma que el servidor manejó la solicitud de acuerdo con su contrato de API.
Los datos devueltos y el resultado comercial posterior aún deben ser validados.
¿Qué pasa si una API devuelve información incompleta?
Revise la estructura de respuesta del proveedor, los permisos, los campos solicitados, las reglas de paginación y la disponibilidad de datos.
Algunas API devuelven solo campos seleccionados o un número limitado de registros por solicitud.
¿Qué es la paginación?
La paginación es un mecanismo que divide grandes colecciones de registros en grupos más pequeños.
Una integración puede necesitar solicitar múltiples páginas para recuperar una colección completa.
¿Qué es el mapeo de datos?
El mapeo de datos define cómo los campos de un sistema corresponden a los campos de otro.
Por ejemplo, dos sistemas pueden representar la misma información comercial utilizando diferentes nombres de campo o estructuras.
¿Cómo debo validar una operación de API?
Paso 1: Confirme el endpoint y el método HTTP.
Paso 2: Verifique la autenticación.
Paso 3: Verifique los parámetros requeridos.
Paso 4: Envíe una solicitud controlada.
Paso 5: Inspeccione la respuesta HTTP.
Paso 6: Valide la información devuelta.
Paso 7: Confirme el resultado comercial esperado.
Paso 8: Revise el manejo de errores antes del uso en producción.
Enfoque recomendado
Trate la comunicación exitosa y el procesamiento comercial exitoso como requisitos de validación separados.
Ambos deben ser confirmados antes de confiar en una integración de API para operaciones importantes.