---
title: "Integración de APIs y aplicaciones móviles"
date: "2018-08-21"
categories: 
  - "json"
  - "mobile-development"
  - "mobiletogether"
  - "xml"
tags: 
  - "apis-and-mobile-apps"
  - "data-integration"
  - "mobile-development"
description: Descubra cómo integrar eficazmente las APIs con aplicaciones móviles para mejorar la experiencia del usuario. Esta guía cubre funciones de geolocalización, solicitudes RESTful y manejo de datos.
---
Status: #blog

Tags:  #apis-and-mobile-apps #data-integration #mobile-development

Categories: [json](/blog/es/category/json.md) | [mobile-development](/blog/es/category/mobile-development.md) | [mobile-development](/blog/es/category/mobile-development.md) | [xml](/blog/es/category/xml.md)
# Integración de APIs y aplicaciones móviles

Los usuarios de dispositivos móviles que están constantemente en movimiento prefieren aplicaciones que sean prácticas y eficientes. MobileTogether ofrece a los desarrolladores herramientas para integrar de forma fluida las API y las aplicaciones móviles, combinando así la funcionalidad de los dispositivos móviles con información actualizada de fuentes externas. Esto permite a los desarrolladores crear aplicaciones nativas multiplataforma personalizadas que ofrecen una experiencia de usuario rica y atractiva.

Las API públicas son una excelente fuente de datos externos que pueden mejorar prácticamente cualquier aplicación móvil personalizada. Los desarrolladores pueden combinar información de múltiples API para proporcionar a los usuarios información más completa, de forma más rápida y en un formato elegante e integrado.

Existen APIs disponibles para prácticamente cualquier tipo de información que su aplicación móvil pueda necesitar, desde el seguimiento de vuelos hasta los precios de materias primas o acciones, e incluso el seguimiento de tormentas tropicales.

En esta publicación, analizaremos una aplicación GPS que comienza con la funcionalidad de geolocalización del dispositivo móvil para responder a la pregunta básica: "¿Dónde estoy?". Luego, se conecta con las API de Google y MapQuest para agregar una gran cantidad de información adicional. Integraremos un motor de búsqueda que tenga en cuenta la ubicación para encontrar puntos de interés cercanos, desde un radio de tan solo 400 metros, hasta la posibilidad de ubicar la posición del usuario en una fotografía satelital con una vista panorámica de un continente entero o incluso más.

[![](/blog/images/image01.png)](image01.png)

<!--more-->

Cuando se inicia nuestra aplicación, el usuario primero se presenta con botones para controlar el GPS, como se muestra en esta vista de la ventana del simulador MobileTogether:

[![Pantalla de inicio de una aplicación móvil que utiliza datos de una API](/blog/images/api-data-and-mobile-apps-initial-user-screen.png)](api-data-and-mobile-apps-initial-user-screen.png)

Una vez que se captura el primer par de coordenadas, un conjunto de iconos de colores en la barra de herramientas proporciona acceso a nuevas opciones:

[![Herramientas de aplicaciones móviles disponibles después de capturar las coordenadas de geolocalización](/blog/images/api-data-and-mobile-apps-coordinates-captured.png)](api-data-and-mobile-apps-coordinates-captured.png)

De izquierda a derecha, los botones realizan las siguientes funciones:

