¿Qué es un punto final de API?

22 de septiembre de 2022

Introducción

Las empresas luchan por ajustar sus procesos comerciales, introducir nuevas soluciones técnicas y cumplir con las expectativas de los clientes en un entorno digital acelerado.

API Permita que las empresas desarrollen sus capacidades principales, se integren con plataformas populares y subcontraten actividades secundarias a proveedores externos.

Los desarrolladores no pueden continuar con un Integración de API hasta que comprendan las capacidades de la API, descubran cómo estructurar una Llamada a la APIe identificar los puntos finales para acceder a los recursos de la API.

Obtenga información sobre los puntos finales de API y por qué son esenciales para cualquier integración de API.

Desarrollador que usa puntos finales para completar una integración de API.

Definición de punto final de API

Un punto final de API es una ubicación de red que permite que una aplicación cliente acceda a un recurso de API.

Al enviar una solicitud a la ubicación especificada, el cliente solicita al recurso del servidor que realice una acción. Un recurso de API suele servir a varios clientes a través del punto final.

Los propietarios de API proporcionan documentación que enumera los puntos finales de API, describe a qué tipo de recursos dan acceso y especifica los métodos y parámetros de solicitud.

API frente a Punto final: ¿Cuál es la diferencia?

An Interfaz de programación de aplicaciones (API) permite dos aplicaciones para interactuar en una red, independientemente de su lenguaje de programación o diseño arquitectónico. Una API aplica reglas y restricciones que una aplicación cliente debe cumplir cuando se comunica con un recurso.

Puntos finales API son los puntos de contacto para esta comunicación. El URI (identificador uniforme de recursos) del punto final representa la ubicación del recurso a la que los usuarios de la API deben enviar sus solicitudes.

Una solución de API puede tener cientos de puntos finales que realizan numerosas acciones y brindan acceso a diferentes recursos.

¿Cómo usar los puntos finales de la API?

El formato del URI (Uniform Resource Identifier) ​​del punto final puede variar según el tipo de API y estilo arquitectónico. Los puntos finales de la API para aplicaciones basadas en web suelen adoptar la forma de un Enlance.

Los desarrolladores usan navegadores web o envían solicitudes curl desde una terminal para interactuar con un punto final de la API.

La API RESTful El estilo arquitectónico es uno de los protocolos más populares para crear aplicaciones y servicios basados ​​en web.

Una solicitud de API RESTful típica tiene 5 elementos:

  • Verb − Identifica la función de solicitud HTTP (es decir, GET, POST, DELETE, PUT, PATCH).
  • URI de punto final (identificador uniforme de recursos) − La ubicación del recurso en el servidor.
  • Versión HTTP − Indica la versión de HTTP.
  • Solicitar encabezados − Un encabezado HTTP contiene metadatos sobre el recurso o el cliente que inicia la llamada. Esto incluye datos de autorización, formatos soportados por el cliente, métodos de autenticación, etc.
  • Cuerpo de solicitud − El cuerpo de la solicitud contiene parámetros API que el cliente envía en el formato de datos especificado.

Por ejemplo, la API de transacción RESTful de CCBill utiliza tokens de portador para autorizar las solicitudes de los clientes. Para recibir un token de portador (para acceder a los recursos API de CCBill), el cliente debe enviar una llamada API al https://api.ccbill.com/ccbill-auth/oauth/token punto final

Como se ve en este ejemplo, el extremo de la API es un elemento obligatorio de la solicitud:

curl - POST 'https://api.ccbill.com/ccbill-auth/oauth/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Basic Merchant_ApplicationID:Merchant_Secret ' \
--data-urlencode 'grant_type=client_credentials'

Los propietarios de API a menudo proporcionan Kits de desarrollo de software (SDK) para agilizar el proceso de integración de la API. Los SDK brindan a los desarrolladores acceso a herramientas específicas, documentación, bibliotecas de software y ejemplos de código que necesitan para automatizar las iteraciones de llamadas API y completar la integración con una fricción mínima.

