Este método de la API de Experticket permite comprobar si un cupón de descuento puede aplicarse a una venta y evaluar su impacto en los precios.
1. Método de Acceso
Parámetro |
Descripción |
URL |
{baseurl}/api/checkticketsquestions |
Verbo HTTP |
POST |
2. Estructura de Datos de Envío (Body JSON)
Para comprobar los cupones de descuento, se deben enviar los siguientes parámetros en la solicitud.
Campo |
Descripción |
ApiKey |
Obligatorio. Clave única y privada del colaborador (debe mantenerse en secreto). |
DiscountCouponCodes |
Obligatorio. Array de códigos de cupones de descuento que se desean verificar. |
Sale |
Obligatorio. Información sobre la venta. |
Sale.Products |
Obligatorio. Array con los productos incluidos en la venta. |
Products.Id |
Obligatorio. Identificador único del producto dentro de la venta. |
Products.ProductId |
Obligatorio. Identificador del producto obtenido previamente del catálogo. |
Products.Price |
Obligatorio. Precio del producto antes de aplicar descuentos. |
Products.AccessDate |
Opcional. Fecha de acceso del producto. |
3. Ejemplo de Solicitud POST
POST /api/checkticketsquestions HTTP/1.1
Host: demo.api.experticket.com
Content-Type: application/json
{
"ApiKey": "{apiKey}",
"DiscountCouponCodes": [
"CC20201%"
],
"Sale": {
"Products": [
{
"Id": "uniqueId",
"ProductId": "v1swa4y7monf5",
"Price": 25
}
]
}
}
4. Estructura de la Respuesta
Campo |
Descripción |
DiscountCoupons |
Array con información sobre los cupones evaluados. |
DiscountCoupons[].Id |
Identificador del cupón de descuento. |
DiscountCoupons[].Code |
Código del cupón evaluado. |
DiscountCoupons[].Name |
Nombre del cupón. |
DiscountCoupons[].Description |
Descripción del cupón. |
DiscountCoupons[].IsValid |
true si el cupón es válido, false si no lo es. |
DiscountCoupons[].NotValidReason |
Razón por la que el cupón no es válido (si aplica). |
Sale |
Información sobre la venta tras la validación del cupón. |
Sale.Products |
Array de productos incluidos en la venta. |
Products[].Id |
Identificador único del producto dentro de la venta. |
Products[].ProductId |
Identificador del producto en el catálogo. |
Products[].PriceWithoutDiscounts |
Precio antes de aplicar los descuentos. |
Products[].Price |
Precio final después de aplicar los descuentos. |
Products[].DiscountsAmount |
Monto total del descuento aplicado. |
Products[].AppliedCoupons |
Array con los cupones aplicados exitosamente. |
AppliedCoupons[].Id |
Identificador del cupón aplicado. |
AppliedCoupons[].Code |
Código del cupón aplicado. |
AppliedCoupons[].Discount |
Descuento aplicado por el cupón. |
AppliedCoupons[].PriceModifierType |
Tipo de descuento: 1 = Porcentaje, 3 = Valor absoluto. |
AppliedCoupons[].PriceModifierValue |
Valor del descuento aplicado. |
Success |
true si la solicitud fue procesada correctamente. |
ErrorMessage |
Mensaje de error en caso de falla. |
5. Ejemplo de Respuesta Exitosa
{
"DiscountCoupons": [
{
"Code": "CC20201%",
"IsValid": true,
"NotValidReason": null,
"Name": "Coca Cola 2020 1%",
"Description": "1 % de descuento sobre todo el carrito",
"Id": "a1swa4y5monf4"
}
],
"Sale": {
"Products": [
{
"Id": "uniqueId",
"ProductId": "v1swa4y7monf5",
"AppliedCoupons": [
{
"Id": "yik6xjaha6ye6",
"Code": "CC20201%",
"Discount": 0.25,
"AppliesTo": 1,
"Name": "Coca Cola 2020 1%",
"Description": "1 % de descuento sobre todo el carrito",
"Order": 1,
"PriceModifierType": 1,
"PriceModifierValue": 1
}
],
"PriceWithoutDiscounts": 25,
"Price": 24.75,
"DiscountsAmount": 0.25
}
]
},
"Success": true,
"Timestamp": "2024-02-05T17:02:27.8165916",
"ErrorEntityBreakDown": []
}
6. Consideraciones Finales
- ✅ Este método permite verificar si un cupón es válido y qué efecto tiene sobre el precio de los productos.
- 📌 Se puede probar múltiples cupones a la vez enviándolos en un array.
-
⚠️ Si IsValid = false, se debe revisar NotValidReason para conocer el motivo del rechazo.
-
🛒 Los descuentos pueden aplicarse de dos maneras:
-
AppliesTo: 0 → Sobre el precio original del producto.
-
AppliesTo: 1 → Sobre el precio después de aplicar otros descuento