El conector "Hosted GET" te permite mostrar filas de tus "Fuentes de Datos" ("Data Sources") desde tus propios sistemas, para tener acceso directo desde la aplicación.


Establece una "Fuente de Datos" ("Data Source") normal, pero en vez de cargar filas a la plataforma, selecciona la opción del conector "Hosted GET", estableciendo como URL objetivo un servicio web que implementa la interfaz de abajo.

También puedes establecer una URL global de "Fuente de Datos" ("Data Source") GET en tu organización y especificar que el conector la utilice - esto te permite reutilizar el mismo extremo de servicio en diferentes "Fuentes de Datos" ("Data Sources").


La ventaja principal del conector "Hosted GET" es que puedes controlar las filas de datos expuestas en la aplicación, permitiendo filtrar filas hasta el nivel de usuario individual de la aplicación.

Para ERP, CRM y otros sistemas empresariales esto es muy importante teniendo en cuenta que la seguridad/permisos de "quién ve qué" es fundamental.

Un segundo beneficio es que tus datos no necesitan ser empujados a nuestra plataforma, por lo que cualquier problema de soberanía de datos que puedas tener se resuelve a través del conector.


Se supone que tienes los recursos de desarrollo de software para crear el servicio de web necesitado por el conector "Hosted GET".

Si no los tienes, contacta nuestro equipo profesional para que te ayude.


Cuando la aplicación descubre que una "Fuente de Datos" ("Data Source") tiene un conector "Hosted GET", intenta un HTTP GET desde la URL de destino de servicio web, enviando una solicitud que incluye el "IdProveedor" ("ProviderId") y la "ClaveIntegracion" ("IntegrationKey") para que se autentique, junto con el correo electrónico del usuario de la aplicación.

La aplicación emitirá GETs en tu servicio cuando este intente una sincronización de datos.

Las solicitudes son emitidas por la aplicación de una forma de lote por URL único de destino; esto minimiza redundancias cuando muchas "Fuentes de Datos" ("Data Sources") se obtienen de la misma variable.


IMPORTANTE: Recomendamos fuertemente que expongas tu terminal de servicio web como SSL HTTPS garantizado para asegurar que las solicitudes de la aplicación a tu servicio estén protegidas.



Solicitudes GET


Las solicitudes GET son emitidas por la aplicación a tu servicio, pasando los valores de abajo como "parámetros de cadena de consulta" ("query string parameters").


Los parámetros pasados en la solicitud son los siguientes:


Nombre de la entrada Tipo de Datos Obligatorio Descripción
IDs Cadena Lista separada por comas de IDs externos para cada "Fuente de Datos" ("Data Source") que la aplicación quiere sincronizar. Establece esto a través del "Constructor de la Aplicación" ("App Builder") -> "Fuentes de Datos" ("Data Sources") -> "Ajustes" ("Settings").
"IdProveedor" ("ProviderId") Entero Tu ID único de proveedor que puedes encontrar en la página de "Configuración de la organización" ("Organization Setup") en "Mi Cuenta" ("My Account") -> "Configuración de la organización" ("Organization Setup"). Usa esto con la ClaveIntegración y el Correo electrónico para autenticar la solicitud.
"ClaveIntegracion" ("IntegrationKey") Cadena

Tu Clave única de integración que puedes encontrar en la página de "Configuración de la organización" ("Organization Setup") en "Mi Cuenta" ("My Account") -> "Configuración de la organización" ("Organization Setup"). Usa esto con el IdProveedor y el Correo electrónico para autenticar la solicitud.

"CorreoElectronico" ("Email") Cadena El correo electrónico del usuario de la aplicación que está haciendo la solicitud. Usa esto para identificar el usuario en tu sistema así como aplicar cualquier filtro específico del usuario frente a las filas de la "Fuente de Datos" ("Data Source").
"UltimaActualizacion" ("LastUpdated") FechaHora (YYYY-MM-DDTHH:MI:SS) La últimas vez que el usuario reviso actualizaciones en la "Fuente de Datos" ("Data Source"). Usa esto para implementar actualizaciones incrementales de fila, devolviendo sólo las filas nuevas/actualizadas y eliminadas desde la última vez que chequeó. Esto se recomienda para "Fuentes de Datos" ("Data Sources") extensas para guardar los recursos del servidor y evitar agotar asignaciones de datos móviles. La primera vez que la aplicación revisa las filas, el valor de Ultima Actualización será al menos 1 año atrás. Te sugerimos vigilar esto y devuelva el conjunto completo de datos en la propiedad de "Filas" ("Rows") de tu respuesta.



Respuesta GET


Tu servicio web debe devolver una respuesta en la siguiente estructura.

El incumplimiento de este formato resultará en fallas para descargar filas en tu aplicación.


Tu respuesta debe estar en un formato JSON.


También te ayudamos en la comprensión de respuestas.

Esto se recomienda para conjuntos de datos extensos, ya que los datos de texto se comprimen muy bien y por lo tanto van a conservar las asignaciones de datos móviles y reducir el tiempo de descarga masivamente.


Respuesta de filas (<DRowsResponse>)


