Arya APIs

Arya APIs

Alongside our core products, Arya.ai offers various standalone APIs for additional assistance to improve daily operations.

Category
Related APIs

Cheque Extraction

subscribe

Remaining API Counts:  {{(token.limit-token.counter) || '0' }}


Overview

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.


How it works?

POST

{{url}}/api/v1/cheque

API Token

{{tokenDisplay}}  

Usage and SDK Samples

curl --location --request POST '{{url}}/api/v1/cheque' \
--header 'token: < your private token >' \
--header 'content-type: application/json' \
--data-raw '{
	"doc_type":'image',
	"blank_cheque":true,
	"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":true, "doc_base64": '< base64 string of document >',"req_id": '< req id string >'  }");
  Request request = new Request.Builder()
	.url("{{url}}/api/v1/cheque")
	.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("{{url}}/api/v1/cheque")
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":true, "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, "{{url}}/api/v1/cheque");
  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":true, "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': '{{url}}/api/v1/cheque',
  'headers': {
	'token': '< your private token >',
	'content-type':'application/json'
  },
  body: '{"doc_type":"image", "blank_cheque":true, "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("{{url}}/api/v1/cheque");
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('{{url}}/api/v1/cheque');
$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":true, "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();
}
?>
use Data::Dumper;
use WWW::SwaggerClient::Configuration;
use WWW::SwaggerClient::DefaultApi;
my $api_instance = WWW::SwaggerClient::DefaultApi->new();
my $body = WWW::SwaggerClient::Object::V1_lengthofstayprediction_body->new(); # V1_lengthofstayprediction_body | 
my $token = token_example; # String | 
eval { 
	my $result = $api_instance->apiV1LengthOfStayPredictionPost(body => $body, token => $token, content-type=>'application/json');
	print Dumper($result);
};
if ([email protected]) {
	warn "Exception when calling DefaultApi->apiV1LengthOfStayPredictionPost: [email protected]";
}
																				
import requests
url = "{{url}}/api/v1/cheque"
payload = {"doc_type":"image", "blank_cheque":true, "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, data=payload, headers=headers)
print(response.text)
	

Request Parameters

Header parameters

Name Description
token
String

Body parameters

Name Description
body {
  "doc_type" : < string>,
  "req_id" : < string>,
  "doc_base64": < base64 encoded string>,
  "blank_cheque" : < boolean>,
}

Response Parameters

Status: 200 - API Request Successful

Body parameters

Name Description
body {
  "uid" : < string>,
  "success : < boolean>,
  "error_message" : < string>,
  "result" : < dict>,
}

Field Details

Request Field Details

Fields Values/Description
doc_type “image”
req_id Unique ID used for processing requests
doc_base64 Base64 encoded string of the document
blank_cheque Boolean

Response Field Details

Fields Values/Description
uid Corresponding unique id
success Flag if the request is processed successfully
error_message If success is False then: Error message
result Extracted data dictionary

Demo

Please drag and drop files or click to browse.

Drag and Drop

or Click to browse files


Processing file...

Check out the API results using samples provided below.

Samples

Processing file..
Key Value
{{k|clean|capitalize:true}} :  {{v}}

Case Studies

info