Precios de proveedor · API PÚBLICA V1

Crear un precio

Crea un precio para un producto y proveedor existentes.

Conectar con un entornoSin token

La petición sale de tu navegador hacia el entorno indicado. La API key y el token permanecen en la memoria de esta página.

Introduce las credenciales del entorno que quieras probar.
POST/api/public/v1/products/{productId}/supplier-prices
prices:write

Parámetros

productId

Identificador del producto.

Body de entrada

PublicSupplierPriceCreate

Crear precio de proveedor

Precio de un producto para un proveedor y fecha efectiva.

PropiedadTipoDescripción
supplierIdobligatoriouuidIdentificador del proveedor existente.
supplierProductCodestring | nullCódigo usado por el proveedor.
effectiveDateobligatoriodate-timeFecha de vigencia.
priceobligatorionumberPrecio neto.
priceBeforeDiscountobligatorionumberPrecio antes de descuento.
discountPercentageobligatorionumber · 0..100Porcentaje de descuento.
setAsReferencePurchasePricebooleanActualiza también el precio de compra de referencia.
Ejemplo JSON
{
  "supplierId": "70cc0042-7541-4495-93b7-708795e7c093",
  "supplierProductCode": "P-77",
  "effectiveDate": "2026-10-10T12:00:00",
  "price": 90,
  "priceBeforeDiscount": 100,
  "discountPercentage": 10,
  "setAsReferencePurchasePrice": true
}

Respuesta

201Precio creado.

PublicSupplierPrice

Precio de proveedor

Precio público asociado a producto y proveedor.

PropiedadTipoDescripción
idobligatoriouuidIdentificador del precio.
productIdobligatoriouuidIdentificador interno del producto.
supplierIdobligatoriouuidIdentificador interno del proveedor.
supplierProductCodestring | nullCódigo usado por el proveedor.
effectiveDateobligatoriodate-timeFecha efectiva.
priceobligatorionumberPrecio neto.
priceBeforeDiscountobligatorionumberPrecio antes de descuento.
discountPercentageobligatorionumberPorcentaje de descuento.
isReferencePurchasePriceobligatoriobooleanIndica si es el precio de compra de referencia.
createdAtobligatoriodate-timeFecha de creación.
modifiedAtobligatoriodate-timeÚltima modificación.
concurrencyTokenobligatoriostringToken opaco de concurrencia.
Ejemplo JSON
{
  "id": "6c90ad85-f243-4d41-95bd-b5c55efb2afe",
  "productId": "14cc9848-f0c0-4457-9fd1-2b60dd46d6f3",
  "supplierId": "70cc0042-7541-4495-93b7-708795e7c093",
  "supplierProductCode": "P-77",
  "effectiveDate": "2026-10-10T12:00:00",
  "price": 90,
  "priceBeforeDiscount": 100,
  "discountPercentage": 10,
  "isReferencePurchasePrice": true,
  "createdAt": "2026-10-10T12:00:00",
  "modifiedAt": "2026-10-10T12:00:00",
  "concurrencyToken": "ct_price_example"
}
Ejemplo de respuesta
{
  "id": "6c90ad85-f243-4d41-95bd-b5c55efb2afe",
  "productId": "14cc9848-f0c0-4457-9fd1-2b60dd46d6f3",
  "supplierId": "70cc0042-7541-4495-93b7-708795e7c093",
  "supplierProductCode": "P-77",
  "effectiveDate": "2026-10-10T12:00:00",
  "price": 90,
  "priceBeforeDiscount": 100,
  "discountPercentage": 10,
  "isReferencePurchasePrice": true,
  "createdAt": "2026-10-10T12:00:00",
  "modifiedAt": "2026-10-10T12:00:00",
  "concurrencyToken": "ct_price_example"
}

Errores

400Solicitud incorrectaapplication/json
401Autenticación inválida o no proporcionadaapplication/json
403Permisos insuficientesapplication/json
404Recurso no encontradoapplication/json
409Conflicto con el estado actualapplication/json
410Recurso ya no disponibleapplication/json
422Error de validaciónapplication/json
429Límite de solicitudes excedidoapplication/json
Ver modelo de error

PublicApiError

Error de API

Formato estable de los errores públicos.

PropiedadTipoDescripción
statusobligatoriointegerCódigo HTTP.
codeobligatoriostringCódigo estable para tratamiento automático.
messageobligatoriostringMensaje legible.
correlationIdobligatoriostringIdentificador para soporte y trazabilidad.
currentConcurrencyTokenstring | nullToken actual cuando existe un conflicto.
validationErrorsobject<string,string[]>Errores agrupados por campo.
Ejemplo JSON
{
  "status": 422,
  "code": "validation_error",
  "message": "The request is invalid.",
  "correlationId": "01J9EXAMPLE",
  "validationErrors": {
    "unitCode": [
      "The unit does not exist."
    ]
  }
}
Probar endpointPetición directa desde el navegador

JSON resultante

{}

Petición

RespuestaSin ejecutar
Configura la conexión y ejecuta la petición.