Call a Ruleset from Your Software
Introduction
Before you begin
Procedure
Call a ruleset API from JS
async function yourFunction() { }<form action="javascript:yourFunction()"><html> <head> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.slim.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script> </head> <body> <div class="container"> <h1 class="m-5">Loan Amount Calculator</h1> <div class="m-5"> <form action="javascript:calculateAmount()"> <div class="row"> <div class="form-group col-6"> <label for="applicantname">Applicant name:</label> <input type="text" class="form-control" id="applicantname"> </div> </div> <div class="row"> <div class="form-group col-3"> <label for="dateofbirth">Date of birth:</label> <input type="date" class="form-control" id="dateofbirth"> </div> </div> <div class="row"> <div class="form-group col-3"> <label for="yearlyincome">Yearly income:</label> <input type="number" class="form-control" id="yearlyincome"> </div> </div> <button type="submit" class="btn btn-primary">Calculate loan amount</button> </form> <div class="jumbotron"> <h4 class="ml-2 mb-3" id="overviewtitle">Overview</h4> <div class="col-3"> <label for="age">Age:</label> <input type="number" class="form-control" id="age" readonly> </div> <div class="col-3"> <label for="maxamount">Maximum loan amount:</label> <input type="number" class="form-control" id="maxamount" readonly> </div> </div> </div> </div> <script> async function calculateAmount() { let response = await fetch('<<Your rulecube URL>>/api/execute/ruleset', { method: 'POST', headers: { "Authorization": 'YOUR_API_KEY', "Content-Type": 'application/json' }, body: JSON.stringify({ "name": "loanapplication", "version": "1.0", "options": { "explain": false }, "input": { "LoanApplicant": { "Name": document.getElementById("applicantname").value, "DateOfBirth": document.getElementById("dateofbirth").value, "YearlyIncome": document.getElementById("yearlyincome").value } } }) }) if (response.ok) { let result = await response.json(); console.log('Result:', result); document.getElementById("overviewtitle").innerHTML = 'Overview for ' + document.getElementById("applicantname").value; document.getElementById("age").setAttribute('value', result.result.LoanApplicant.Age); document.getElementById("maxamount").setAttribute('value', result.result.LoanApplicant.MaximumLoanAmount); } else { let error = await response.text(); console.error('Error executing:', error); } } </script> </body> </html>
