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 de request
  • Análisis de la respuesta
  1. Modulos
  2. Órdenes de Trabajo
  3. Insertar OT

Insertar ASIGNADA

Para insertar una Orden de Trabajo en estado ASIGNADA, debemos hacer un request al siguiente endpoint

POST https://api.persat.com.ar/v1/work-orders

Headers

Name
Type
Description

Authorization*

String

Bearer API_KEY

Content-Type*

String

application/json

Request Body

Name
Type
Description

uid_client*

String

El número/identificador de cliente (es un valor alfanumérico). Es el cliente en el que queremos realizar el trabajo.

wo_data.schema_id*

Number

Identificador de la plantilla/esquema de la OT que estamos insertando.

wo_data.service_time*

Number

Numero representando los minutos de duración estimado del trabajo

labels_ids

Number[]

Array de numeros. Cada item representa una etiqueta que deberia estar creada en el sistema. De todas maneras, si no existe la etiqueta la consulta continua sin problemas.

wo_data.instructions.formvalues*

JSON Object

Valores de cada uno de los widgets del formulario de instrucciones

assignation_info.date*

String

Fecha en formato yyyy-MM-ddT00:00:00.000Z. Notese que por mas que se envien las horas o minutos, no se tendran en cuenta. Lo que se usa es la Fecha. Sin importar en que país nos encontremos

assignation_info.starts_min*

Number

numero representando los minutos transcurridos desde las 00:00 hs del día.

assignation_info.responsibles_required*

Number

Cantidad de tecnicos que requiere el trabajo. Min: 1

responsibles*

Array<Number>

Array con los users_ids de los tecnicos asignados a la OT. El tamaño del array debe coincidir con assignation_info.responsibles_required

{
    "success": true,
    "data": {
        "_id": "13",
        "note_id": 299,
        "state": "ASIGNADA",
        "created": "2024-07-16T14:46:35.000Z",
        "created_by_user_name": "Creado por Api",
        "created_by_user_id": -1,
        "labels_ids": [],
        "client": {
            "id": 1,
            "name": "Fabrica de Motores",
            "uid_client": "AABC9098"
        },
        "wo_data": {
            "schema_id": 13,
            "wo_instance": null,
            "wo_rule_id": null,
            "service_time": 45,
            "instructions": {
                "formvalues": {
                    "FWRzVXA7e": "Revisar la caldera"
                }
            }
        },
        "assignation_info": {
            "date": "2024-07-16T00:00:00.000Z",
            "starts_min": 480,
            "responsibles_required": 1,
            "responsibles": [
                {
                    "user_id": 24,
                    "user_name": "tecnico@persat.com.ar"
                }
            ]
        }
    }
}
{
    "success": false,
    "error": {
        "status": 400,
        "type": "BAD_REQUEST",
        "userMessage": "'uid_client' es obligatorio y debe ser un string identificando al cliente"
    }
}
{
    "success": false,
    "error": {
        "status": 404,
        "type": "NOT_FOUND",
        "userMessage": "No hay un cliente con este nro."
    }
}

Ejemplo de request

body

{
    "uid_client": "AABC9098",
    "labels_ids": [1,6],        /* Opcional */
    "wo_data": {
        "schema_id": 452,
        "service_time": 45,
        "instructions": {        
            "formvalues": {    /* los fields de formvalues van a depender de cada schema */
                "FWRzVXA7e": "Revisar la caldera"
            }
        }         
    },
    "assignation_info": {
        "responsibles_required": 1,
        "date": "2022-04-26T00:00:00.000Z",
        "starts_min": 480,
        "responsibles": [24]    /* El largo del array debe coincidir con assignation_info.responsibles_required */
    }
}

Algunas consideraciones durante la inserción:

labels_ids: Es opcional. En caso de no enviarse, la OT será cargada con las etiquetas por defecto definidas en el schema_id. Ahora si lo que quiero es que quede con ninguna etiqueta, entonces hay que enviar un array vacio.

"labels_ids": [],

Análisis de la respuesta

{
    "success": true,
    "data": {
        "_id": "13",
        "note_id": 299,
        "state": "ASIGNADA",
        "created": "2024-07-16T14:46:35.000Z",
        "created_by_user_name": "Creado por Api",
        "created_by_user_id": -1,
        "labels_ids": [],
        "client": {
            "id": 1,
            "name": "Fabrica de Motores",
            "uid_client": "AABC9098"
        },
        "wo_data": {
            "schema_id": 13,
            "wo_instance": null,
            "wo_rule_id": null,
            "service_time": 45,
            "instructions": {
                "formvalues": {
                    "FWRzVXA7e": "Revisar la caldera"
                }
            }
        },
        "assignation_info": {
            "date": "2024-07-16T00:00:00.000Z",
            "starts_min": 480,
            "responsibles_required": 1,
            "responsibles": [
                {
                    "user_id": 24,
                    "user_name": "tecnico@persat.com.ar"
                }
            ]
        }
    }
}

Last updated 10 months ago

Los campos se describen en

assignation_info.responsibles. Es un array de numbers obligatorio. Indica el user_id de el/los técnico/s al que quiero asignar la OT. Para obtener la lista de técnicos disponibles, consulta

Los campos se describen en

🛠️
Obtener OT
Listar Técnicos Activos
Obtener OT - Asignada