Introducción a la API


Resumen

API significa "Interfaz de Programación de Aplicaciones". Es un conjunto de reglas y protocolos que permite que diferentes aplicaciones de software se comuniquen e interactúen entre sí. Una API define los métodos y formatos de datos que las aplicaciones pueden utilizar para solicitar e intercambiar información.

Las API pueden utilizarse para permitir que diferentes sistemas de software, servicios o plataformas interactúen entre sí de manera transparente. Proporcionan a los desarrolladores un medio estandarizado para acceder a ciertas funcionalidades o datos de una aplicación de software sin tener que entender los detalles de la implementación subyacente. Al utilizar APIs, los desarrolladores pueden ahorrar tiempo y esfuerzo al aprovechar las características existentes en lugar de construir todo desde cero.

Las APIs se pueden encontrar en diversos contextos, como el desarrollo web, sistemas operativos, bibliotecas y marcos de trabajo. Se utilizan comúnmente para recuperar datos de servidores remotos, enviar datos a sistemas externos, integrar servicios de terceros o automatizar tareas.


Requests

Las solicitudes de API (o solicitudes) son una forma de interactuar con una API (Interfaz de Programación de Aplicaciones) a través de solicitudes HTTP. Una API es un conjunto de reglas y protocolos que permiten que diferentes sistemas de software se comuniquen y compartan información entre sí.


URL de base

La URL base en una API es la parte fija de la URL que es común a todas las solicitudes realizadas a la API. Define el dominio inicial y la ruta de acceso para acceder a los puntos finales de la API. A partir de la URL base, se pueden agregar rutas específicas para cada punto final o recurso de la API. En nuestro sistema, la URL base es : http://neopay-master


Verbos HTTP

Los verbos HTTP, también conocidos como métodos HTTP, son las principales acciones que se pueden realizar en un servidor web. Indican el tipo de operación que se solicita en un recurso específico. Aquí tienes algunos de los verbos HTTP más comunes y su significado. :

Verbo Descripción
GET El verbo GET se usa para solicitar datos de un recurso específico. Se utiliza para recuperar información del servidor.
Ejemplo: GET /api/customers - Obtener la lista de clientes API.
POST El verbo POST se usa para enviar datos al servidor para crear un nuevo recurso. A menudo se usa para enviar formularios o enviar datos JSON a la API.
Ejemplo: POST /api/customers: crea un nuevo cliente con los datos proporcionados.
PUT El verbo PUT se usa para actualizar completamente un recurso existente en el servidor. Envía todos los datos del recurso para reemplazar los datos existentes.
Ejemplo: PUT /api/customers/{id}: actualiza los datos del cliente con los datos proporcionados.
PATCH El verbo PATCH se usa para actualizar parcialmente un recurso existente en el servidor. Envía solo los datos que necesitan ser cambiados, sin afectar el resto de los datos del recurso.
Ejemplo: PATCH /api/customers/{id} - Actualizar parcialmente los datos del cliente con los datos proporcionados.
DELETE El verbo DELETE se usa para eliminar un recurso del servidor.
Ejemplo: DELETE /api/customers/{id}: elimina el cliente.
---

Configuraciones

Los parámetros en las API son información adicional proporcionada en una consulta para ajustar o filtrar los resultados devueltos por la API. Se utilizan para personalizar cómo responde la API a las solicitudes. Los parámetros se especifican en la URL de solicitud HTTP y se pueden clasificar en dos tipos principales: parámetros de solicitud y parámetros de ruta.

GET /api/links?status=active

En este ejemplo, tenemos un solo parámetro de consulta:

  1. status=active:Especifica que solo queremos enlaces con estado= active


Para las solicitudes POST, PUT y DELETE, los parámetros no incluidos en la URL deben estar codificados en formato JSON con un encabezado de tipo de contenido de application/json:

{
    "id": "98fa8d80-bb04-4a39-a5c0-b69ca5708664",
    "name": "John Doe",
    "email": "johndoe@gmail.com",
    "phone": "+33 7 65 31 39 61",
    "city": "Paris",
    "state": "Île de France",
    "zip_code": "70123",
    "street": "Avenue Victor Hugo.",
    "house_number": "33"
}

