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