Manual de administrador de Viafirma Documents

Aplicaciones

Esta administración de aplicaciones permitirá definir las reglas de comunicación entre el backend y los usuarios que hagan uso, bien de aplicaciones móviles, o bien de aplicaciones servidor que estén integradas con viafirma documents.

Aplicaciones

Nos permitirá autorizar el uso a estas aplicaciones, y nos permitirá identificar el origen y destino de los documentos procesados.

Tipo de Aplicaciones

Se tendrán en cuenta tres tipos de aplicaciones:

  • iOS
  • Android
  • API

Las aplicaciones iOS y Android se refieren a las apps oficiales de viafirma documents. Cada una cuenta con su propia configuración, nombre, y securización.

El tercer tipo de apliaciones, API, se refiere a aquellas aplicaciones que integren con los servicios de viafirma documents, por ejemplo, un CRM, que al igual que para el caso de iOS y Android, podrá tener su propia configuración y securización.

A continuación se describe cómo gestionar las aplicaciones en el backend.

Listado de aplicaciones

Listado de mensajes en estado borrador para el usuario autenticado.

Aplicaciones

Existe la posibilidad de filtrar el listado de aplicaciones disponibles. Para ello introducimos el texto por el que se desee filtar en el cuadro de búsqueda y se pulsar Buscar . Para eliminar el filtro de búsqueda y volver a mostrar el listado completo de aplicaciones pulsamos Mostrar todos .

Las acciones que un administrador puede llevar a cabo en esta pantalla son:

  • Añadir una nueva aplicación pulsado el botón Añadir.
  • Editar una aplicación pulsando en el lápiz de la fila correspondiente al mensaje.
  • Eliminar una aplicación pulsando la cruz roja de la fila correspondiente al mensaje.

Detalle de aplicaciones

Tipo de Aplicaciones

Se tendrán en cuenta tres tipos de aplicaciones:

  • iOS
  • Android
  • API

Las aplicaciones iOS y Android se refieren a las apps oficiales de viafirma documents. Cada una cuenta con su propia configuración, nombre, y securización.

El tercer tipo de apliaciones, API, se refiere a aquellas aplicaciones que integren con los servicios de viafirma documents, por ejemplo, un CRM, que al igual que para el caso de iOS y Android, podrá tener su propia configuración y securización.

A continuación se describe cómo gestionar las aplicaciones en el backend.

Datos Generales

Aplicaciones Datos Generales

Entre los datos generales a la hora configurar una aplicación, empezaremos a describir los datos bloqueantes y funcionales:

  • Tipo de aplicación (plataforma)
  • Tipo de autenticación

Como ya se ha explicado, nuestra aplicación deberá crearse como una de las tres opciones permitidas: iOS, Android y API.

El tipo de autenticación se explica de forma detallada más abajo, en la sección "seguridad".

Y por otro lado, tenemos la siguiente configuración opcional:

  • Título
  • Versión
  • Fecha de creación
  • Fecha de actualización
  • Texto que se mostrará al ofrecer la actualización de la aplicación * Ofrecer actualización de la app en los dispositivos que ya tienen instalada la aplicación
  • URL icono de aplicación (actualmente no es funcional)
  • URL de instalación de la app (sólo a título informativo, no se realiza ningún tipo de validación sobre esta URL).
  • JSON de configuración externa
JSON de configuración externa

Esta opción sólo está disponible para aplicaciones del tipo iOS y Android, y permite inyectar configuración distinta a la configuración con la que fue compilada la versión.

Es importante aclarar que la configuración "inyectable" sólo afecta a aquellas funcionalidades que en origen (compilación original) se hayan marcado como "editables".

¿Para qué necesito inyectar configuración externa?

Esta opción es útil para ambientes de desarrollo o preproducción, en los que se pueden probar aplicaciones inicialmente compiladas para un ambiente de producción, y que podremos cambiar configuraciones como por ejemplo el endpoint del backend.

También podrá ser últil para cambiar datos de credenciales de servicios externos, como por ejemplo, el servicio de mensajería SENDGRID. Si la cuenta de este servicio (user/pass) cambiara, sólo habría que hacer el cambio en el backend, en el fichero de configuración, y de forma automática, todas las apps distribuidas aplicarían el cambio en el siguiente inicio de sesión.

¿Qué tipo de configuración puedo editar desde aquí?

