Precios de proveedor · API PÚBLICA V1

Actualizar un precio

Actualiza un precio existente. Nunca crea uno nuevo.

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.
PUT/api/public/v1/products/{productId}/supplier-prices/{id}
prices:write

Parámetros

productId

Identificador del producto.

id

Identificador del precio.

Body de entrada

PublicSupplierPriceUpdate

Actualizar precio de proveedor

Campos editables de un precio de proveedor existente.

PropiedadTipoDescripción
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.
concurrencyTokenobligatoriostringToken recibido en la última lectura.
Ejemplo JSON
{
  "supplierProductCode": "P-77",
  "effectiveDate": "2026-10-10T12:00:00",
  "price": 90,
  "priceBeforeDiscount": 100,
  "discountPercentage": 10,
  "setAsReferencePurchasePrice": true,
  "concurrencyToken": "ct_price_example"
}

Respuesta

200Precio actualizado.

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.