HTTP Status Code

Los códigos de estado HTTP son números de tres dígitos devueltos por un servidor para indicar el estado de la solicitud de un cliente realizada a través del protocolo de transferencia de hipertexto (HTTP). Estos códigos de estado brindan información sobre el resultado de la solicitud y permiten que el cliente y el servidor se comuniquen de manera eficiente. Aquí hay algunos códigos de estado HTTP de uso común con sus explicaciones:

Statut Descricion
200 Este código de estado indica que la solicitud del cliente fue exitosa. Se utiliza cuando el servidor responde con éxito a una solicitud GET, POST, PUT o DELETE. Por ejemplo, si un cliente solicita una página web y recibe el contenido sin problemas, el servidor responderá con un código de estado 200 OK.
201 Este código de estado se utiliza para indicar que se creó correctamente un nuevo recurso como resultado de la solicitud del cliente. A menudo se envía en respuesta a una solicitud POST. Por ejemplo, si un cliente envía un formulario para crear una nueva cuenta de usuario y el servidor crea correctamente la cuenta, responderá con un estado 201 Creado.
400 Este código de estado indica que el servidor no puede procesar la solicitud del cliente debido a una sintaxis o parámetros no válidos. Se usa comúnmente cuando el cliente envía una solicitud que el servidor no puede entender. Por ejemplo, si un cliente envía un formulario con datos faltantes o incorrectos, el servidor puede responder con un código de estado de solicitud incorrecta 400.
404 Este código de estado indica que el servidor no puede encontrar el recurso solicitado. Se suele utilizar cuando el cliente solicita una URL que no existe o no está disponible. Por ejemplo, si un cliente intenta acceder a una página web que se eliminó o ingresó una URL incorrecta, el servidor responderá con un código de estado 404 No encontrado.
401 El código de estado 401 No autorizado indica que la solicitud realizada por el cliente no tiene credenciales de autenticación válidas. Esto significa que el cliente debe proporcionar credenciales válidas para acceder al recurso solicitado, pero no lo hizo o las credenciales proporcionadas no son válidas.
500 Este código de estado indica que ocurrió un error inesperado en el servidor mientras se procesaba la solicitud del cliente. Este es un mensaje de error genérico que se usa cuando el servidor encuentra un problema interno que le impide cumplir con la solicitud. Por ejemplo, si hay un problema con la configuración del servidor o un error de programación, puede responder con un código de estado de error interno del servidor 500.

Límite de tarifa

Los límites de rendimiento de API se refieren a las restricciones establecidas por los proveedores de API sobre la cantidad de solicitudes que se pueden realizar dentro de un período de tiempo específico. Estos límites se imponen para evitar el abuso, garantizar un uso justo y mantener el rendimiento y la disponibilidad generales de la API. Al implementar límites de velocidad, los proveedores de API pueden controlar la velocidad a la que los clientes pueden acceder a sus servicios.

Los límites de tasa de API generalmente se establecen en función de dos parámetros:

  1. Rate Limit Window: Este es el período durante el cual se aplica el límite de tasa. Por ejemplo, una ventana de límite de tarifa de una hora significa que el límite se aplica durante un período de 60 minutos.

  2. Request Limit: Este es el número máximo de solicitudes permitidas dentro de la ventana de límite de tasa. Representa el umbral más allá del cual se denegarán o retrasarán las solicitudes adicionales. Por ejemplo, si el límite de solicitudes se establece en 1000, solo se procesarán las primeras 1000 solicitudes dentro del tiempo especificado.

