One of Arya's foremost products was for extraction and verification of cheques (CTS-2010 Standard). For any bank, Cheque clearing is a very important and highly resource intensive process. On any normal day, a leading bank can receive lakhs of cheques for clearance. Being an intricate process, it involves multiple levels of screening and vigilance to ensure regulatory guidelines are met. It was to overcome this challenge that we at Arya developed this product which includes multiple state of the art models to recognise and read handwritten amounts in words and figure, date, payee name, MICR, and account number. All these models work simultaneously to provide speedy results along with confidence scores to assess the performance of the models. While the complete product entails a lot more features, here we've simply exposed the API for the extraction process.
Advanced AI algorithms locate and pinpoint key data fields on cheques with precision, minimizing manual intervention
Handles various cheque formats for diverse banking needs
By automating complex extraction, minimize manual work leading to significant cost savings
Can continuously learn and improve extraction accuracy, even with complex cheque structures
Annual API Volume
Accuracy Rate
Daily API Volume
Time to launch
Hassle-Free,
No Code Platform
Easy to adopt
& integrate
99.99%
API Success Rate
Reliable &
Secure
6 Dec 2023
Financial document fraud has increased in the last two years. Scammers...
19 March 2024
While we expect bank statements to be accurate records of financial transactions...
30 April 2024
With banks and financial institutions heavily relying on large volumes of data, they...
Check out the API results using samples provided below.
Please wait...
{{output.body.error_message}}
Key | Value |
---|---|
{{k|clean|capitalize:true}} | : {{v}} |
curl --location --request POST '{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}' \
--header 'token: < your private token >' \
--header 'content-type: application/json' \
--data-raw '{
"doc_type":'image',
"blank_cheque": < flag >,
"doc_base64": '< base64 string of document >',
"req_id": '< req id string >'
}'
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/javascript");
RequestBody body = RequestBody.create(mediaType, "{ "doc_type":'image', "blank_cheque": < flag >, "doc_base64": '< base64 string of document >',"req_id": '< req id string >' }");
Request request = new Request.Builder()
.url("{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}")
.method("POST", body)
.addHeader("token", "< your private token >")
.addHeader("content-type", "application/json")
.build();
Response response = client.newCall(request).execute();
require "uri"
require "net/http"
url = URI("{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["token"] = "< your private token >"
request["content-type"] = "application/json"
request.body = "{"doc_type":'image', "blank_cheque": < flag >, "doc_base64": '< base64 string of document >',"req_id": '< req id string >' }"
response = https.request(request)
puts response.read_body
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(curl, CURLOPT_URL, "{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}");
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "token: < your private token >");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
const char *data = "{"doc_type":'image', "blank_cheque": < flag >, "doc_base64": '< base64 string of document >',"req_id": '< req id string >' }";
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
res = curl_easy_perform(curl);
}
curl_easy_cleanup(curl);
var request = require('request');
var options = {
'method': 'POST',
'url': '{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}',
'headers': {
'token': '< your private token >',
'content-type':'application/json'
},
body: '{"doc_type":'image', "blank_cheque": < flag >, "doc_base64": '< base64 string of document >',"req_id": '< req id string >' }'
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
var client = new RestClient("{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}");
ṣclient.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("token", "< your private token >");
request.AddHeader("content-type", "application/json");
var body = @"{" + "" +
@" "doc_type": 'image'," + "" +
@" "blank_cheque": true," + "" +
@" "doc_base64": '< base64 string of document >'," + "" +
@" "req_id": < req id string >" + "" +
@" }";
request.AddParameter("application/json", body, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'token' => '< your private token >',
'content-type' => 'application/json'
));
$request->setBody('{"doc_type":'image', "blank_cheque": < flag >, "doc_base64": '< base64 string of document >',"req_id": '< req id string >' }');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
?>
import requests
url = "{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}"
payload = {"doc_type":'image', "blank_cheque": < flag >, "doc_base64": '< base64 string of document >',"req_id": '< req id string >' }
headers = {
'token': '< your private token >',
'content-type':'application/json'
}
response = requests.request("POST", url, json=payload, headers=headers)
print(response.text)
Name | Description |
---|---|
token | String |
Name | Description |
---|---|
body |
{ "req_id" : < string >, "doc_base64": < base64 encoded string > "doc_type" : < string>, "blank_cheque" : < boolean>, } |
Name | Description |
---|---|
body |
{ "req_id" : < string >, "success" : < boolean >, "error_message" : < string >, "result" : < dict >, } |
Fields | Values/Description |
---|---|
doc_type | “image” |
req_id | Unique request ID used for processing requests |
doc_base64 | Base64 encoded string of the document |
blank_cheque | Boolean |
Fields | Values/Description |
---|---|
req_id | Corresponding request id |
success | Flag if the request is processed successfully |
error_message | If success is False then: Error message |
result | Extracted data dictionary |