Ofertas y precio anterior
Pon productos y packs en oferta con fechas y canales. Las lecturas exponen la oferta y el precio anterior legal, y la resolución de precios admite fecha, canal y el cliente de la web.
Las ofertas ya forman parte del contrato público. Están disponibles en todos los planes que incluyen productos, desde Esencial.
- Un recurso nuevo
promotionscrea ofertas con artículos, fechas y canales (documentsyweb), con sus propios scopespromotions:read,promotions:writeypromotions:delete. - La lectura de productos y packs incluye siempre
promotion(la oferta onull) conlabel,previous_price,reduction_percentyannounce_reduction. price-lists/resolveyprice-lists/resolve-manyadmitendate,channelyclient_id. La tarifa se elige como en un documento: manda unprice_list_id(nullsignifica sin tarifa) y, si no, rige la tarifa predeterminada del cliente. Una tarifa inactiva responde 422.- Cada precio resuelto lleva
regular_unit_price,regular_sourceypromotion(nullcuando no se aplica ninguna). Los importesgrossusan el IVA del artículo y el régimen de la empresa. Para el importe exacto, con el recargo de equivalencia o la exención del cliente, usa el cálculo de totales. - El desglose de precio de un pack admite
client_idychannel, y devuelve la oferta del pack con su precio habitual. - Las tarifas y sus precios admiten los filtros
updated[gte]yupdated[lte]. Elupdated_atde una tarifa también se mueve cuando cambia uno de sus precios. - Las líneas de documento admiten
sold_onychannel, para que una oferta solo web llegue a la factura del pedido. Una venta web cobrada al precio de oferta cuenta como vendida con la oferta. - Las plantillas PDF añaden la opción
show_regular_price, que imprime el precio habitual y la rebaja bajo el concepto de una línea vendida con oferta.
Lee Ofertas y precio anterior y Tu tienda con Factuarea.
Eventos
| Evento | Cambio |
|---|---|
promotion.created, promotion.updated, promotion.started, promotion.ended y promotion.cancelled | Nuevos, con la oferta |
promotion.deleted | Nuevo, con {id, object: "promotion", deleted: true} |
price_list.created, price_list.updated y price_list.item_updated | Nuevos, con la tarifa o el precio. Úsalos para refrescar una caché de precios |
price_list.deleted y price_list.item_deleted | Nuevos, con {id, object, deleted: true}. El precio lleva su price_list_id |
product.updated y pack.updated | También cuando una oferta empieza o termina |
Errores nuevos: promotion_not_found, promotion_started,
promotion_read_only, invalid_promotion_item y duplicate_promotion_item. El
servidor MCP añade list_promotions, get_promotion, create_promotion,
update_promotion, cancel_promotion y delete_promotion, y
resolve_catalog_price y resolve_many_catalog_prices admiten client_id.
Nuevos endpoints6
| Endpoint | Descripción |
|---|---|
GET/v1/companies/{company}/promotions | Listar todas las ofertas |
POST/v1/companies/{company}/promotions | Crear una oferta |
GET/v1/companies/{company}/promotions/{promotion} | Consultar una oferta |
PATCH/v1/companies/{company}/promotions/{promotion} | Actualizar una oferta |
DEL/v1/companies/{company}/promotions/{promotion} | Eliminar una oferta |
POST/v1/companies/{company}/promotions/{promotion}/cancel | Cancelar una oferta |