Estos son algunos ejemplos para ilustrar los límites de rendimiento de la API:

  1. Twitter API: La API de Twitter impone límites de rendimiento para controlar el acceso a sus recursos. Para algunos terminales, el límite de rendimiento se puede establecer en 15 solicitudes por ventana de 15 minutos. Esto significa que un cliente puede realizar hasta 15 solicitudes en 15 minutos. Si el cliente supera este límite, se bloquearán más solicitudes hasta que se restablezca la ventana.

  2. Google Maps API:La API de Google Maps aplica límites de precios según la clave API utilizada y el tipo de servicio al que accede. Por ejemplo, la API de codificación geográfica tiene un límite predeterminado de 50 solicitudes por segundo. Si un cliente excede esta tasa, puede recibir respuestas de error o experimentar demoras hasta que se restablezca el límite de tasa.


Date

Todas las fechas se devuelven en formato UTC: AAAA-DD-MM HH:MM:SS

Paginación

La paginación de API es una técnica utilizada para recuperar grandes conjuntos de datos de una API en bloques más pequeños y manejables llamados páginas. Cuando una respuesta de API contiene una gran cantidad de elementos o registros, la paginación permite que el cliente obtenga los datos de forma incremental en lugar de todos a la vez.

El objetivo de la paginación de la API es mejorar el rendimiento, reducir el uso del ancho de banda de la red y mejorar la experiencia general del usuario al dividir grandes conjuntos de resultados en partes más manejables.

La paginación generalmente involucra los siguientes componentes:


  1. Page Size/Limit: esto representa la cantidad máxima de elementos o registros devueltos en una única respuesta de API. Determina el tamaño de cada página. Por ejemplo, un tamaño de página de 50 significa que cada respuesta contendrá un máximo de 50 elementos.

  2. Page Number/Offset: Esto indica la posición de la página en el conjunto de resultados general. La primera página generalmente se conoce como página número 1, la segunda página como página número 2 y así sucesivamente. Alternativamente, algunas API usan un valor de compensación que representa la cantidad de elementos que se deben omitir antes de comenzar una nueva página.

  3. Total Count:Esto especifica el número total de elementos o registros disponibles en todo el conjunto de resultados. Ayuda al cliente a comprender el tamaño total de los datos y determinar la cantidad de páginas necesarias para recuperar todos los elementos.

Example

{
    "current_page": 1,
    "data": [
        {
            "id": 1,
            "title": "Post 1",
            "content": "Lorem ipsum dolor sit amet."
        },
        {
            "id": 2,
            "title": "Post 2",
            "content": "Sed ut perspiciatis unde omnis iste natus error."
        }
        // ... other posts on the current page
    ],
    "first_page_url": "http://example.com/posts?page=1",
    "from": 1,
    "last_page": 5,
    "last_page_url": "http://example.com/posts?page=5"
    // ... other pagination information
}

a name="version">

Versions

Una versión de API se refiere a una iteración o lanzamiento específico de una interfaz de programación de aplicaciones (API). Una API es un conjunto de reglas y protocolos que permite que diferentes aplicaciones de software se comuniquen e interactúen entre sí. Las API se usan comúnmente en el desarrollo de software para permitir el intercambio de datos y funcionalidad entre diferentes sistemas.

A medida que el software evoluciona con el tiempo, las API pueden sufrir cambios para agregar nuevas funciones, corregir errores o mejorar el rendimiento. A cada actualización o modificación importante de una API se le suele asignar un número de versión para distinguirla de las versiones anteriores. El control de versiones de la API ayuda a garantizar la compatibilidad y brinda a los desarrolladores una forma de administrar los cambios de manera controlada.


Los números de versión de las API suelen seguir un formato específico, como "principal.menor.parche". El número de versión principal a menudo indica cambios significativos que pueden introducir cambios importantes, mientras que el número de versión secundaria representa funciones adicionales o mejoras que son compatibles con versiones anteriores. El número de versión del parche generalmente indica correcciones de errores o actualizaciones menores que no introducen nuevas funciones.

Por exemplo, uma API com versão "v1.2.3" implica que é a primeira versão principal (v1), com duas atualizações secundárias (2) e três patches (3) aplicados. Os desenvolvedores podem fazer referência à versão específica de uma API para garantir a compatibilidade e manter a consistência ao integrá-la em seus aplicativos.