For Bank Mandate forms, our module extracts all the digitally printed and handwritten fields, it can also verify whether the relevant checkboxes are selected and help the institution process the transaction automatically.
Captures both digitally printed and handwritten information from vouchers
Facilitates automatic transaction processing by extracting all necessary details
Confirms the accuracy of extracted information for reliable processing
Integrates easily with existing systems for smooth and efficient processing
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
14 March 2024
The current KYC procedures have been resource-intensive, prone to errors...
22 May 2024
Every business and organization relies on documents and critical files...
6 June 2024
The amount of data handled by organisations worldwide has reached...
Check out the API results using samples provided below.
Please wait...
{{output.body.error_message}}
Input Image:
Key | Value | Coordinates |
---|---|---|
{{k|clean|capitalize:true}} | {{v==true ? 'Yes' : v}} |
{{ky}}: {{val}}
|
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',
"action":'extract',
"doc_base64": '< base64 string of document >',
"req_id": '< req id string >'
}'
curl --location --request POST '{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}' \
--header 'token: < your private token >' \
--header 'content-type: application/json' \
--data-raw '{
"get_coordinates":'Boolean',
"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', "action":'extract', "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();
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/javascript");
RequestBody body = RequestBody.create(mediaType, "{ "doc_type":'image', "action":'extract', "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', "action":'extract', "doc_base64": '< base64 string of document >',"req_id": < req id string > }"
response = https.request(request)
puts response.read_body
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', "action":'extract', "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', "action":'extract', "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);
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', "action":'extract', "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', "action":'extract', "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 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', "action":'extract', "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'," + "" +
@" "action": 'extract'," + "" +
@" "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);
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'," + "" +
@" "action": 'extract'," + "" +
@" "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', "action":'extract', "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();
}
?>
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', "action":'extract', "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', "action":'extract', "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)
import requests
url = "{{getEndpoint(url, api_version, pageDetails.ping_endpoint)}}"
payload = {"doc_type":'image', "action":'extract', "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>, "action" : < string >, } |
{ "req_id" : < string >, "doc_base64": < base64 encoded string > "get_coordinates" : < boolean>, } |
Name | Description | |
---|---|---|
body |
{ "req_id" : < string >, "success" : < boolean >, "document": < string >, "error_message" : < string >, "data" : < dict >, } |
{ "req_id" : < string >, "success" : < boolean >, "document": < string >, "error_message" : < string >, "data" : < dict >, "coordinates" : < dict >, "input_image" : < base64 image of input in image format >, } |
Fields | Values/Description |
---|---|
doc_type | “image” |
req_id | Unique request ID used for processing requests |
doc_base64 | Base64 encoded string of the document |
action | extract |
req_id | Unique request ID used for processing requests |
doc_base64 | Base64 encoded string of the document |
get_coordinates | Boolean |
Fields | Values/Description |
---|---|
req_id | Corresponding request id |
success | Flag if the request is processed successfully |
document | Type of document uploaded |
error_message | If success is False then: Error message |
data | Nested Dictionary with keys corresponding to the number of pages in the input image ( For e.g : data[“page1”] , data[“page2”], data[“page3”] and so on ) |
coordinates | Nested Dictionary with keys corresponding to the number of pages in the input image ( For e.g : micr: { "x": 1572, "y": 281, "width": 443, "height": 51 } , ifsc: { "x": 968, "y": 283, "width": 514, "height": 49 }, and so on ) |
input_image | base64 image of input in image format |