User Tools

Site Tools


web-integration:client-side

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
web-integration:client-side [2019/08/05 11:53]
tjotov
web-integration:client-side [2020/02/29 10:53] (current)
mpospisek [Web Integration API - Example]
Line 52: Line 52:
 ===== Web Integration API - Example ===== ===== Web Integration API - Example =====
  
-<code html>+<sxh html>
  
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
Line 122: Line 122:
 </html> </html>
  
-</code>+</sxh>
  
  
  
-===== Advanced usage =====+===== Detailed description =====
 See also source file "/aducid-resources/js/aducid-api.js" See also source file "/aducid-resources/js/aducid-api.js"
  
-=== Init Params === +==== Communication ==== 
-Method to pass more parameters like transaction amount, description, etc.+=== Start operation URL === 
 +Tell Web API where your start operation is.
 <sxh java> <sxh java>
-    aducid.setInitParams = function(param) { +    aducid.setStartOperationUrl = function(param) { 
-        initParams = param;+        startOperationUrl = param;
     }     }
 </sxh> </sxh>
-tell server to generate QR / or not to reduce payload+ 
 +=== Check method location provided by server side controller ===
 <sxh java> <sxh java>
-    aducid.setGenerateQr = function(param) { +    aducid.setResultOperationUrl = function(param) { 
-        generateQr = param;+        resultOperationUrl = param;
     }     }
 </sxh> </sxh>
  
-QR code alocation jQuery+=== Proxy method location ===
 <sxh java> <sxh java>
-    aducid.setQrCode = function(param) { +    aducid.setProxyUrl = function(param) { 
-        qrCode = param;+        proxyUrl = param;
     }     }
 +
 </sxh> </sxh>
  
-QR code hint jQuery+=== Tell AJAX to use GET or POST === 
 +POST is used to deliver more data like transaction parameters
 <sxh java> <sxh java>
-    aducid.setQrHint = function(param) { +    aducid.setAjaxMethod = function(param) { 
-        qrHint = param;+        ajaxMethod = param;
     }     }
 </sxh> </sxh>
  
 +=== Redirect URL set by GUI ===
 +This is usuallly set by server side but can be also managed from client side. Server side has higher priority.
 +<sxh java>
 +    aducid.setRedirectUrl = function(param) {
 +        redirectUrl = param;
 +    }
 +</sxh>
  
-debug DOM to display internal messages+=== Error redirect URL set by GUI === 
 +This is usuallly set by server side but can be also managed from client side. Server side has higher priority.
 <sxh java> <sxh java>
-    aducid.setDebug = function(param) { +    aducid.setErrorPage = function(param) { 
-        aducidDebug = param;+        errorPage = param;
     }     }
 </sxh> </sxh>
  
-server URL typically provided by server side controller+=== Final action === 
 +What API should do when operation finishes (not processed on iOS as we use returnUrl directly there)
 <sxh java> <sxh java>
-    aducid.setStartOperationUrl = function(param) { +    aducid.processResult = function(result) { 
-        startOperationUrl = param;+        alert(result);
     }     }
 </sxh> </sxh>
  
-check method location provided by server side controller+=== Use push === 
 +Tell Web API if it should use push (QR code was used previously).
 <sxh java> <sxh java>
-    aducid.setResultOperationUrl = function(param) { +    this.setPush = function(param) { 
-        resultOperationUrl = param;+        push = param == true; 
 +    } 
 +</sxh> 
 +==== UI methods ==== 
 +=== Tell server to generate QR / or not to reduce payload === 
 +<sxh java> 
 +    aducid.setGenerateQr = function(param) { 
 +        generateQr = param;
     }     }
 </sxh> </sxh>
  
- +=== QR code targeting using jQuery ===
-Tell AJAX to use GET or POST +
-POST is used to deliver more data like transaction parameters+
 <sxh java> <sxh java>
-    aducid.setAjaxMethod = function(param) { +    aducid.setQrCode = function(param) { 
-        ajaxMethod = param;+        qrCode = param;
     }     }
 </sxh> </sxh>
  
-Redirect URL for iOS typically provided by server side controler+=== QR code text hint jQuery ===
 <sxh java> <sxh java>
