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

NameTypeDescription

promotion_id

string

ID de la promoción

Headers

NameTypeDescription

X-Spree-Token

string

Token generado desde el CMS de GS

Request Body

NameTypeDescription

type

string

Tipo de regla, el valor de este campo es Spree::Promotion::Rules::UserRole

preferred_match_policy

string

Alcance de filtro, any(ninguno) ó all(todo)

preferred_role_ids

array

Array de ID de roles afectados por la regla

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

NameTypeDescription

promotion_id

string

ID de la promoción

Headers

NameTypeDescription

X-Spree-Token

string

Token generado desde el CMS de GS

Request Body

NameTypeDescription

type

string

Tipo de regla, el valor de este campo es Spree::Promotion::Rules::QuantityRange

preferred_operator_min

string

Operador minimo: "gt"

preferred_operator_max

string

Operador máximo: "lt"

preferred_quantity_min

integer

Desde cantidad minima

preferred_quantity_max

integer

Hasta cantidad máxima

products_ids

Array

Array de integers con los ids de los productos escogidos.

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

NameTypeDescription

promotion_id

string

ID de la promoción

Headers

NameTypeDescription

X-Spree-Token

string

Token generado desde el CMS de GS

Request Body

NameTypeDescription

type

string

Tipo de regla, el valor de este campo es Spree::Promotion::Rules::ItemTotal

preferred_operator_min

string

Operador minimo: "gt"

preferred_operator_max

string

Operador máximo: "lt"

preferred_amount_min

number

Desde importe minimo

preferred_amount_max

number

Hasta importe máximo

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

NameTypeDescription

promotion_id

string

ID de la promoción

Headers

NameTypeDescription

X-Spree-Token

string

Token generado desde el CMS de GS

Request Body

NameTypeDescription

type

string

Tipo de regla, el valor de este campo es Spree::Promotion::Rules::Product

product_ids

array

Array de ID's de producto

preferred_match_policy

string

Alcance de filtro, any(ninguno) ó all(todo)

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

NameTypeDescription

promotion_id

string

ID de la promoción

Headers

NameTypeDescription

X-Spree-Token

string

Token generado desde el CMS de GS

Request Body

NameTypeDescription

type

string

Tipo de regla, el valor de este campo es Spree::Promotion::Rules::Variant

variant_ids

array

Array de ID's de variante

preferred_match_policy

string

Alcance de filtro, any(ninguno) ó all(todo)

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

NameTypeDescription

promotion_id

string

ID de la promoción

Headers

NameTypeDescription

X-Spree-Token

string

Token generado desde el CMS de GS

Request Body

NameTypeDescription

type

string

Tipo de regla, el valor de este campo es Spree::Promotion::Rules::Taxon

taxon_ids

array

Array de ID's de taxones

preferred_match_policy

string

Alcance de filtro, any(ninguno) ó all(todo)

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

NameTypeDescription

promotion_id

string

ID de la promoción

Headers

NameTypeDescription

X-Spree-Token

string

Token generado desde el CMS de GS

Request Body

NameTypeDescription

type

string

Tipo de regla, el valor de este campo es Spree::Promotion::Rules::FirstOrder

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

NameTypeDescription

promotion_id

string

ID de la promoción

Headers

NameTypeDescription

X-Spree-Token

string

Token generado desde el CMS de GS

Request Body

NameTypeDescription

type

string

vTipo de regla, el valor de este campo es Spree::Promotion::Rules::OneUsePerUser

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

Usuario es referido

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

Path Parameters

NameTypeDescription

promotion_id

string

ID de la promoción

Headers

NameTypeDescription

X-Spree-Token

string

Token generado desde el CMS de GS

Request Body

NameTypeDescription

type

string

Tipo de regla, el valor de este campo es Spree::Promotion::Rules::ReferredPromotionRule

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

Usuario es afiliado

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

Path Parameters

NameTypeDescription

promotion_id

string

ID de la promoción

Headers

NameTypeDescription

X-Spree-Token

string

Token generado desde el CMS de GS

Request Body

NameTypeDescription

type

string

Tipo de regla, el valor de este campo es Spree::Promotion::Rules::AffiliatedPromotionRule

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

Usuarios específicos

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

Path Parameters

NameTypeDescription

promotion_id*

String

ID de la promoción

Headers

NameTypeDescription

X-Spree-Token

String

Token generado desde el CMS de GS

Request Body

NameTypeDescription

type

String

Tipo de regla, el valor de este campo es Spree::Promotion::Rules::User

users_ids

Array

Array de id de usuarios afectados [1, 2, 3, 4, 5]

Eliminar regla

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

Path Parameters

NameTypeDescription

promotion_id

string

ID de la promoción

id

string

ID de la regla.

Headers

NameTypeDescription

X-Spree-Token

string

Token generado desde el CMS de GS

Última actualización