Como desarrolladores de software para Sanidad, interesados en usar una API disponible en el API Store de Nubentos, debes conocer los pasos para integrar la API que te interesa en tus desarrollos.
En este artículo te explicamos los pasos necesarios para poder hacer uso de una API de Salud Digital en tus desarrollos software. ¿Estás listo para impresionar a tus usuarios?.
Tabla de Contenidos
Primeros pasos en el API Store de Nubentos
En primer lugar deberás gestionar el acceso a la API. Una vez registrado como usuario podrás completar el proceso de suscripción.
Es tan sencillo como crear una Aplicación (Application) y suscribirte a la API (Subscription) eligiendo el plan (Subscription tier) que mejor se adapte a tus necesidades y presupuesto.
Ahora puedes probar la API directamente en nuestra Consola de Prueba Integrada, entender cómo funciona y qué información devuelve.
Y llega el momento de integrarla en tu software. Para ello necesitas saber qué pasos son necesarios para conectar con la API desde tu código fuente, y tener acceso a la funcionalidad que proporciona.
En este punto, es clave el papel que juega el token de acceso a una API, y debes saber cómo hacer uso del mismo para poder interactuar con una API desde tu código.
Cómo obtener el token de acceso
Asociados a la aplicación que has usando para suscribirte a la API, la plataforma habrá generado un “consumer-key” y un “consumer-secret” que representan las credenciales de la aplicación.
Con estos dos valores podrás solicitar el token de acceso que emplearás en las peticiones a la API.
Para ello desde tu software debes realizar una solicitud a la URL https://apigw.nubentos.com/token, pasando como cabecera de autorización el resultado de la función “base64(consumer-key:consumer-secret)”.
Un ejemplo del código necesario en Python:
import base64
import json
token_url=’https://apigw.nubentos.com/token’
key = ‘Basic %s’ % base64.b64encode(b’2fU**********************Q8a:u7N**********************tsa’).decode(‘ascii’)
data = {‘grant_type’: ‘client_credentials’}
headers = {‘Authorization’: key, ‘Content-Type’:’application/x-www-form-urlencoded’}
r = requests.post(token_url, data=data, headers=headers)
rs= r.content.decode()
response = json.loads(rs)
token = response[‘access_token’]
print(token)
La respuesta al ejecutar el código sería el token de acceso y tendría el siguiente formato:
Con este simple paso ya tienes el token de acceso a la API que quieres consumir.
En el siguiente punto vamos a usar una API de prueba (MedicalAPI) y emplearemos para ello el SDK que proporciona la plataforma.
Sobre MedicalAPI
Esta API está publicada en el API Store de Nubentos. Se trata de una API demo, de uso gratuito, para que los desarrolladores puedan interactuar con la plataforma Nubentos y familiarizarse con todo el proceso de suscripción, prueba e integración.
Proporciona recursos y métodos muy básicos para gestionar una clínica: datos de pacientes, doctores y el inventario de material y suministros.
Esta API está pensada para devolver datos estructurados autogenerados, de modo que no se emplea información real.
Para acceder a esta API y seguir los siguientes ejemplos, los pasos a seguir son los siguientes:
- Regístrate en el Store privado “nubentos”:
https://apimarketpre.nubentos.com/store/?tenant=nubentos.com
- Crea una Aplicación y genera los tokens de acceso para el entorno de Producción / Sandbox
- Suscribete a la API seleccionado el Nivel gratuito (Free).
Una vez tengas acceso a la API podrás interactuar con la “API Console” para ver el funcionamiento de los distintos recursos.
Cómo consumir la API desde tu código en Python
La forma más sencilla es integrando el código que proporciona los SDK de la API.
Puedes descargarlo desde la pestaña “SDKs”, donde tienes hasta 10 distintos para las tecnologías de desarrollo más comunes.
El fichero descargado en formato .zip tiene la siguiente estructura:
Podemos ver que tenemos un fichero README.md que describe como usar el contenido del mismo y referencias a la carpeta “docs” donde está la documentación de los métodos y procedimientos para hacer uso de la API.
También se incluye el fichero “requirements.txt” comúnmente empleado para instalar las dependencias de python para poder hacer uso del código y que deberemos añadir a los requisitos de nuestro proyecto.
Si por ejemplo queremos hacer uso del método GET para el recurso paciente (patient) mediante un nombre de paciente (patientname), en la API Console podemos ver que solo requiere un parámetro de tipo string y nos devuelve una respuesta en formato json con los campos de los registros que concuerdan.
Si vemos el fichero de documentación ./docs/PatientApi.md , podemos identificar que existe un método llamado “getpatient_by_name” que invoca esta llamada a la API, y el código propuesto para hacer la llamada.
import swagger_client
from swagger_client.rest import ApiException
from pprint import pprint
# Configure OAuth2 access token for authorization: default
swagger_client.configuration.access_token = ‘YOUR_ACCESS_TOKEN’
# create an instance of the API class
api_instance = swagger_client.PatientApi()
patientname = ‘patientname_example’ # str | The name that needs to be fetched. Use patient1 for testing.
try:
# Get patient by patient name
api_response = api_instance.getpatient_by_name(patientname)
pprint(api_response)
except ApiException as e:
print «Exception when calling PatientApi->getpatient_by_name: %s\n» % e
En este código tenemos que indicar el token de acceso en la siguiente línea:
swagger_client.configuration.access_token = ‘557*****-****-*********-*********b40’
Ya habíamos obtenido este token previamente.
Además tenemos que indicar el endpoint al que vamos a hacer la solicitud. Para ello añadimos una línea a continuación de la indicada anteriormente.
Podemos aprovechar para indicar también el nombre del paciente que queremos identificar cambiando el valor de la variable “patientname”.
Nuestro código quedará así:
import swagger_client
from swagger_client.rest import ApiException
from pprint import pprint
# Configure OAuth2 access token for authorization
swagger_client.configuration.access_token = ‘557*****-****-*********-*********b40’
swagger_client.configuration.host = «https://apigw.nubentos.com:443/t/nubentos.com/medapp/1.0.0«
# create an instance of the API class
api_instance = swagger_client.PatientApi()
patientname = ‘antonio’ # str | The name that needs to be fetched.
try:
# Get patient by patient name
api_response = api_instance.getpatient_by_name(patientname)
pprint(api_response)
except ApiException as e:
print «Exception when calling PatientApi->getpatient_by_name: %s\n» % e
Con este código guardado en un fichero con extensión “.py” (en este caso llamado fetch_patient.py) podríamos obtener el siguiente resultado:
{‘email’: ‘magna non labore incididunt id’,
‘first_name’: ‘incididunt’,
‘id’: -63222291,
‘last_name’: ‘sit qui commodo’,
‘password’: ‘ex non’,
‘patient_status’: -14293061,
‘patientname’: ‘Duis culpa proident consequat officia’,
‘phone’: ‘Excepteur commodo’}
Como dijimos anteriormente los datos devueltos por esta API son simplemente para realizar pruebas. En este ejemplo hemos usado el SDK generado para Python y lo hemos ejecutado con Python 2.7, pero existen SDKs para los principales lenguajes de programación.
Conclusiones
Como hemos visto en este artículo, mediante unas pocas líneas de código y empleando los SDKs generados por la plataforma Nubentos, es posible integrar una API fácilmente, ahorrandonos mucho tiempo en implementar todas las llamadas a los distintos recursos y métodos de la API.
Tu tiempo de desarrollo para tener lista la integración es también mucho menor que en una integración tradicional, porque has podido probar la API a fondo en la Consola de Pruebas Integrada en el API Store de Nubentos, sin necesidad de escribir ni una línea de código.
Gracias a esto tu código tendrá menos errores y tu fase de pruebas será mucho más corta.
Ahora ya puedes deleitar a tus usuarios con las soluciones avanzadas en Salud Digital que estamos incorporando al API Store de Nubentos constantemente.
Si quieres enterarte de todas las novedades de cada mes en nuestra plataforma, no dudes en suscribirte a nuestra newsletter.
Y si ya has visto una API que quieres usar en tus productos software, ya sabes los pasos que debes seguir.
Gracias por leer este artículo y ¡feliz integración!
0 comentarios