GetProductsByReferenceCode

Búsqueda de Productos por Código de Referencia.

GetProductsByReferenceCodeOperation

Este endpoint permite consultar información completa y actualizada (precio, stock real, promociones vigentes) de una lista de productos, identificados por su código de referencia (ProductReferenceCode), para una sucursal y unidad de negocio determinadas.

¡Código copiado al portapapeles!
📦 Request
📝 Response
📋 Códigos de error
Campos del Payload de Solicitud (Request)
Field Data Type Required Description
ProductReferenceCodeCollection List<string> Sí Lista de códigos de referencia de los productos a consultar. (Mínimo 1 elemento)
BranchOfficeReferenceCode string Sí Código de referencia (o nombre) de la sucursal/bodega para la cual se desea consultar el catálogo.
BusinessUnitReferenceCode string Sí Código de referencia de la unidad de negocio.
BusinessModel string Sí Modelo de negocio de la consulta ("B2B" o "B2C").

Ejemplo de Request

{
"Data": {
"Token": {
"Id": "TokenAsignado"
},
"Operation": {
"Name": "GetProductsByReferenceCodeOperation",
"GroupName": "ProductStoreManager",
"Payload": "{\"ProductReferenceCodeCollection\":[\"PROD-000789\",\"PROD-000912\"],\"BranchOfficeReferenceCode\":\"BOF-PE-LIMA-01\",\"BusinessUnitReferenceCode\":\"BU-PERU-001\",\"BusinessModel\":\"B2B\"}"
}
}
}
Campos del Payload de Respuesta (por producto)
Field Description
ProductReferenceCode Identificador público del producto (el mismo código que se envió en la solicitud).
Name Nombre comercial del producto.
Content Contenido/presentación del producto (ej. "1" + "Litro", equivalente a "1 L").
Price Precio base del producto.
NewPrice Precio vigente, con descuento aplicado si corresponde.
DiscountPercentage Porcentaje de descuento activo sobre el precio base.
Stock Disponibilidad real de inventario en el momento de la consulta.
SoldOut Indica si el producto está agotado.
TargetedOffer Indica si el producto tiene una oferta/promoción dirigida activa.
MaxQuantity Límite máximo de unidades que el cliente puede comprar de este producto, ya calculado por la plataforma. Útil para no intentar pedir más de lo permitido.
ProductCategory Categoría comercial del producto.
ManufacturerName Fabricante del producto.
ImageName Nombre/ruta de la imagen del producto.

Respuesta exitosa (todos los productos encontrados)

{
"Successful": true,
"UserMessage": null,
"Results": [
{
"ProductReferenceCode": "PROD-000789",
"Name": "Aceite Vegetal Premium 1L",
"Content": "1",
"UnitMeasure": "Litro",
"Price": 18.50,
"NewPrice": 16.90,
"DiscountPercentage": 8.6,
"Stock": 124,
"SoldOut": false,
"TargetedOffer": true,
"MaxQuantity": 20,
"ProductCategory": "Abarrotes",
"ManufacturerName": "Alicorp",
"ImageName": "aceite-cocinero-1l.jpg"
},
{
"ProductReferenceCode": "PROD-000912",
"...": "mismo esquema"
}
]
}

Respuesta con algún código no encontrado (comportamiento parcial, no bloqueante)

{
"Successful": true,
"UserMessage": "1 producto(s) no encontrado(s): PROD-999999",
"NotFoundReferenceCodes": ["PROD-999999"],
"Results": ["... productos sí encontrados ..."]
}
Importante: Si alguno de los códigos enviados no corresponde a un producto existente, la operación no falla: retorna los productos que sí fueron encontrados en Results e informa por separado, en NotFoundReferenceCodes, cuáles códigos no existieron. Esto permite corregir la selección sin perder el resto de la consulta.
Códigos de Error posibles
Código de error Motivo
NO_PRODUCT_CODES_PROVIDED ProductReferenceCodeCollection fue enviado vacío.
BRANCH_OFFICE_NOT_FOUND El campo BranchOfficeReferenceCode no corresponde a ninguna sucursal válida.
BUSINESS_UNIT_NOT_FOUND El campo BusinessUnitReferenceCode no corresponde a ninguna unidad de negocio válida.
INVALID_BUSINESS_MODEL El campo BusinessModel no corresponde a un valor válido ("B2B" / "B2C").
Nota: Si ninguno de los ProductReferenceCode enviados existe para la combinación de sucursal, unidad de negocio y modelo de negocio consultada, la respuesta sigue siendo Successful = true, con Results vacío y NotFoundReferenceCodes completo; no se considera un error.