Reglas

Es la entidad que maneja la asignación de reglas a las distintas promociones. Para que una promoción se ejecute, necesita al menos una regla y una acción (aunque puede tener múltiples combinaciones de ambas).

En el caso de que una promoción contenga más de una regla, se puede programar para que requiera el cumplimiento de todas las reglas o al menos una (ver campo “match_policy” de una promoción). Reglas actualmente disponibles:

  1. Rol(es) de usuario: aplica para cierto rol(es) de usuarios.

  2. Rango de cantidad: aplica para cierto rango de cantidad de productos.

  3. Importe total de artículos: aplica para cierto rango de importe total de compra.

  4. Producto(s): aplica para cierto producto(s).

  5. Variante(s): aplica para cierta variante(s) de producto(s).

  6. Taxon(es): aplica para cierto taxón(es) asociados a productos del carrito.

  7. Primer pedido: aplica en el primer pedido del usuario.

  8. Un solo uso por usuario: limita el uso / canje de la promoción a 1 vez por usuario.

  9. Usuario es referido: aplica si el usuario es un referido.

  10. Usuario es afiliado: aplica si el usuario es un afiliado.

  11. Usuarios específicos

Por Rol(es) de usuario

POST https://tiendagoshop.com/api/v1/promotions/:promotion_id/promotion_rules

Path Parameters

Headers

Request Body

{
  "id": 57,
  "type": "Spree::Promotion::Rules::UserRole",
  "preferred_role_ids": [
    2,
    3
  ],
  "preferred_match_policy": "all"
}

Por rango de cantidad

POST https://tiendagoshop.com/api/v1/promotions/:promotion_id/promotion_rules

Path Parameters

Headers

Request Body

{
  "id": 58,
  "type": "Spree::Promotion::Rules::QuantityRange",
  "preferred_operator_max": "lt",
  "preferred_quantity_min": 5,
  "preferred_operator_min": "gt",
  "preferred_quantity_max": 10
}

Por importe total de artículos

POST https://tiendagoshop.com/api/v1/promotions/:promotion_id/promotion_rules

Path Parameters

Headers

Request Body

{
    "promotion_rule":{
        "type":"Spree::Promotion::Rules::ItemTotal",
        "preferred_operator_min":"gt",
        "preferred_operator_max":"lt",
        "preferred_amount_min":500,
        "preferred_amount_max":1000
    }
}

Por producto(s)

POST https://tiendagoshop.com/api/v1/promotions/:promotion_id/promotion_rules

Path Parameters

Headers

Request Body

{
  "id": 60,
  "type": "Spree::Promotion::Rules::Product",
  "preferred_match_policy": "all"
}

Por variante(s)

POST https://tiendagoshop.com/api/v1/promotions/:promotion_id/promotion_rules

Path Parameters

Headers

Request Body

{
  "id": 61,
  "type": "Spree::Promotion::Rules::Variant",
  "preferred_match_policy": "all"
}

Por taxon(es)

POST https://tiendagoshop.com/api/v1/promotions/:promotion_id/promotion_rules

Path Parameters

Headers

Request Body

{
  "id": 62,
  "type": "Spree::Promotion::Rules::Taxon",
  "preferred_match_policy": "all"
}

Por primer pedido

POST https://tiendagoshop.com/api/v1/promotions/:promotion_id/promotion_rules

Path Parameters

Headers

Request Body

{
  "id": 63,
  "type": "Spree::Promotion::Rules::FirstOrder"
}

Por un sólo uso por usuario

POST https://tiendagoshop.com/api/v1/promotions/:promotion_id/promotion_rules

Path Parameters

Headers

Request Body

{
  "id": 64,
  "type": "Spree::Promotion::Rules::OneUsePerUser"
}

Usuario es referido

POST https://tiendagoshop.com/api/v1/promotions/:promotion_id/promotion_rules

Path Parameters

Headers

Request Body

{
  "id": 65,
  "type": "Spree::Promotion::Rules::ReferredPromotionRule"
}

Usuario es afiliado

POST https://tiendagoshop.com/api/v1/promotions/:promotion_id/promotion_rules

Path Parameters

Headers

Request Body

{
    "promotion_rule":{
        "type":"Spree::Promotion::Rules::AffiliatedPromotionRule"
    }
}

Usuarios específicos

POST /api/v1/promotions/:promotion_id/promotion_rules

Path Parameters

Headers

Request Body

Eliminar regla

DELETE https://tiendagoshop.com/api/v1/promotions/:promotion_id/promotion_rules/:id

Path Parameters

Headers

Última actualización