La venta es un documento que demuestra la venta de servicios o productos, la cual no tiene efectos fiscales.
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 Ventas con los servicios web del WServices.
Para agregar un documento se debe enviar la esctructura que a continuación te presentamos la cual debe ser en JSON.
{
"apikey": "YOUR_APIKEY",
"provider": "movimiento",
"action": "AddMovimiento",
"data": {
"folio":"",
"fecha":"2026-01-01",
"sucursal":{
"clave":"0001"
},
"almacen":{
"clave":"0001"
},
"tipo_movimiento":{
"clave":"010"
},
"referencia":"RF0001",
"comentario":"Carga inicial",
"productos":[{
"clave":"0000000002",
"descripcion":"Electrolitos Sabor Mora Azul 625ml",
"talla":"00",
"color":"00",
"serie":"",
"lote":"",
"ubicacion":"",
"cantidad":20,
"unidad":"PZ",
"costo":17.58621
}]
}
}
Si el documento se pudo procesar con existo se te devolvera una respuesta como la siguiente:
{
"type": "info",
"code": "200",
"message": "Movimiento generado: 01-0000001",
"data": {
"movimiento": {
"folio": "01-0000002",
"operador": ""
}
}
}
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 o actualizar la información de una documento ya agregado, debes de enviar el folio del documento en el campo folio del objeto JSON. El wServices cancela el folio enviado y genera un nuevo folio.
Para consultar los valores de un documento en específico deberás colocar el folio en el campo folio como en la siguiente estructura.
{
"apikey": "YOUR_APIKEY",
"provider": "movimiento",
"action": "GetMovimiento",
"data": {
"folio": "01-000002"
}
}
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": {
"movimiento": {
"folio": "01-0000004",
"fecha": "2026-07-06",
"sucursal": {
"clave": "0001",
"descripcion": "Matriz"
},
"almacen": {
"clave": "0001",
"descripcion": "ALMACEN GENERAL"
},
"tipo_movimiento": {
"clave": "010",
"descripcion": "CARGA INICIAL",
"tipo": "EN"
},
"tabla": "",
"documento": "",
"referencia": "API-01",
"comentario": "Entrada por API",
"productos": [
{
"clave": "0000000002",
"descripcion": "Electrolit Mora Azul 625ml",
"numero_parte": "",
"talla": "00",
"color": "00",
"tipo": "01",
"ubicacion": "",
"cantidad": 20,
"unidad": "PZ",
"cantidad_control_1": 20,
"unidad_control_1": "PZ",
"cantidad_control_2": 20,
"unidad_control_2": "PZ",
"factor_U1C1": "1",
"factor_C1C2": "1",
"costo": 17.58621,
"costo_importe": 351.7242,
}
],
"totales": {
"costo": 351.7242
}
}
}
}
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"
}
Este método se ocupa para cancelar una documento previamente realizado.
En el campo folio se coloca el folio del documento que se desea cancelar.
{
"apikey": "YOUR_APIKEY",
"provider": "movimiento",
"action": "DelMovimiento",
"data": {
"folio": "01-0000003"
}
}
Si la acción se pudo procesar con existo se te devolvera una respuesta como la siguiente:
{
"type": "info",
"code": "200",
"message": "Movimiento cancelado: 01-0000001",
"data": {
"movimiento": {
"folio": "01-0000003",
"operador": ""
}
}
}
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"
}
Devuelve una lista con los documentos segun los criterios consultados.
Se puede realizar un filtro de busqueda por:
{
"apikey":"YOUR_APIKEY",
"provider":"movimiento",
"action":"GetMovimientoLista",
"data":{
"registros":10
}
}
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": {
"movimiento": [
{
"folio": "01-0000001",
"fecha": "02/07/2026",
"tabla": "",
"documento": "",
"documento_id": "",
"referencia": "",
"comentario": "Carga de productos shopify",
"sucursal": {
"clave": "0001",
"descripcion": "Matriz"
},
"almacen": {
"clave": "0001",
"descripcion": "ALMACEN GENERAL"
},
"tipo_movimiento": {
"clave": "010",
"descripcion": "CARGA INICIAL",
"tipo": "EN"
},
"totales": {
"costo": 879.3105
},
"productos": [
{
"id": "0001",
"clave": "0000000002",
"descripcion": "Electrolit Mora Azul 625ml",
"numero_parte": "",
"talla": "00",
"color": "00",
"tipo": "01",
"ubicacion": "",
"cantidad": 50,
"unidad": "PZ",
"cantidad_control_1": 50,
"unidad_control_1": "PZ",
"cantidad_control_2": 50,
"unidad_control_2": "PZ",
"factor_U1C1": "1",
"factor_C1C2": "1",
"costo": 17.58621,
"costo_importe": 879.3105
}
],
"estatus": "AC"
},
{
"folio": "01-0000003",
...
},
{
"folio": "01-0000005",
...
}
],
"registros": 3
}
}
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"
}
Puedes activar la paginacion de la consulta enviado los siguientes filtros:
Si activaste la paginacion, traera la informacion de pagina despues de los registros en el nodo "data":
{
"type": "info",
"code": "200",
"message": "Consulta realizada correctamente",
"data": {
"movimiento": [...],
"paginacion": {
"pagina_actual": 1,
"total_paginas": 5,
"total_registros": 50,
"inicio": 1,
"fin": 10
},
"registros": 10
}
}
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.