Skip to main content
Version: 📄 CL

API 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. Para autenticar las peticiones en todos los endpoints se debe enviar en la cabecera el parámetro access_token.

info

Cómo funciona la interfaz de Bsale, mira esta referencia

  • Creación de cupones ir

Estructura JSON

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

Response /loyalty/coupons.json
{
"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"
}
}

Atributos

AtributoDescripciónTipo dato
idIdentificador único del cupónInteger
nameNombre asociado al cupónString
descriptionDescripción corta utilizada para definir los objetivos y alcance de un cupónString
serialNumberNú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 serieString
typeTipo de cupón, comportamiento 1: se trabaja con montos, 2: se trabaja en base a %, 3: el cupón asociado a un despacho gratuitoString
amountMonto asociado al cupón, que corresponde a valor descuento o % según esté definido en el tipoString
disabledEstado de un cupón esto es 0 activo, 1 desactivadoString
propertiesPropiedades del cupón, las cuales se pueden definir como uso, fechas, combinaciones, repeticiones, colecciones, montos.String
createdAtFecha en ela que el cupón fue creadoUnix
updatedAtFecha en la que el cupón fue modificado (formato Unix y 0 valor por defecto)Unix
currencyIdId de moneda asociada al monto de un cupónString
usedIdentifica el link que permite obtener el número de veces que se ha usado un cupón.String
info

Propiedades del cupón

  • 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

GET lista de cupones

  • GET /v1/loyalty/coupons.json retorna todos los cupones.

Parámetros

  • limit, limita la cantidad de items de una respuesta JSON, por defecto el limit es 25, el máximo permitido es 50.
  • offset, permite paginar los items de una respuesta JSON, por defecto el offset es 0.
  • name, Nombre asociado al cupón
  • serial, Número de serie asociado al cupón
  • 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?limit=50&offset=0
  • GET /v1/loyalty/coupons.json?expand=used

Respuesta

Response /coupons.json
{
"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": "FORTUNA-2030",
"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 retorna un único cupón.

Parámetros

  • id, Identificador único del cupón.

Ejemplos

  • GET /v1/admin/coupon/:id.json

Respuesta

Response /coupons.json
{
"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

Ejemplo JSON

Envío

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

Response /loyalty/coupons.json
{
"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": "ULTRA2030"
}

Respuesta

{
"code": "200",
"data": [
{
"id": 68350,
"name": "Cupon Ultra",
"description": "Cupones de $50.000 Ultra Rebajado",
"serialNumber": "ULTRA2030",
"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": "https://api.bsale.io/v1/admin/coupon/68350.json"
}
]
}

PUT un cupón

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

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 "disabled": 1

Se debe enviar un Json con la siguiente estructura

Ejemplo JSON

Envío

{
"name": "Cupon Ultra rebajado",
"description": "Cupones de $50.000 Ultra Rebajados"
}

Respuesta

{
"code": "200",
"data": {
"id": 9585,
"name": "Cupon Ultra rebajado",
"description": "Cupones de $50.000 Ultra Rebajados",
"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"
}
}