Crear cupón
Para crear un cupon se debe llamar al recurso /coupon/create
mediante un método POST. El esquema de recurso es del tipo application/x-www-form-urlencoded
, que debe ser indicado en el header Content-Type.
apiKey required | string apiKey del comercio |
name required | string Nombre del cupón |
percent_off | number Porcentaje del cupon. Número entre 0 y 100. Permite 2 decimales con punto decimal. Ejemplo 10.2. No se agrega el signo % |
currency | string Moneda del descuento. Solo agregue la moneda para cupones de monto. |
amount | number Monto del descuento |
duration | number Duración del cupón:
|
times | number Si la duración del cupón es definida, este campo indica las veces de duración del cupón. Si el cupón se aplica a un cliente veces corresponderá a meses. Si l cupón se aplica a una suscripción, veces corresponderá a los períodos del Plan. |
max_redemptions | number Número de veces de aplicación del cupón. |
expires | string Fecha de expiración del cupón en formato yyyy-mm-dd |
s required | string la firma de los parámetros efectuada con su secretKey. |
{- "apiKey": "string",
- "name": "string",
- "percent_off": 0,
- "currency": "string",
- "amount": 0,
- "duration": 0,
- "times": 0,
- "max_redemptions": 0,
- "expires": "string",
- "s": "string"
}
Firma de parámetros
Ejemplos de firmado de parámetros en diferentes lenguajes de programación
- PHP
- NodeJS
- Phyton
$secretKey = 'my secret'
$params = array(
'apiKey' => '1F90971E-8276-4715-97FF-2BLG5030EE3B',
'token' => 'AJ089FF5467367'
);
$keys = array_keys($params);
sort($keys);
$toSign = '';
foreach($keys as $key) {
$toSign .= $key . $params[$key];
};
$signature = hash_hmac('sha256', $toSign , $secretKey);
const {createHmac} = require("node:crypto")
const secretKey = "my secret";
const params = {
apiKey: "1F90971E-8276-4715-97FF-2BLG5030EE3B",
token: "AJ089FF5467367",
};
const keys = Object.keys(params);
keys.sort();
let toSign = "";
for (let i = 0; i < keys.length; i++) {
let key = keys[i];
toSign += key + params[key];
}
const signature = createHmac("sha256",secretKey).update(toSign).digest("hex")
import hmac
import hashlib
secret_key
params = {
'apiKey': '1F90971E-8276-4715-97FF-2BLG5030EE3B',
'token': 'AJ089FF5467367'
}
keys = list(params.keys())
keys.sort()
to_sign = ''
for key in keys:
to_sign += key + params[key]
signature = hmac.new(secret_key.encode(), to_sign.encode(), hashlib.sha256).hexdigest()
El servicio retorna el objeto cupon creado.
id | number El identificador del cupón |
name | string El nombre del cupón |
percent_off | number Si el cupón es del tipo porcentaje, en este campo indica el porcentaje de descuento, sino, muestra vacío. |
currency | string Si el cupón es del tipo monto, aquí va la moneda, sino, muestra vacío |
amount | number Si el cupón es del tipo monto, aquí va el monto de descuento, sino, muestra vacío |
created | string La fecha de creación del cupón |
duration | number Si el cupón es de duración indefinida = 0, o es de duración definida = 1 |
times | number Si el cupón es de duración definida, en este campo va el número de veces de duración. Si el cupón es aplicado a un cliente, el número de duración equivale a meses, si el cupón es aplicado a una suscripción, el número de duración será los períodos del plan de suscripción |
max_redemptions | number Es el número de veces que puede ser aplicado este cupón, ya sea a clientes o a suscripciones. Una vez que se completa el número de veces, ya no queda disponible para ser aplicado. |
expires | string <yyyy-mm-dd hh:mm.ss> Si el cupón se creó con fecha de expiración aquí va la fecha. |
status | number El estado del cupón, Activo = 1, Inactivo = 0 |
redemtions | number El número de veces que se ha aplicado este cupón |
{- "id": 166,
- "name": 166,
- "percent_off": 10,
- "currency": "CLP",
- "amount": 2000,
- "created": "2018-07-13 09:57:53",
- "duration": 1,
- "times": 1,
- "max_redemptions": 50,
- "expires": "2018-12-31 00:00:00",
- "status": 1,
- "redemtions": 21
}