Persat Api
  • Persat API v1.0
  • Introducción
    • ¿Qué es una API?
    • ¿Cómo funciona?
  • Primeros Pasos
    • Introducción
    • Niveles de Acceso y Consideraciones Importantes
    • Formato de Respuesta
    • Autenticación
      • Como obtener el Api key
    • Configurar Webhooks
      • Primeros pasos
      • Lógica de reintentos
  • Entidades Básicas
    • Clientes
      • Obtener un cliente
      • Agregar un cliente
      • Modificar un cliente
      • Eliminar un cliente
      • Listar Clientes
      • Listar Grupos de Clientes
      • Listar Tipos de Clientes
      • Listar Campos Personalizados
      • Eventos / Webhooks
        • Cliente creado
        • Cliente modificado
        • Cliente eliminado
    • Objetos en Cliente
      • Obtener estructura/esquema de un Objeto en Cliente
      • Listar estructuras/esquemas de los Objetos en Cliente
      • Obtener objeto
      • Insertar objeto
      • Modificar objeto
      • Eliminar objeto
      • Listar Objetos en un Cliente particular
      • Sincronizacion completa
    • Master Db
      • Obtener estructura/esquema de una Master Db
      • Listar estructuras/esquemas de las Master Dbs
      • Obtener elemento
      • Insertar elemento
      • Modificar elemento
      • Eliminar elemento
      • Sincronizacion completa
    • Dispositivos
      • Obtener Dispositivo
      • Listar Dispositivos
    • Usuarios
      • Listar Usuarios
      • Listar Técnicos Activos
    • Seguimientos
      • Crear seguimientos
  • Modulos
    • 🚚Rastreo Satelital
      • Obtener última posición GPS
      • Obtener estadísticas de Rastreo
      • Obtener Visitas a Clientes
      • Integrar Dispositivos de Rastreo a Persat
    • ☑️Formularios Digitales
      • Obtener estructura/esquema de un Formulario
      • Listar estructuras/esquemas de todos los Formularios
      • Obtener formulario
      • Obtener PDF del formulario
      • Tipos de Widgets
        • Campo Texto
        • Campo Párrafo
        • Campo Link
        • Campo Número
        • Campo Fecha
        • Campo Hora
        • Seleccion Simple
        • Lista Desplegable
        • Selección Múltiple
        • Campo Foto (deprecado)
        • Campo Fotos
        • Firma Digital (deprecado)
        • Firma Digital v2
        • Etiquetas
        • Tabla Smart
        • Tabla Master Db
        • Lista de Objetos en Cliente
        • Tabla de Objetos en Cliente
      • Insertar formulario
      • Modificar formulario
      • Modificar estado de formulario
      • Listar historial de estados de un formulario
      • Listar formularios
      • Estados de formulario
        • Obtener estado
        • Listar estados
      • Eventos / Webhooks
        • Formulario Creado
        • Formulario Modificado
        • Formulario estado modificado
        • Formulario estado modificado masivamente
    • 🛠️Órdenes de Trabajo
      • Obtener estructura/esquema de un Tipo de OT
      • Listar estructuras/esquemas de todos los tipos de OTs
      • Administrar Etiquetas
        • Obtener Etiqueta
        • Insertar Etiqueta
        • Modificar Etiqueta
        • Eliminar Etiqueta
        • Listar Etiquetas
      • Obtener OT
        • PENDIENTE sin instrucciones
        • PENDIENTE con instrucciones
        • PROYECTADA sin instrucciones
        • PROYECTADA con instrucciones
        • ASIGNADA
        • INFORME
        • VENCIDA
        • CERRADA_OK
        • CERRADA_CON_DESVIO
        • CERRADA_NO_CUMPLIDA
      • Obtener PDF de la OT
      • Insertar OT
        • Insertar PENDIENTE
        • Insertar PROYECTADA
        • Insertar ASIGNADA
      • Modificar OT
        • Modificar etiquetas
        • Cancelar OT
        • Mover a estado PENDIENTE
      • Listar OTs
      • Obtener link de trackeo
      • Eventos / Webhooks
        • OT creada
        • OT modificada
        • OT finalizada
        • OT cerrada
    • 📦Gestión de Entregas
      • Obtener estructura/esquema de un Tipo de Entrega
      • Listar estructuras/esquemas de todos los tipos de Entregas
      • Administrar Etiquetas
        • Obtener Etiqueta
        • Insertar Etiqueta
        • Modificar Etiqueta
        • Eliminar Etiqueta
        • Listar Etiquetas
      • Obtener entrega
        • Estado PENDING
        • Estado ROUTING
        • Estado ASSIGNED
        • Estado FINISHED
        • Estado FINISHED_WITH_DEVIATION
        • Estado NOT_FINISHED
      • Obtener PDF de entrega
      • Crear entrega
        • Crear Entrega Simple
        • Crear Entrega en Cliente
      • Eliminar entrega
      • Listar Entregas
      • Obtener link de trackeo
      • Eventos / Webhooks
        • Entrega Creada
        • Entrega Finalizada
        • Entrega Eliminada
      • Rutas de Entrega
        • Obtener Ruta
        • Listar Rutas
        • Eventos / Webhooks
          • Ruta Asignada
          • Ruta Modificada
          • Ruta Cancelada