propiedad descripción
frontCamera true para permitir el uso de la cámara frontal en la captura de evidencias del tipo foto, y false para deshabilitarla.
personMask true o false; se usa para activar o desactivar la validación de "personas" cuando se captura una evidencia del tipo foto.
autoRegisterDevice true o false; indica si se enlazan de forma automática los dispositivos al usuario. De forma que un usuario sólo podrá tener asociado un dispositivo. En caso de logarse en otro dispositivo se desasocia del anterior
finalizeActions Acciones que el usuario puede realizar en la pantalla de resultado

JSON de ejemplo

{
  "frontCamera": true,
  "personMask": true,
  "autoRegisterDevice": true,
  "finalizeActions": [
    {
      "type": "MAIL"
    },
    {
      "type": "VIEW"
    },
    {
      "type": "DETAIL"
    },
    {
      "type": "SHARE"
    },
    {
      "type": "PRINT"
    }
  ]
}

Seguridad

La comunicación entre las aplicaciones y el backend se realiza mediante servicios REST, securizados con OAuth.

Cada aplicación tendrá sus propias credenciales, esto es, consumer-key y consumer-secret, cuya equivalencia en la configuración de la aplicación sería la siguiente:

Main image

plataforma consumer-key consumer-secret
iOS com.viafirma.mobile.ios.documents [9999999999]
Android com.viafirma.viafirmaDocuments.Documents [9999999999]
Swagger com.viafirma.mobile.services [9999999999]
Otra... com.viafirma.mobile.crm [9999999999]

*nota: swagger es la utilidad para desarrolladores que permite el consumo de los servicios RESTS directamente desde el backend para pruebas de integración. Esta funcionalidad consume el servicio con las credenciales definidas aquí.

¿Qué tipo de autenticación debo elegir?

En cuanto al tipo de autenticación, puede usarse indistintamente una u otra, aunque se podrá tomar en cuenta la siguiente recomendación:

  • Aplicaciones del tipo iOS y Android = OAuth (usuarios)
  • Aplicaciones del tipo API = OAuth (aplicación)

Una autenticación del tipo usuario requiere que el TOKEN intercambiado por OAuth vaya siendo renovado. Si el usuario (o la aplicación móvil) no tiene actividad, este TOKEN caduca, y por tanto la sesión queda invalidada.

Una autenticación del tipo aplicación gestiona la renovación del TOKEN de forma automática, es decir, la aplicación que consuma el API REST de viafirma documents sólo tendrá que inicializar sus credenciales una única vez, y no tendrá que gestionar la renovación del TOKEN intercambiado por OAuth.

Ciclo de vida de mensajes y notificaciones

Main image

Con esta configuración podemos controlar el ciclo de vida de los mensajes y notificaciones generados por el sistema.

Mensajes y sus Metadatos

Un mensaje, y todos sus metadatos, serán persistidos en la base de datos del sistema durante el tiempo especificado (en días) en la configuración Borrado Mensajes.

Por ejemplo, si el tiempo indicado es de 30 días, transcurrido ese tiempo, se procede al borrado del mensaje en la tabla "VD_MESSAGE", así como todos los metadatos asociados a este mensaje en la tabla "VD_METADATA".

¿Dónde puedo revisar un mensaje que ya se borró de la tabla VD_MESSAGE?

Si ya se borró el mensaje, el único sitio donde se podría consultar es en la Auditoría. Para más información ver el capítulo Panel de Control > Auditoría.

Notificaciones

Las notificaciones, serán persistidos en la base de datos del sistema durante el tiempo especificado (en días) en la configuración Borrado Notificaciones.

Por ejemplo, si el tiempo indicado es de 30 días, transcurrido ese tiempo, se procede al borrado de la notificación en la tabla "VD_NOTIFICATION".

Configuración de notificaciones push

Esta configuración sólo aplica a las plataformas iOS y Android, y para cada una de ellas se cuenta con una configuración específica.

Configuración PUSH para iOS

Main image

Una aplicación iOS podrá tener asociados dos certificados digitales para la firma de las push (.p12), uno para producción, y otro para los ambientes de prueba (sandbox).

Cuando se marca la casilla "Usar certificado de producción" entonces se usará el p12 para tal efecto.

Las pruebas de carga y estrés deberían realizarse con la configuración "sandbox", para evitar que Apple pudiera interpretar ese consumo como spam y bloquee la cuenta.

Configuración PUSH para Android

Main image

Para el caso de Android no se usarán certificados .p12 sino tokens previamente generados desde el developers center de Google.