API Cupones
Encuentra aquí toda la información necesaria para la integración del canjeo de cupones con el TPV de tu local.
Índice
Definición código QR
Parámetros
Contenido
Ejemplo
Definición servicio Web
Comprobación validez de un código de cupón
Confirmación uso de un código de cupón
1. Definición código QR
1.1. Parámetros
Un código QR deberá contener obligatoriamente 2 parámetros:
promotion_id: Código promoción único y existente en el sistema de Proveedor de TPV.
Con este identificador, el Proveedor de TPV debe reconocer que promoción tiene que aplicar sobre el ticket actual y mostrar un mensaje de información al empleado si la promoción no se puede aplicar (en el caso que el producto promocionado no esté incluido en el ticket actual).
El formato del promotion_id es un campo numérico de hasta 9 caracteres.
voucher_id: Identificador del código de descuento, es un identificador único y estará asociado a un único cliente (en el sistema de Cheerfy).
Este parámetro es el que se va a utilizar desde Proveedor de TPV para:
Saber si el código es válido
Confirmar su uso una vez aplicada la promoción y confirmado el ticket por parte del empleado
El formato del voucher_id es un campo alfanumérico de hasta 32 caracteres de longitud.
1.2. Contenido
El QR code contendrá los 2 parámetros definidos en la sección "Parámetros" sin saltos de línea, ni otros caracteres adicionales. Existe un separador definido como $$$$$ para separar los 2 campos.
El contenido al escanear un código QR debería ser algo parecido a esto (los identificadores de promoción y voucher son un ejemplo):
1.3. Ejemplo
Adjuntamos un código QR, con el código de ejemplo anterior, por si es necesario hacer una prueba por parte de Proveedor de TPV.
2. Definición servicio WEB
Las llamadas desde el sistema Proveedor de TPV a Cheerfy se harán mediante servicios Web de tipo REST y con contenido definido en formato JSON.
Cada llamada deberá contener una serie de parámetros obligatorios en la cabecera (además de los propios parámetros del servicio que se invoque), estos parámetros de la cabecera indicarán:
El contenido tiene formato JSON:
Los datos de autenticación de la llamada:
2.1. Comprobación validez de un código de cupón
Una vez el Proveedor de TPV escanea un código de cupón (voucher_id), tiene que confirmar con Cheerfy que ese código es válido, para ello, necesita consultar un servicio Web REST.
La respuesta en el caso de error, por ahora no contendrá datos del estado del cupón (expirado o redimido), ya que Cheerfy muestra esa información en la landing page del código, no obstante, es un dato que podría incluirse en próximas versiones.
URL:
Método HTTP:
Parámetros de la cabecera:
Parámetros de la llamada:
Ejemplo llamada:
Parámetros de la respuesta (código 200 OK):
Ejemplo respuesta (200 OK):
Parámetros respuesta (código 400 Invalid Request):
Ejemplo respuesta (400 Invalid data):
Parámetros respuesta (código 400 Invalid Request):
Ejemplo respuesta (400 Invalid promotion):
Parámetros respuesta (código 400 Invalid promotion):
Ejemplo respuesta (400 Expired promotion):
Parámetros respuesta (código 400 Expired promotion):
Ejemplo respuesta (400 Used promotion):
Parámetros respuesta (código 400 Used promotion):
Parámetros respuesta (código 500 Internal Error):
Ejemplo respuesta (500 Internal Error):
2.2. Confirmación uso de un código de cupón
Una vez Proveedor de TPV aplica una promoción sobre un ticket válido, tiene que confirmar con Cheerfy que ese código ha sido usado, para ello, necesita consultar un servicio Web REST.
En caso de error 500 (recibiendo anteriormente un 200 de la llamada de chequeo), Proveedor de TPV internamente intentará volver a llamar 3 veces (una vez cada 1 segundo), en caso de seguir recibiendo error 500, Proveedor de TPV dará por bueno el cupón, y Cheerfy tendrá que recuperar esa información de uso por otro mecanismo (a definir como).
En caso de error 400, el código ha expirado o se ha usado en ese momento, (recibiendo anteriormente un 200 de la llamada de chequeo), Proveedor de TPV dará por bueno el código, asumiendo que se ha podido usar 2 veces o ya expiró.
URL:
Método HTTP:
Parámetros de la cabecera:
Parámetros de la llamada:
Ejemplo de llamada:
Parámetros de la respuesta (código 200 OK):
Ejemplo respuesta (200 OK):
Parámetros respuesta (código 400 Invalid Request):
Ejemplo respuesta (400 Invalid data):
Parámetros respuesta (código 500 Internal Error):
Ejemplo respuesta (500 Internal Error):
Última actualización