Powered by GitBook
On this page
  • Tipo de widget
  • Lectura
  • rows
  • totals
  • Escritura
  • rows
  • totals
  1. Modulos
  2. Formularios Digitales
  3. Tipos de Widgets

Tabla Master Db

Last updated 12 months ago

Tipo de widget

En el esquema se representa como

"widget_type": "MASTER_DB_TABLE"

Lectura

A la hora de leer este tipo de widget, obtenemos un valor de tipo object que se especifica a continuacion.

El objeto JSON tiene dos campos "rows" y "totals". Donde rows es un array de Objetos Json.

rows

Los fields "numericos" (aunque son strings). representan las columnas en la Master Db correspondiente. El "1" es el identificador del elemento dentro de la tabla. Ver la sección para comprender los campos.

Los fields que comienzan con "USER_COL" son las columnas extras que fueron completadas por el usuario final, ya sea desde la web o desde el celular. Si bien las columnas pueden ser de varios tipos (Numero, Texto, Lista), los resultados obtenidos son siempre en formato string.

totals

Los fields comienzan todos con USER_TOTAL y representan los campos totales que fueron completados por el usuario desde la web o desde el celular. Al igual que las columnas mencionadas anteriormente, los resultados son todos de tipo string mas alla que los campos puedan ser de diferentes tipos.

{
    ...
    "FW9ilaip": {
        "rows": [{
	    "1": "ABC9893821",
            "2": "Destornillador phillips",
            "5": "Rojo",
            "6": "55",
            "USER_COL_VDJD1649708416806": "Me pidieron 5",
	    "USER_COL_CxbS1649708422321": "18.32",
	    "USER_COL_jBVx1649708426690": "Blanco"
	},
	{
	    "1": "DJKS2321DDC",
            "2": "Llave de 10",
            "5": "Plateado",
            "6": "30",
            "USER_COL_VDJD1649708416806": "No me especifico bien",
	    "USER_COL_CxbS1649708422321": "45.30",
	    "USER_COL_jBVx1649708426690": "Rojo"
        }
	],
	"totals": {
            "USER_TOTAL_DbOq1649708498075": "Se aplica descuento",
            "USER_TOTAL_bCpo1649708492977": "5",
            "USER_TOTAL_OjNg1649708485631": "563.32"
	}
    },
    ...
}

Escritura

Cuando insertamos un formulario, en el field correspondiente a este widget, debemos colocar un objeto similar al que se explica arriba, con fields rows y totals

rows

Es un array de objetos Json con los siguientes fields

rows[x].field_1: Es el identificador del elemento de la Master Db que queremos insertar. Debe ser un elemento que exista en la tabla, caso contrario obtendremos como respuesta 404 NOT FOUND.

rows[x].USER_COL_......: El valor de cada una de las columnas configuradas en la plantilla del formulario. Si bien las columnas son de distintos tipos (NUMERO, TEXTO, LISTA, CALCULADO), debemos enviar siempre valores de tipo string.

En el caso particular de que la columna sea de tipo lista, el valor que enviamos debe ser una opción válida de dicha lista, caso contrario obtendremos como respuesta 400 BAD REQUEST

En el caso de que haya un CAMPO CALCULADO. El calculo no se realizará cuando la inserción se hace desde la API, es decir, todo pasa como si fuese un CAMPO TEXTO, y hay que enviar el valor a guardar.

totals

Es un objeto JSON en donde cada uno de los fields representa un campo total a insertar. Sin importar los tipos de campo, se deben enviar valores de tipo string.

En el caso particular de un campo total de tipo lista, el valor que enviamos debe ser una opción válida de dicha lista, caso contrario obtendremos como respuesta 400 BAD REQUEST

En el caso de que haya un CAMPO CALCULADO. El calculo no se realizará cuando la inserción se hace desde la API, es decir, todo pasa como si fuese un CAMPO TEXTO, y hay que enviar el valor a guardar.

{
    ...
    "FW9ilaip": {
        "rows": [{
	    "field_1": "ABC9893821",
            "USER_COL_VDJD1649708416806": "Me pidieron 5",
	    "USER_COL_CxbS1649708422321": "18.32",
	    "USER_COL_jBVx1649708426690": "Blanco"
	},
	{
	    "field_1": "DJKS2321DDC",
            "USER_COL_VDJD1649708416806": "No me especifico bien",
	    "USER_COL_CxbS1649708422321": "45.30",
	    "USER_COL_jBVx1649708426690": "Rojo"
        }
	],
	"totals": {
            "USER_TOTAL_DbOq1649708498075": "Se aplica descuento",
            "USER_TOTAL_bCpo1649708492977": "5",
            "USER_TOTAL_OjNg1649708485631": "563.32"
	}
    },
    ...
}

Se puede enviar un valor vacio, indicando que la tabla no tiene ninguna fila

"rows": []. Sin embargo totals no puede estar vacio

☑️
Master Db