Ejemplos de puntos finales de API

La API de transacción RESTful de CCBill permite a los comerciantes integrar sus aplicaciones con la plataforma de pago de CCBill. Los comerciantes pueden usar la API de CCBill para tokenizar la información de pago del cliente, cobrar a los clientes usando tokens de pagoo recuperar datos sobre transacciones existentes. La URL base de la API es:

https://api.ccbill.com/

Los URI de punto final se agregan a la URL base para brindar acceso a diferentes recursos de la API. por ejemplo, el / fichas-de-pago / solo-comerciante endpoint se utiliza para crear tokens de pago. Los comerciantes deben enviar una solicitud de API al siguiente punto final de URL:

https://api.ccbill.com/payment-tokens/merchant-only

La llamada a la API debe contener los parámetros necesarios enumerados en la documentación de la API de CCBill. La siguiente llamada API, escrita en PHP, contiene el URI del punto final, el método HTTP, el encabezado y los parámetros de solicitud:

<?php
$request = new HttpRequest();
$request->setUrl('https://api.ccbill.com/payment-tokens/merchant-only');
$request->setMethod(HTTP_METH_POST);
$request->setHeaders(array(
'Cache-Control' => 'no-cache',
'Authorization' => 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9mIfkrfQ',
'Content-Type' => 'application/json'
));
$request->setBody('{ "clientAccnum": 900000, "clientSubacc": 0, "customerInfo": { "customerFname": "Tyler", "customerLname": "Thomas", "address1": "Woodland Drive", "address2": "Apt 21", "city": "Tempe", "state": "AZ", "zipcode": "85281", "country": "US", "phoneNumber": "5555555555", "email": "tthomas@xyz.com", "ipAddress": "10.70.60.14", "browserHttpUserAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0", "browserHttpAccept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "browserHttpAcceptLanguage": "en-US,en;q=0.5", "browserHttpAcceptEncoding": "gzip, deflate, br" }, "paymentInfo": { "creditCardPaymentInfo": { "cardNum": "4473707989493598", "nameOnCard": "Tyler Thomas", "expMonth": "04", "expYear": "2019" } }, "subscriptionId":900000000000000001, "timeToLive": 30, "validNumberOfUse": 3 }');
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
?>

Los comerciantes pueden usar el token de pago para cobrar a un cliente enviando una nueva solicitud al / transaction / payment-tokens / {payment_token_id} punto final:

https://api.ccbill.com/transactions/payment-tokens/{payment_token_id}

La pago_token_id el valor está incluido en el URI del punto final:

<?php
$request = new HttpRequest();
$request->setUrl('https://api.ccbill.com/transactions/payment-tokens/01047ed6f3b440c7a2ccc6abc1ad0a84');
$request->setMethod(HTTP_METH_POST);
$request->setHeaders(array(
'Cache-Control' => 'no-cache',
'Authorization' => 'Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.e',
'Content-Type' => 'application/json'
));
$request->setBody('{ "clientAccnum":900123, "clientSubacc":10, "initialPrice": 9.99, "initialPeriod": 10, "recurringPrice": 15.00, "recurringPeriod": 30, "rebills": 99, "currencyCode": 840, "lifeTimeSubscription": false, "createNewPaymentToken": false, "passThroughInfo": [ { "name": "val1", "value": "val2" } ] }');
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
?>

Los comerciantes pueden recuperar datos de transacciones iniciando una llamada API al siguiente punto final:

https://api.ccbill.com/payment-tokens/{payment_token_id}

El método GET utilizado para esta solicitud solo recupera datos sin cambiar el estado del recurso:

<?php
$request = new HttpRequest();
$request->setUrl('https://api.ccbill.com/payment-tokens/01047ed6f3b440c7a2ccc6abc1ad0a84');
$request->setMethod(HTTP_METH_GET);
$request->setHeaders(array(
'Cache-Control' => 'no-cache',
'Authorization' => 'Bearer y25GKPZgIHViMrJmwSKqG2kC60JEYDrOsZsajhicbKPytXw'
));
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
?>

