Permite a un cliente, agregar un producto al carrito de compras si la configuración en el servidor lo permite, o genera una compra y pago directo (política de pago forzado y si no tiene saldo ni puede comprar).
Opcionalmente, esta función validará que se esté usando la WEB desde la PC target misma (por eso pide el PCNameID y PCToken), ya que esta API es un reemplazo idéntico al shopping usable que está dentro del CyberControlCient.EXE. También mirará si se compra desde una sesión web con cuenta, lo que permitirá hacer compras sin que la PC esté habilitada (por ej. para comprar un bundle que habilite la PC con minutos incluidos) Por eso pide también el Session TokenID de la sesión, si no hay especificado una sesión, intentará usar la cuenta que habilitó la PC, pero si la PC no tiene habilitación con cuenta, es decir, no tiene una cuenta de ninguna manera, significa que se compra anónimamente y las compras anónimas pueden quedar bloqueadas según la configuración del servidor, ya que el objetivo es validar que quien compra, y potencialmente compre a cuenta a pagar al final, esté realmente sentado en la PC desde donde se supone que hace la compra, y que no sea un bromista plantando compras en las PCs remotamente sin siquiera estar presente en el establecimiento.
Si no se especifica una ubicación de PC, es decir, como cuando la compra se hace de forma ONLINE vía un celular, esta función comprará del catálogo disponible del local configurado en OnlineShoppingAttendedByLocalNumber (configurado en el servidor en la sección “Artículos y/o servicios en venta), que indica, cual local se hará cargo de las compras online presumiblemente desde fuera de un establecimiento. Como no se especifica una ubicación de PC, las funciones de agregar al carrito y pagar el carrito no estarán disponibles, ya que internamente en el servidor “el carrito” es en realidad, la lista de consumos adicionales de las PCs, al no haber PC indicada, se aplicarán políticas de pago forzado usando la cuenta señalada por el Session TokenID (salteando el carrito) , claro, nada impide que se simule la función del carrito EN LA WEB misma, por ej. en el javascript client side, que retenga todas las compras y luego use esta función para procesar todo el carrito de compras una vez que el cliente indica pagar el carrito.
Minimum version for the target server required: v17.5.0.
Input parameters:
- CommandClass =_ADDPRODUCTTOCART
- Param1 = target CyberName.
- Param2 = Opcional: PCNameID + ASCI(1) + PCToken.
- Param3 = Opcional: Session TokenID.
- Param4 = ShortCode + ASCI(1) + Cantidad
Output:
[{“ResponseClass”: “ERROR”, “Param1”: “message”, … }]
[{“ResponseClass”: “OK”, “Param1″:”Leyenda Ayuda”}]
Example of usage:
Pide comprar el producto ID “PROD”, cantidad 1, en la PC01.