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
  1. Modulos
  2. Formularios Digitales

Obtener formulario

Los formularios en Persat pueden ser insertados tanto desde la web, la aplicación móvil, o desde la API. Una vez creados se les asigna un id único, mediante el cual podemos luego consultar su contenido.

Para obtener un formulario particular que ya ha sido insertado en Persat se debe realizar un GET como el que se muestra a continuación.

IMPORTANTE: El id del formulario es un string, si bien hoy en día los ids de los formularios representan números, hay que considerar la posibilidad de que sean alfanuméricos a futuro.

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

Path Parameters

Name
Type
Description

form_id*

String

Identificador del formulario.

Headers

Name
Type
Description

Authorization*

String

Bearer API_KEY

{
    "success": true,
    "data": {
        "_id": "195",
        "created": "2022-05-18T15:36:27.000Z",
        "created_by_user_name": "Jose Lopez",
        "created_by_user_id": 34,
        "client": {
            "id": 12789,
            "name": "Logistica Lopez",
            "uid_client": "AABC9892"
        },
        "df_data": {
            "schema_id": 170,
            "results": {
                "last_updated": "2022-05-18T15:36:27.000Z",
                "formvalues": {
                    "FWA3VCpeS": "El cliente presenta nuestros productos en su vidriera",
                    "FWWucoyGH": 18,
                    "FWFFs0qST": "2022-04-07T00:00:00.000Z",
                    "FWgGz4CLd": "Cobrado"
                }
            }
        },
        "state": {
            "color": "RED",
            "deleted": false,
            "id": 27,
            "name": "Cancelado"
        },
    }
}
{
    "success": false,
    "error": {
        "status": 404,
        "type": "NOT_FOUND",
        "userMessage": "No hay un formulario con este numero: 195"
    }
}

Analizando la Respuesta

{
    "success": true,
    "data": {
        "_id": "195",
        "created": "2022-05-18T15:36:27.000Z",
        "created_by_user_name": "Jose Lopez",
        "created_by_user_id": 34,
        "client": {
            "id": 12789,
            "name": "Logistica Lopez",
            "uid_client": "AABC9892"
        },
        "df_data": {
            "schema_id": 170,
            "results": {
                "last_updated": "2022-05-18T15:36:27.000Z",
                "formvalues": {
                    "FWA3VCpeS": "El cliente presenta nuestros productos en su vidriera",
                    "FWWucoyGH": 18,
                    "FWFFs0qST": "2022-04-07T00:00:00.000Z",
                    "FWgGz4CLd": "Cobrado"
                }
            }
        },
        "state": {
            "color": "RED",
            "deleted": false,
            "id": 27,
            "name": "Cancelado"
        },
    }
}

_id: Identificador del formulario. Es un string, si bien hoy en dia representa un número, puede ser modificado a futuro para ser alfanumerico.

created: Fecha de creación del formulario.

Si bien la fecha esta representada en UTC, hay que considerarla en horario local. Esto se debe a un requerimiento de mantener la compatibilidad con una versión anterior de Persat. Entonces para el caso del ejemplo, y sin importar si soy un cliente de Argentina, Ecuador o México, la fecha mostrada representa el día 18 de Mayo de 2022 a las 15:36 hora de mi país

"created": "2022-05-18T15:36:27.000Z",

created_by_user_name: Nombre del usuario que insertó el formulario. En caso que el formulario haya sido creado a través de la API, el valor será "Creado por Api"

created_by_user_id: id del usuario nombrado arriba. En caso que el formulario haya sido creado a través de la API, el valor será -1

El id de cada usuario se puede obtener en la pantalla de Usuarios y Permisos, presionando sobre el botón "Desarrolladores" en configuración de usuario.

client: Datos del cliente en el que se encuentra el formulario

  • id: Id interno. NO UTILIZAR. Preparar el sistema para incluso dejar de recibir este dato a futuro.

  • name: Nombre del cliente

  • uid_client: Id del cliente. Es el que se utiliza como identificador de este cliente. Es un valor único.

df_data: Datos del formulario

df_data.schema_id: Identificador del esquema (plantilla) del formulario. Por ejemplo: Puedo tener un formulario de "Nota de Pedido" y otro de "Encuesta". Para saber de que tipo de formulario estoy hablando es que se usa el schema_id. Además, puede pasar que el formulario de "Nota de Pedido", tengas varias versiones dentro de Persat, con lo cual cada una de estas versiones es un schema_id diferente.

df_data.results: Datos del formulario

df_data.results.last_updated: Fecha de ultima modificación en hora local. Es decir, que se aplica el mismo criterio que para el created mencionado más arriba en esta misma sección.

df_data.results.formvalues: Datos de cada uno de los componentes (widgets) del formulario. Cada tipo de formulario esta conformado por widgets de distinto tipo, como por ejemplo: Campo Texto, Campo Lista, Campo número, etc.

Para el caso del ejemplo, se puede visualizar que el formulario cuenta con 4 widgets. A priori no se pude deducir exactamente que tipo de widget es cada uno, sin embargo podemos inferir que el widget con id FWFFs0qST es un CAMPO FECHA.

formvalues: {
    "FWA3VCpeS": "El cliente presenta nuestros productos en su vidriera", 
    "FWWucoyGH": 18, 
    "FWFFs0qST": "2022-04-07T00:00:00.000Z", 
    "FWgGz4CLd": "Cobrado"
}

Last updated 3 months ago

state: Estado actual del formulario. Para ver la definción de sus propiedades, ver .

Para poder conocer los schema_id de los formularios disponibles

También puede consultarlos mediante un endpoint de la API

Dependiendo del tipo de widget, es el tipo de valor obtenido. Un widget de tipo Texto, contendrá un string, mientras que uno de tipo Numero contendra un number. Ver todos los widgets disponibles en la siguiente sección:

Para conocer los Ids de los widgets

☑️
Obtener estado
Obtener esquema
Tipos de Widgets
Identificación de Formularios
Identificación de Formularios