-    aducid.setRedirectUrl = function(param) { +    aducid.setQrHint = function(param) { 
-        redirectUrl = param;+        qrHint = param;
     }     }
 </sxh> </sxh>
  
-Button with bound operation+=== Button bound operation === 
 +<sxh java>
     aducid.setButton = function(param) {     aducid.setButton = function(param) {
         aducidButton = param;         aducidButton = param;
Line 203: Line 223:
         });         });
     }     }
- +</sxh> 
- +=== Text hint shown before operation started === 
-Get last binding mode +<sxh java>
-    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) {     aducid.showQRHint = function(param) {
         if (qrHint != null) qrHint.html(localize("aducid_common_authenticateComment"));         if (qrHint != null) qrHint.html(localize("aducid_common_authenticateComment"));
     }     }
 +</sxh>
  
-How API can hide text hint+=== How API can hide text hint === 
 +<sxh java>
     aducid.hideQRHint = function(param) {     aducid.hideQRHint = function(param) {
         if (qrHint != null) qrHint.html("");         if (qrHint != null) qrHint.html("");
     }     }
  
-Text hint shown after operation started+=== Text hint shown after operation started === 
 +<sxh java>
     aducid.showRunningHint = function(param) {     aducid.showRunningHint = function(param) {
         if (qrHint != null) qrHint.html(localize("aducid_common_authenticationProgress"));         if (qrHint != null) qrHint.html(localize("aducid_common_authenticationProgress"));
     }     }
 +</sxh>
  
-How API can hide text hint+=== How API can hide text hint === 
 +<sxh java>
     aducid.hideRunningHint = function(param) {     aducid.hideRunningHint = function(param) {
         if (qrHint != null) qrHint.html("");         if (qrHint != null) qrHint.html("");
     }     }
- +</sxh> 
-The most important method - what API should do when operation finishes (not processed on iOS as we use returnUrl directly there) +==Auxiliary method to animate operation in progress === 
-    aducid.processResult function(result) { +<sxh java>
-        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() {     aducid.startAnimation = function() {
         if (qrCode != null) {         if (qrCode != null) {
Line 263: Line 258:
         }         }
     }     }
 +</sxh>
          
-Stop animation+=== Stop animation === 
 +<sxh java>
     aducid.stopRunningAnimation = function() {     aducid.stopRunningAnimation = function() {
         if (qrCode == null) return;         if (qrCode == null) return;
         qrCode.hide();         qrCode.hide();
     }     }
 +</sxh>
 +==== Advanced methods ====
 +=== Init Params ===
 +Method to pass more parameters like transaction amount, description, etc.
 +<sxh java>
 +    aducid.setInitParams = function(param) {
 +        initParams = param;
 +    }
 +</sxh>
  
-How errors are treated - use nice dialogues here+=== Debug DOM to display internal messages === 
 +<sxh java> 
 +    aducid.setDebug = function(param) { 
 +        aducidDebug = param; 
 +    } 
 +</sxh> 
 + 
 +=== Is binding URI? === 
 +<sxh java> 
 +    aducid.isURI = function() { 
 +        return instance.getSessionBinding() == "URI"; 
 +    } 
 +</sxh> 
 +     
 +=== Is binding QR? === 
 +<sxh java> 
 +    aducid.isQR = function() { 
 +        return instance.getSessionBinding() == "QR"; 
 +    } 
 + 
 +=== Is this operation going to be authentication (i.e. first operation in chain)? === 
 +<sxh java> 
 +    aducid.setAuthentication = function() { 
 +        instance.setSessionBinding(null); 
 +    } 
 +</sxh> 
 + 
 +=== Get last binding mode === 
 +<sxh java> 
 +    aducid.getSessionBinding = function() { 
 +        return localStorage['session-binding']; 
 +    } 
 +</sxh> 
 + 
 +=== How PEIG not installed is treated, marketplace redirect can be used here === 
 +<sxh java> 
 +    aducid.showPeigError = function() { 
 +        alert("peig error - override this function"
 +    } 
 +</sxh> 
 + 
 +=== How errors are treated - use nice dialogues here === 
 +<sxh java>
     aducid.handleError = function(e) {     aducid.handleError = function(e) {
         alert(e);         alert(e);
     }     }
 +</sxh>
web-integration/client-side.1565006035.txt.gz · Last modified: 2019/08/05 11:53 by tjotov