Nombre de la entrada Tipo de Datos Obligatorio Descripción
"FuentesDatos" ("DataSources") Colección de FuentesDatos Colección que contiene las FuentesDatos que han sido solicitadas.
"UltimaActualizacion" ("LastUpdate") FechaHora (YYYY-MM-DDTHH:MI:SS) La última vez que las filas de las "Fuentes de Datos" ("Data Sources") han sido actualizadas.Generalmente recomendamos que esta sea la fecha y hora actuales en tu servidor principal en el momento de procesar la solicitud.
Este valor es guardado por la aplicación y enviado exactamente como se recibe del campo UltimaActualizacion en la siguiente solicitud GET hecha por la aplicación.
Esto brinda un punto de tiempo central para actualizaciones incrementales principalmente, debido a que la aplicación usará la hora del servidor en vez de la de sus dispositivos.
La "T" en el formato es un delimitador.

"Fuentes de Datos" ("Data Sources") (<DataSource>)


Nombre de la entrada Tipo de Datos Obligatorio Descripción
ID Cadena El Id externo de la "Fuente de Datos" ("Data Source") para el que aplican los datos en la "Fila" ("Row") asociada. Debe coincidir con el Id externo configurado en "Fuentes de Datos" ("Data Sources") -> "Ajustes" ("Settings") en la plataforma.
"Filas" ("Rows") Colección de Filas No Una colección de "Filas" ("Rows") que reemplazarán por completo las filas de las "Fuentes de Datos" ("Data Sources")  de la aplicación. Si especificas "Filas" ("Rows"), entonces cualquier valor en "NuevaFila" ("NewRow") y "FilasEliminadas" ("DeletedRows") será ignorado.
"NuevaFila" ("NewRow") Colección de Filas No Una colección de "Filas" ("Rows") que se agregará/actualizará en las filas de tus "Fuentes de Datos" ("Data Sources") existentes. Usa este campo para hacer inserciones/actualizaciones incrementales de tus "Fuentes de Datos" ("Data Sources").
"FilasEliminadas" ("DeletedRows") Colección de Filas No Una colección de "Filas" ("Rows") que deben ser eliminados de las filas de una "Fuente de Datos" ("Data Source") existentes. Usa este campo para desarrollar eliminaciones incrementales de tus "Fuentes de Datos" ("Data Sources"). Cada "Fila" ("Row") debe contener un elemento Val que sea un identificar único para poder ser eliminada.

"Fila" ("Row") (<Row>)

Cada "Fila" ("Row") es una colección de items Val (<Val>), que son las columnas de valores individuales de cada "Fila" ("Row").

Cada "Fila" ("Row")  debe contener al menos 2 Vals y debe tantos como "Títulos" ("Headers") (columnas).


El primer Val debe ser un identificar único que se utiliza como el valor de respuesta. La file de la "Fuente de Datos" ("Data Source") debe ser seleccionada en un "Formulario" ("Form"). El primer Val es también importante como la clave para realizar eliminaciones incrementales a través del campo de "FilasEliminadas" ("DeletedRows") mencionadas anteriormente.

El segundo Val debe ser la pestaña de texto predeterminada en la fila. Puedes anular este valor predeterminado configurando el campo de "Opciones de Visualización" ("Display Options") en la página de "Ajustes" ("Settings") de la "Fuente de Datos" ("Data Source").



Nombre de la entrada Tipo de Datos Obligatorio Descripción
Val Cadena Un valor de columna de esta fila, puede contener cualquier valor de cadena.
Si quieres que esta columna muestre un icono/imagen en la aplicación móvil, entonces especifica el VAL como un dirección URL de la imagen en cuestión.
La imagen vinculada debe estar en un formato PNG o JPG/JPEG.


Si el GET no funciona, tu servicio web debe devolver un código de nivel 400 en HTTP.


Ejemplo del uso de la API

Tendiendo en cuenta que este conector está basado en REST, puedes testear tu servicio web directamente a través del buscador, usando un complemento REST como el "Complemento Postman" ("Postman plugin") para Google Chrome.

En este ejemplo, asumimos que estableciste que tu "Target GET URL" en tu conector Hosted GET sea https://yourdomain.com/xx/rowsearch

Solicitudes GET (hechas por la aplicación, con user@somewhere.com como el usuario conectado).


 

GET https://yourdomain.com/xx/rowsearch?email=user@somewhere.com&integrationkey=xxxxxxxxxxxx&providerid=1&ids=JOBS,JOBS-DISS&lastupdated=2013-02-12T14:24:09

 

Respuesta GET


 

{
   "DataSources":[
      {
         "Id":"JOBS",
         "Rows":[
            [
               "10011",
               "10011 - Test Generic Project",
               "TEST",
               "12345AA",
               "19 Nov 2013",
               "12 Somewhere Road"
            ],
            [
               "ZDS654",
               "ZDS654 - Maintenance Costs to Excavator",
               "TEST",
               "",
               "27 Nov 2013",
               "24 Somewhere Else Road"
            ],
            [
               "ZDF662",
               "ZDF662 - Maintenance Costs for Hitachi Excavator",
               "TEST2",
               "",
               "28 Nov 2013",
               "182 Another Place, Somewhere"
            ]
         ],
         "NewRows":[
 
         ],
         "DeletedRows":[
 
         ]
      },
      {
         "Id":"JOB-DISS",
         "Rows":[
            [
               "10011-0201",
               "Project Management",
               "10011",
               "Y"
            ],
            [
               "10011-0202",
               "Quality Control",
               "10011",
               "Y"
            ],
            [
               "10011-0251",
               "Electrical Design",
               "10011",
               "Y"
            ]
         ],
         "NewRows":[
 
         ],
         "DeletedRows":[
 
         ]
      }
   ],
   "LastUpdated":"2014-03-11T15:45:50.4818098+10:00"
}