Operación Básica
Todo el proceso de transacción con CliSiTef se basa en llamadas a funciones, espera de su regreso, decisión de lo qué hacer con el resultado y realización de la próxima llamada. Todas las llamadas iniciales son hechas para configurar el sistema, luego se pasa a la transacción en sí y, al final, se realizan algunas llamadas de función para finalizar la transacción.
#
Paso inicialPara empezar, la función ConfiguraIntSiTefInterativo es llamada por el TPV, con todos sus parámetros, como la dirección IP de SiTef, el código de la compañía y el ID del terminal (que se describen más adelante en el documento).
Esta función solo debe llamarse cuando CliSiTef se carga y no es necesario llamarlo con cada nueva transacción (a menos que haya una necesidad específica de cambiar los parámetros de la compañía, terminal o IP del servidor SiTef).
Una vez hecho esto, la rutina devuelve un valor que muestra sí aceptó el comando o no. Si este valor es 0 (cero), el proceso tuvo éxito.
#
Comenzando una transacciónLuego, llame a la función IniciaFuncaoSiTefInterativo y pase los parámetros que necesita: valor de transacción, fecha/hora, número de factura y otros.
Esta función devuelve el valor 10000 para continuar la transacción u otro valor para finalizarla.
Si el valor devuelto es 10000, llame a la función ContinuaFuncaoSiTefInterativo con los parámetros que se describen en los siguientes temas.
Mientras CliSiTef devuelve el valor 10000, el TPV debe seguir llamando a esta función tantas veces como sea necesario hasta que el valor de retorno sea igual a 0, indicando que el proceso tuvo éxito, o diferente de 0 y de 10000, que indica que se produjo una interrupción anormal.
#
Confirmación/no confirmación de la transacciónSi el valor de retorno es 0, el TPV cierra el ciclo y, si hay un boleto EFT para imprimir, debe imprimirlo y llamar a la función FinalizaFuncaoSiTefInterativo. Esta última función confirma o no la transacción, dependiendo de si la impresora imprimió o no el documento correctamente.
Si el valor de retorno es diferente de 10000 y de 0, entonces el TPV simplemente abandona el ciclo y puede mostrar o no un mensaje de acuerdo con el valor de retorno. Por ejemplo, si el valor de retorno fue -2, esto significa que el operador canceló la transacción. Este documento describe estos valores negativos más adelante.
#
Diagrama de flujo del proceso de CliSiTefEjemplificando gráficamente el flujo descrito en este tema, tendríamos lo siguiente: