Los endpoints de API suelen encontrarse en la documentación de una API, que es donde los desarrolladores ponen información de la API, como qué tipo de solicitudes aceptará una API y cómo deben formatearse las solicitudes. Lo ideal sería que esta documentación también incluyera una lista de todos los endpoints de API disponibles y una breve descripción de sus funcionalidades.
En un contexto de API REST (un estilo arquitectónico de software utilizado con frecuencia para las aplicaciones web), el proceso tiene este aspecto:
El proceso comienza cuando un cliente de API envía una solicitud de recursos (llamada a API) al endpoint de API correspondiente. Se accede a los endpoints mediante métodos de solicitud HTTP como POST, GET, PUT, PATCH y DELETE. Estos métodos indican la acción que el cliente desea realizar sobre el recurso especificado.
Por ejemplo, si un cliente desea recuperar una lista de los totales de medallas olímpicas de un determinado año de la hipotética base de datos Olympicfacts.com, se envía una solicitud GET a la siguiente dirección URL de endpoint:
https://api.olympicfacts.com/v1/{year}
Esta solicitud devolvería una lista del total de medallas olímpicas por país. (v1 en nuestro endpoint hipotético indica la versión de la API, una práctica común en el control de versiones de API). Si el cliente quisiera un total para un país específico en un año determinado, se agregaría un identificador a la URL base:
https://api.olympicfacts.com/v1/year/{id}
En este ejemplo, el identificador {id} se utiliza para indicar sobre qué país desea recibir información el cliente.
Además, una solicitud puede incluir:
- Encabezados: los encabezados pueden proporcionar información adicional sobre la solicitud, como un encabezado de aceptación que especifica los tipos de medios aceptados
- Parámetros: se pueden agregar parámetros de consulta a la URL base o en el cuerpo de la solicitud para filtrar aún más los criterios de búsqueda o agregar otras especificaciones.
- Cuerpo de solicitud: un cuerpo de solicitud incluye los datos necesarios para crear o modificar un recurso. Por ejemplo, si la solicitud es para crear un nuevo blog (solicitud POST), el contenido del nuevo blog se incluiría en el cuerpo de la solicitud.
Una vez que el servidor autentica la solicitud y valida la entrada, recupera los datos solicitados y devuelve la respuesta al cliente. Muchas organizaciones utilizan API Gateway para ejecutar estas funciones y administrar el flujo de tráfico de API.