El recurso API responde enviando un conjunto de parámetros que un comerciante puede capturar y usar para iniciar nuevas solicitudes o potenciar otros procesos o aplicaciones.

¿Por qué son importantes los puntos finales de la API?

A pesar del nombre, un punto final es uno de los primeros elementos que busca un desarrollador cuando comienza a trabajar en una integración de API. Algunos de los beneficios de las API y los puntos finales de API incluyen:

  • Costos de desarrollo más bajos - El desarrollo de software consume mucho tiempo y requiere personal especializado. Usar API e integrar soluciones listas para usar es más eficiente y rentable que desarrollar aplicaciones propietarias desde cero. Los puntos finales de la API exponen innumerables recursos y subrecursos que, de lo contrario, no estarían disponibles.
  • Transformación digital - Las API son invaluables para las empresas que están experimentando una transformación digital. Los terminales pueden simplificar y mejorar la visibilidad de las interacciones de las aplicaciones e identificar recursos individuales dentro de un sistema.
  • Alcance del cliente - Es un desafío llegar a los clientes en un mercado saturado por gigantes tecnológicos y empresas publicitarias. Las API son ideales para distribuir productos y servicios a nuevos clientes y personalizar sesiones de clientes individuales.
  • Automatización - Los puntos finales de API son fáciles de entender y adecuados para automatizar cargas de trabajo, gracias a los widgets y las bibliotecas de códigos.
Uso de API para automatizar cargas de trabajo.
  • Dispositivo agnóstico - Los clientes esperan el mismo nivel de servicio y facilidad de uso independientemente del dispositivo o plataforma que utilicen. Desacoplar las aplicaciones front-end y back-end es la forma más eficiente de brindar una experiencia de usuario perfecta. Los desarrolladores pueden utilizar puntos finales de API como acceso directo al desarrollar la misma aplicación para diferentes sistemas, dispositivos y plataformas.
  • Alianzas - Un punto final de API es una puerta de enlace para acceder a servicios de terceros. Sin embargo, también permite que sus socios consuman sus soluciones. Las empresas pueden monetizar sus API exponiéndolas a otras empresas.
  • Modelo de negocio omnicanal - Los puntos finales de API permiten a los desarrolladores y otros miembros del equipo insertar contenido en aplicaciones y sitios web. La información se envía automáticamente a cualquier ubicación que el cliente considere útil y deseable. Gracias a los puntos finales de API, la incorporación de recursos digitales en ubicaciones y dispositivos físicos nunca ha sido tan fácil.

¿Cómo probar los puntos finales de la API?

Durante el proceso de integración, los desarrolladores a menudo necesitan iterar las llamadas a la API. Para probar los puntos finales de la API, los clientes deben:

  1. Regístrese con el proveedor de API y reciba una clave API.
  2. Estructure las llamadas a la API siguiendo las instrucciones de la documentación del proveedor de la API. Esto incluye crear encabezados, usar los métodos correctos y agregar todos los parámetros necesarios.
  3. Envíe una solicitud de API estructurada al extremo correcto.
  4. Reciba la respuesta del servidor API y verifique y procese los datos entregados.

Varias plataformas de API ayudan a los desarrolladores a escribir scripts y probar sus aplicaciones; éstos incluyen Cartero, Insomnio, Testfully, etc.

Algunas empresas proporcionan documentación de API interactiva que permite a los desarrolladores probar las solicitudes durante el proceso de integración de API. Un buen ejemplo es PhoenixNAP, una empresa de centro de datos y proveedor de IaaS.

La API de nube completa está diseñado para administrar la infraestructura del servidor mediante llamadas a la API. Después de registrarse con el servicio phoenixNAP BMC, los desarrolladores pueden seleccionar el punto de conexión del recurso API que desean probar. La página proporciona métodos y descripciones para cada punto final.

