Cupones

Administración de cupones

Bsale permite la creación de cupones de descuentos, los cuales por el momento sólo podrán ser utilizados por los clientes que cuentan con tienda en línea de Bsale.


Estructura JSON

Al realizar una petición HTTP, el servicio retornara un JSON con la siguiente estructura:

{

"code": "200",

"data": {

"id": 12443,

"name": "bDVESTFWj3on",

"description": "",

"serialNumber": "bDVESTFWj3on",

"type": "1",

"amount": 10,

"disabled": 0,

"properties": {

"fromDate": 1592186663,

"repeteable": false,

"combinable": false

},

"createdAt": 1592187737,

"updatedAt": 0,

"currencyId": 1,

"used": {

"href": "https://api.bsale.io/v1/report/coupon/movements/count/12443.json"

},

"href": "https://api.bsale.io/v1/admin/coupon/12443.json"

}

}

En donde

  • id: Identificador único del cupón

  • name: Nombre asociado al cupón,

  • description: Descripción corta utilizada para definir los objetivos y alcance de un cupón,

  • serialNumber: Número de serie asociado al cupón, el cual corresponde a la serie que se ingresará para su uso. Esta debe ser única para una determinada empresa, es decir no permite que se repita una misma serie.

  • type: Corresponde a que tipo de cupón es esto es 1: se trabaja con montos, 2: se trabaja en base a %, 3: el cupón asociado a un despacho gratuito.

  • amount: Monto asociado al cupón, que corresponde a valor descuento o % según esté definido en el tipo.

  • disabled: Estado de un cupón esto es 0 activo, 1 desactivado

  • properties: Corresponde a la lista de propiedades de un cupón las cuales están definidas por:

    • uses: Define el número de veces que se pue utilizar el cupon (si no existe se entiene que no tiene límite)

    • fromDate: Fecha a partir de la cual se puede usar el cupón

    • toDate: Fecha límite para el uso del cupón

    • combinable: Define si el cupón permite que se use en combinación con otros cupones (valores permitidos True o False).

    • repeteable: Define si el cupón puede ser utilizado por un mismo correo mas de una vez (Valores permitidos True o False)

    • collections: Nodo que almacena el arreglo de las colecciones donde se puede aplicar el cupón (opcional)

    • maxAmount: Monto máximo de descuento que se hará cuando los cupones son en %.

    • minAmount: Monto mínimo para aplicar descuento en checkout

  • createdAt: Fecha en ela que el cupón fue creado (formato Unix)

  • updatedAt: Fecha en la que el cupón fue modificado (formato Unix y 0 valor por defecto)

  • currencyId: Id de moneda asociada al monto de un cupón.

  • used: Identifica el link que permite obtener el número de veces que se ha usado un cupón.

GET Listar cupones

GET /v1/loyalty/coupons.json

Al realizar una petición HTTP, el servicio retornará los cupones del market

Parámetros

  • name :Nombre asociado al cupón

  • serial: Número de serie asociado al cupón

  • limit: Numero de cupones a desplegar en la lista

  • offset: offset de la lista a desplegar

  • disabled: Filtra los cupones activos de los inactivos (0: activos 1: desactivados)

  • type: Filtra por tipo de cupón es esto es 0 : se trabaja con montos, 1 : se trabaja en base a % 2 : el cupón asociado a un despacho gratuito.

  • order: Permite definir un orden de despliegue en base a la fecha de creación “ASC” se despliega con fechas ascendentes “DESC” se despliegan con fechas descendentes

Ejemplos

  • GET /v1/loyalty/coupons.json?expand=used

Respuesta

