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

NameTypeDescription

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

NameTypeDescription

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
                    }
                }
            }
        },
        {
            "_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
                }
            }
        }
    ]
}

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 limite maximo 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

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

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
                    }
                }
            }
        },
        {
            "_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
                }
            }
        }
    ]
}

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