API Documentation
Face Recognition API
Face Recognition For Single Face
POST
https://api.iapp.co.th/face_recog_single
This endpoint lets you find the name of the person which the most stand out in the picture also locates the bounding box.
Headers
Name | Type | Description |
---|---|---|
apikey* | String | The API Key to call this API |
Request Body
Name | Type | Description |
---|---|---|
file* | File | The binary data of the image. |
company* | String | The company name |
{
"bbox": {
"xmax": 336.96875,
"xmin": 0.8846354484558105,
"ymax": 485.84490966796875,
"ymin": 45.80070114135742
},
"company": "iApp",
"detection_score": 0.9967709183692932,
"message": "successfully performed",
"name": "iAppGirl",
"process_time": 0.34746408462524414,
"recognition_score": 0.5017954806694421
}
{
"bbox": {
"xmax": 435.7519836425781,
"xmin": 278.1184387207031,
"ymax": 399.3247375488281,
"ymin": 190.13052368164062
},
"company": "iApp",
"detection_score": 0.9966771602630615,
"message": "successfully performed",
"name": "unknown",
"process_time": 1.0123262405395508,
"recognition_score": 0.0
}
Parameter in Response
Name | Type | Description |
---|---|---|
bbox | Dictionary | Face bounding boxes of personal |
xmax | Float | Maximum value in the x-axis |
xmin | Float | Minimum value in the x-axis |
ymax | Float | Maximum value in the y-axis |
ymin | Float | Minimum value in the y-axis |
company | String | The company name |
detection_score | String | Detection score of face in image. |
message | String | The processing status |
name | String | The personal name |
process_time | Float | The processing time |
recognition_score | Float | Recognition score of face in image. |
Sample Requests
curl --location -g --request POST 'https://api.iapp.co.th/face_recog_single' \
--header 'apikey: {Your API Key}' \
--form 'company="{Your Company Name}"' \
--form 'file=@"{Your Image File Path}"'
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://api.iapp.co.th/face_recog_single")
.header("apikey", "{Your API Key}")
.field("file", new File("{Your Image File Path}"))
.field("company", "{Your Company Name}")
.asString();
var request = require('request');
var fs = require('fs');
var options = {
'method': 'POST',
'url': 'https://api.iapp.co.th/face_recog_single',
'headers': {
'apikey': '{Your API Key}'
},
formData: {
'file': {
'value': fs.createReadStream('{Your Image File Path}'),
'options': {
'filename': '{Your Image File Name}'
'contentType': null
}
},
'company': '{Your Company Name}'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
#import <Foundation/Foundation.h>
dispatch_semaphore_t sema = dispatch_semaphore_create(0);
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.iapp.co.th/face_recog_single"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
NSDictionary *headers = @{
@"apikey": @"{Your API Key}"
};
[request setAllHTTPHeaderFields:headers];
NSArray *parameters = @[
@{ @"name": @"file", @"fileName": @"{Your Image File Path}" },
@{ @"name": @"company", @"value": @"{Your Company Name}" }
];
NSString *boundary = @"----WebKitFormBoundary7MA4YWxkTrZu0gW";
NSError *error;
NSMutableString *body = [NSMutableString string];
for (NSDictionary *param in parameters) {
[body appendFormat:@"--%@\r\n", boundary];
if (param[@"fileName"]) {
[body appendFormat:@"Content-Disposition:form-data; name=\"%@\"; filename=\"%@\"\r\n", param[@"name"], param[@"fileName"]];
[body appendFormat:@"Content-Type: %@\r\n\r\n", param[@"contentType"]];
[body appendFormat:@"%@", [NSString stringWithContentsOfFile:param[@"fileName"] encoding:NSUTF8StringEncoding error:&error]];
if (error) {
NSLog(@"%@", error);
}
} else {
[body appendFormat:@"Content-Disposition:form-data; name=\"%@\"\r\n\r\n", param[@"name"]];
[body appendFormat:@"%@", param[@"value"]];
}
}
[body appendFormat:@"\r\n--%@--\r\n", boundary];
NSData *postData = [body dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:postData];
[request setHTTPMethod:@"POST"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
dispatch_semaphore_signal(sema);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSError *parseError = nil;
NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
NSLog(@"%@",responseDictionary);
dispatch_semaphore_signal(sema);
}
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.iapp.co.th/face_recog_single');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'apikey' => '{Your API Key}'
));
$request->addPostParameter(array(
'company' => '{Your Company Name}'
));
$request->addUpload('file', '{Your Image File Path}', '{Your Image File Name}', '<Content-Type Header>');
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 = "https://api.iapp.co.th/face_recog_single"
payload={'company': '{Your Company Name}'}
files=[
('file',('{Your Image File Name}',open('{Your Image File Path}','rb'),'image/jpeg'))
]
headers = {
'apikey': '{Your API Key}'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
Face Recognition For Multiple Face
POST
https://api.iapp.co.th/face_recog_multi
This endpoint lets you find all them names of people in the picture also locates the bounding box.
Headers
Name | Type | Description |
---|---|---|
apikey* | String | The API Key to call this API |
Request Body
Name | Type | Description |
---|---|---|
file* | File | The binary data of the image. |
company* | String | The company name |
{
"message": "successfully performed",
"process_time": 0.3769407272338867,
"result": [
{
"bbox": {
"xmax": 784.8717651367188,
"xmin": 250.60699462890625,
"ymax": 932.860107421875,
"ymin": 331.6617431640625
},
"company": "iApp",
"detection_score": 0.9999572038650513,
"name": "iAppGirl",
"recognition_score": 0.5221086004800464
}
]
}
{
"message": "successfully performed",
"process_time": 0.31406664848327637,
"result": [
{
"bbox": {
"xmax": 557.04248046875,
"xmin": 344.98553466796875,
"ymax": 424.77020263671875,
"ymin": 147.53976440429688
},
"company": "iApp",
"detection_score": 0.9998530149459839,
"name": "unknown",
"recognition_score": 0.0
}
]
}
Parameter in Response
Name | Type | Description |
---|---|---|
message | String | The processing status |
process_time | Float | The processing time |
result | Array | The data in dictionary for each personal |
bbox | Dictionary | Face bounding boxes of personal |
xmax | Float | Maximum value in the x-axis |
xmin | Float | Minimum value in the x-axis |
ymax | Float | Maximum value in the y-axis |
ymin | Float | Minimum value in the y-axis |
company | String | The company name |
detection_score | Float | Detection score of face in image. |
name | String | The personal name |
recognition_score | Float | Recognition score of face in image. |
Sample Requests
curl --location -g --request POST 'https://api.iapp.co.th/face_recog_multi' \
--header 'apikey: {Your API Key}' \
--form 'company="{Your Company Name}"' \
--form 'file=@"{Your Image File Path}"'
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://api.iapp.co.th/face_recog_multi")
.header("apikey", "{Your API Key}")
.field("file", new File("{Your Image File Path}"))
.field("company", "{Your Company Name}")
.asString();
var request = require('request');
var fs = require('fs');
var options = {
'method': 'POST',
'url': 'https://api.iapp.co.th/face_recog_multi',
'headers': {
'apikey': '{Your API Key}'
},
formData: {
'file': {
'value': fs.createReadStream('{Your Image File Path}'),
'options': {
'filename': '{Your Image File Name}'
'contentType': null
}
},
'company': '{Your Company Name}'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
#import <Foundation/Foundation.h>
dispatch_semaphore_t sema = dispatch_semaphore_create(0);
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.iapp.co.th/face_recog_multi"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
NSDictionary *headers = @{
@"apikey": @"{Your API Key}"
};
[request setAllHTTPHeaderFields:headers];
NSArray *parameters = @[
@{ @"name": @"file", @"fileName": @"{Your Image File Path}" },
@{ @"name": @"company", @"value": @"{Your Company Name}" }
];
NSString *boundary = @"----WebKitFormBoundary7MA4YWxkTrZu0gW";
NSError *error;
NSMutableString *body = [NSMutableString string];
for (NSDictionary *param in parameters) {
[body appendFormat:@"--%@\r\n", boundary];
if (param[@"fileName"]) {
[body appendFormat:@"Content-Disposition:form-data; name=\"%@\"; filename=\"%@\"\r\n", param[@"name"], param[@"fileName"]];
[body appendFormat:@"Content-Type: %@\r\n\r\n", param[@"contentType"]];
[body appendFormat:@"%@", [NSString stringWithContentsOfFile:param[@"fileName"] encoding:NSUTF8StringEncoding error:&error]];
if (error) {
NSLog(@"%@", error);
}
} else {
[body appendFormat:@"Content-Disposition:form-data; name=\"%@\"\r\n\r\n", param[@"name"]];
[body appendFormat:@"%@", param[@"value"]];
}
}
[body appendFormat:@"\r\n--%@--\r\n", boundary];
NSData *postData = [body dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:postData];
[request setHTTPMethod:@"POST"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
dispatch_semaphore_signal(sema);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSError *parseError = nil;
NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
NSLog(@"%@",responseDictionary);
dispatch_semaphore_signal(sema);
}
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.iapp.co.th/face_recog_multi');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'apikey' => '{Your API Key}'
));
$request->addPostParameter(array(
'company' => '{Your Company Name}'
));
$request->addUpload('file', '{Your Image File Path}', '{Your Image File Name}', '<Content-Type Header>');
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 = "https://api.iapp.co.th/face_recog_multi"
payload={'company': '{Your Company Name}'}
files=[
('file',('{Your Image File Name}',open('{Your Image File Path}','rb'),'image/jpeg'))
]
headers = {
'apikey': '{Your API Key}'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
Face Recognition For Only Face
POST
https://api.iapp.co.th/face_recog_facecrop
This endpoint lets you find the name of the person in the picture by using only face image.
Headers
Name | Type | Description |
---|---|---|
apikey* | String | The API Key to call this API |
Request Body
Name | Type | Description |
---|---|---|
file* | File | The binary data of the image. |
company* | String | The company name |
{
"company": "iApp",
"message": "successfully performed",
"name": "iAppGirl",
"process_time": 0.060636281967163086,
"recognition_score": 0.6842811217924707
}
{
"company": "iApp",
"message": "successfully performed",
"name": "unknown",
"process_time": 0.08159971237182617,
"recognition_score": 0.0
}
Parameter in Response
Name | Type | Description |
---|---|---|
company | String | The company name |
message | String | The processing status |
name | String | The personal name |
process_time | Float | The processing time |
recognition_score | Float | Recognition score of face in image. |
Sample Requests
curl --location -g --request POST 'https://api.iapp.co.th/face_recog_facecrop' \
--header 'apikey: {Your API Key}' \
--form 'company="{Your Company Name}"' \
--form 'file=@"{Your Image File Path}"'
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://api.iapp.co.th/face_recog_facecrop")
.header("apikey", "{Your API Key}")
.field("file", new File("{Your Image File Path}"))
.field("company", "{Your Company Name}")
.asString();
var request = require('request');
var fs = require('fs');
var options = {
'method': 'POST',
'url': 'https://api.iapp.co.th/face_recog_facecrop',
'headers': {
'apikey': '{Your API Key}'
},
formData: {
'file': {
'value': fs.createReadStream('{Your Image File Path}'),
'options': {
'filename': '{Your Image File Name}'
'contentType': null
}
},
'company': '{Your Company Name}'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
#import <Foundation/Foundation.h>
dispatch_semaphore_t sema = dispatch_semaphore_create(0);
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.iapp.co.th/face_recog_facecrop"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
NSDictionary *headers = @{
@"apikey": @"{Your API Key}"
};
[request setAllHTTPHeaderFields:headers];
NSArray *parameters = @[
@{ @"name": @"file", @"fileName": @"{Your Image File Path}" },
@{ @"name": @"company", @"value": @"{Your Company Name}" }
];
NSString *boundary = @"----WebKitFormBoundary7MA4YWxkTrZu0gW";
NSError *error;
NSMutableString *body = [NSMutableString string];
for (NSDictionary *param in parameters) {
[body appendFormat:@"--%@\r\n", boundary];
if (param[@"fileName"]) {
[body appendFormat:@"Content-Disposition:form-data; name=\"%@\"; filename=\"%@\"\r\n", param[@"name"], param[@"fileName"]];
[body appendFormat:@"Content-Type: %@\r\n\r\n", param[@"contentType"]];
[body appendFormat:@"%@", [NSString stringWithContentsOfFile:param[@"fileName"] encoding:NSUTF8StringEncoding error:&error]];
if (error) {
NSLog(@"%@", error);
}
} else {
[body appendFormat:@"Content-Disposition:form-data; name=\"%@\"\r\n\r\n", param[@"name"]];
[body appendFormat:@"%@", param[@"value"]];
}
}
[body appendFormat:@"\r\n--%@--\r\n", boundary];
NSData *postData = [body dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:postData];
[request setHTTPMethod:@"POST"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
dispatch_semaphore_signal(sema);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSError *parseError = nil;
NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
NSLog(@"%@",responseDictionary);
dispatch_semaphore_signal(sema);
}
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.iapp.co.th/face_recog_facecrop');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'apikey' => '{Your API Key}'
));
$request->addPostParameter(array(
'company' => '{Your Company Name}'
));
$request->addUpload('file', '{Your Image File Path}', '{Your Image File Name}', '<Content-Type Header>');
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 = "https://api.iapp.co.th/face_recog_facecrop"
payload={'company': '{Your Company Name}'}
files=[
('file',('{Your Image File Name}',open('{Your Image File Path}','rb'),'image/jpeg'))
]
headers = {
'apikey': '{Your API Key}'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
Face Recognition Tool
Adding Face
POST
https://api.iapp.co.th/face_recog_add
This endpoint for adding the face feature in the feature file.
Headers
Name | Type | Description |
---|---|---|
apikey* | String | The API Key to call this API |
Request Body
Name | Type | Description |
---|---|---|
file* | File | The binary data of the image. |
company* | String | The company name of the personnel. |
name* | String | The personnel name or the personnel data. |
password* | String | The password of company |
{
"company": "iApp",
"face": "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",
"face_id": "211026-3",
"message": "New face saved successfully",
"name": "iAppGirl"
}
{
"company": "iApp",
"face": "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",
"face_id": "None",
"message": "face duplicate not saved",
"name": "iAppGirl"
}
Parameter in Response
Name | Type | Description |
---|---|---|
company | String | The company name |
face | String | Face image in base64 format |
face_id | String | The ID of face for remove |
message | String | The processing status |
name | String | The personal name |
Sample Requests
curl --location -g --request POST 'https://api.iapp.co.th/face_recog_add' \
--header 'apikey: {Your API Key}' \
--form 'file=@"{Your Image File Path}"' \
--form 'company="{Your Company Name}"' \
--form 'name="{Personal Name}"' \
--form 'password="{Your Company Password}"'
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://api.iapp.co.th/face_recog_add")
.header("apikey", "{Your API Key}")
.field("file", new File("{Your Image File Path}"))
.field("company", "{Your Company Name}")
.field("name", "{Personal Name}")
.field("password", "{Your Company Password}")
.asString();
var request = require('request');
var fs = require('fs');
var options = {
'method': 'POST',
'url': 'https://api.iapp.co.th/face_recog_add',
'headers': {
'apikey': '{Your API Key}'
},
formData: {
'file': {
'value': fs.createReadStream('{Your Image File Path}'),
'options': {
'filename': '{Your Image File Name}',
'contentType': null
}
},
'company': '{Your Company Name}',
'name': '{Personal Name}',
'password': '{Your Company Password}'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
#import <Foundation/Foundation.h>
dispatch_semaphore_t sema = dispatch_semaphore_create(0);
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.iapp.co.th/face_recog_add"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
NSDictionary *headers = @{
@"apikey": @"{Your API Key}"
};
[request setAllHTTPHeaderFields:headers];
NSArray *parameters = @[
@{ @"name": @"file", @"fileName": @"{Your Image File Path}" },
@{ @"name": @"company", @"value": @"{Your Company Name}" },
@{ @"name": @"name", @"value": @"{Personal Name}" },
@{ @"name": @"password", @"value": @"{Your Company Password}" }
];
NSString *boundary = @"----WebKitFormBoundary7MA4YWxkTrZu0gW";
NSError *error;
NSMutableString *body = [NSMutableString string];
for (NSDictionary *param in parameters) {
[body appendFormat:@"--%@\r\n", boundary];
if (param[@"fileName"]) {
[body appendFormat:@"Content-Disposition:form-data; name=\"%@\"; filename=\"%@\"\r\n", param[@"name"], param[@"fileName"]];
[body appendFormat:@"Content-Type: %@\r\n\r\n", param[@"contentType"]];
[body appendFormat:@"%@", [NSString stringWithContentsOfFile:param[@"fileName"] encoding:NSUTF8StringEncoding error:&error]];
if (error) {
NSLog(@"%@", error);
}
} else {
[body appendFormat:@"Content-Disposition:form-data; name=\"%@\"\r\n\r\n", param[@"name"]];
[body appendFormat:@"%@", param[@"value"]];
}
}
[body appendFormat:@"\r\n--%@--\r\n", boundary];
NSData *postData = [body dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:postData];
[request setHTTPMethod:@"POST"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
dispatch_semaphore_signal(sema);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSError *parseError = nil;
NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
NSLog(@"%@",responseDictionary);
dispatch_semaphore_signal(sema);
}
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.iapp.co.th/face_recog_add');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'apikey' => '{Your API Key}'
));
$request->addPostParameter(array(
'company' => '{Your Company Name}',
'name' => '{Personal Name}',
'password' => '{Your Company Password}'
));
$request->addUpload('file', '{Your Image File Path}', '<Content-Type Header>');
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 = "https://api.iapp.co.th/face_recog_add"
payload={'company': '{Your Company Name}',
'name': '{Personal Name}',
'password': '{Your Company Password}'}
files=[
('file',('{Your Image File Name}',open('{Your Image File Path}','rb'),'image/jpeg'))
]
headers = {
'apikey': '{Your API Key}'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
Importing Feature File
POST
https://api.iapp.co.th/face_recog_import
Headers
Name | Type | Description |
---|---|---|
apikey* | string | The API Key to call this API |
Request Body
Name | Type | Description |
---|---|---|
file* | object | The feature file in csv format from export. |
company* | string | The company name. |
password* | string | The password of company. |
{
"company": "iApp",
"face_num": 13,
"imported": 10,
"message": "successfully performed",
"not_updated": 0,
"updated": 10
}
Parameter in Response
Name | Type | Description |
---|---|---|
company | String | The company name |
face | String | Face image in base64 format |
face_id | String | The ID of face for remove |
message | String | The processing status |
name | String | The personal name |
Sample Requests
curl --location -g --request POST 'https://api.iapp.co.th/face_recog_import' \
--header 'apikey: {Your API Key}' \
--form 'file=@"{Your Feature CSV File Path}"' \
--form 'company="{Your Company Name}"' \
--form 'password="{Your Company Password}"'
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.post("https://api.iapp.co.th/face_recog_import")
.header("apikey", "{Your API Key}")
.field("file", new File("{Your Feature CSV File Path}"))
.field("company", "{Your Company Name}")
.field("password", "{Your Company Password}")
.asString();
var request = require('request');
var fs = require('fs');
var options = {
'method': 'POST',
'url': 'https://api.iapp.co.th/face_recog_import',
'headers': {
'apikey': '{Your API Key}'
},
formData: {
'file': {
'value': fs.createReadStream('{Your Feature CSV File Path}'),
'options': {
'filename': '{Your Feature CSV File Name}',
'contentType': null
}
},
'company': '{Your Company Name}',
'password': '{Your Company Password}'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
#import <Foundation/Foundation.h>
dispatch_semaphore_t sema = dispatch_semaphore_create(0);
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.iapp.co.th/face_recog_import"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
NSDictionary *headers = @{
@"apikey": @"{Your API Key}"
};
[request setAllHTTPHeaderFields:headers];
NSArray *parameters = @[
@{ @"name": @"file", @"fileName": @"{Your Feature CSV File Path}" },
@{ @"name": @"company", @"value": @"{Your Company Name}" },
@{ @"name": @"password", @"value": @"{Your Company Password}" }
];
NSString *boundary = @"----WebKitFormBoundary7MA4YWxkTrZu0gW";
NSError *error;
NSMutableString *body = [NSMutableString string];
for (NSDictionary *param in parameters) {
[body appendFormat:@"--%@\r\n", boundary];
if (param[@"fileName"]) {
[body appendFormat:@"Content-Disposition:form-data; name=\"%@\"; filename=\"%@\"\r\n", param[@"name"], param[@"fileName"]];
[body appendFormat:@"Content-Type: %@\r\n\r\n", param[@"contentType"]];
[body appendFormat:@"%@", [NSString stringWithContentsOfFile:param[@"fileName"] encoding:NSUTF8StringEncoding error:&error]];
if (error) {
NSLog(@"%@", error);
}
} else {
[body appendFormat:@"Content-Disposition:form-data; name=\"%@\"\r\n\r\n", param[@"name"]];
[body appendFormat:@"%@", param[@"value"]];
}
}
[body appendFormat:@"\r\n--%@--\r\n", boundary];
NSData *postData = [body dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:postData];
[request setHTTPMethod:@"POST"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
dispatch_semaphore_signal(sema);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSError *parseError = nil;
NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
NSLog(@"%@",responseDictionary);
dispatch_semaphore_signal(sema);
}
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.iapp.co.th/face_recog_import');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'apikey' => '{Your API Key}'
));
$request->addPostParameter(array(
'company' => '{Your Company Name}',
'password' => '{Your Company Password}'
));
$request->addUpload('file', '{Your Feature CSV File Path}', '{Your Feature CSV File Name}', '<Content-Type Header>');
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
import requests
url = "https://api.iapp.co.th/face_recog_import"
payload={'company': '{Your Company Name}',
'password': '{Your Company Password}'}
files=[
('file',('{Your Feature CSV File Name}',open('{Your Feature CSV File Path}','rb'),'text/csv'))
]
headers = {
'apikey': '{Your API Key}'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
Checking Face
GET
https://api.iapp.co.th/face_recog_check
This endpoint for checking all face in the feature file.
The API Key to call this API
The company name
The password of company
The boolean for save file of check face. Please enter parameter when save file.
{
"company": "iApp",
"feature_count": 4,
"message": "successfully performed",
"name": {
"iAppMan": 1,
"iAppGirl": 1,
"iAppBoy": 2
},
"name_count": 3
}
Parameter in Response
Name | Type | Description |
---|---|---|
company | String | The company name |
feature_count | Integer | The number of face in feature file of all |
message | String | The processing status |
name | String | The personal name |
{The Personal Name} | Integer | The number of face in feature file of person |
name_count | Integer | The number of person in feature file |
Sample Requests
// None Save File
curl --location -g --request GET 'https://api.iapp.co.th/face_recog_check?company={The Company Name}&password={The Company Password}' \
--header 'apikey: {Your API KEY}'
// Save File
curl --location -g --request GET 'https://api.iapp.co.th/face_recog_check?company={The Company Name}&password={The Company Password}&save_file' \
--header 'apikey: {Your API KEY}'
Unirest.setTimeouts(0, 0);
// None Save File
HttpResponse<String> response = Unirest.get("https://api.iapp.co.th/face_recog_check?company={The Company Name}&password={The Company Password}")
.header("apikey", "{Your API KEY}")
.asString();
// Save File
HttpResponse<String> response = Unirest.get("https://api.iapp.co.th/face_recog_check?company={The Company Name}&password={The Company Password}&save_file")
.header("apikey", "{Your API KEY}")
.asString();
var request = require('request');
var options = {
'method': 'GET',
// None Save File
'url': 'https://api.iapp.co.th/face_recog_check?company={The Company Name}&password={The Company Password}',
// Save File
'url': 'https://api.iapp.co.th/face_recog_check?company={The Company Name}&password={The Company Password}&save_file',
'headers': {
'apikey': '{Your API Key}'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
#import <Foundation/Foundation.h>
dispatch_semaphore_t sema = dispatch_semaphore_create(0);
// None Save File
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.iapp.co.th/face_recog_check?company={The Company Name}&password={The Company Password}"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
// Save File
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.iapp.co.th/face_recog_check?company={The Company Name}&password={The Company Password}&save_file"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
NSDictionary *headers = @{
@"apikey": @"{Your API KEY}"
};
[request setAllHTTPHeaderFields:headers];
[request setHTTPMethod:@"GET"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
dispatch_semaphore_signal(sema);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSError *parseError = nil;
NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
NSLog(@"%@",responseDictionary);
dispatch_semaphore_signal(sema);
}
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
// None Save File
$request->setUrl('https://api.iapp.co.th/face_recog_check?company={The Company Name}&password={The Company Password}');
// Save File
$request->setUrl('https://api.iapp.co.th/face_recog_check?company={The Company Name}&password={The Company Password}&save_file');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'apikey' => '{Your API KEY}'
));
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
# None Save File
url = "https://api.iapp.co.th/face_recog_check?company={The Company Name}&password={The Company Password}"
# Save File
url = "https://api.iapp.co.th/face_recog_check?company={The Company Name}&password={The Company Password}&save_file"
payload={}
headers = {
'apikey': '{Your API KEY}'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
Export Feature File
GET
https://api.iapp.co.th/face_recog_export
This endpoint for export the feature file in csv or excel format to backup.
The API Key to call this API
The company name
The password of company
The type of file to export to csv or excel
the feature file of company from API
Sample Requests
// Save CSV File
curl --location -g --request GET 'https://api.iapp.co.th/face_recog_export?company={The Company Name}&type_file=csv&password={The Company Password}' \
--header 'apikey: {Your API Key}'
//Save Excel File
curl --location -g --request GET 'https://api.iapp.co.th/face_recog_export?company={The Company Name}&type_file=excel&password={The Company Password}' \
--header 'apikey: {Your API Key}'
Unirest.setTimeouts(0, 0);
// Save CSV File
HttpResponse<String> response = Unirest.get("https://api.iapp.co.th/face_recog_export?company={The Company Name}&type_file=csv&password={The Company Password}")
.header("apikey", "{Your API Key}")
.asString();
// Save Excel File
HttpResponse<String> response = Unirest.get("https://api.iapp.co.th/face_recog_export?company={The Company Name}&type_file=excel&password={The Company Password}")
.header("apikey", "{Your API Key}")
.asString();
var request = require('request');
var options = {
'method': 'GET',
// Save CSV File
'url': 'https://api.iapp.co.th/face_recog_export?company={The Company Name}&type_file=csv&password={The Company Password}',
// Save Excel File
'url': 'https://api.iapp.co.th/face_recog_export?company={The Company Name}&type_file=excel&password={The Company Password}',
'headers': {
'apikey': '{Your API Key}'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
#import <Foundation/Foundation.h>
dispatch_semaphore_t sema = dispatch_semaphore_create(0);
// Save CSV File
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.iapp.co.th/face_recog_export?company={The Company Name}&type_file=csv&password={The Company Password}"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
// Save Excel File
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.iapp.co.th/face_recog_export?company={The Company Name}&type_file=excel&password={The Company Password}"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
NSDictionary *headers = @{
@"apikey": @"{Your API Key}"
};
[request setAllHTTPHeaderFields:headers];
[request setHTTPMethod:@"GET"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
dispatch_semaphore_signal(sema);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSError *parseError = nil;
NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
NSLog(@"%@",responseDictionary);
dispatch_semaphore_signal(sema);
}
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
// Save CSV File
$request->setUrl('https://api.iapp.co.th/face_recog_export?company={The Company Name}&type_file=csv&password={The Company Password}');
// Save Excel File
$request->setUrl('https://api.iapp.co.th/face_recog_export?company={The Company Name}&type_file=excel&password={The Company Password}');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'apikey' => '{Your API Key}'
));
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
# Save CSV File
url = "https://api.iapp.co.th/face_recog_export?company={The Company Name}&type_file=csv&password={The Company Password}"
# Save Excel File
url = "https://api.iapp.co.th/face_recog_export?company={The Company Name}&type_file=excel&password={The Company Password}"
payload={}
headers = {
'apikey': '{Your API Key}'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
Removing Face
GET
https://api.iapp.co.th/face_recog_remove
This endpoint is for removing the face feature in the feature file.
Query Parameters
Name | Type | Description |
---|---|---|
company* | String | The company name |
name* | String | The personnel name or the personnel data |
face_id | String | The identification of face data by use date and order from add face |
password* | String | The password of company |
Headers
Name | Type | Description |
---|---|---|
apikey* | String | The API Key to call this API |
{
"company": "iApp",
"face_id": [
"211026-1",
"211026-2",
"211026-3"
],
"face_num": 10,
"message": "face removed successfully",
"name": "iAppGirl",
"removed": 3
}
Parameter in Response
Name | Type | Description |
---|---|---|
company | String | The company name |
face_id | Array | All face ID to remove |
face_num | Integer | The number of face in feature file of the company |
message | String | The processing status |
name | String | The personal name |
removed | Integer | The number of face to remove |
Sample Requests
// Remove All Face of This Person name
curl --location -g --request GET 'https://api.iapp.co.th/face_recog_remove?company={Your Company Name}&name={The Personal Name}&password={Your Company Password}' \
--header 'apikey: {Your API Key}'
// Remove All Face of This Person Name in This Date
curl --location -g --request GET 'https://api.iapp.co.th/face_recog_remove?company={Your Company Name}&name={The Personal Name}&password={Your Company Password}&face_id=211026' \
--header 'apikey: {Your API Key}'
// Remove Only Face of This Person Name By and This Face ID
curl --location -g --request GET 'https://api.iapp.co.th/face_recog_remove?company={Your Company Name}&name={The Personal Name}&password={Your Company Password}&face_id=211026-1' \
--header 'apikey: {Your API Key}'
Unirest.setTimeouts(0, 0);
// Remove All Face of This Person name
HttpResponse<String> response = Unirest.get("https://api.iapp.co.th/face_recog_remove?company={Your Company Name}&name={The Personal Name}&password={Your Company Password}")
.header("apikey", "{Your API Key}")
.asString();
// Remove All Face of This Person Name in This Date
HttpResponse<String> response = Unirest.get("https://api.iapp.co.th/face_recog_remove?company={Your Company Name}&name={The Personal Name}&password={Your Company Password}&face_id=211026")
.header("apikey", "{Your API Key}")
.asString();
// Remove Only Face of This Person Name By and This Face ID
HttpResponse<String> response = Unirest.get("https://api.iapp.co.th/face_recog_remove?company={Your Company Name}&name={The Personal Name}&password={Your Company Password}&face_id=211026-1")
.header("apikey", "{Your API Key}")
.asString();
var request = require('request');
var options = {
'method': 'GET',
// Remove All Face of This Person name
'url': 'https://api.iapp.co.th/face_recog_remove?company={Your Company Name}&name={The Personal Name}&password={Your Company Password}',
// Remove All Face of This Person Name in This Date
'url': 'https://api.iapp.co.th/face_recog_remove?company={Your Company Name}&name={The Personal Name}&password={Your Company Password}&face_id=211026',
// Remove Only Face of This Person Name By and This Face ID
'url': 'https://api.iapp.co.th/face_recog_remove?company={Your Company Name}&name={The Personal Name}&password={Your Company Password}&face_id=211026-3',
'headers': {
'apikey': '{Your API Key}'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
#import <Foundation/Foundation.h>
dispatch_semaphore_t sema = dispatch_semaphore_create(0);
// Remove All Face of This Person name
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.iapp.co.th/face_recog_remove?company={Your Company Name}&name={The Personal Name}&password={Your Company Password}"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
// Remove All Face of This Person Name in This Date
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.iapp.co.th/face_recog_remove?company={Your Company Name}&name={The Personal Name}&password={Your Company Password}&face_id=211026"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
// Remove Only Face of This Person Name By and This Face ID
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.iapp.co.th/face_recog_remove?company={Your Company Name}&name={The Personal Name}&password={Your Company Password}&face_id=211026-3"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
NSDictionary *headers = @{
@"apikey": @"{Your API Key}"
};
[request setAllHTTPHeaderFields:headers];
[request setHTTPMethod:@"GET"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
dispatch_semaphore_signal(sema);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSError *parseError = nil;
NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
NSLog(@"%@",responseDictionary);
dispatch_semaphore_signal(sema);
}
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
// Remove All Face of This Person name
$request->setUrl('https://api.iapp.co.th/face_recog_remove?company={Your Company Name}&name={The Personal Name}&password={Your Company Password}');
// Remove All Face of This Person Name in This Date
$request->setUrl('https://api.iapp.co.th/face_recog_remove?company={Your Company Name}&name={The Personal Name}&password={Your Company Password}&face_id=211026');
// Remove Only Face of This Person Name By and This Face ID
$request->setUrl('https://api.iapp.co.th/face_recog_remove?company={Your Company Name}&name={The Personal Name}&password={Your Company Password}&face_id=211026-3');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'apikey' => '{Your API Key}'
));
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
# Remove All Face of This Person name
url = "https://api.iapp.co.th/face_recog_remove?company={Your Company Name}&name={The Personal Name}&password={Your Company Password}"
# Remove All Face of This Person Name in This Date
url = "https://api.iapp.co.th/face_recog_remove?company={Your Company Name}&name={The Personal Name}&password={Your Company Password}&face_id=211026"
# Remove Only Face of This Person Name By and This Face ID
url = "https://api.iapp.co.th/face_recog_remove?company={Your Company Name}&name={The Personal Name}&password={Your Company Password}&face_id=211026-3"
payload={}
headers = {
'apikey': '{Your API Key}'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
Default Score Configuration
GET
https://api.iapp.co.th/face_config_score
Query Parameters
Name | Type | Description |
---|---|---|
detection* | String | The default of detection score |
recognition* | String | The default of recognition score |
company* | String | The company name |
password* | String | The password of company |
Headers
Name | Type | Description |
---|---|---|
apikey* | String | The API Key to call this API |
{
"company": "iApp",
"detection_score": 0.9,
"message": "the minimum score of detection and recognition has been successfully configured.",
"recognition_score": 0.5
}
{
"company": "iApp",
"detection_score": 0.9,
"message": "the minimum score has been successfully shown.",
"recognition_score": 0.5
}
Parameter in Response
Name | Type | Description |
---|---|---|
company | String | The company name |
detection_score | Float | The default score of face detection |
message | String | The processing status |
recognition_score | Float | The default score of face recognition |
Sample Requests
// Configure Score
curl --location -g --request GET 'https://api.iapp.co.th/face_config_score?detection={Detection Value}&recognition={Recognition Value}&company={Your Company Name}&password={Your Company Password}' \
--header 'apikey: {Your API Key}'
// Configure Score
curl --location -g --request GET 'https://api.iapp.co.th/face_config_score?detection&recognition&company={Your Company Name}&password={Your Company Password}' \
--header 'apikey: {Your API Key}'
Unirest.setTimeouts(0, 0);
// Configure Score
HttpResponse<String> response = Unirest.get("https://api.iapp.co.th/face_config_score?detection={Detection Value}&recognition={Recognition Value}&company={Your Company Name}&password={Your Company Password}")
.header("apikey", "{Your API Key}")
.multiPartContent()
.asString();
// Configure Score
HttpResponse<String> response = Unirest.get("https://api.iapp.co.th/face_config_score?detection&recognition&company={Your Company Name}&password={Your Company Password}")
.header("apikey", "{Your API Key}")
.multiPartContent()
.asString();
var request = require('request');
var options = {
'method': 'GET',
// Configure Score
'url': 'https://api.iapp.co.th/face_config_score?detection={Detection Value}&recognition={Recognition Value}&company={Your Company Name}&password={Your Company Password}',
// Configure Score
'url': 'https://api.iapp.co.th/face_config_score?detection&recognition&company={Your Company Name}&password={Your Company Password}',
'headers': {
'apikey': '{Your API Key}'
},
formData: {
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
#import <Foundation/Foundation.h>
dispatch_semaphore_t sema = dispatch_semaphore_create(0);
// Configure Score
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.iapp.co.th/face_config_score?detection Value}&recognition={Recognition Value}&company={Your Company Name}&password={Your Company Password}"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
// Show Score
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://api.iapp.co.th/face_config_score?detection&recognition&company={Your Company Name}&password={Your Company Password}"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
NSDictionary *headers = @{
@"apikey": @"{Your API Key}"
};
[request setAllHTTPHeaderFields:headers];
[request setHTTPMethod:@"GET"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
dispatch_semaphore_signal(sema);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSError *parseError = nil;
NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
NSLog(@"%@",responseDictionary);
dispatch_semaphore_signal(sema);
}
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
// Configure Score
$request->setUrl('https://api.iapp.co.th/face_config_score?detection={Detection Value}&recognition={Recognition Value}&company={Your Company Name}&password={Your Company Password}');
// Show Score
$request->setUrl('https://api.iapp.co.th/face_config_score?detection&recognition&company={Your Company Name}&password={Your Company Password}');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'apikey' => '{Your API Key}'
));
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
# Configure Score
url = "https://api.iapp.co.th/face_config_score?detection={Detection Value}&recognition={Recognition Value}&company={Your Company Name}&password={Your Company Password}"
# Show Score
url = "https://api.iapp.co.th/face_config_score?detection&recognition&company={Your Company Name}&password={Your Company Password}"
payload={}
files={}
headers = {
'apikey': '{Your API Key}'
}
response = requests.request("GET", url, headers=headers, data=payload, files=files)
print(response.text)
Last updated