<< Click to Display Table of Contents >> Navigation: REST API > Funciones REST |
AUTORIZACIÓN
El acceso al API es de tipo BASICO, donde se requiere Usuario y Contraseña, el cual debe existir en la Base de datos de DisPRO con las credenciales: Credenciales de Acceso a Funciones
•Empresa
•Clientes
•Tarjetas
•Productos
oProducto_ExistenciaActualReal
•Pedidos En Linea
•Proveedores
•Compras
EMPRESA
[HttpGet] Function GetEmpresa():TJSONObject;
Devuelve los datos de la Empresa princiaples
URI: http://localhost:8888/service/DisPROAPI/GetEmpresa/
Response:
{
"NOMBRE": "KARLA FUENTE NOLASCO",
"COMERCIAL": "MERCADO MÉXICO",
"RFC": "FUNK-671228-PH6",
"DOMICILIO": "Bucaneros 55, Playa Ensenada México ",
"CORREO": "rdaniel@mxfactura.com",
"TELEFONO": "6461521901",
"IVAINCLUIDO": "F",
"PRINTER1": "Impresora 1",
"PRINTER2": "Impresora 2",
"PRINTER3": "Impresora 3",
"PRINTER4": "Impresora 4",
"PROTITULO1": "Fabricante",
"PROTITULO2": "Modelo",
"PROTITULO3": "Unidad",
"OP_MOSTRARPIEZAS": "T",
"TASA2_INC_BASEIVA": "T",
"ENTREGA_CONFOTO": "",
"TIPOFOTO": "",
"OP_ORDENPRO_TITULOS": "",
"URL_POST_EN_ENTREGAPEDIDOS": "",
"OP_AUTHPEDIDOPRECIO": "",
"OP_AUTOGEN_PRECIOPACTO": "",
"OP_ORDENPRO_TITULOS": "",
"TC_VENTACREDITO": "18.5",
"TC_COBRANZACREDITO": "18.5",
"FOLIOTRUPERLINEA": "",
"PAPELETA": "",
"OP_ART_EXTRA_REL": "",
"OP_IEPS_SOBRE_IVA": "2",
"URL_PHOTO": "https:\/\/cwinsystems.com\/foto\/",
"OP_SIN_DERIVACION": "T"
}
[HttpGet] Function ListaAgentesVenta():TJSONObject;
Devuelve la Lista de Agentes de Venta
URI: http://localhost:8888/service/DisPROAPI/ListaAgentesVenta/
Response:
{
"CATALOGO": [
{
"NOMBRE": "DANIEL",
"NUUSER": "2"
},
{
"NOMBRE": "JOEL",
"NUUSER": "44"
},
{
"NOMBRE": "SAMUEL",
"NUUSER": "722"
},
{
"NOMBRE": "CRISTOPHER",
"NUUSER": "714"
}
]
}
[HttpGet] Function ListaUsuarios():TJSONObject;
Devuelve la Lista de Usuarios Activos
URI: http://localhost:8888/service/DisPROAPI/ListaUsuarios/
Response:
{
"CATALOGO": [
{
"NOMBRE": "DANIEL",
"NUUSER": "2"
},
{
"NOMBRE": "ENTRENAMIENTO",
"NUUSER": "7"
},
{
"NOMBRE": "GABRIEL",
"NUUSER": "15"
},
{
"NOMBRE": "SAMUEL",
"NUUSER": "723"
},
{
"NOMBRE": "OSWALDO",
"NUUSER": "713"
}
]
}
[HttpGet] Function ListaAlmacenes():TJSONObject;
Devuelve la Lista de Almacenes Activos
URI: http://localhost:8888/service/DisPROAPI/ListaAlmacenes/
Response:
{
"CATALOGO": [
{
"NUALMACEN": 0,
"NOMBRE": "Matriz",
"DESCRIPCION": "Matriz",
"PRECIO": "G",
"TASAIVA": 0
},
{
"NUALMACEN": 1,
"NOMBRE": "Gastelum",
"DESCRIPCION": "Gastelum",
"PRECIO": "G",
"TASAIVA": 8
}
]
}
CLIENTES
[HttpGet] Function ListaCliente(Tipo:Integer; Filtro: String):TJSONObject;
Devuelve el catálogo de artículos que cumplan con el Filtro enviado
Parámetros:
Tipo =
1: Buscar por Nombre o Comercial
2: Buscar en RFC
3: Buscar en Correo
4: Buscar en Teléfono
5: Buscar por Clave Principal
6: Buscar por Extra1
7: Buscar por Extra2
8: Buscar por Extra3
Filtro = Clave o Palabra a buscar según el Tipo elegido
URI: http://localhost:8888/service/DisPROAPI/ListaCliente/
Ejemplos:
http://localhost:8888/service/DisPROAPI/ListaCliente/?Tipo=1&Filtro=DANIEL
http://localhost:8888/service/DisPROAPI/ListaCliente/?Tipo=5&Filtro=124
Response:
{
"CATALOGO": [
{
"NUCLIENTE": "",
"NUCLIENTEDISPRO": "118432",
"NOMBRE": "DANIEL RAMIREZ JAIMES",
"COMERCIAL": "",
"RFC": "RAJD-760129-8SX",
"CALLE": "",
"NUMERO": "",
"INTERIOR": "",
"COLONIA": "",
"LATITUD": "",
"LONGITUD": "",
"CIUDAD": "",
"ESTADO": "",
"PAIS": "Mexico",
"CP": "22880",
"EMAIL": "rdaniel@cwinsystems.com",
"TELEFONO": "",
"DOMICILIOENTREGA": "",
"MSG_LIVE": "",
"SALDO": "",
"LIMITE": "",
"NUTIPOPAGO": "1",
"EXTRA1": "",
"EXTRA2": "",
"EXTRA3": "",
"NUPRECIO": "A"
}
]
}
[HttpGet] Function ListaCliente_DoctosEnDeuda (NuMoneda, NuCliente:Integer):TJSONObject;
Devuelve la lista de documentos que se encuentran en Deuda en una Moneda determinada de un Cliente, función que servirá para poder hacer una abono sobre una factura en deuda.
URI: http://localhost:8888/service/DisPROAPI/ListaCliente_DoctosEnDeuda/
Ejemplo: http://localhost:8888/service/DisPROAPI/ListaCliente_DoctosEnDeuda/?NuMoneda=1&NuCliente=116914
Response:
{
"CATALOGO": [
{
"NUCLIENTE_MOV": 144194,
"FECHA": "03\/09\/2022",
"FECHAVENCE": "02\/11\/2022",
"FOLIOSTR": "F00T00R0192",
"UUID": "",
"DESCRIPCION": "Venta a Crédito",
"SERIEFACTURA": "",
"SERIETICKET": "",
"SERIEREMISION": "0",
"FOLIOFACTURA": 0,
"FOLIOTICKET": 0,
"FOLIOREMISION": 192,
"IMPORTEORIGINAL": 6565.86,
"IMPORTEDEUDA": 6365.86,
"TIPO": 1,
"FACILIDAD271": "F",
"PAGOFACILIDAD271": "30\/12\/1899"
},
{
"NUCLIENTE_MOV": 144366,
"FECHA": "06\/09\/2022",
"FECHAVENCE": "05\/11\/2022",
"FOLIOSTR": "F00T00R0195",
"UUID": "",
"DESCRIPCION": "Venta a Crédito",
"SERIEFACTURA": "",
"SERIETICKET": "",
"SERIEREMISION": "0",
"FOLIOFACTURA": 0,
"FOLIOTICKET": 0,
"FOLIOREMISION": 195,
"IMPORTEORIGINAL": 5479.92,
"IMPORTEDEUDA": 5479.92,
"TIPO": 1,
"FACILIDAD271": "F",
"PAGOFACILIDAD271": "30\/12\/1899"
}
]
}
[HttpGet] Function Cliente_AbonoADocto ([FromBody] PAGOJSON:TJSONObject):TJSONObject;
Realizar el abono de 1 hasta 10 documentos a traves del Folio "NuCliente_Mov" obtenido con la funcion de "ListaCliente_DoctosEnDeuda"
URI: http://localhost:8888/service/DisPROAPI/Cliente_AbonoADocto/
NUMONEDA:
1= MXN
2= USD
NUMETODOPAGO:
F= Efectivo
T= Cheque
R= Transferencia
J= Tarjeta de Crédito
D= Tarjeta de Débito
M= Monedero Electrónico
E= Dinero Electrónico
V= Vales de Despensa
Request
{
"PAGOJSON": {
"NUCLIENTE_MOV1": 144194,
"NUCLIENTE_MOV2": 0,
"NUCLIENTE_MOV3": 0,
"NUCLIENTE_MOV4": 0,
"NUCLIENTE_MOV5": 0,
"NUCLIENTE_MOV6": 0,
"NUCLIENTE_MOV7": 0,
"NUCLIENTE_MOV8": 0,
"NUCLIENTE_MOV9": 0,
"NUCLIENTE_MOV10": 0,
"NUUSER": 2,
"NUALMACEN": 0,
"PAGONUMONEDA": 1,
"ABONO": 200,
"TCCOBRO": 19.2,
"FECHAPAGO": "14/11/2024",
"NUMETODOPAGO": "F",
"NUMOPERACION": "12345",
"DESCRIPCION": "ABONO DE FACTURA"
}
}
Response:
{
"RESULT": 2,
"MSG": "Se hizo el abono exitosamente",
"FOLIOABONO": 380,
"FOLIOINTERNO": 146367
}
TARJETAS
[HttpPost] Function Alta_Tarjeta([FromBody] TARJETAJSON: TJSONObject):TJSONObject;
Permite realizar alta de tarjeta de Puntos o de Regalo.
URI: http://localhost:8888/service/DisPROAPI/Alta_Tarjeta/
TIPO
0 = TARJETA DE PUNTOS
1 = TARJETA DE REGALO
El campo Banda, solo es necesario en Tarjeta de Regalo
El campo Year define la cantidad de años de Vigencia de la tarjeta, si Year es igual a 0 (Cero) no tendrá vigencia
Request:
{
"TARJETAJSON": {
"TIPO": 0,
"IDCREDENCIAL": 15000,
"NOMBRE": "DANIEL RAMIREZ",
"TELEFONO": "",
"CORREO": "",
"ALTERNO": "",
"BANDA": "",
"YEAR": 1
}
}
Response:
{
"RESULT": 2,
"MSG": "Alta Exitosamente"
}
[HttpGet] Function ConsultaTarjetaPuntos(IDCredencial:LongInt):TJSONObject;
Consulta de una Tarjeta de Puntos utilizando el ID de la credencial
URI: http://localhost:8888/service/DisPROAPI/ConsultaTarjetaPuntos/?IDCredencial=4500
Response:
{
"RESULT": 2,
"MSG": "Encontrada Exitosamente",
"NOMBRE": "DANIEL RAMIREZ",
"ALTERNO": "ERIKA PEREZ",
"TELEFONO": "6461174408",
"CORREO": "rdaniel@mxfactura.com",
"SOLOSALDO": "",
"FECHAVENCE": "23\/11\/2024",
"PUNTOS": 1034,
"CONTEO": 30
}
{
"RESULT": 3,
"MSG": "La tarjeta esta Vencida con Fecha 12\/11\/2024"
}
[HttpGet] Function ProcesarTarjetaPuntos(IDCredencial, Tipo, Puntos, Referencia:LongInt):TJSONObject;
Función para abonar puntos o redimir puntos a una tarjeta:
Tipo: 1 Abonar Puntos, 2 Redimir Puntos
Puntos: Cantidad de Puntos
Referencia: Folio numérico para identificar la transacción
Response:
{
"RESULT": 2,
"MSG": "Se han abonado 100 Puntos"
}
{
"RESULT": 2,
"MSG": "Se han redimido 100 Puntos"
}
[HttpGet] Function ConsultaTarjetaRegalo(IDCredencial:LongInt):TJSONObject;
Consulta los datos de una Tarjeta de Regalo existente a través del ID único
URI: http://localhost:8888/service/DisPROAPI/ConsultaTarjetaRegalo/?IDCredencial=4500
Response:
{
"RESULT": 2,
"MSG": "Encontrada Exitosamente",
"NOMBRE": "DANIEL RAMIREZ",
"ALTERNO": "ERIKA PEREZ",
"TELEFONO": "6461174408",
"CORREO": "rdaniel@mxfactura.com",
"SOLOSALDO": "",
"FECHAVENCE": "23\/11\/2024",
"IMPORTE": 550.00,
"CONTEO": 30
}
{
"RESULT": 3,
"MSG": "La tarjeta esta Vencida con Fecha 12\/11\/2024"
}
[HttpPost] Function ConsultaTarjetaRegaloBanda(Banda:String):TJSONObject;
Consulta los datos de una Tarjeta de Regalo existente a través de la Banda asignada
URI: http://localhost:8888/service/DisPROAPI/ConsultaTarjetaRegaloBanda/
Request:
{
"Banda"="L3410-93FD500"
}
Response:
{
"RESULT": 2,
"MSG": "Encontrada Exitosamente",
"NOMBRE": "DANIEL RAMIREZ",
"ALTERNO": "ERIKA PEREZ",
"TELEFONO": "6461174408",
"CORREO": "rdaniel@mxfactura.com",
"SOLOSALDO": "",
"FECHAVENCE": "23\/11\/2024",
"IMPORTE": 550.00,
"CONTEO": 30,
"IDCREDENCIAL"=4500
}
{
"RESULT": 3,
"MSG": "La tarjeta esta Vencida con Fecha 12\/11\/2024"
}
[HttpGet] Function ProcesarTarjetaRegalo(IDCredencial, Tipo, Referencia:LongInt; Importe:Real):TJSONObject;
Función para abonar Importe o redimir importe a una tarjeta:
Tipo: 1 Abonar Importe, 2 Redimir Importe
Importe: Cantidad de dinero en Pesos
Referencia: Folio numérico para identificar la transacción
Response:
{
"RESULT": 2,
"MSG": "Se han abonado $ 100.00 pesos de Importe"
}
{
"RESULT": 2,
"MSG": "Se han redimido $ 100.00 pesos de Importe"
}
[HttpPost] Function ProcesarTarjetaRegaloBanda(Banda:String; Tipo, Referencia:LongInt; Importe:Real):TJSONObject;
Función para abonar Importe o redimir importe a una tarjeta:
Tipo: 1 Abonar Importe, 2 Redimir Importe
Importe: Cantidad de dinero en Pesos
Referencia: Folio numérico para identificar la transacción
URI: http://localhost:8888/service/DisPROAPI/ProcesarTarjetaRegaloBanda/
Request:
{
"Banda"="L3410-93FD500",
"Tipo"=1,
"Importe":100,
"Referencia":10000
}
Response:
{
"RESULT": 2,
"MSG": "Se han abonado $ 100.00 pesos de Importe"
}
{
"RESULT": 2,
"MSG": "Se han redimido $ 100.00 pesos de Importe"
}
PRODUCTOS
[HttpGet] Function Producto_ExistenciaActual(NuAlmacen:Integer; ID:String):TJSONObject;
Devuelve la Existencia actual de un Producto (la que tenga el Expediente)
URI: http://localhost:8888/service/DisPROAPI/Producto_ExistenciaActual/?NuAlmacen=0&ID=00034888
Parámetros:
NuAlmacen = 0 (La lista de almacenes empieza desde Cero, sino maneja almacenes deber ser Cero)
ID = 00034888 (La clave debe llevar todos los ceros a la izquierda)
Response:
{
"EXISTENCIA": 2
}
[HttpGet] Function Producto_ExistenciaActualReal(NuAlmacen:Integer; ID:String):TJSONObject;
Devuelve la Existencia Final descontando todos los procesos pendientes de un Producto
URI: http://localhost:8888/service/DisPROAPI/Producto_ExistenciaActualReal/?NuAlmacen=0&ID=00034888
Parámetros:
NuAlmacen = 0 (La lista de almacenes empieza desde Cero, sino maneja almacenes deber ser Cero)
ID = 00034888 (La clave debe llevar todos los ceros a la izquierda)
Response:
{
"ACTUAL": 2, (Existencia en Expediente)
"ENESPERA": 0, (Ventas Foliadas En Espera)
"SINFACTURA": 0, (Ventas realizadas en POS sin Facturar)
"SALDO": 2, (Existencia Real)
"ENPEDIDO": 0 (Ventas realizadas en Pedidos En Linea aun no procesadas)
}
[HttpGet] Function AjusteInventario (NuAlmacen:Integer; ID: String; Cantidad:Real):TJSONObject;
Realiza un Ajuste de Inventario de forma Express a un producto
URI: http://localhost:8888/service/DisPROAPI/AjusteInventario/?NuAlmacen=0&ID=00034888&Cantidad=0
Parámetros:
NuAlmacen = 0 (La lista de almacenes empieza desde Cero, sino maneja almacenes deber ser Cero)
ID = 00034888 (La clave debe llevar todos los ceros a la izquierda)
Cantidad = Es la Existencia Real que se desea que tenga el Producto (no necesariamente la del expediente)
Response:
{
"RESULT": 2,
"MSG": "Inventario Ajustado Exitosamente"
}
[HttpGet] Function ListaProducto(Tipo:Integer; Filtro: String):TJSONObject;
Devuelve el catálogo de artículos que cumplan con el Filtro enviado
Parámetros:
Tipo =
1: Buscar en Descripción Por Palabra Y
2: Buscar en Descripción Por Palabra O
3: Buscar en Modelo Por Palabra Y
4: Buscar en Descripción por Contenido
5: Buscar por Clave Principal
6: Buscar por Cualquier Clave o Barra de Código
Filtro = Clave o Plabra a buscar según el Tipo elegido
Ejemplos:
Buscar en Descripción Por Palabra Y
URI: http://localhost:8888/service/DisPROAPI/ListaProducto/?Tipo=1&Filtro=DOVE
Buscar en Descripción Por Palabra O
URI: http://localhost:8888/service/DisPROAPI/ListaProducto/?Tipo=2&Filtro=DOVE
Buscar en Modelo Por Palabra Y
URI: http://localhost:8888/service/DisPROAPI/ListaProducto/?Tipo=3&Filtro=DOVE
Buscar en Descripción por Contenido
URI: http://localhost:8888/service/DisPROAPI/ListaProducto/?Tipo=4&Filtro=DOVE
Buscar por Clave Principal
URI: http://localhost:8888/service/DisPROAPI/ListaProducto/?Tipo=5&Filtro=00034888
Buscar por Cualquier Clave o Barra de Código
URI: http://localhost:8888/service/DisPROAPI/ListaProducto/?Tipo=6&Filtro=34888
Response:
{
"CATALOGO": [
{
"ID": "00012978",
"DESCRIPCION": "ACON. DOVE RECONSTRUCCION COMPLT. 1\/1.1LT",
"MODELO": " ",
"EXISTENCIA": "0",
"NUCATEGORIA": "410",
"NUSUBCATEGORIA": "13",
"NUUNIDADMEDIDA": "5",
"NUMONEDA": "1",
"OP_UNIDADDEVENTA": "0",
"NUPRECIO1": "G",
"NUPRECIO2": "A",
"NUPRECIO3": "B",
"NUPRECIO4": "C",
"NUPRECIO5": "D",
"BARCODE1": "7506306212978",
"NUUNIDADMEDIDA2": "5",
"NUUNIDADMEDIDA3": "5",
"NUUNIDADMEDIDA4": "5",
"NUUNIDADMEDIDA5": "5",
"CATEGORIA": "Miscelanea*",
"SUBCATEGORIA": "Miscelanea*",
"CLAVEPRODSERV": "53131602",
"NUESTADO": "0",
"MOD6": " ",
"MOD7": " ",
"MOD8": " ",
"MOD9": " ",
"MOD10": " ",
"PRECIO07": "151.9",
"COSTO": "65.64",
"TASAIVA": "8.00",
"TASAIEPS": "0",
"OP_PROMO_SINLIMITE": "X",
"OP_PROMO_MIN_STOCK": "0",
"FIN_PROMOCION": "30\/12\/1899",
"PRECIO": "151.9",
"PRECIO7": "151.9",
"PRECIOCONIMP": 164.05,
"PRECIOCONIMP2": 0,
"PRECIOCONIMP3": 0,
"PRECIOCONIMP4": 0,
"PRECIOCONIMP5": 0,
"PRECIOCONIMP6": 0,
"PRECIOCONIMP7": 164.05,
"PRECIOCONIMP8": 0,
"UXC1": "1.00",
"UXC2": "1.00",
"UXC3": "1.00",
"UXC4": "1.00",
"UXC5": "1.00",
"UXC6": "0.00",
"UXC7": "0.00",
"UXC8": "0.00",
"UNIDAD": "pz",
"UNIDAD2": "pz",
"UNIDAD3": "pz",
"UNIDAD4": "pz",
"UNIDAD5": "pz"
}
]
}
[HttpGet] Function ObtenerCategorias ():TJSONObject;
Devuelve la Lista de Categorías y Subcategorías activas
URI: http://localhost:8888/service/DisPROAPI/ObtenerCategorias/
Response:
{
"CATEGORIAS": [
{
"NUCATEGORIA": 100,
"DESCRIPCION": "Abarrotes en General*",
"SUBCATEGORIAS": [
{
"NUSUBCATEGORIA": 1,
"DESCRIPCION": "Artículos de Limpieza"
},
{
"NUSUBCATEGORIA": 4,
"DESCRIPCION": "Bebidas Alcohólicas"
},
{
"NUSUBCATEGORIA": 3,
"DESCRIPCION": "Bebidas No Alcohólicas"
},
{
"NUSUBCATEGORIA": 6,
"DESCRIPCION": "Comida para Mascotas"
},
{
"NUSUBCATEGORIA": 5,
"DESCRIPCION": "Desechables y Plásticos"
}
]
}
]
}
PEDIDOS EN LINEA
[HttpPost] function Alta_PedidoEnLinea([FromBody] PEDIDOJSON: TJSONObject):TJSONObject;
Se realizar el Alta de un Pedido mediante el envío de un JSON. El Almacén donde va a ser almacenado el Pedido será el que tenga asignado el Usuario como predeterminado, de lo contrario sera el Almacén 0.
URI: http://localhost:8888/service/DisPROAPI/Alta_PedidoEnLinea/
NUMONEDA:
1= MXN
2= USD
Request:
{
"PEDIDOJSON": {
"NUPEDIDO": 0,
"FECHA": "13/11/2024",
"HORA": "13:37:19",
"NOTAS": "TENER CUIDAD CON EL PRODUCTO CONGELADO",
"REFERENCIAPAGO": "NUM. AUTORIZACION 3492394",
"NUESTADO": 0,
"NUIMPRESO": 0,
"NUMONEDA": 1,
"TIPOCAMBIO": 20,
"NUPASO": 1,
"TIPOFOLIOCLIENTE": 1,
"CLIENTE": [
{
"NUCLIENTEDISPRO": 111973,
"NOMBRE": "DANIEL RAMIREZ JAIME",
"RFC": "RAJD7601298SA",
"TELEFONO": "6461174408",
"EMAIL": "RDANIEL@MXFACTURA.COM"
}
],
"PRODUCTO": [
{
"NUDETALLE": 1,
"VNUMEDIDA": 5,
"NUPRODUCTO": "00034888",
"OBSERVACION": "AQUI VAN LAS OBSERVACIONES",
"CANTIDAD": 1,
"PRECIO": 20.5,
"DESCUENTO": 0,
"TASAIVA": 16,
"TASAIEPS": 0
}
]
}
}
Nota1: Vea los campos que puede usar en TPedido, TDetalle y TCliente (todos los campos deben ir en MAYÚSCULAS)
Nota2: Es importante definir el TipoFolioCliente correctamente para que el sistema determine de donde buscara al cliente, así como el Folio NuClienteDisPRO.
Response:
{
"RESULT": 2,
"MSG": "Pedido Guardado Exitosamente",
"FOLIOPEDIDO": 664
}
[HttpGet] function Procesar_PedidoEnLinea(FolioPedido, Proceso: Integer):TJSONObject;
Convierte un Pedido En Linea en una Venta donde los Procesos pueden ser los siguientes:
0= Dejar en Espera
1= Facturar con Fecha Original
2= Facturar con Fecha Actual
3= Remisionar con Fecha Original
URI: http://localhost:8888/service/DisPROAPI/Procesar_PedidoEnLinea/?FolioPedido=664&Proceso=1
Response:
{
"RESULT": 2,
"MSG": "Procesado Exitosamente",
"FOLIOVENTA": 2050801
}
Posibles resultados:
0: Error. No Existe el Pedido
1: Error. No se puede Facturar sino esta En Proceso
2: Procesado Exitosamente
3: No se proceso completo
4,5: Se Proceso, pero No se pudo Entregar de Almacén
[HttpGet] function PDF_FacturaXFolioVenta(FolioVenta:Integer):TJSONObject;
Se recupera el PDF de una Factura a través del Folio de Venta que se obtuvo al Procesar un Pedido En Linea
URI: http://localhost:8888/service/DisPROAPI/PDF_FacturaXFolioVenta/?FolioVenta=2050801
Response:
{
"RESULT": 2,
"MSG": "PDF extraido exitosamente",
"PDF_BASE64": "JVBERi0xLjcNCiWAgYKDDQoxIDAgb2JqDQo8PCAvQ3JlYXRvciA8Pg0KL0NyZWF0aW9uRGF0ZSA8\r\nNDQzYTMyMzAzMjM0MzEzMTMxMzQzMTM5MzUzOTM1MzQyZDMwMzcyNzMwMzA+DQovVGl0bGUgPD4N\r\nCi9BdXRob3IgPD4NCi9Qcm9kdWNlciA8NTI2NTcwNmY3Mjc0NDI3NTY5NmM2NDY1NzI+DQovS2V5\r\nd29yZHMgPD4NCi9TdWJqZWN0IDw+ID4+DQplbmRvYmoNCjIgMCBvYmoNClsvUERGIC9UZXh0IC9J\r\nbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQ0KZW5kb2JqDQozIDAgb2JqDQo8PCAvVHlwZSAvRXh0R1N0\r
....
....
....
....
}
Nota: El PDF esta en base64, deberá convertirlo de Base64 a Bytes para poder ver la representación en PDF
[HttpGet] function PDF_FacturaXFolioPedido(FolioPedido:Integer):TJSONObject;
Se recupera el PDF de una Factura a través del Folio de Pedido que se obtuvo al dar de alta un Pedido En Linea
URI: http://localhost:8888/service/DisPROAPI/PDF_FacturaXFolioPedido/?FolioPedido=666
Response:
{
"RESULT": 2,
"MSG": "PDF extraido exitosamente",
"PDF_BASE64": "JVBERi0xLjcNCiWAgYKDDQoxIDAgb2JqDQo8PCAvQ3JlYXRvciA8Pg0KL0NyZWF0aW9uRGF0ZSA8\r\nNDQzYTMyMzAzMjM0MzEzMTMxMzQzMTM5MzUzOTM1MzQyZDMwMzcyNzMwMzA+DQovVGl0bGUgPD4N\r\nCi9BdXRob3IgPD4NCi9Qcm9kdWNlciA8NTI2NTcwNmY3Mjc0NDI3NTY5NmM2NDY1NzI+DQovS2V5\r\nd29yZHMgPD4NCi9TdWJqZWN0IDw+ID4+DQplbmRvYmoNCjIgMCBvYmoNClsvUERGIC9UZXh0IC9J\r\nbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQ0KZW5kb2JqDQozIDAgb2JqDQo8PCAvVHlwZSAvRXh0R1N0\r
....
....
....
....
}
Nota: El PDF esta en base64, deberá convertirlo de Base64 a Bytes para poder ver la representación en PDF
PROVEEDORES
[HttpGet] Function ListaProveedor(Tipo:Integer; Filtro: String):TJSONObject;
Devuelve el catálogo de artículos que cumplan con el Filtro enviado
Parámetros:
Tipo =
1: Buscar por Nombre o Comercial
2: Buscar en RFC
3: Buscar en Correo
4: Buscar en Teléfono
5: Buscar por Clave Principal
6: Buscar por Extra1
7: Buscar por Extra2
8: Buscar por Extra3
Filtro = Clave o Palabra a buscar según el Tipo elegido
URI: http://localhost:8888/service/DisPROAPI/ListaProveedor/
Ejemplos:
http://localhost:8888/service/DisPROAPI/ListaProveedor/?Tipo=1&Filtro=DANIEL
http://localhost:8888/service/DisPROAPI/ListaProveedor/?Tipo=5&Filtro=124
Response:
{
"CATALOGO": [
{
"NUPROVEEDOR": 6659195,
"NOMBRE": "Marquez Oscar Daniel",
"COMERCIAL": "",
"RFC": "MARO-660714-XXX",
"CALLE": "VALLE DE LAS PALMAS ",
"NUMERO": "KM 30",
"COLONIA": "VALLE DE LAS PALMAS",
"CIUDAD": "Tecate",
"ESTADO": "Baja California",
"PAIS": "Mexico",
"CP": "22510",
"EMAIL": "danerika@gmail.com",
"EMAIL2": "wend@hotmail.com",
"EMAIL3": "",
"TELEFONO": "6651210000",
"MSG_LIVE": "",
"SALDO": "2518462.83",
"LIMITE": "",
"NUTIPOPAGO": "",
"EXTRA1": "",
"EXTRA2": "",
"EXTRA3": ""
}
}
COMPRAS
[HttpPost] function Alta_Entrada([FromBody] ENTRADAJSON: TJSONObject):TJSONObject;
Función para dar de Alta una Entrada de diferentes tipos
URI: http://localhost:8888/service/DisPROAPI/Alta_Entrada/
NUCOMPRA
Deje en CERO para que el sistema genere una nueva Entrada, de lo contrario significa que se agregaran los productos que se envie al Entrada que debe estar En Espera.
NUPROVEEDOR
El folio del proveedor al cual se asignará la Entrada, obtenga de la lista de proveedores el Folio
NUALMACEN
El folio de Almacén en donde se estableceré la Entrada.
NUTIPOENTRADA
1=Compra Nacional
2=Importación
3=Entrada Almacén
5=Orden de Compra
6=Entrada Importación
7=OC Importación
8=Cotización
NUMONEDA
1=PESOS
2=DOLARES
Request:
{
"ENTRADAJSON": {
"NUCOMPRA": 0,
"NUALMACEN": 0,
"NUMONEDA": 1,
"NUPROVEEDOR": -10,
"NUTIPOENTRADA": 5,
"NOTAENTRADA": "ESTA ES UNA ORDEN DE COMPRA NECESARIA",
"PRODUCTO": [
{
"CLAVE": "00022589",
"CANTIDAD": 200,
"COSTO": 45.89,
"UNIDAD": 1,
"NOTACONCEPTO": "DEBE ESTAR EMPAQUETADO"
},
{
"CLAVE": "00130103",
"CANTIDAD": 100,
"COSTO": 33.8,
"UNIDAD": 1,
"NOTACONCEPTO": ""
}
]
}
}
Response:
{
"RESULT": 2,
"MSG": "Alta Exitosamente de Entrada",
"FOLIOENTRADA": 137947
}
[HttpPost] Function Alta_Conversion([FromBody] CONVERSIONJSON: TJSONObject):TJSONObject;
Realiza la conversión de un Producto (Padre) en un Producto (hijo), esta conversión es de 1 a 10. Es decir tanto el Padre como el Hijo debe ser solo de 1 a 10 registros.
URI: http://localhost:8888/service/DisPROAPI/Alta_Conversion/
Request:
{
"CONVERSIONJSON": {
"NUALMACEN": 0,
"DESCRIPCION": "SE REQUIERE GENERAR UN FILETEADO DEL PRODUCTO",
"PADRE" : [
{
"CLAVE":"00531071",
"CANT" : 2
},
{
"CLAVE":"00077103",
"CANT" : 2
}
],
"HIJO": [
{
"CLAVE":"00508540",
"CANT" : 1.8
},
{
"CLAVE":"00028021",
"CANT" : 1.7
}
]
}
}
Response:
{
"RESULT": 2,
"MSG": "Se ha generado la conversion con exito",
"NUCONVERSION": 11,
"NUCOMPRA": 137949,
"NUPEDIDO": 2050808
}