Puntos finales en la documentación de la API BMC de phoenixNAP

La selección de un URI de recurso brinda a los desarrolladores acceso a parámetros, puntos finales y respuestas para ese recurso específico.

Parámetros de punto final en la API BMC de pheonixNAP.

La Prueba esta API La sección permite a los desarrolladores ingresar los datos necesarios directamente en la página de la API. los Implementación El botón activa una llamada API al punto final especificado y muestra la respuesta del punto final.

Prueba de puntos finales de API para la solución de API BMC de phoenixNAP.

Al probar los puntos finales de la API, los desarrolladores deben analizar las respuestas de las solicitudes de API individuales: 

  1. Código de estado HTTP - Verifique si recibió el código de estado HTTP esperado. Si el código no resultó en una solicitud exitosa, consulte la documentación de la API cuando analice el mensaje del código de respuesta.
  2. Parámetros de respuesta - Verifique que los parámetros, los nombres de los campos y los valores reflejen los valores descritos en la documentación de la API. Realice esta acción también para las respuestas de error.
  3. Encabezados de respuesta - El encabezado de respuesta HTTP contiene metadatos que pueden afectar gravemente la seguridad y el rendimiento. Compruebe los datos del encabezado de respuesta.
  4. Analice el rendimiento de las llamadas y respuestas de la API - Se considera que la prueba ha fallado si una operación tarda más de lo esperado, incluso si fue exitosa.

Una falla o inconsistencia en las solicitudes o respuestas de la API requiere que los desarrolladores repitan las llamadas a la API hasta que reciban el resultado deseado.

¿Cómo proteger los puntos finales de la API?

Las empresas utilizan las API para optimizar los procesos internos y exponer sus productos y servicios a otras empresas y usuarios finales.

En estos casos, los puntos finales de la API deben protegerse, ya que facilitan el acceso externo a los recursos más valiosos de una empresa.

Para proteger los puntos finales de la API:

  • Implementar TLS - Implemente un certificado TLS para proteger y cifrar la comunicación entre los navegadores y un servidor de recursos. Certificados TLS / SSL son fundamentales para prevenir ataques de hombre en el medio.
  • Uso Autenticación básica para recursos no críticos - Use claves API para permitir que los clientes registrados accedan a recursos no críticos mediante programación. No todos los recursos requieren autenticación de dos factores.
  • Limitar interacciones - Establecer límites en la cantidad de interacciones que un solo cliente puede iniciar en un período corto. Limitar las interacciones es esencial para prevención de ataques DDoS.
  • Uso OAuth2 para autorizar clientes - Los proveedores suelen asignar a los clientes una identificación de cliente y un secreto de cliente al registrarse para un servicio de API. Para proteger los recursos críticos, los proveedores de API también deben exigir a los clientes que obtengan un token de portador para autorizar sus solicitudes de API.
  • Validar entrada - Prevenir ataques como inyección SQL mediante la aplicación de tipos y formatos de datos para todas las solicitudes de API. Las solicitudes deben cumplir con pautas específicas, incluidos formatos de datos, convenciones de nomenclatura y formatos de enlaces.
  • Filtrar solicitudes por IP - Los proveedores de API con un número limitado de clientes solo deben permitir llamadas de API que se originen desde direcciones IP registradas. Las empresas también pueden bloquear solicitudes provenientes de países o regiones que consideren de alto riesgo o en los que no tengan intereses comerciales.

¿Cómo monitorear los puntos finales de la API?

