Servicios

Ultima actualización: Mayo 12, 2023

General

El modulo de servicios permite administrar proyectos y ordenes en ManagementPro.

Para realizar los procesos es necesario enviar los datos necesarios para cada uno al sitio de servicios web. Los datos para el envío son los siguentes:

Metodo: POST
Url: http://localhost/wservices/ *
Content-Type: application/json
*La URL puede variar

Los datos se pueden enviar de dos maneras, por medio de parametros o formulario en un campo con nombre data o por medio de archivos JSON.

A continuación te listamos las operaciones que puedes realizar para los clientes con los servicios web del WServices.

Metodos

AddProyecto

Para agregar proyectos hay dos tipos de estructuras o modos de envío, el modo simplificado y el completo, a continuación te presentamos ambas estructuras en JSON.

Simplificado
{
	"apikey":"YOUR_APIKEY"
	"provider":"servicio",
    "action":"addProyecto",  
    "data":{
        "clave":"",
        "descripcion":"Nuevo proyecto",
        "sucursal":{
            "clave":"0000000001"
        },
        "grupo_proyecto":{
            "clave":"0000"
        },
        "tipo_proyecto":{
            "clave":"0001"
        },
        "cliente":{
            "clave":""
        }
    }
}
Completo
{
    "apikey":"YOUR_APIKEY"
    "provider":"servicio",
    "action":"addProyecto",  
    "data":{
        "clave":"",
        "descripcion":"Nuevo proyecto",
        "sucursal":{
            "clave":"0000000001"
        },
        "grupo_proyecto":{
            "clave":"0000"
        },
        "tipo_proyecto":{
            "clave":"0001"
        },
        "cliente":{
            "clave":""
        },
        "fecha_inicio":"2023-01-01",
        "fecha_fin":"2023-01-01",
        "responsable":"",
        "supervisor":"",
        "nota":"",
        "porcentaje_avance":0,
        "userdef_1":"",
        "userdef_2":"",
        "userdef_3":"0",
        "userdef_4":"0",
        "userdef_5":"2023-01-01",
        "userdef_6":"2023-01-01",
        "actividades":[
            {
                "clave":"0001",
                "descripcion":"Act 1",
                "duracion":0,
                "avance":0,
                "fecha_inicio":null,
                "fecha_fin":null
            },
            {
                "clave":"0002",
                "descripcion":"Act 2",
                ...
            }
        ]
    }
}
Respuesta del servicio

Si el proyecto se pudo procesar con existo se te devolvera una respuesta como la siguiente:

{
    "type": "info",
    "code": "200",
    "message": "Proyecto agregado: 0000000004",
    "data": {
        "proyecto": {
            "clave": "0000000001"
        }
    }
}

Si ocurrio algún error el servicio respondera con el código y detalle del error:

{
    "type": "error",
    "code": "404",
    "message": "Detalle del mensaje de error"
}

Para editar un proyecto o actualiza información del proyecto ya agregado, debes de enviar la clave del proyecto en el campo clave del objeto JSON junto a todos los datos a actualizar.

GetProyecto

Para consultar los valores de un proyecto en específico deberás colocar la clave en el campo clave en la siguiente estructura.

Obtener proyecto
{
    "apikey": "YOUR_APIKEY",
    "provider": "servicio",
    "action": "GetProyecto",
    "data":{
    	"clave": "0000000001"
    	}
}
Respuesta del servicio

Si la búsqueda se pudo procesar con existo se te devolvera una respuesta como la siguiente:

{
    "type": "info",
    "code": "200",
    "message": "Consulta realizada correctamente",
    "data": {
        "proyecto": {
            "clave": "0000000003",
            "descripcion": "Web1",
            "sucursal": {
                "clave": "0001",
                "descripcion": "Central"
            },
            "tipo_proyecto": {
                "clave": "0001",
                "descripcion": "Tipo A"
            },
            "grupo_proyecto": {
                "clave": "0000",
                "descripcion": "Sin grupo"
            },
            "cliente": {
                "clave": "",
                "descripcion": ""
            },
            "centro_costo": "",
            "fecha_inicio": "2023-05-11",
            "fecha_fin": "2023-05-11",
            "tabla": "",
            "documento": "",
            "porcentaje_avance": "0",
            "nota": "Comentarios del proyecto",
            "responsable": "",
            "supervisor": "",
            "autorizado": "NO",
            "autorizo": "",
            "fecha_autorizacion": null,
            "userdef_1": "",
            "userdef_2": "",
            "userdef_3": 0,
            "userdef_4": 0,
            "userdef_5": "2022-05-11",
            "userdef_6": "2022-05-11",
            "actividades": [
                {
                    "id": "0001",
                    "descripcion": "ACTIVIDAD 1",
                    "duracion": "0",
                    "avance": "0",
                    "fecha_inicio": "2023-05-11",
                    "fecha_fin": "2023-05-11",
                    "estado": "AC"
                },
                {
                    "id": "0002",
                    "descripcion": "ACTIVIDAD 2",
                    ...
                }
            ],
            "estatus": "AC"
        }
    }
}

Si ocurrio algún error el servicio respondera con el código y detalle del error:

{
        "type": "error",
        "code": "405",
        "message": "Detalle del mensaje de error"
}

StatusProyecto

Este método se ocupa para actualizar el estado de un Proyecto, los unicos estados permitidos son:
AC - Activo
SU - Suspendido
FN - Finalizado
CE - Cerrado

En el campo clave se coloca la clave del proyecto que se desea actualizar y el estado del proyecto, tambien puede colocar un comentario opcional.

Actualizar estado
{
    "apikey": "YOUR_APIKEY",
    "provider": "servicio",
    "action": "StatusProyecto",
    "data": {
         "clave": "0000000001",
         "estado": "SU",
         "comentario": ""
        }
}
Respuesta del servicio

Si la acción se pudo procesar con existo se te devolvera una respuesta como la siguiente:

{
    "type": "info",
    "code": "200",
    "message": "Proyecto actualizado: 0000000002",
    "data": {
        "proyecto": {
            "clave": "0000000002"
        }
    }
}

Si ocurrio algún error el servicio respondera con el código y detalle del error:

{
    "type": "error",
    "code": "404",
    "message": "Detalle del mensaje de error"
}

DelProyecto

Este método se ocupa para eliminar un Proyecto, recuerda que al eliminar se requiere no tener ordenes activas para el proyecto.

En el campo clave se coloca la clave del proyecto que se desea eliminar.

Eliminar
{
    "apikey": "YOUR_APIKEY",
    "provider": "servicio",
    "action": "DelProyecto",
    "data": {
         "clave": "0000000001"
        }
}
Respuesta del servicio

Si la acción se pudo procesar con existo se te devolvera una respuesta como la siguiente:

{
    "type": "info",
    "code": "200",
    "message": "Proyecto eliminado: 0000000002",
    "data": {
        "proyecto": {
            "clave": "0000000002"
        }
    }
}

Si ocurrio algún error el servicio respondera con el código y detalle del error:

{
    "type": "error",
    "code": "404",
    "message": "Detalle del mensaje de error"
}

Otros

Por el momento no hay mas métodos disponibles, estos se estarán actualizando con el tiempo. Si consideras que hace falta algún método, envía un mensaje a dev@mproerp.com y se analizará la posibilidad de agregarlo al servicio web.