SpecialOffers
API para el tratamiento de promociones del tipo NXM. Las ofertas pueden estar compuesta por un/unos taxon o una/unas variante. No pueden convivir ambos.
Vista de una oferta
GET /api/v2/special_offers/:id
Creación
POST /api/v2/special_offers
Body:
{
"special_offer": {
"name":"Oferta 2x3 en Vinos ",
"from":"16/06/2017",
"to":"16/07/2017",
"code": "2x3_exclusivo_online",
"description":"Comprando 2 productos iguales de VINOS, llevate el tercero de regalo",
"offer_items_attributes" : [
{
"applicable_type": "Spree::Taxon",
"applicable_id": 852,
"gift_quantity": 1,
"total_quantity": 3,
"discount_percentage": 100
}
]
}
}
{
"special_offer": {
"name":"Oferta 50% descuento en la segunda unidad",
"from":"16/06/2017",
"to":"16/07/2017",
"code": "50%off",
"description":"Comprando 2 productos iguales, el segundo pagalo a la mitad",
"offer_items_attributes" : [
{
"applicable_type": "Spree::Variant",
"applicable_id": 25731,
"gift_quantity": 1,
"total_quantity": 2,
"discount_percentage": 50
},
{
"applicable_type": "Spree::Variant",
"applicable_id": 27378,
"gift_quantity": 1,
"total_quantity": 2,
"discount_percentage": 50
},
{
"applicable_type": "Spree::Variant",
"applicable_id": 27498,
"gift_quantity": 1,
"total_quantity": 2,
"discount_percentage": 50
}
]
}
}
Si la creación fue exitosa, la respuesta es la vista de la oferta creada, que contiene el id del mismo (y de sus items), necesario para posteriores modificaciones.
Update
PUT /api/v2/special_offers/:id
Body:
{
"special_offer": {
"name":"50% descuento",
"code": "50%off",
"offer_items_attributes" : [
{
"id": 2810,
"applicable_type": "Spree::Taxon",
"applicable_id": 852,
"gift_quantity": 1,
"total_quantity": 3,
"discount_percentage": 100
}
]
}
}
Si queremos crear nuevos items sobre la misma oferta, lo hacemos mediante un update de la oferta
Body:
{
"special_offer": {
"offer_items_attributes" : [{
"applicable_type": "Spree::Taxon",
"applicable_id": 853,
"gift_quantity": 1,
"total_quantity": 3,
"discount_percentage": 100
}]
}
}
Borrado
Recomendamos no borrar las ofertas. Se puede en su lugar modificar la fecha de finalización (to) para que deje de estar activa.
PUT /api/v2/special_offers/:id
Body:
{
"special_offer": {
"from":"16/06/2017",
"to":"17/06/2017"
}
}