Las empresas que exponen los recursos de la API necesitan monitorear los puntos finales para mejorar la confiabilidad, la seguridad y el rendimiento de su API. Algunas de las mejores prácticas para monitorear los puntos finales de la API incluyen:

  • Monitoreo las XNUMX horas - Una API normalmente tiene varias dependencias y funciona con sistemas distribuidos que abarcan varios servidores. La supervisión y las pruebas automatizadas de puntos finales son vitales para identificar y solucionar posibles problemas.
  • Validar el tiempo de actividad funcional - Analice el tiempo de actividad y la funcionalidad de los puntos finales individuales, pero también microadministre los puntos finales y valide la eficiencia de las solicitudes para cada método (es decir, CREAR, LEER, ACTUALIZAR).
  • Supervisar las dependencias de la API - Las empresas que proporcionan recursos de API con frecuencia también consumen API de terceros. Una empresa debe monitorear sus puntos finales de API, pero también debe rastrear y analizar las respuestas que se originan en soluciones de terceros.
Técnico que supervisa los puntos finales de la API.
  • Sistema de Alerta Eficiente - Sin un sistema de alerta capaz y automatizado, el personal necesita supervisar y verificar continuamente posibles problemas. La supervisión manual puede afectar negativamente la disponibilidad del sistema.
  • Monitoreo externo - Una herramienta o servicio externo que monitorea los extremos de la API desde la perspectiva del cliente puede detectar errores de la API de manera más eficiente que una herramienta interna.
  • Inspeccionar parámetros de respuesta - Los códigos de estado son un elemento útil para procesar las respuestas. Sin embargo, a menudo son genéricos y no brindan suficiente información para determinar el rendimiento del punto final. Realice un seguimiento de las respuestas para códigos de error específicos y analice los parámetros y encabezados de respuesta para determinar si hay algún problema con el punto final.

Uso de herramientas de monitoreo

Al elegir una herramienta de monitoreo de puntos finales de API, busque:

  • Visualización de datos - Amplios conjuntos de datos, hojas y tablas brindan información valiosa sobre el rendimiento de un punto final de API. Sin embargo, en emergencias, es mejor tener una herramienta que transmita datos visualmente y permita a los técnicos identificar problemas fácilmente.
  • Validación de datos - Una herramienta que solo monitorea la velocidad de respuesta y la disponibilidad de un recurso puede resultar en un análisis incompleto. La validación de la precisión de los datos es imprescindible para garantizar que el cliente de la API reciba respuestas con poca o ninguna fricción.
  • Una herramienta de monitoreo que te gusta - Una herramienta que ofrece funciones avanzadas y complejas solo es valiosa si esas funciones se utilizan al máximo. Elegir una herramienta práctica y fácil de usar con menos funcionalidades que le guste le ayuda a comprender y responder a los datos de monitoreo de endpoints de manera más eficiente.
  • Intervalos de monitoreo personalizados - La configuración de intervalos personalizados para el monitoreo de puntos finales de API y la capacidad de ejecutar monitores ad hoc es una característica esencial para cualquier herramienta de monitoreo.
  • Flexibilidad - Las pilas de tecnología de herramientas a menudo incluyen una multitud de soluciones de software. Puede ser un desafío incorporar una nueva herramienta en una pila de tecnología existente si no es adaptable o flexible.
  • Pipeline de desarrollo e integración continua - Una herramienta que se puede integrar en el Canalización de CI / CD es invaluable para analizar y mejorar los procesos DevOps.

Conclusión

Conoce cómo funcionan los puntos finales de la API y las mejores prácticas para probar, proteger y monitorear los puntos finales de la API.

Los puntos finales de la API son una puerta de entrada para aprovechar los servicios que agregan funcionalidad a sus aplicaciones y elevan la experiencia del cliente.

Utilice puntos finales de API y coordine sus esfuerzos con los proveedores de API para desbloquear todo el potencial de una solución de API.

Acerca del autor.
Vladímir Kaplarevic
Vladimir es un redactor técnico residente en CCBill. Tiene más de 8 años de experiencia en la implementación de comercio electrónico y soluciones de pago en línea con varios proveedores de servicios de TI globales. Su atractivo estilo de escritura proporciona consejos prácticos y tiene como objetivo despertar la curiosidad por las tecnologías innovadoras.
Hable con un especialista en asistencia comercial