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
  • Ejemplo 1
  • Analizando la Respuesta
  • Ejemplo 2
  1. Modulos
  2. Formularios Digitales

Listar formularios

Para obtener un listado de los formularios para un rango de fechas particular, se debe enviar un GET con los siguientes parámetros.

GET https://api.persat.com.ar/v1/digital-forms

Query Parameters

Name
Type
Description

from*

String

Fecha desde en formato yyyy-MM-ddT00:00:00.000Z. En caso de enviar horas minutos, segundos o milisegundos, seran ignorados. La busqueda es realizada por dias completos en horario local

to*

String

Fecha hasta en formato yyyy-MM-ddT00:00:00.000Z. En caso de enviar horas minutos, segundos o milisegundos, seran ignorados. La busqueda es realizada por dias completos en horario local, incluyendo este mismo dia. Ver ejemplo en esta misma seccion

offset*

number

Mismo concepto de SQL para la paginación.

limit*

number

Mismo concepto de SQL para la paginación. Valor máx: 100

uid_client

String

Identificador del cliente, en caso que solo quiera obtener los formularios en este cliente

Headers

Name
Type
Description

Authorization*

String

Bearer API_KEY

{
    "success": true,
    "paging": {
        "offset": 0,
        "limit": 2,
        "result": 2,
        "total": 350
    },
    "data": [
        {
            "_id": "197",
            "created": "2022-05-03T16:17:21.000Z",
            "created_by_user_name": "eandino@persat.com.ar",
            "created_by_user_id": 28,
            "client": {
                "id": 12596,
                "name": "Logistica Hnos.",
                "uid_client": "klk321MM"
            },
            "df_data": {
                "schema_id": 170,
                "results": {
                    "last_updated": "2022-05-03T16:17:21.000Z",
                    "formvalues": {
                        "FWA3VCpeS": "Texto 1",
                        "FWNDBKSIr": "Texto 2",
                        "FW27yy7bk": 5
                    }
                }
            },
            "state": {
                "color": "RED",
                "deleted": false,
                "id": 27,
                "name": "Cancelado"
            }
        },
        {
            "_id": "198",
            "created": "2022-05-03T16:20:50.000Z",
            "created_by_user_name": "eandino@persat.com.ar",
            "created_by_user_id": 28,
            "client": {
                "id": 12597,
                "name": "Distribuidora de alimentos",
                "uid_client": "AKKJDS23"
            },
            "df_data": {
                "schema_id": 170,
                "results": {
                    "last_updated": "2022-05-03T16:20:50.000Z",
                    "formvalues": {
                        "FWA3VCpeS": "Otro texto 1",
                        "FWNDBKSIr": "Otro texto 2",
                        "FW27yy7bk": 6
                }
            },
            "state": {
                "color": "RED",
                "deleted": false,
                "id": 27,
                "name": "Cancelado"
            }
        }
    ]
}
{
    "success": false,
    "error": {
        "status": 400,
        "type": "BAD_REQUEST",
        "userMessage": "'limit' debe ser un numero mayor que 0 y menor que 100"
    }
}
{
    "success": false,
    "error": {
        "status": 404,
        "type": "NOT_FOUND",
        "userMessage": "No existe un cliente con este número."
    }
}

Ejemplo 1

https://api.persat.com.ar/v1/digital-forms?from=2022-05-03T00:00:00.000Z&to=2022-05-03T00:00:00.000Z&offset=0&limit=2

La consulta se realiza por día, es decir que si bien tanto from como to son fechas en formato ISO, no importa si se envian las horas minutos segundos del dia. Ya que no se tomarán en cuenta para la consulta.

Tampoco importa la zona horaria, o sea que si estoy en Argentina, México o Perú, y quiero obtener los formularios creados el día 3 de Mayo de 2022, entonces tanto from como to deben ser "2022-05-03T00:00:00.000Z" como se muestra en la consulta.

No hay un límite máximo en el rango a consultar, pero si en la cantidad de formularios a obtener por página. Ese valor se controla con el parametro limit en la misma query. Valor máx: 100.

Analizando la Respuesta

El paging nos da información sobre la página obtenida. En este ejemplo

paging.offset: El mismo valor de offset que se envio en el query

paging.limit: El mismo valor de limit que se envio en el query

paging.result: Se devolvieron 2 formularios

paging.total: Se encontraron 350 formularios creados para este rango de fechas

{
    "success": true,
    "paging": {
        "offset": 0,
        "limit": 2,
        "result": 2,
        "total": 350
    },
    "data": [
        {
            "_id": "197",
            "created": "2022-05-03T16:17:21.000Z",
            "created_by_user_name": "eandino@persat.com.ar",
            "created_by_user_id": 28,
            "client": {
                "id": 12596,
                "name": "Logistica Hnos.",
                "uid_client": "klk321MM"
            },
            "df_data": {
                "schema_id": 170,
                "results": {
                    "last_updated": "2022-05-03T16:17:21.000Z",
                    "formvalues": {
                        "FWA3VCpeS": "Texto 1",
                        "FWNDBKSIr": "Texto 2",
                        "FW27yy7bk": 5
                    }
                }
            },
            "state": {
                "color": "RED",
                "deleted": false,
                "id": 27,
                "name": "Cancelado"
            }
        },
        {
            "_id": "198",
            "created": "2022-05-03T16:20:50.000Z",
            "created_by_user_name": "eandino@persat.com.ar",
            "created_by_user_id": 28,
            "client": {
                "id": 12597,
                "name": "Distribuidora de alimentos",
                "uid_client": "AKKJDS23"
            },
            "df_data": {
                "schema_id": 170,
                "results": {
                    "last_updated": "2022-05-03T16:20:50.000Z",
                    "formvalues": {
                        "FWA3VCpeS": "Otro texto 1",
                        "FWNDBKSIr": "Otro texto 2",
                        "FW27yy7bk": 6
                }
            },
            "state": {
                "color": "RED",
                "deleted": false,
                "id": 27,
                "name": "Cancelado"
            }
        }
    ]
}

Para este caso particular, los dos formularios pertenecen al mismo schema_id, es decir que es la misma plantilla. Con lo cual ambos tienen los mismos widgets con los mismos ids (FW . . . . . . .)

Es importante entender que estamos recibiendo para poder asi hacer una lectura correcta de los datos.

Ejemplo 2

Ahora solo quiero obtener los formularios de un cliente particular, entonces tengo que agregar a la consulta el uid_client

https://api.persat.com.ar/v1/digital-forms?from=2022-05-03T00:00:00.000Z&to=2022-05-03T00:00:00.000Z&offset=0&limit=2&uid_client=AKKJDS23

En caso que el uid_client contenga caracteres especiales, recordá realizar un url encode para hacer la consulta

Last updated 3 months ago

En caso que no haya ningun error, obtenemos una respuesta de este estilo. El field "data" es un array con cada uno de los formularios. La explicación de cada uno de los campos del formulario se puede ver en la sección

☑️
Obtener Formulario