Documentación API WMS
Esta documentación describe los endpoints disponibles en la API FastTrack para la gestión de operaciones logísticas.
URL Base: https://fasttrack.proteus.com.ar/api/wms
Esta URL es el punto de entrada para todas las APIs de WMS.
- Los campos indicados con el comentario // Requerido son obligatorios y deben enviarse en la solicitud.
- Los campos indicados con el comentario // Opcional pueden omitirse o enviarse vacíos según corresponda.
Estructura de la URL y la operacion_logistica (ambiente)
La URL base https://fasttrack.proteus.com.ar/api es el punto de entrada
La estructura general de la URL es:
Donde:
-
{ambiente}:
- Es un segmento OPCIONAL que identifica una operación logística o ambiente específico (ej: "testing").
- Si se usa, DEBE terminar con una barra (
/). - Ejemplo:
testing/
-
{segmento_fijo}:
- Es un segmento REQUERIDO que generalmente es:
wms/para la mayoría de las operaciones del WMS.auth/para la autenticación (login).
- Es un segmento REQUERIDO que generalmente es:
-
{endpoint}:
- Es el nombre específico del endpoint que deseas consumir.
- Ejemplos:
consultaStock,altaEntregas,login.
Ejemplos de URL completas:
A. Sin especificar ambiente (usa el ambiente por defecto):
- Consultar Stock:
https://fasttrack.proteus.com.ar/api/wms/consultaStock - Autenticarse:
https://fasttrack.proteus.com.ar/api/wms/auth/login
B. Especificando ambiente (ejemplo: "preprod" seria ambiente de testing):
- Consultar Stock:
https://fasttrack.proteus.com.ar/api/preprod/wms/consultaStock - Autenticarse:
https://fasttrack.proteus.com.ar/api/preprod/wms/auth/login
Uso del Token de Autenticación (access_token)
-
Obtención del Token:
- Realiza una solicitud
POSTal endpoint/auth/login(con o sin prefijo deambiente, según se necesite). - Envía
usernameypassworden el cuerpo de la solicitud (comoapplication/x-www-form-urlencoded). - Si las credenciales son válidas, la respuesta JSON contendrá un
access_tokendentro del objetoresult.
- Realiza una solicitud
-
Uso del Token en Solicitudes Posteriores:
- Para TODAS las demás solicitudes a los endpoints protegidos (ej:
/wms/altaEntregas,/wms/consultaStock), DEBES incluir elaccess_tokenobtenido.
- Para TODAS las demás solicitudes a los endpoints protegidos (ej:
-
Método de Inclusión (Encabezado
Authorization):- La forma estándar y requerida es incluir el token en el encabezado (
Header)Authorizationde la solicitud HTTP, utilizando el esquemaBearer. - Formato del encabezado:
(ReemplazaAuthorization: Bearer {tu_access_token_obtenido}{tu_access_token_obtenido}con el token real).
- La forma estándar y requerida es incluir el token en el encabezado (
Si no incluyes un access_token válido en el encabezado Authorization para los endpoints que lo requieren, la API responderá con un error de "No autorizado" (generalmente código de estado HTTP 401).
Endpoints
URL Base: https://fasttrack.proteus.com.ar/api/{ambiente}/wms
Autenticación
POST /auth/login
Generar token de autenticación. Inicia sesión en el sistema y obtiene un token de acceso. Las credenciales pueden enviarse en el cuerpo de la petición (body) en formato JSON o mediante parámetros en la URL (query parameters).
Request:{
"username": "usuario_ejemplo", // Campo requerido
"password": "contraseña123" // Campo requerido
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"access_token": "eaeddab7d82fc03e895af68dacf673c02ac53577",
"expires_at": "2025-03-08 20:23:41"
}
}
Response (error):
{
"success": false,
"error": "Error en la autenticación",
"unauthorized": true,
"result": null
}
Entregas
POST /altaEntregas
Alta de entregas.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 5,
"idOperacion": 44,
"codigoCanal": "",
"referencia": "pedido-2",
"idDestino": "",
"idDeposito": 1,
"direccionmanual": 1,
"nombreDestino": "Río Uruguay Logística SRL",
"direccionDestino": "Av. Córdoba 2211",
"localidadDestino": "Rosario",
"provinciaDestino": "Santa Fe",
"cp": "2000",
"latitud": "",
"longitud": "",
"totalBultos": 4,
"totalKilos": 12.8,
"totalVolumen": 52.34,
"totalValorDeclarado": 350.75,
"montoACobrar": 350.75,
"numeroRemito": "RR15",
"fechaRemito": "2026-06-10",
"expreso": "NORMAL",
"tipoEntrega": "RETIRO",
"tipoProducto": "ELECTRONICA",
"masiva": 0,
"observaciones": "Fragil - manejar con cuidado",
"observacionesSecundarias": "No dejar en portería",
"idVendedor": "",
"codigoVendedor": "",
"detalleProductos": [
{
"codigo": "789123456",
"nombre": "Monitor 24'' LG UltraGear",
"cantidad": 2,
"idCalidad": 1,
"codigoexterno": "LG-UG24"
}
],
"cuitDestinatario": "30712345678",
"telefonoDestinatario": "3415123456",
"mailDestinatario": "compras@riouruguay.com.ar"
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"Procesadas": 10
}
}
Response (error):
{
"success": false,
"error": "Error al procesar alta de entregas o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaEntregas
Consultar entregas por ID de dador y referencia.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"referencia": "PV34534523"
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"Entregas": [
{
"idEntrega": 456,
"referencia": "PV34534523",
"referenciados": null,
"idEstadoWMS": 12,
"descEstadoWMS": "Confirmada",
"idEstadoTMS": 3,
"descEstadoTMS": "En Viaje",
"tipoEntrega": "RETIRO POR DEPOSITO",
"idFranjaHoraria": 3,
"nombreFranjaHoraria": "14 a 18",
"bultos": 5,
"documentos": [
{
"tipo": "Remito",
"numero": 123456
}
],
"imagenes": [
{
"nombre": "Nombre de la imagen",
"imagen": "ruta/imagen.jpeg"
}
],
"eventos": [
{
"idEvento": 3,
"descEvento": "Ruteo",
"fechaEvento": "2022-07-07 09:58:00",
"baseEvento": "CABA",
"motivoRechazo": "",
"HR": 321
}
],
"eventosExpresos": [
{
"idEvento": 4,
"descEvento": "Entregado",
"fechaEvento": "2022-07-15 11:45:00"
}
],
"eta": "12:25",
"contenido": [
{
"codigo": 7798098844271,
"cantidad": 1
}
]
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar entregas o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaPreparados
Consulta entregas que están en estado preparado.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"Entregas": [
{
"idEntrega": 303,
"referencia": 9900123456,
"idEstadoWMS": 13,
"descEstadoWMS": "Preparada",
"idEstadoTMS": 4,
"descEstadoTMS": "Entregado",
"tipoEntrega": "Retiro en Depósito",
"bultos": 1,
"documentos": [
{
"tipo": "Remito",
"numero": "0005-00004561"
}
],
"contenido": [
{
"codigo": 31710010402,
"cantidad": 10,
"calidad": "Disponible"
},
{
"codigo": 31730034400,
"cantidad": 10,
"calidad": "Disponible"
}
]
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar preparados o token inválido",
"unauthorized": true,
"result": null
}
POST /marcaPreparados
Marca una entrega como consultada (para el flujo de consultaPreparados).
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"idEntrega": "243" // ID de la entrega consultada previamente
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": []
}
Response (error):
{
"success": false,
"error": "Error al marcar preparado o token inválido",
"unauthorized": true,
"result": null
}
POST /liberarEntrega
Libera o bloquea una entrega preparada.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"idEntrega": 243,
"bloqueado": "0" // 0 para liberar, 1 para bloquear
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": []
}
Response (error):
{
"success": false,
"error": "Error al liberar/bloquear entrega o token inválido",
"unauthorized": true,
"result": null
}
POST /modificarEntrega
Modifica datos de una entrega existente (tipo, fecha, productos, documentos).
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"idEntrega": 243,
"tipoEntrega": "Distribución", // Opcional
"fecha": "2025-03-24", // Opcional
"bloqueado": "0", // Opcional
"detalleProductos": [
{
"codigo": "59001038",
"nombre": "nuevo producto",
"cantidad": 2,
"idCalidad": 1
}
],
"documentos": [
{
"tipoDocumento": "Remito",
"numero": "0010-000578626",
"cai": "1245648461348",
"fechaCai": "2025-04-10"
}
]
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"Entrega": [
{
"idEntrega": 243,
"referencia": "PV34534523",
"documento": "33333333",
"idEstadoWMS": 12,
"descEstadoWMS": "Confirmada",
"idEstadoTMS": 3,
"descEstadoTMS": "En Viaje",
"detalleProductos": [
{
"id": 918,
"codigo": "59001038",
"nombre": "nuevo producto",
"cantidad": 2,
"idCalidad": 1
}
],
"documentos": [
{
"idDocumento": 12298,
"tipoDocumento": "Factura",
"numero": "0010-0000598765",
"cai": "2103453455654",
"fechaCai": "2025-03-26"
}
]
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al modificar entrega o token inválido",
"unauthorized": true,
"result": null
}
POST /altaEtiquetas
Adjunta archivos de etiquetas (PDF, etc.) a una entrega existente, codificados en Base64.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"referencia": "ABC123", // Referencia de la entrega
"etiquetas": [
{
"nombre": "Etiqueta_Producto_XYZ.pdf", // Nombre del archivo
"archivo": "JVBERi0xLjQKJdPr6eEKMSAwIG9iago8PC9UaXRsZSA8RkVGRjAwNDQwMDZGMDA2MzAwNzUwMDZ..." // Contenido en Base64
}
]
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"etiquetas": "Se dieron de alta X etiquetas para la entrega: ABC123"
}
}
Response (error):
{
"success": false,
"error": "Error al dar de alta etiquetas o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaNovedadesEntregas
Consulta IDs de entregas que han tenido novedades (cambios de estado, etc.) desde la última consulta marcada.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"Entregas": [
{
"id": 1,
"tabla": "entregas",
"idexterno": 12345
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar novedades o token inválido",
"unauthorized": true,
"result": null
}
POST /altaEntregasEventos
Registra eventos personalizados asociados a una guía/entrega.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"numeroGuia": "102515464", // Número de guía asociado
"eventos": [
{
"codigo": "EVE01", // Código del evento personalizado
"descripcion": "Este es el evento", // Descripción del evento
"fecha": "2024-11-15 11:05:43" // Fecha y hora del evento
}
]
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"Procesados": 1
}
}
Response (error):
{
"success": false,
"error": "Error al registrar eventos o token inválido",
"unauthorized": true,
"result": null
}
Stock
POST /consultaStock
Consultar Stock. Consulta el stock disponible en un depósito específico para ciertos productos y calidad.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"idDeposito": 1,
"codigoProductos": [
6031512,
6080040,
5010331
],
"codigoCalidad": 500
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"Stocks": [
{
"codigo": "98255920ZD",
"idProducto": 193,
"calidad": "Disponible",
"total": 10
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar stock o token inválido",
"unauthorized": true,
"result": null
}
POST /cambioDeCalidad
Registra un cambio de calidad para una cantidad específica de un producto.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigoProducto": "CODP123", // Código del producto afectado
"codigoCalidadOrigen": "CODCO123", // Código de la calidad actual
"codigoCalidadDestino": "CODCD123", // Código de la nueva calidad
"fecha": "2024-11-15", // Fecha del cambio
"cantidad": "10" // Cantidad a cambiar de calidad
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al registrar cambio de calidad o token inválido",
"unauthorized": true,
"result": null
}
Ingresos Pendientes
POST /altaIngresoPendiente
Registra un ingreso de mercadería pendiente de recepción.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"fecha": "2022-10-01",
"nroRemito": "R-0001-00000001",
"idDeposito": 1,
"codigoProveedor": "4086",
"idCalidad": "1", // Opcional si se usa codigoCalidad
"codigoCalidad": "245", // Opcional si se usa idCalidad
"productos": [
{
"codigo": "ART0027",
"cantidad": 1,
"valor": "15.05", // Opcional
"descripcion": "Descripción", // Opcional
"cajon": "CAJON", // Opcional
"nroSerie": "12345678", // Opcional si requiereSerie=1
"um": "CM", // Opcional
"lote": "725", // Opcional si usaLote=1
"vencimiento": "2022-12-15", // Opcional si usaVto=1
"secuencia": "123" // Opcional
}
]
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"Procesadas": 1
}
}
Response (error):
{
"success": false,
"error": "Error al crear ingreso pendiente o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaRecepciones
Consulta recepciones de mercadería que han sido cerradas.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"Recepciones": [
{
"idCabecera": 110,
"fechaCierre": "2022-11-16",
"proveedor": null,
"documento": "INGRESO2",
"contenido": [
{
"codigo": "GENAURHS-610R",
"cantidad": 50,
"calidad": "Disponible",
"fechavto": null,
"lote": "",
"nroserie": null
},
{
"codigo": "PRODUCTO2",
"cantidad": 60,
"calidad": "Disponible",
"fechavto": null,
"lote": "",
"nroserie": null
}
]
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar recepciones o token inválido",
"unauthorized": true,
"result": null
}
POST /marcaRecepciones
Marca una recepción como consultada (para el flujo de consultaRecepciones).
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"idCabecera": "110" // ID de la recepción consultada previamente
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": []
}
Response (error):
{
"success": false,
"error": "Error al marcar recepción o token inválido",
"unauthorized": true,
"result": null
}
Proveedores
POST /altaProveedor
Crea o actualiza un proveedor.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"nombre": "Proveedor S.A.",
"codigoExterno": "1111", // Código único del proveedor en el sistema externo
"fansasia": "Proveedor Fantasia", // Opcional
"cuit": "11-111111111-1", // Opcional
"email": "proveedor@proveedor.com.ar", // Opcional
"web": "proveedor.com.ar", // Opcional
"domicilio": "AV CONSTITUYENTES 5364", // Opcional
"idCiudad": "3887", // ID de la ciudad (obtenido de consultaCiudad) - Opcional
"codPostal": "1431", // Opcional
"telefono": "111111111" // Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al crear/actualizar proveedor o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaProveedor
Consulta un proveedor por su código externo.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigoExterno": "1111",
"completo": "0" // 0 para básico, 1 para detalles completos (opcional, default 0)
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"data": [
{
"id": 1,
"codigoexterno": "1111",
"nombre": "Nombre del proveedor",
"cuit": "30-12345678-0",
"email": "email@ejemplo.com"
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar proveedor o token inválido",
"unauthorized": true,
"result": null
}
Clientes
POST /altaCliente
Crea o actualiza un cliente y sus destinos asociados.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"nombre": "Cliente",
"razonSocial": "Cliente S.A", // Opcional
"direccion": "Av. de Mayo 100", // Opcional
"idLocalidad": "1", // ID de la localidad/ciudad (obtenido de consultaCiudad) - Opcional
"telefono": "11111111", // Opcional
"mail": "cliente@cliente.com.ar", // Opcional
"cuit": "11-111111111-1", // Opcional
"codigo": "1111", // Código único del cliente en el sistema externo
"idRanking": "1", // Opcional
"idDadorDeCarga": "1", // ID del dador de carga asociado
"listaPrecios": "123456", // Código de la lista de precios (obtenido de consultaListaPrecios) - Opcional
"listaPreciosOferta": "654321", // Opcional
"destinos": [
{
"codigo": "123", // Código único del destino para este cliente
"nombre": "Destino S.A.",
"direccion": "Av. de Mayo 1338",
"idCiudad": "3778", // ID de la ciudad (obtenido de consultaCiudad)
"codPostal": "1431", // Opcional
"codPostalLargo": "C1431EZR", // Opcional
"latitud": "-34.609264", // Opcional
"longitud": "-58.3873816", // Opcional
"codigoZona": "123456" // Código de la zona (obtenido de consultaZona) - Opcional
}
]
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al crear/actualizar cliente o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaCliente
Consulta un cliente por su código externo.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigo": "1111",
"completo": "0" // 0 para básico, 1 para detalles completos (opcional, default 0)
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"data": [
{
"id": 1,
"nombre": "Nombre del cliente",
"razonsocial": "Razón social",
"telefono": "11-1231-5656",
"mail": "mail@ejemplo.com",
"cuit": "30-12345678-0",
"suspendido": 0,
"destinos": [
{
"id": 1,
"nombre": "Nombre del destino",
"direccion": "Costa Rica 5546",
"ciudad": "CIUDAD DE BUENOS AIRES",
"provincia": "Ciudad Autónoma de Buenos Aires",
"codigopostalcorto": 1234,
"latitud": -34.58325197969,
"longitud": -58.434227243289
}
]
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar cliente o token inválido",
"unauthorized": true,
"result": null
}
Productos
POST /altaProducto
Crea o actualiza un producto.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"codigo": "AR12", // Código único del producto en el sistema externo
"nombre": "Cafetera",
"descripcion": "Cafetera", // Opcional
"idRubro": "1", // ID del rubro (obtenido de consultaRubro) - Opcional
"idSubRubro": "1", // ID del subrubro (obtenido de consultaSubRubro) - Opcional
"idMetodoDeConsumo": "1", // Opcional (ej. FIFO, LIFO)
"idProveedor": "1", // ID del proveedor (obtenido de consultaProveedor) - Opcional
"idDadorDeCarga": "1", // ID del dador de carga asociado
"idUnidadMedidaAlmacenaje": "1", // Opcional
"largo": "1", // Opcional
"ancho": "1", // Opcional
"alto": "1", // Opcional
"volumen": "1", // Opcional
"pesobruto": "1", // Opcional
"pesoneto": "1", // Opcional
"tara": "1", // Opcional
"modulo": "100", // Opcional
"requiereSerie": "0", // 0 o 1
"usaVto": "1", // 0 o 1
"usaLote": "1", // 0 o 1
"mezclaLote": "1", // 0 o 1 - Opcional
"codigoDeBarra": "A240", // Opcional
"codigoAlias": "AAA240000" // Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al crear/actualizar producto o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaProducto
Consulta un producto por su código externo.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigo": "AR12",
"completo": "0" // 0 para básico, 1 para detalles completos (opcional, default 0)
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"data": [
{
"id": 1,
"codigo": 113882,
"nombre": "Nombre del producto",
"descripcion": "Desc1",
"pesobruto": 17.9,
"volumen": 0.087912,
"alto": 37,
"ancho": 36,
"largo": 66,
"rubro": "Rubro",
"subrubro": "Subrubro",
"inactivo": 0
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar producto o token inválido",
"unauthorized": true,
"result": null
}
POST /altaListaPrecios
Crea o actualiza una lista de precios y sus ítems asociados.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigo": "123456", // Código único de la lista de precios
"nombre": "Lista de precios",
"observaciones": "Esto es una lista de precios", // Opcional
"fechadesde": "2025-03-31", // Opcional
"fechahasta": "2025-03-10", // Opcional
"items": [
{
"codigo": "XXX666", // Código del producto
"valor": "4444", // Precio
"codigoCliente": "2" // Código del cliente específico (opcional, si es por cliente)
}
]
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al crear/actualizar lista de precios o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaListaPrecios
Consulta una lista de precios por su código externo.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigo": "123456",
"completo": "0" // 0 para básico, 1 para detalles completos con ítems (opcional, default 0)
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"data": [
{
"id": 2,
"nombre": "Lista de prueba cambio",
"observaciones": "Observación de prueba",
"fechahasta": "2025-03-31",
"fechadesde": "2025-03-10",
"codigoexterno": 123456
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar lista de precios o token inválido",
"unauthorized": true,
"result": null
}
POST /altaProductosPrecios
Añade o actualiza el precio de un producto específico dentro de una lista de precios existente.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigo": "123456", // Código del producto
"valor": "5000", // Nuevo precio
"codigoListaPrecios": "1234", // Código de la lista de precios
"codigoCliente": "12" // Código del cliente (opcional, si aplica)
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al actualizar precio de producto o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaProductosPrecios
Consulta el precio de un producto dentro de una lista de precios.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigo": "123456",
"completo": 0
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"data": [
{
"id": 1,
"fk_productos": 1,
"fechadesde": "2025-03-10",
"valor": 5000,
"fk_listadeprecios": 2
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar precio de producto o token inválido",
"unauthorized": true,
"result": null
}
POST /altaCodigoProducto
Asocia un código alternativo (ej. EAN, DUN) a un producto existente.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"codigo": "113882", // El código alternativo a asociar
"idProducto": "", // Opcional: ID interno del producto (si se conoce)
"codigoProducto": "12345", // Código externo del producto (si no se usa idProducto)
"idTipoCodigo": "3", // ID del tipo de código (ej. 3 para EAN13)
"cantidad": "5", // Cantidad de unidades base que representa este código (ej. 1 para unidad, 6 para caja)
"idDadorDeCarga": "1"
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al asociar código alternativo o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaCodigoProducto
Consulta la información asociada a un código alternativo de producto.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigo": "113882",
"completo": "0" // Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"data": {
"id": 1,
"fk_productos": 7477,
"fk_tipocodigo": 3,
"fk_clientes": 1,
"codigo": 113882,
"cantidad": 1,
"borrado": 0
}
}
}
Response (error):
{
"success": false,
"error": "Error al consultar código alternativo o token inválido",
"unauthorized": true,
"result": null
}
Equipos
POST /altaEquipo
Crea o actualiza un equipo (vehículo, remolque).
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigo": "1", // Código único del equipo
"patente": "AAA333",
"idMarca": "1", // ID de la marca (obtenido de consultaMarcas) - Opcional
"idEmpresa": "2", // ID de la empresa propietaria (obtenido de consultaEmpresa) - Opcional
"idTipoEquipo": "3" // ID del tipo de equipo (ej. Camión, Semirremolque) - Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al crear/actualizar equipo o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaEquipo
Consulta un equipo por su código.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigo": "1",
"completo": "0" // Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"data": [
{
"id": 1,
"patente": "AAA111",
"codigo": "123",
"empresa": "Empresa de prueba",
"tipoequipo": "Chasis"
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar equipo o token inválido",
"unauthorized": true,
"result": null
}
Empresas
POST /altaEmpresa
Crea o actualiza una empresa (transportista, etc.).
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigo": "123", // Código único de la empresa
"nombre": "Empresa S.A."
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al crear/actualizar empresa o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaEmpresa
Consulta una empresa por su código.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigo": "123",
"completo": "0" // Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"data": [
{
"id": 1,
"nombre": "Empresa",
"cuit": "30-12345678-0",
"codigo": "1234"
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar empresa o token inválido",
"unauthorized": true,
"result": null
}
Provincias
POST /altaProvincia
Crea o actualiza una provincia.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"nombre": "Chaco",
"codigoExterno": "123", // Código único de la provincia
"idPais": "1" // ID del país (generalmente 1 para Argentina) - Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al crear/actualizar provincia o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaProvincia
Consulta una provincia por su código externo.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigoExterno": "123",
"completo": "0" // Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"data": [
{
"id": 2,
"codigoexterno": 901,
"nombre": "Ciudad Autónoma de Buenos Aires"
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar provincia o token inválido",
"unauthorized": true,
"result": null
}
Ciudades
POST /altaCiudad
Crea o actualiza una ciudad/localidad.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigo": "12", // Código único interno (puede ser CP corto u otro) - Opcional
"nombre": "Chaco", // Nombre de la ciudad
"codigoExterno": "123", // Código único externo de la ciudad
"idProvincia": "10" // ID de la provincia (obtenido de consultaProvincia)
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al crear/actualizar ciudad o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaCiudad
Consulta una ciudad por su código (interno o externo).
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigo": "5637193326", // Puede ser código interno o externo
"completo": "0" // Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"data": [
{
"id": 3889,
"codigoexterno": null,
"nombre": "MONSERRAT",
"provincia": "Ciudad Autónoma de Buenos Aires"
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar ciudad o token inválido",
"unauthorized": true,
"result": null
}
Destinos
POST /altaDestino
Crea o actualiza un destino (punto de entrega) asociado a un cliente.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"codigo": "852", // Código único del destino para el cliente
"nombre": "Destino ejemplo",
"direccion": "Av. Juan B. Justo 2000",
"idCiudad": "10005", // ID de la ciudad (obtenido de consultaCiudad)
"idZona": "110", // ID de la zona (obtenido de consultaZona) - Opcional
"idCliente": "1", // ID interno del cliente (si se conoce) - Opcional
"codigoCliente": "225", // Código externo del cliente (si no se usa idCliente)
"idDadorDeCarga": 1,
"comentarios": "Comentario sobre el destino" // Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al crear/actualizar destino o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaDestino
Consulta un destino por nombre o código, opcionalmente filtrado por cliente.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"nombre": "P00007",
"completo": "0" // Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"data": [
{
"id": 1,
"nombre": "Destino",
"direccion": "Costa Rica 5546",
"ciudad": "CIUDAD DE BUENOS AIRES",
"provincia": "Ciudad Autónoma de Buenos Aires",
"codigopostalcorto": "1234",
"latitud": -34.58325197969,
"longitud": -58.434227243289
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar destino o token inválido",
"unauthorized": true,
"result": null
}
Rubros
POST /altaRubro
Crea o actualiza un rubro de producto.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"nombre": "Agricola",
"codigoExterno": "123" // Código único del rubro
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al crear/actualizar rubro o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaRubro
Consulta un rubro por su código externo.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigoExterno": "123",
"completo": "0" // Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"data": [
{
"id": 5,
"codigoexterno": "AC",
"nombre": "Rubro"
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar rubro o token inválido",
"unauthorized": true,
"result": null
}
SubRubros
POST /altaSubRubro
Crea o actualiza un subrubro de producto, asociado a un rubro.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"nombre": "Fertilizante",
"codigoExterno": "123", // Código único del subrubro
"idRubro": "2" // ID del rubro padre (obtenido de consultaRubro)
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al crear/actualizar subrubro o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaSubRubro
Consulta un subrubro por su código externo.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigoExterno": "123",
"completo": "0" // Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"data": [
{
"id": 557,
"codigoexterno": "123",
"nombre": "TABLETAS",
"rubro": "TABLETAS",
"codigoRubro": "1234"
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar subrubro o token inválido",
"unauthorized": true,
"result": null
}
Personal
POST /altaPersonal
Crea o actualiza datos de personal (choferes, etc.).
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"nombre": "Federico Lopez",
"idEmpresa": "1", // ID de la empresa (obtenido de consultaEmpresa) - Opcional
"legajo": "5525", // Legajo único del personal
"telefono": "132456798", // Opcional
"documento": "30999888", // Opcional
"fechaIngreso": "2022-01-31" // Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al crear/actualizar personal o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaPersonal
Consulta personal por su legajo.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"legajo": "5525",
"completo": "0" // Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"data": [
{
"id": 1,
"legajo": "5525",
"nombre": "Chofer",
"dni": "12345678",
"cuil": "20-1234578-8",
"empresa": "Empresa"
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar personal o token inválido",
"unauthorized": true,
"result": null
}
Expresos
POST /altaExpreso
Crea o actualiza un expreso/transportista.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"codigo": "22", // Código único del expreso
"nombre": "Expreso",
"direccion": "Av. Juan B. Justo 2000", // Opcional
"codigoCiudad": "02007010002", // Código de la ciudad (obtenido de consultaCiudad) - Opcional
"idDadorDeCarga": "1" // Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al crear/actualizar expreso o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaExpreso
Consulta un expreso por su código.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigo": "5525", // Código del expreso a consultar
"completo": "0" // Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"data": [
{
"id": 11,
"nombre": "Andreani Emp",
"direccion": "Av. Juan B. Justo 2000",
"ciudad": "Ciudad Autónoma de Buenos Aires",
"codigopostalcorto": "1234",
"latitud": "-34.59113966488604",
"longitud": "-58.43902614232909",
"leyendaguia": "Esta es la leyenda"
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar expreso o token inválido",
"unauthorized": true,
"result": null
}
Hojas de Ruta
POST /consultaHojadeRuta
Consulta una hoja de ruta por su ID interno o número externo.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"idHojaRuta": "5525", // ID interno (si se conoce) - Opcional
"numero": "1234568" // Número externo (si no se usa idHojaRuta) - Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"HojasDeruta": [
{
"id": 5525,
"numero": "5525",
"fecha": "2025-01-31",
"fechasalida": "2025-01-31 09:45:01",
"fechafin": "2025-01-31 10:52:02",
"fechacierre": "2025-01-31 11:07:32",
"horariocarga": "10:00:00",
"estado": "Cerrada",
"camion": "AA 053 EV",
"acoplado": null,
"tipoequipo": "Semirremolque",
"chofer": "NOMBRE DEL CHOFER",
"nombretransportista": "NOMBRE DE LA EMPRESA",
"codigotransportista": 1562,
"tipoviaje": "Ventas",
"tipozona": "Sin definir",
"kilometros": 1939,
"Entregas": [
{
"id": 1229,
"referencia": "Pedido6",
"bultos": 0,
"peso": 18750,
"volumen": 0,
"destino": "DESTINO DE LA ENTREGA",
"destinoDireccion": "DIRECCIÓN DE LA ENTREGA",
"cliente": "CLIENTE",
"status": "Rechazado",
"motivoRechazo": "DESTINATARIO CERRADO"
}
],
"Adicionales": [
{
"id": 1228,
"nombre": "Nombre del adicional",
"cantidad": 5,
"valor": 120.5,
"compra": "SI",
"venta": "NO"
}
],
"LiquidacionesCompra": [],
"LiquidacionesVenta": []
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar hoja de ruta o token inválido",
"unauthorized": true,
"result": null
}
POST /setearNumeroHojaDeRuta
Asigna o modifica el número externo de una hoja de ruta existente.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"idHojaRuta": "5525", // ID interno de la hoja de ruta
"numero": "2" // Nuevo número externo a asignar
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"data": []
}
}
Response (error):
{
"success": false,
"error": "Error al setear número de hoja de ruta o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaNovedadesHojadeRuta
Consulta IDs de hojas de ruta que han tenido novedades desde la última consulta marcada.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"HojasDeruta": [
1233
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar novedades de hoja de ruta o token inválido",
"unauthorized": true,
"result": null
}
Vendedores
POST /altaVendedores
Crea o actualiza un vendedor.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigoExterno": "123HDG", // Código único del vendedor
"nombre": "Nombre del vendedor",
"iniciales": "NV" // Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al crear/actualizar vendedor o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaVendedores
Consulta un vendedor por su ID interno o código externo.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"idVendedor": "5525", // Opcional
"codigoExterno": "1234568", // Opcional
"completo": "0" // Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"data": []
}
}
Response (error):
{
"success": false,
"error": "Error al consultar vendedor o token inválido",
"unauthorized": true,
"result": null
}
Zonas
POST /altaZona
Crea o actualiza una zona geográfica o de ruteo.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigoExterno": "123HDG", // Código único de la zona
"nombre": "Nombre de la zona",
"despachoBloqueado": "0", // 0 o 1 - Opcional
"orden": "1" // Orden de visita/ruteo - Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al crear/actualizar zona o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaZona
Consulta una zona por su código o nombre.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigo": "54654", // Código externo o interno
"nombre": "Nombre de la zona", // Opcional si se usa código
"completo": "0" // Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"data": []
}
}
Response (error):
{
"success": false,
"error": "Error al consultar zona o token inválido",
"unauthorized": true,
"result": null
}
Canales
POST /altaCanales
Crea o actualiza un canal de venta.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"codigo": "123HDG", // Código único del canal
"nombre": "Nombre del canal"
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al crear/actualizar canal o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaCanales
Consulta un canal de venta por su ID interno o código.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"idCanal": "5525", // Opcional
"codigo": "1234568", // Opcional
"completo": "0" // Opcional
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"data": []
}
}
Response (error):
{
"success": false,
"error": "Error al consultar canal o token inválido",
"unauthorized": true,
"result": null
}
Devolución
POST /altaDevolucion
Registra una devolución de productos.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"id_propietario": "P2", // ID o código del propietario/dador
"numeroOrigen": "12088", // Número de referencia de la entrega original
"prefijo": "0000", // Prefijo del documento de devolución
"numero": "1231222", // Número del documento de devolución
"items": [
{
"coditm": "5100SF", // Código del producto devuelto
"cantidad1": "12", // Cantidad devuelta (puede haber cantidad2 para otra UM)
"cantidad2": "5", // Opcional
"motivoRechazo": "1" // ID del motivo de rechazo/devolución
}
]
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al registrar devolución o token inválido",
"unauthorized": true,
"result": null
}
Documentos
POST /altaDocumento
Asocia un documento (Factura, Remito) a una entrega existente usando la referencia.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"referencia": "10340-2025-09-15", // Referencia de la entrega
"nombreDocumento": "Factura", // Tipo de documento
"numero": "0006-00097099" // Número del documento
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": []
}
Response (error):
{
"success": false,
"error": "Error al asociar documento o token inválido",
"unauthorized": true,
"result": null
}
Marcas
POST /altaMarcas
Crea o actualiza una marca (para productos, equipos, etc.).
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"nombre": "Nombre de la marca",
"producto": "1", // 1 si aplica a productos, 0 si no
"equipo": "0", // 1 si aplica a equipos, 0 si no
"neumatico": "0" // 1 si aplica a neumáticos, 0 si no
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"id": 1
}
}
Response (error):
{
"success": false,
"error": "Error al crear/actualizar marca o token inválido",
"unauthorized": true,
"result": null
}
POST /consultaMarcas
Consulta marcas por nombre y tipo.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"nombre": "Nombre marca", // Opcional
"producto": "1" // Opcional (1 o 0)
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"marcas": [
{
"id": 1,
"nombre": "Nombre marca",
"producto": "Si",
"neumatico": "No",
"equipo": "No"
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar marcas o token inválido",
"unauthorized": true,
"result": null
}
Movimientos
POST /consultaMovimientos
Consulta movimientos de stock (ajustes, transferencias) pendientes de marcar.
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"completo": 0
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": {
"Movimientos": [
{
"idRef": 12554,
"fecha": "2022-11-16",
"idComprobante": 1,
"nombreComprobante": "Ajuste",
"numero": 345,
"negativos": [
{
"codigoProducto": "5326",
"nombreProducto": "GENAURHS-610R",
"cantidad": -1,
"idCalidad": 1,
"nombreCalidad": "Disponible",
"fechavto": null,
"lote": "",
"nroserie": null
}
],
"positivos": [
{
"codigoProducto": "5378",
"nombreProducto": "GENAURHS-625J",
"cantidad": 1,
"idCalidad": 1,
"nombreCalidad": "Disponible",
"fechavto": null,
"lote": "",
"nroserie": null
}
]
}
]
}
}
Response (error):
{
"success": false,
"error": "Error al consultar movimientos o token inválido",
"unauthorized": true,
"result": null
}
POST /wms/marcaMovimientos
Marca un movimiento de stock como consultado (para el flujo de consultaMovimientos).
Headers:{
"Authorization": "Bearer {access_token}"
}
Request:
{
"idDadorDeCarga": 1,
"idRef": "12554" // ID de referencia del movimiento consultado
}
Response (éxito):
{
"success": true,
"error": null,
"unauthorized": false,
"result": []
}
Response (error):
{
"success": false,
"error": "Error al marcar movimiento o token inválido",
"unauthorized": true,
"result": null
}