Insertar PROYECTADA

Para insertar una Orden de Trabajo en estado PROYECTADA, debemos enviar los campos

  • assignation_info.date

  • assignation_info.starts_min

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

Headers

NameTypeDescription

Authorization*

String

Bearer API_KEY

Content-Type*

String

application/json

Request Body

NameTypeDescription

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.

assignation_info.responsibles_required*

Number

Cantidad de tecnicos que requiere el trabajo. Min: 1

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.

{
    "success": false,
    "error": {
        "status": 400,
        "type": "BAD_REQUEST",
        "userMessage": "'uid_client' es obligatorio y debe ser un string identificando al cliente"
    }
}

Ejemplo de request

body

{
    "uid_client": "AABC9098",
    "labels_ids": [1,6],        /* Opcional */
    "wo_data": {
        "schema_id": 452,
        "service_time": 45,
        "instructions": {        /* Opcional */
            "formvalues": {
                "FWMnigD1k": "Revisar la caldera",
                "FWlDmoApZ": 250.23
            }
        }         
    },
    "assignation_info": {
        "responsibles_required": 1,
        "date": "2022-04-26T00:00:00.000Z",
        "starts_min": 480
    }
}

Los campos se describen en Obtener OT

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": [],

wo_data.instructions: Instrucciones que le llegan al tecnico. Podemos no enviar estos datos si es que no los tenemos, ya que la OT no va a quedar asignada si no en estado PROYECTADA. Luego cuando el coordinador la quiera asignar, entonces deberá completar el formulario de instrucciones.

assignation_info.date y assignation_info.starts_min: Se deben definir, y de esta forma se considera a la OT en estado proyectada.

Análisis de la respuesta

{
    "success": true,
    "data": {
        "_id": "146",
        "note_id": 617,
        "state": "PROYECTADA",
        "created": "2022-05-20T18:08:37.000Z",
        "created_by_user_name": "Creado por Api",
        "created_by_user_id": -1,
        "labels_ids": [1,6],
        "client": {
            "id": 10216,
            "name": "Fabrica de Motores",
            "uid_client": "CL3213L"
        },
        "wo_data": {
            "schema_id": 452,
            "wo_instance": null,
            "wo_rule_id": null,
            "service_time": 45,
            "instructions": {
                "formvalues": {
                    "FWMnigD1k": "Revisar la caldera",
                    "FWlDmoApZ": 250.23
                }
            }
        },
        "assignation_info": {
            "date": "2022-04-26T00:00:00.000Z",
            "starts_min": 480,
            "responsibles_required": 1,
            "responsibles": []
        }
    }
}

La respuesta se puede analizar siguiento la seccion Proyectada con Instrcucciones

Last updated