User Tools

Site Tools


integration-api:detailed

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
integration-api:detailed [2018/06/26 09:38]
tjotov created
integration-api:detailed [2019/08/01 09:54]
tjotov removed
Line 1: Line 1:
 ====== ADUCID Integration API Description ====== ====== ADUCID Integration API Description ======
 +
 +advanced method to pass more parameters like transaction amount, description, etc.
 +    aducid.setInitParams = function(param) {
 +        initParams = param;
 +    }
 +
 +tell server to generate QR / or not to reduce payload
 +    aducid.setGenerateQr = function(param) {
 +        generateQr = param;
 +    }
 +
 +QR code and animation location jQuery
 +    aducid.setQrCode = function(param) {
 +        qrCode = param;
 +    }
 +    
 +QR code hint jQuery
 +    aducid.setQrHint = function(param) {
 +        qrHint = param;
 +    }
 +
 +Embedded timer location
 +    aducid.setQrTimer = function(param) {
 +        qrTimer = param;
 +    }
 +
 +debug DOM to display internal messages
 +    aducid.setDebug = function(param) {
 +        aducidDebug = param;
 +    }
 +
 +server URL typically provided by server side controller
 +    aducid.setStartOperationUrl = function(param) {
 +        startOperationUrl = param;
 +    }
 +
 +check method location provided by server side controller
 +    aducid.setResultOperationUrl = function(param) {
 +        resultOperationUrl = param;
 +    }
 +
 +    //URL with proxy method provided  by server
 +    //returns status oft running operation from AIM until finish
 +    aducid.setProxyUrl = function(param) {
 +        proxyUrl = param;
 +    }
 +
 +Tell AJAX to use GET or POST
 +POST is used to deliver more data like transaction parameters
 +    aducid.setAjaxMethod = function(param) {
 +        ajaxMethod = param;
 +    }
 +
 +Redirect URL for iOS typically provided by server side controler
 +    aducid.setRedirectUrl = function(param) {
 +        redirectUrl = param;
 +    }
 +
 +Button with bound operation
 +    aducid.setButton = function(param) {
 +        aducidButton = param;
 +        param.click(function() {
 +            if (currentRequest != null) instance.startOperation();
 +            else instance.init(true);
 +        });
 +    }
 +
 +Internal logic to evaluate API binding mode
 +    aducid.setSessionBinding = function(param) {
 +        if (param == "QR" || param == "URI") {
 +        }
 +        else param = "";
 +        localStorage['session-binding'] = param;
 +    }
 +
 +Get last binding mode
 +    aducid.getSessionBinding = function() {
 +        return localStorage['session-binding'];
 +    }
 +
 +Is binding URI?
 +    aducid.isURI = function() {
 +        return instance.getSessionBinding() == "URI";
 +    }
 +    
 +Is binding QR?
 +    aducid.isQR = function() {
 +        return instance.getSessionBinding() == "QR";
 +    }
 +
 +Is this operation going to be authentication (i.e. first operation in chain)?
 +    aducid.setAuthentication = function() {
 +        instance.setSessionBinding(null);
 +    }
 +
 +Text hint shown before operation started
 +    aducid.showQRHint = function(param) {
 +        if (qrHint != null) qrHint.html(localize("aducid_common_authenticateComment"));
 +    }
 +
 +How API can hide text hint
 +    aducid.hideQRHint = function(param) {
 +        if (qrHint != null) qrHint.html("");
 +    }
 +
 +Text hint shown after operation started
 +    aducid.showRunningHint = function(param) {
 +        if (qrHint != null) qrHint.html(localize("aducid_common_authenticationProgress"));
 +    }
 +
 +How API can hide text hint
 +    aducid.hideRunningHint = function(param) {
 +        if (qrHint != null) qrHint.html("");
 +    }
 +
 +The most important method - what API should do when operation finishes (not processed on iOS as we use returnUrl directly there)
 +    aducid.processResult = function(result) {
 +        alert(result);
 +    }
 +
 +How PEIG not installed is treated, marketplace redirect can be used here
 +    aducid.showPeigError = function() {
 +        alert("peig error - override this function")
 +    }
 +
 +
 +Auxiliary method to animate operation in progress
 +    aducid.startAnimation = function() {
 +        if (qrCode != null) {
 +            qrCode.show();
 +            qrCode.attr("src", "/aducid-resources/img/running.gif");
 +        }
 +    }
 +    
 +Stop animation
 +    aducid.stopRunningAnimation = function() {
 +        if (qrCode == null) return;
 +        qrCode.hide();
 +    }
 +
 +
 +This method controll progress bar animation. See aducid-api.js
 +   this.startProgressBar = function(animationTime) {
 +   }
 +
 +
 +Hide QR timer progress bar
 +    aducid.hideProgressBar = function() {
 +        if (qrTimer == null) return;
 +        qrTimer.hide();
 +        qrTimer.html("");
 +    }
 +
 +How errors are treated - use nice dialogues here
 +    aducid.handleError = function(e) {
 +        alert(e);
 +    }
 +
 +