- El botón de diálogo verde abre la aplicación de mensajería de texto del dispositivo móvil con un mensaje predeterminado que dice: "Estoy aquí:", seguido de las coordenadas de latitud y longitud, y la dirección de la calle. Esta acción del botón combina una acción de mensaje SMS de MobileTogether con texto proveniente de la fuente de datos de geolocalización, como se muestra a continuación en la definición del Árbol de Acciones. La misma acción funciona en dispositivos Android, iPhone o Windows Phone, y el desarrollador no necesita preocuparse por el mecanismo específico para controlar cada sistema operativo móvil. MobileTogether se encarga automáticamente de los detalles para cada dispositivo. [![Envío de un mensaje de texto con la información de geolocalización capturada](/blog/images/api-data-and-mobile-apps-share-by-sms.png)](api-data-and-mobile-apps-share-by-sms.png)
- El icono del mapa plegado abre la aplicación de mapas predeterminada del dispositivo móvil, centrada en las coordenadas mostradas. Esta también es una acción de MobileTogether, y los detalles para la interacción con cada tipo de dispositivo móvil se gestionan automáticamente: [![La misma acción de MobileTogether muestra un mapa de la ubicación actual para cualquier sistema operativo móvil](/blog/images/api-data-and-mobile-apps-show-map-action.png)](api-data-and-mobile-apps-show-map-action.png)
- El icono con tres puntos es un botón de "Más información". Este botón realiza una serie de acciones. Primero, envía las coordenadas de latitud y longitud a una API de geocodificación inversa de MapQuest para obtener una dirección, que suele ser más completa que la dirección de geolocalización original. Luego, utiliza una acción de MobileTogether para abrir el navegador web del dispositivo móvil con una consulta de búsqueda basada en la dirección: [![Las acciones de MobileTogether permiten construir una URL de forma dinámica](/blog/images/api-data-and-mobile-apps-build-a-url.png)](api-data-and-mobile-apps-build-a-url.png)
- El icono de la herramienta de satélite interactúa con la API de Google Maps para generar un archivo de imagen fotográfica satelital de la ubicación, utilizando el nivel de zoom especificado por el usuario. La imagen se puede guardar en la galería de fotos del dispositivo móvil, o enviarse mediante un mensaje SMS o un correo electrónico. A continuación, se muestra un ejemplo para las coordenadas capturadas anteriormente: [![Acción de MobileTogether para construir una URL de la imagen satelital](/blog/images/api-data-and-mobile-apps-satellite-image-url.png)](api-data-and-mobile-apps-satellite-image-url.png) [![Imagen satelital generada a partir de la aplicación MobileTogether](/blog/images/api-data-and-mobile-apps-satellite-image-1.jpg)](api-data-and-mobile-apps-satellite-image-1.jpg)
- La herramienta de ampliación abre una nueva página e interactúa con las APIs de búsqueda de MapQuest y Place Search para ofrecer al usuario dos opciones de búsqueda diferentes.

### Estableciendo la conexión entre las APIs y las aplicaciones móviles

La herramienta de imágenes satelitales utiliza una expresión XPath para generar una imagen utilizando la API de Google Maps y luego la abre a través de una URL. Los parámetros requeridos por la API se proporcionan como parte de la URL para configurar diversas opciones. Los valores de cada parámetro se generan dinámicamente. A continuación, se muestra la expresión XPath tal como se ve en el editor de expresiones XPath/XQuery:

[![Crear una URL para una API en el editor de expresiones XPath/XQuery de MobileTogether](/blog/images/api-data-and-mobile-apps-building-an-api-url.png)](api-data-and-mobile-apps-building-an-api-url.png)

La codificación por colores ayuda a clarificar la expresión: el término en verde en la línea 1 es un operador de cadena, los términos en naranja encerrados entre comillas simples son constantes, y el color púrpura representa elementos del árbol de datos o resultados de funciones.

Aquí hay un ejemplo de la URL final, formateada con saltos de línea para que coincida con la expresión XPath:

[![URL generada en la aplicación MobileTogether](/blog/images/api-data-and-mobile-apps-url-example.png)](api-data-and-mobile-apps-url-example.png)

El tamaño de la imagen que se genera se ajustará automáticamente al ancho y alto de la ventana de cada dispositivo del usuario final, ya que esos valores se especifican como variables globales de MobileTogether.

La acción asignada al botón del satélite abre la URL en el navegador web predeterminado del dispositivo móvil.

### MobileTogether admite solicitudes HTTP/FTP, REST y SOAP para integrar APIs y aplicaciones móviles

Las API de búsqueda de MapQuest y Place Search utilizan cada una una solicitud GET de una API REST para recuperar datos estructurados que se convierten en la fuente de una página dentro del árbol de datos de MobileTogether y que están disponibles para un procesamiento posterior.

La solicitud GET se define en un diálogo que se crea al agregar la fuente de la página al árbol de datos de la aplicación, como se muestra aquí:

[![MobileTogether admite solicitudes REST para recuperar datos a través de una API](/blog/images/api-data-and-mobile-apps-REST-call.png)](api-data-and-mobile-apps-REST-call.png)

Una forma sencilla de construir la solicitud es copiar y pegar una URL de ejemplo de la documentación de la API en el campo de la URL que se encuentra arriba, y luego simplemente reemplazar las definiciones de los parámetros dentro de los corchetes { } y definir las fuentes de los valores en la sección de parámetros.

La función de búsqueda por categorías en nuestra aplicación permite al usuario especificar el radio de búsqueda y el número máximo de resultados mediante la selección en menús desplegables. Otros menús desplegables permiten al usuario seleccionar el objetivo de la búsqueda a partir de una lista proporcionada en la documentación de la API. Cuando el usuario hace clic en el botón de búsqueda, una acción de MobileTogether ejecuta la solicitud "Get":

[![La aplicación MobileTogether incluye un botón para que el usuario pueda obtener datos externos a través de una API](/blog/images/api-data-and-mobile-apps-get-request.png)](api-data-and-mobile-apps-get-request.png)

[![Acción de MobileTogether para ejecutar la solicitud GET de la API](/blog/images/api-data-and-mobile-apps-get-request-action.png)](api-data-and-mobile-apps-get-request-action.png)

Los datos XML que se devuelven se añaden al árbol de datos, como se puede ver aquí en la sección "Fuentes de la página" de la ventana del simulador MobileTogether:

[![Datos externos obtenidos por MobileTogether a través de la llamada a la API](/blog/images/api-data-and-mobile-apps-external-data-retrieved.png)](api-data-and-mobile-apps-external-data-retrieved.png)

Se abre una nueva página de resultados de búsqueda para mostrar la información al usuario en forma de una tabla desplazable. Tenga en cuenta que la API organiza automáticamente los resultados por radio, a partir de la ubicación actual.

[![La vista que tiene el usuario de los datos recuperados en la aplicación MobileTogether](/blog/images/api-data-and-mobile-apps-user-data-view.png)](api-data-and-mobile-apps-user-data-view.png)

Los botones adicionales en la página de resultados de búsqueda permiten abrir un mapa con la ruta hacia el destino, realizar una búsqueda en la web utilizando el nombre y la ubicación del destino, o permitir una llamada telefónica directa al destino con un solo clic.

La búsqueda por categorías ofrece buenos resultados, pero puede resultar engorroso para el usuario tener que elegir entre más de 300 posibles opciones. La API de búsqueda de lugares de MapQuest acepta cualquier frase de texto como criterio de búsqueda y ofrece resultados similares. La API de búsqueda de lugares también se accede mediante una solicitud GET en formato REST y se configura de manera similar a la búsqueda por categorías:

[![Configuración de MobileTogether para una segunda solicitud REST para obtener datos adicionales](/blog/images/api-data-and-mobile-apps-REST-call-2.png)](api-data-and-mobile-apps-REST-call-2.png)

Existen varias diferencias en los parámetros requeridos y en los datos que devuelve la API de búsqueda de lugares. La búsqueda por categoría ofrece resultados en formato XML o JSON, pero la API de búsqueda de lugares solo devuelve resultados en formato JSON.

Combinar múltiples formatos de datos no es un problema para MobileTogether. Simplemente creamos un campo de entrada para nuestra aplicación para recopilar la información del usuario, y nuevamente utilizamos una acción de "Recargar" para ejecutar la solicitud de obtención de datos.

[![La aplicación MobileTogether recopila la información proporcionada por el usuario para realizar solicitudes a la API REST](/blog/images/api-data-and-mobile-apps-user-tool-2.png)](api-data-and-mobile-apps-user-tool-2.png)

Los resultados en formato JSON se pueden ver aquí, en el árbol de datos de "Fuentes de la página" dentro de la ventana del simulador:

[![Vista de los datos JSON recuperados por la aplicación MobileTogether](/blog/images/api-data-and-mobile-apps-JSON-data-view.png)](api-data-and-mobile-apps-JSON-data-view.png)

Los resultados se presentan al usuario en una tabla desplazable, que se muestra aquí en una vista parcial. Sin embargo, esta API no devuelve la distancia desde el punto actual, ni tampoco números de teléfono

[![Vista que muestra los datos JSON externos en la aplicación MobileTogether, desde la perspectiva del usuario](/blog/images/api-data-and-mobile-apps-user-view-json.png)](api-data-and-mobile-apps-user-view-json.png)

Aunque la API devolvió datos en formato JSON, aún podemos aplicar los resultados a una acción de geolocalización de MobileTogether para que, al pulsar el botón del mapa, se abra la aplicación de mapas predeterminada del dispositivo móvil y se muestre la ruta hacia la dirección indicada

[![Acción de MobileTogether para mostrar la ruta hacia una ubicación](/blog/images/api-data-and-mobile-apps-show-route-action.png)](api-data-and-mobile-apps-show-route-action.png)

[![Mapa generado por la acción MobileTogether que se muestra arriba](/blog/images/api-data-and-mobile-apps-show-route-map.png)](api-data-and-mobile-apps-show-route-map.png)

Se asigna una acción "MobileTogether Open URL" a la herramienta "Globe" para abrir el nombre y la dirección de la ubicación resultante en una ventana del navegador web. Los operadores de reemplazo anidados garantizan la generación de una URL con una sintaxis válida.

[![Acción de MobileTogether para construir una consulta de búsqueda web de forma dinámica](/blog/images/api-data-and-mobile-apps-web-search-action.png)](api-data-and-mobile-apps-web-search-action.png)

[![Vista de la consulta de búsqueda de la aplicación, tal como se muestra en un dispositivo Android](/blog/images/api-data-and-mobile-apps-web-search.png)](api-data-and-mobile-apps-web-search.png)

### Una nota sobre las claves de API

Uno de los parámetros requeridos por cada una de las APIs descritas aquí es una clave de API única, asignada por el proveedor de la API. Esta clave identifica y autentica al usuario cada vez que se realiza una solicitud a la API. Para una aplicación compartida entre un grupo de usuarios empresariales definidos, es probable que sea más adecuado utilizar una única clave compartida, almacenada como un elemento persistente en el árbol de datos de MobileTogether. Las solicitudes de todos los usuarios se agruparán, y se generará una única factura si el uso total supera el límite gratuito para cualquier API.

Cuando una aplicación está destinada a ser distribuida al público, el desarrollador puede querer exigir que cada usuario obtenga una clave API única y sea responsable de su uso individual. Nuestra aplicación incluye una página de configuración a la que se accede haciendo clic en el icono de engranaje en la página de inicio. La página de configuración permite al usuario establecer diversas preferencias, incluyendo la elección de motores de búsqueda y una función para registrar cada clave API en un árbol de datos persistentes único para cada dispositivo móvil.

[![Capturar una clave de API de usuario única en la aplicación MobileTogether](/blog/images/api-data-an-mobile-apps-record-key.png)](api-data-an-mobile-apps-record-key.png)

### Añadir funcionalidades personalizadas

Hasta ahora, hemos descrito funciones de geolocalización bastante comunes que se encuentran en muchas aplicaciones móviles. También puede utilizar las API descritas anteriormente, o cualquier otra API pública, para añadir funcionalidades a aplicaciones que resuelvan problemas específicos. Por ejemplo, nuestra aplicación incluye una página titulada "Dónde Estaba". Cualquier persona que necesite documentar un viaje a lo largo de una ruta puede hacer clic en el icono del sobre en esta página para enviar un registro del viaje por correo electrónico. En nuestra aplicación, un toque prolongado en cualquier icono de herramienta abre un mensaje de ayuda emergente:

[![Un mensaje de ayuda emergente, tal como se muestra en la versión de Android de una aplicación MobileTogether](/blog/images/api-data-and-mobile-apps-pop-up-help.png)](api-data-and-mobile-apps-pop-up-help.png)

Puede crear combinaciones de APIs y aplicaciones móviles para usted mismo, y probar todas las demás funciones de MobileTogether para desarrollar aplicaciones móviles multiplataforma de manera eficiente, mediante.. [descargar el programa MobileTogether Designer, que se puede utilizar de forma gratuita](https://www.altova.com/es/download/mobiletogether.html), que incluye ayuda integrada, tutoriales y numerosos ejemplos. También puede consultar muchos casos de uso de MobileTogether [demostraciones en video](https://www.altova.com/es/mobiletogether/demos) para ayudar a empezar.
