|
<< Haga clic para mostrar la tabla de contenido >> Navegación: 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
•Almacén Digital
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
}
]
}
[HttpPost] Function WA_Mensaje([FromBody] WA: TJSONObject):TJSONObject;
Enviar mensaje a traves de la plataforma de WhatsApp, requiere previa configuracion.
URI: http://localhost:8888/service/DisPROAPI/WA_Mensaje/
Request1:
{
"WA": {
"CELULAR": "6461902030",
"TITULO": "ORDEN #34534",
"MENSAJE": "LE INFORMAMOS QUE SU PEDIDO HA SIDO ENVIADO"
}
}
Request2:
{
"WA": {
"CELULAR": "526461902030",
"TITULO": "ORDEN #34534",
"MENSAJE": "LE INFORMAMOS QUE SU PEDIDO HA SIDO ENVIADO"
}
}
Response:
{
"RESULT": 2,
"MSG": "Mensaje enviado con Exito"
}
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": "6461142333",
"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": "6461434832",
"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": "6461156345",
"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"
}
]
}
]
}
[HttpGet] Function Producto_PrecioPG(NuAlmacen:Integer; IDProducto:String):TJSONObject;
Devuelve el Precio de Publico General del producto solicitado
URI: http://localhost:8888/service/DisPROAPI/Producto_PrecioPG/
NuAlmacen = Folio del Almacén
IDProducto = Clave del Producto
Request:
http://localhost:8888/service/DisPROAPI/Producto_PrecioPG/?NuAlmacen=0&IDProducto=249455
Response:
{
"RESULT": 2,
"Precio": 137.01,
"Descripcion": "ACONDICIONADOR TRESEMME EFECTO BOTOX 1\/1.1L",
"Modelo": "ACONDICIONADOR ",
"Unidad": "PIEZA - MXN",
"Claves": "Clave [00249455] BarCode [7506306249455]"
}
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
NUESTADO { 0: Sin Pago 1: Pagado 2: Token de Pago 3: Token Rechazado 4: Pagar al Recoger 5: Transferencia por Confirmar 50: Transferencia Confirmada 6: Cheque por Confirmar 60: Cheque Confirmado 7: Oxxo por Confirmar 70: Oxxo Confirmada }
NUIMPRESO
NUPASO
|
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": 1,
"NUMONEDA": 1,
"TIPOCAMBIO": 20,
"NUPASO": 1,
"TIPOFOLIOCLIENTE": 1,
"CLIENTE": [
{
"NUCLIENTEDISPRO": 111973,
"NOMBRE": "DANIEL RAMIREZ JAIME",
"RFC": "RAJD7601298SA",
"TELEFONO": "6461156345",
"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
UNIDAD
Dentro del desglose de productos se define la Unidad de Medida que puede ser 1-8, que indica:
1=La Unidad Principal del producto en su expediente
2=La Unidad Segunda del producto en su expediente
3=La Unidad Tercera del producto en su expediente
etc...
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
}
ALMACEN DIGITAL
[HttpPost] function AsociarXML ([FromBody] XMLJSON: TJSONObject):TJSONObject;
Función asociar un CFDI que ya esta previamente almacenado en el almacén digital al ERP, en las operaciones que son factibles a ser asociadas son:
•Compras Nacionales
•Facturas de Servicios
•Notas de Crédito de proveedores
•Pagos a Proveedor (REP)
URI: http://localhost:8888/service/DisPROAPI/AsociarXML/
USER
Nombre de Usuario de Proveedor, las mismas credenciales de Proveedor En Linea
PASS
Contraseña del Proveedor, las mismas credenciales de Proveedor En Linea
UUID
Folio Fiscal a ser asociado, que ya se encuentra almacenado en el Almacén Digital.
Request:
{
"XMLJSON": {
"USER": "MARTINEZ",
"PASS": "2025",
"UUID": "CB342444-E5B3-46F7-A875-3934672FBB31"
}
}
Response:
{
"RESULT": 1,
"MSG": "Se asocio un REP con 3 documentos pagados"
}
[HttpPost] function SubirXML ([FromBody] XMLJSON: TJSONObject):TJSONObject;
Función cargar un CFDI de Tipo Ingreso, Egreso o Pago proveniente de un proveedor, donde se podrá auto asociar
URI: http://localhost:8888/service/DisPROAPI/SubirXML/
ASOCIAR
0: No asociar, solo almacenar
1: Después de Almacenarlo, buscar una asociación
USER
Nombre de Usuario de Proveedor, las mismas credenciales de Proveedor En Linea
PASS
Contraseña del Proveedor, las mismas credenciales de Proveedor En Linea
CFDI
Aquí se debe colocar el XML con formato Escape.
Request:
{
"XMLJSON": {
"USER": "PROVEEDORA",
"PASS": "48129297",
"ASOCIAR": 1,
"CFDI": "<?xml version=\"1.0\" encoding=\"utf-8\"?><cfdi:Comprobante xmlns:cfdi=\"http://www.sat.gob.mx/cfd/4\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.sat.gob.mx/cfd/4 http://www.sat.gob.mx/sitio_internet/cfd/4/cfdv40.xsd\"></cfdi:Comprobante>"
}
}
Response:
Ejemplo de un CFDI Ingreso
{
"RESULT": 1,
"MSG": "Cargado con Exito"
}
Ejemplo de un CFDI Pago
{
"RESULT": 1,
"MSG": "Cargado con Exito, y se Asocio con Exito (Se asocio un REP con 3 documentos pagados)"
}
[HttpPost] function SubirXML_EnZip ([FromBody] ZIPJSON: TJSONObject):TJSONObject;
Función cargar un CFDI de Tipo Ingreso, Egreso o Pago proveniente de un proveedor, cuando es usada esta función solamente se podrá subir al almacén digital pero no se asociará a ninguna operación.
URI: http://localhost:8888/service/DisPROAPI/SubirXML_EnZip/
USER
Nombre de Usuario de Proveedor, las mismas credenciales de Proveedor En Linea
PASS
Contraseña del Proveedor, las mismas credenciales de Proveedor En Linea
BASE64
Aquí se debe colocar el archivo ZIP en Base64.
Request:
{
"XMLJSON": {
"USER": "PROVEEDORA",
"PASS": "48129297",
"BASE64": "JVBERi0xLjcNCiWAgYKDDQoxIDAgb2JqDQo8PCAvQ3JlYXRvciA8Pg0KL0NyZWF0aW9uRGF0ZSA8\r\nNDQzYTMyMzAzMjM0MzEzMTMxMzQzMTM5MzUzOTM1MzQyZDMwMzcyNzMwMzA+DQovVGl0bGUgPD4N\r\nCi9BdXRob3IgPD4NCi9Qcm9kdWNlciA8NTI2NTcwNmY3Mjc0NDI3NTY5NmM2NDY1NzI+DQovS2V5\r\nd29yZHMgPD4NCi9TdWJqZWN0IDw+ID4+DQplbmRvYmoNCjIgMCBvYmoNClsvUERGIC9UZXh0IC9J\r\nbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQ0KZW5kb2JqDQozIDAgb2JqDQo8PCAvVHlwZSAvRXh0R1N0\r",
}
}
Response:
Ejemplo de un CFDI Ingreso
{
"RESULT": 1,
"MSG": "Cargado con Exito"
}