For vouchers, our module can also classify the type of voucher before extraction of the relevant information provided.
Captures both digitally printed and handwritten information from vouchers
Ensures precise and dependable extraction of voucher details
Extracts all essential information from bank vouchers for complete data processing
Simple to integrate with existing systems for seamless data flow
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}}
Key | Value |
---|---|
Instrument | : {{output.page1['instrument']||'-'}} |
Voucher Type | : {{output.page1['voucher_type']||'-'}} |
Image | : |
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":'classify',
"doc_base64": '< base64 string of document >',
"req_id": '< string >'
}'
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/javascript");
RequestBody body = RequestBody.create(mediaType, "{ "doc_type":'image', "action":'classify', "doc_base64": '< base64 string of document >',"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":'classify', "doc_base64": '< base64 string of document >',"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":'classify', "doc_base64": '< base64 string of document >',"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":'classify', "doc_base64": "< base64 string of document >","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": 'classify'," + "" +
@" "doc_base64": '< base64 string of document >'," + "" +
@" "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":'classify', "doc_base64": "< base64 string of document >","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":'classify', "doc_base64": "< base64 string of document >", "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 >, } |
Name | Description |
---|---|
body |
{ "req_id" : < string >, "success" : < boolean >, "document": < string >, "error_message" : < string >, "data" : < dict >, } |
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 |
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 ) |