Web SDK (Javascript)
Andia selfie SDK for WEB (Chrome, Firefox, Internet Explorer 10)
Requirements
A desktop browser with full HTML5 support and access to a webcam.
** Due to the mobile web browsers restrictions, this SDK doesn't work on mobile devices **
Google Chrome 53+
Microsoft Edge 12+
Mozilla Firefox 42+
Safari 11+ (Mac)

Integration
The integration of this SDK is very straight forward.
1) Inside any HTML page just import the Javascript library before the </body> tag
<script src="https://api.andia.io/web/andiaSdk2.0.min.js"></script>2) Include the following HTML fragment, to add a button
<div id="containerAndia"></div>
<button id="andiaBtn" type="button"
class="btnAndia"
customerId="YOUR_CUSTOMER_API_KEY"
face_id=""
action="onboarding"
callback="YOUR_CALLBACK_URL" >
<div id="labelBtn">Onboard me</div>
</button>3) Callback
To get the result of the Selfie Validation or the Selfie Onboarding, just implement a POST data endpoint.
Response parameters
success . Boolean, true if the Selfie was made successful
data A Form Data object with the following fields.
Selfie OnBoarding Form Data Response
success: true, //true if the Selfie is a real user
error_code: 0, // 0 == no errors
error: "", // error description in case of error
user_id: "XXXXXXXX" // face_id, store this ID on your DB an associate to
// the user, to perform future selfie validations
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestBody;
@RestController
public class AndiaController {
@PostMapping("/onboarding")
public void onboarding(@RequestBody MultiValueMap<String, String> values) {
if(values.get("success").equals("true")){
// Redirect to login page
} else {
// Redirect to signup page with error message
// values.get("message")
}
}
}[Route("api/[controller]")]
public class AndiaController : Controller
{
[HttpPost]
public async Task<IActionResult> Onboarding([FromBody] Dictionary<string, string> values))
{
if (ModelState.IsValid)
{
try
{
if(values.GetValueOrDefault("success").Equals("true")){
// Redirect to login page
} else {
// Redirect to signup page with error message
// values.GetValueOrDefault("message")
}
}
catch (Exception e)
{
return BadRequest(e);
}
}
return BadRequest(ModelState);
}
}var express = require('express');
var app = express();
app.post('/onboarding', function (req, res) {
if (req.body.success === "true") {
// Redirect to login page
} else {
// Redirect to signup page with error message
// req.body.message
}
})
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
})require 'rubygems'
require 'sinatra'
post '/onboarding' do
if params.success == "true"
# Redirect to login page
else
# Redirect to signup page with error message
# params.message
end
endfrom flask import Flask, redirect
app = Flask(__name__)
@app.route("/onboarding", methods = ['POST'])
def onboarding():
if request.form['success'] == "true":
# Redirect to login page
else:
# Redirect to signup page with error message
# request.form['message']
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8081)Selfie Validation Form Data Response
success: true, //true if the Selfie is a Match agains the given face_id
error_code: 0, // != 0 if there is an error
error: "", // error description if error_code != 0
message: "It is a Match" // description
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestBody;
@RestController
public class AndiaController {
@PostMapping("/validate")
public void validate(@RequestBody MultiValueMap<String, String> values) {
if(values.get("success").equals("true")){
// Generate JWT and redirect to home page
} else {
// Redirect to login page with error message
// values.get("message")
}
}
}[Route("api/[controller]")]
public class AndiaController : Controller
{
[HttpPost]
public ActionResult Validate([FromBody] Dictionary<string, string> values))
{
if (ModelState.IsValid)
{
try
{
if(values.GetValueOrDefault("success").Equals("true")){
// Generate JWT and redirect to home page
} else {
// Redirect to login page with error message
// values.GetValueOrDefault("message")
}
}
catch (Exception e)
{
return BadRequest(e);
}
}
return BadRequest(ModelState);
}
}var express = require('express');
var app = express();
app.post('/valiate', function (req, res) {
if (req.body.success === "true") {
// Generate JWT and redirect to home page
} else {
// Redirect to login page with error message
// values.GetValueOrDefault("message")
}
})
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
})require 'rubygems'
require 'sinatra'
post '/validate' do
if params.success == "true"
# Generate JWT and redirect to home page
else
# Redirect to login page with error message
# params.message
end
endfrom flask import Flask, redirect
app = Flask(__name__)
@app.route("/onboarding", methods = ['POST'])
def onboarding():
if request.form['success'] == "true":
# Generate JWT and redirect to home page
else:
# Redirect to login page with error message
# request.form['message']
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8081)Last updated
Was this helpful?