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
apikey*
String
The API Key to call this API
Request Body
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
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
apikey*
String
The API Key to call this API
Request Body
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
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
apikey*
String
The API Key to call this API
Request Body
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
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
apikey*
String
The API Key to call this API
Request Body
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
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
apikey*
string
The API Key to call this API
Request Body
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
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
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
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
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
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
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
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
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