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"
  }
}

results matching ""

    No results matching ""