{

"code": "200",

"href": "https://api.bsale.io/v1/admin/coupons.json",

"count": 10495,

"limit": 3,

"offset": 0,

"data": [

{

"id": 65,

"name": "FlashDiscount",

"description": "",

"serialNumber": "FLASH2220OFF",

"type": "1",

"amount": 20,

"disabled": 1,

"properties": {

"fromDate": 1520942596,

"uses": "20",

"repeteable": false,

"combinable": false

},

"createdAt": 1520943181,

"updatedAt": 0,

"currencyId": 1,

"used": 0,

"movementsCount": 0,

"href": "https://api.bsale.io/v1/admin/coupons/65.json"

},

{

"id": 6894,

"name": "FORTUNA",

"description": "",

"serialNumber": "FORTUNA2022",

"type": "1",

"amount": 20,

"disabled": 0,

"properties": {

"fromDate": 1581023039,

"products": [

"133"

],

"toDate": 1581303600,

"repeteable": false,

"combinable": false

},

"createdAt": 1581024038,

"updatedAt": 0,

"currencyId": 1,

"used": 0,

"movementsCount": 0,

"href": "https://api.bsale.io/v1/admin/coupons/6894.json"

},

{

"id": 7411,

"name": "Despacho Gratis - Cuarentena 2020",

"description": "",

"serialNumber": "DulceCuarentena1",

"type": "2",

"amount": 0,

"disabled": 1,

"properties": {

"fromDate": 1584715332,

"toDate": 1588219200,

"repeteable": false,

"combinable": false

},

"createdAt": 1584716351,

"updatedAt": 0,

"currencyId": 1,

"used": 0,

"movementsCount": 0,

"href": "https://api.bsale.io/v1/admin/coupons/7411.json"

}

],

"next": "https://api.bsale.io/v1/admin/coupons.json?limit=3&offset=3"

}

GET Un cupón

GET /v1/loyalty/coupons/:id.json

Al realizar una petición HTTP, el servicio retornará un cupón

Parámetros

  • id :Identificador único del cupón

Ejemplos

  • GET /v1/loyalty/coupons.json?expand=used

Respuesta

{

"code": "200",

"data": {

"id": 12443,

"name": "bDVESTFWj3on",

"description": "",

"serialNumber": "bDVESTFWj3on",

"type": "1",

"amount": 10,

"disabled": 0,

"properties": {

"fromDate": 1592186663,

"repeteable": false,

"combinable": false

},

"createdAt": 1592187737,

"updatedAt": 0,

"currencyId": 1,

"used": {

"href": "https://api.bsale.io/v1/report/coupon/movements/count/12443.json"

},

"href": "https://api.bsale.io/v1/admin/coupon/12443.json"

}

}

POST Un cupón

POST /v1/loyalty/coupons.json

Se debe enviar un Json con la siguiente estructura

{

"name": "Cupon Ultra",

"description": "Cupones de $50.000 Ultra Rebajado",

"type": "0",

"amount": "50000",

"properties": {

"fromDate": 1600789326,

"toDate": 1588945302,

"collections": [

"369"

],

"maxAmount": "5000",

"repeteable": true,

"combinable": true

},

"serialNumber": "ULTRA2022"

}

Respuesta

{

"code": "200",

"data": [

{

"id": 68350,

"name": "Cupon Ultra",

"description": "Cupones de $50.000 Ultra Rebajado",

"serialNumber": "ULTRA2022",

"type": "0",

"amount": 50000,

"disabled": 0,

"properties": {

"fromDate": 1600789326,

"toDate": 1588945302,

"maxAmount": "5000",

"repeteable": true,

"combinable": true

},

"createdAt": 1632251153,

"updatedAt": 0,

"currencyId": 0,

"used": 0,

"movementsCount": 0,

"href": "http://10.10.1.15/v1/admin/coupon/68350.json"

}

]

}

PUT Un cupón

PUT /v1/loyalty/coupons/:id.json

En el caso de los PUT o actualizaciones, se puede mandar de manera independiente cualquiera de los atributos que se quiere actualizar.

Por ejemplo si queremos dejar el cupón en un estado inactivo podemos enviar

Se debe enviar un Json con la siguiente estructura

{

"disabled": 1

}

Respuesta

{

"code": "200",

"data": {

"id": 9585,

"name": "Cupon Ultra",

"description": "Cupones de $50.000 Ultra Rebajado",

"type": "0",

"amount": "50000",

"disabled": 1,

"properties": {

"fromDate": 1600789326,

"toDate": 1588945302,

"collections": [

"369"

],

"maxAmount": "5000",

"repeteable": true,

"combinable": true

},

"serialNumber": "ULTRA2021",

"createdAt": 1588549200,

"updatedAt": 0,

"currencyId": 1,

"used": 0,

"href": "https://api.bsale.io/v1/admin/coupon/9585.json"

}

}