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 venta se debe enviar la esctructura que a continuación te presentamos la cual debe ser en JSON.
{
"apikey": "YOUR_APIKEY",
"provider": "Venta",
"action": "AddVenta",
"data": {
"fecha": "2021-05-03",
"comentario": "String con un comentario maximo 50 caracteres",
"moneda": "MXN",
"tipo_cambio": "1",
"referencia": "1234567890",
"sucursal": "0001",
"almacen": "0001",
"cliente": {
"clave":"0000000001"
},
"vendedor": "0000000000",
"productos": [
{
"clave": "0000000001",
"descripcion": "Descripción del producto que se imprimirá en el pedido, maximo 100 caracteres",
"talla": "00",
"color": "00",
"cantidad": "1",
"unidad": "PZ",
"precio": "13.5"
},
{
"clave": "0000000003",
"talla": "00",
"color": "00",
"descripcion": "Descripción del producto que se imprimirá en el pedido, maximo 100 caracteres",
"cantidad": "1",
"unidad": "PZ",
"precio": "13.5"
}
]
}
}
Si el Venta se pudo procesar con existo se te devolvera una respuesta como la siguiente:
{
"type": "info",
"code": "200",
"message": "Venta generada: 01-0000001",
"data": {
"Venta": {
"folio": "01-0000001",
"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 Venta ya agregada, debes de enviar el folio de la Venta en el campo folio del objeto JSON. El wServices cancela el folio enviado y genera un nuevo folio.
Para consultar los valores de una Venta en específico deberás colocar el folio en el campo folio como en la siguiente estructura.
{
"apikey": "YOUR_APIKEY",
"provider": "Venta",
"action": "GetVenta",
"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": {
"Venta": {
"folio": "01-0000002",
"fecha": "2021-05-03",
"sucursal": "0001",
"almacen": "0001",
"cliente": "0000000001",
"vendedor": "0000000000",
"comentario": "String con un comentario maximo 50 caracteres",
"condicion_venta": "",
"referencia": "1234567890",
"moneda": "MXN",
"tipo_cambio": "1",
"estatus": "AC",
"tabla": "",
"documento": "",
"productos": [
{
"clave": "0000000002",
"descripcion": "Descripción del producto que se imprimirá en el pedido, maximo 100 caracteres",
"tipo": "",
"numero_parte": "",
"talla": "00",
"color": "00",
"serie": "",
"lote": "",
"cantidad": "1",
"unidad": "PZ",
"cantidad_control_1": "1",
"unidad_control_1": "PZ",
"cantidad_control_2": "1",
"unidad_control_2": "PZ",
"precio": "13.5",
"precio_importe": "13.5",
"descuento_factor": "0",
"descuento_importe": "0",
"precio_descontado": "13.5",
"precio_descontado_importe": "13.5",
"impuesto_factor": "0",
"impuesto_importe": "0",
"precio_neto": "13.5",
"precio_neto_importe": "13.5",
"partida": "1",
"partida_descripcion": "Partida",
"descripcion_ampleada": ""
},
{
"clave": "0000000003",
"descripcion": "Descripción del producto que se imprimirá en el pedido, maximo 100 caracteres",
"tipo": "",
"numero_parte": "",
"talla": "00",
"color": "00",
"serie": "",
"lote": "",
"cantidad": "1",
"unidad": "PZ",
"cantidad_control_1": "1",
"unidad_control_1": "PZ",
"cantidad_control_2": "1",
"unidad_control_2": "PZ",
"precio": "13.5",
"precio_importe": "13.5",
"descuento_factor": "0",
"descuento_importe": "0",
"precio_descontado": "13.5",
"precio_descontado_importe": "13.5",
"impuesto_factor": "0",
"impuesto_importe": "0",
"precio_neto": "13.5",
"precio_neto_importe": "13.5",
"partida": "1",
"partida_descripcion": "Partida",
"descripcion_ampleada": ""
}
]
},
"fto_imp": "VN01TK"
}
}
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 Venta previamente realizada.
En el campo folio se coloca el folio de la Venta que se desea cancelar.
{
"apikey": "YOUR_APIKEY",
"provider": "Venta",
"action": "DelVenta",
"data": {
"folio": "01-0000001"
}
}
Si la acción se pudo procesar con existo se te devolvera una respuesta como la siguiente:
{
"type": "info",
"code": "200",
"message": "Venta cancelada: 01-0000001",
"data": {
"Venta": {
"folio": "01-0000001",
"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 las ventas segun los criterios consultados.
Se puede realizar un filtro de busqueda por:
{
"apikey":"YOUR_APIKEY",
"provider":"venta",
"action":"GetVentaLista",
"data":{
"registros":10,
"grupo_comercial":"0000000001"
}
}
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": {
"venta": [
{
"folio": "01-0000001",
"fecha": "11/02/2021",
"tabla": "",
"documento": "",
"referencia": "",
"comentario": "Pruebas",
"sucursal": {
"clave": "0001",
"descripcion": "Central"
},
"almacen": {
"clave": "0001",
"descripcion": "Almacen general"
},
"cliente": {
"clave": "0000000001",
"descripcion": "Publico general"
},
"vendedor": {
"clave": "0000000001",
"descripcion": "Vendedor General"
},
"condicion_venta": {
"clave": "CONT",
"descripcion": "CONTADO"
},
"moneda": "MXN",
"tipo_cambio": 1,
"totales": {
"precio": 422.4138,
"descuento": 0,
"subtotal": 422.4138,
"impuesto": 67.586208,
"total": 490.000008
},
"productos": [
{
"id": "0001",
"clave": "0000000001",
"descripcion": "Desarrollo por hora",
"talla": {
"clave": "00",
"descripcion": "SIN TALLA"
},
"color": {
"clave": "00",
"descripcion": "SIN COLOR"
},
"tipo": "99",
"serie": [],
"lote": [],
"cantidad": 1,
"unidad": "SR",
"cantidad_control_1": 1,
"unidad_control_1": "SR",
"cantidad_control_2": 1,
"unidad_control_2": "SR",
"factor_U1C1": 1,
"factor_C1C2": 1,
"precio": 215.51724,
"precio_importe": 215.51724,
"descuento": 0,
"subtotal": 215.51724,
"impuesto": 34.482758,
"total": 249.999998,
"comentarios": ""
},
{
"id": "0002",
"clave": "0000000003",
"descripcion": "Memoria USB Kingston 32 gb 100 G3",
"talla": {
"clave": "00",
"descripcion": "SIN TALLA"
},
"color": {
"clave": "00",
"descripcion": "SIN COLOR"
},
"tipo": "01",
"serie": [],
"lote": [],
"cantidad": 1,
"unidad": "PZ",
"cantidad_control_1": 1,
"unidad_control_1": "PZ",
"cantidad_control_2": 1,
"unidad_control_2": "PZ",
"factor_U1C1": 1,
"factor_C1C2": 1,
"precio": 155.17241,
"precio_importe": 155.17241,
"descuento": 0,
"subtotal": 155.17241,
"impuesto": 24.827586,
"total": 179.999996,
"comentarios": ""
},
{
"id": "0003",
"clave": "0000000005",
"descripcion": "Galletas Animalitos 250g",
"talla": {
"clave": "00",
"descripcion": "SIN TALLA"
},
"color": {
"clave": "00",
"descripcion": "SIN COLOR"
},
"tipo": "02",
"serie": [],
"lote": [
{
"id": "0001",
"lote": "000001",
"cantidad_control_1": 5,
"cantidad_control_2": 5
}
],
"cantidad": 5,
"unidad": "PZ",
"cantidad_control_1": 5,
"unidad_control_1": "PZ",
"cantidad_control_2": 5,
"unidad_control_2": "PZ",
"factor_U1C1": 1,
"factor_C1C2": 1,
"precio": 10.34483,
"precio_importe": 51.72415,
"descuento": 0,
"subtotal": 51.72415,
"impuesto": 8.275864,
"total": 60.000014,
"comentarios": ""
}
],
"estatus": "FA"
},
{
"folio": "01-0000002",
"fecha": "11/02/2021",
"tabla": "",
"documento": "",
...
}
],
"registros": 2
}
}
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"
}
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.