1#ifndef SELPHIDVERIFIER_H_
2#define SELPHIDVERIFIER_H_
4#include "FPhiDefines.hpp"
5#include "SelphIDDocumentResult.h"
6#include "SelphIDFacialAuthenticationResult.h"
7#include "SelphIDFacialExtractionResult.h"
8#include "SelphIDVerifierOptions.h"
9#include "SelphIDVerifierResult.h"
10#include "SelphIDRawTemplateInfo.h"
11#include "SelphIDFacialLivenessResult.h"
12#include "SelphIDApiTrackingResult.h"
13#include "SelphIDException.h"
15namespace FPhiSelphID {
115 const std::vector<unsigned char> &imageBufferQuery,
const std::vector<unsigned char> &imageBufferTarget,
128 const std::vector<unsigned char> &rawTemplateBufferQuery,
129 const std::vector<unsigned char> &rawTemplateBufferTarget,
const SelphIDVerifierOptions &verifierOptions);
142 const std::vector<unsigned char> &rawTemplateBufferQuery,
143 const std::vector<unsigned char> &rawTemplateBufferTarget,
const std::vector<unsigned char> &extraData,
156 const std::vector<unsigned char> &facialTemplateBufferQuery,
157 const std::vector<unsigned char> &facialTemplateBufferTarget,
const SelphIDVerifierOptions &verifierOptions);
180 const std::vector<unsigned char> &extraData,
205 const std::vector<unsigned char> &rawDocumentBufferQuery,
206 const std::vector<unsigned char> &rawTemplateBufferTarget,
const SelphIDVerifierOptions &verifierOptions);
220 const std::vector<unsigned char> &rawDocumentBufferQuery,
221 const std::vector<unsigned char> &rawTemplateBufferTarget,
const std::vector<unsigned char> &extraData,
234 const std::vector<unsigned char> &rawDocumentBufferQuery,
235 const std::vector<unsigned char> &rawTemplateBufferTarget,
const SelphIDVerifierOptions &verifierOptions);
248 const std::vector<unsigned char> &rawDocumentBufferQuery,
const std::vector<unsigned char> &imageBufferTarget,
263 const std::vector<unsigned char> &rawDocumentBufferQuery,
const std::vector<unsigned char> &imageBufferTarget,
276 const std::vector<unsigned char> &rawDocumentBufferQuery,
const std::vector<unsigned char> &imageBufferTarget,
290 const std::vector<unsigned char> &imageBufferQuery,
const std::vector<unsigned char> &rawTemplateBufferTarget,
306 const std::vector<unsigned char> &imageBufferQuery,
const std::vector<unsigned char> &rawTemplateBufferTarget,
323 TrackingFamily family, FacialAuthenticationStatus authStatus,
float similarity,
const std::string &source,
324 const std::vector<unsigned char> &imageBufferQuery,
const std::vector<unsigned char> &imageBufferTarget,
325 const std::vector<unsigned char> &extraData);
338 OperationResultReason reason,
339 const std::vector<unsigned char> &extraData);
352 const std::string &source,
353 const std::vector<unsigned char> &extraData);
365 const std::vector<unsigned char> &extraData);
376 const std::vector<unsigned char> &extraData);
388 DLL_PUBLIC
void SetTrackingProxy(
const std::string &proxyHost, uint16_t proxyPort,
const std::string &proxyUser,
389 const std::string &proxyPass);
402 const std::vector<unsigned char> &imageBufferQuery,
const std::vector<unsigned char> &rawTemplateBufferTarget,
417 const std::vector<unsigned char> &imageBufferQuery,
const std::vector<unsigned char> &rawTemplateBufferTarget,
430 const std::vector<unsigned char> &rawTemplateBufferQuery,
431 const std::vector<unsigned char> &rawTemplateBufferTarget,
const SelphIDVerifierOptions &verifierOptions);
444 const std::vector<unsigned char> &rawTemplateBufferQuery,
445 const std::vector<unsigned char> &rawTemplateBufferTarget,
const std::vector<unsigned char> &extraData,
485 const std::vector<unsigned char> &imageBuffer,
const std::vector<unsigned char> &extraData);
508 const std::vector<unsigned char> &tokenBuffer,
const std::vector<unsigned char> &extraData,
SelphIDApiTrackingResult.
Definition SelphIDApiTrackingResult.h:12
SelphIDDocumentResult.
Definition SelphIDDocumentResult.h:13
SelphIDFacialAuthenticationResult.
Definition SelphIDFacialAuthenticationResult.h:15
SelphID Facial Liveness Result.
Definition SelphIDFacialLivenessResult.h:14
SelphID RawTemplate Info.
Definition SelphIDRawTemplateInfo.h:13
SelphID verifier.
Definition SelphIDVerifier.h:20
DLL_PUBLIC ~SelphIDVerifier()
SelphIDVerifier destructor.
DLL_PUBLIC SelphIDVerifierResult VerifySelphIDWithImageRawTemplate(const std::vector< unsigned char > &imageBufferQuery, const std::vector< unsigned char > &rawTemplateBufferTarget, const std::vector< unsigned char > &extraData, const SelphIDVerifierOptions &verifierOptions)
Performs the facial authentication and passive liveness with image buffer, raw template and verifier ...
DLL_PUBLIC SelphIDFacialAuthenticationResult AuthenticateFacialWithExtractionResults(const SelphIDFacialExtractionResult &extractionResultQuery, const SelphIDFacialExtractionResult &extractionResultTarget, const SelphIDVerifierOptions &verifierOptions)
Authenticates two facial templates from facial extraction results.
DLL_PUBLIC SelphIDVerifierResult VerifySelphIDWithRawDocumentRawTemplate(const std::vector< unsigned char > &rawDocumentBufferQuery, const std::vector< unsigned char > &rawTemplateBufferTarget, const SelphIDVerifierOptions &verifierOptions)
Performs the facial authentication and document verification with verifier options.
DLL_PUBLIC SelphIDVerifierResult VerifySelphIDWithRawTemplates(const std::vector< unsigned char > &rawTemplateBufferQuery, const std::vector< unsigned char > &rawTemplateBufferTarget, const std::vector< unsigned char > &extraData, const SelphIDVerifierOptions &verifierOptions)
Performs the facial authentication and passive liveness with raw templates and verifier options.
DLL_PUBLIC void LoadWithConfigPath(const std::string &configFilePath)
Performs parameter and module loading.
DLL_PUBLIC SelphIDApiTrackingResult AuthenticateFacialTrackingEvent(TrackingFamily family, FacialAuthenticationStatus authStatus, float similarity, const std::string &source, const std::vector< unsigned char > &imageBufferQuery, const std::vector< unsigned char > &imageBufferTarget, const std::vector< unsigned char > &extraData)
Send a "Facial authentication" event in API Tracking. Also can upload the authentication images.
DLL_PUBLIC SelphIDFacialLivenessResult EvaluatePassiveLivenessWithTokenBuffer(const std::vector< unsigned char > &tokenBuffer, const std::vector< unsigned char > &extraData, const SelphIDVerifierOptions &verifierOptions)
Evaluates face passive liveness.
DLL_PUBLIC SelphIDVerifierResult VerifySelphIDWithImageRawTemplate(const std::vector< unsigned char > &imageBufferQuery, const std::vector< unsigned char > &rawTemplateBufferTarget, const SelphIDVerifierOptions &verifierOptions)
Performs the facial authentication and passive liveness with image buffer, raw template and verifier ...
DLL_PUBLIC SelphIDFacialLivenessResult EvaluatePassiveLivenessWithTokenBuffer(const std::vector< unsigned char > &tokenBuffer, const SelphIDVerifierOptions &verifierOptions)
Evaluates face passive liveness.
DLL_PUBLIC int GetFacialTemplateVersion(const std::vector< unsigned char > &facialTemplateBuffer) const
Gets facial template version.
DLL_PUBLIC SelphIDFacialAuthenticationResult AuthenticateFacialWithImageRawTemplate(const std::vector< unsigned char > &imageBufferQuery, const std::vector< unsigned char > &rawTemplateBufferTarget, const SelphIDVerifierOptions &verifierOptions)
Authenticates two facial templates from raw document and raw facial template buffers with verifier op...
DLL_PUBLIC SelphIDDocumentResult ExtractDocumentWithRawDocument(const std::vector< unsigned char > &rawDocumentBuffer, const SelphIDVerifierOptions &verifierOptions)
Extracts document data from raw document.
DLL_PUBLIC void LoadFromEnvVars()
Performs parameter and module loading from environment variables.
DLL_PUBLIC SelphIDApiTrackingResult SecurityInfoTrackingEvent(const std::string &securityDataJson, bool succeed, const std::string &source, const std::vector< unsigned char > &extraData)
Send a "SECURITY_INFO_DATA" event in API Tracking, based on security results.
DLL_PUBLIC std::string GetVersion()
Gets SelphID version string.
DLL_PUBLIC SelphIDFacialLivenessResult EvaluatePassiveLivenesWithImageBuffer(const std::vector< unsigned char > &imageBuffer)
Evaluates face passive liveness.
DLL_PUBLIC SelphIDVerifierResult VerifySelphIDWithRawDocumentImage(const std::vector< unsigned char > &rawDocumentBufferQuery, const std::vector< unsigned char > &imageBufferTarget, const SelphIDVerifierOptions &verifierOptions)
Performs the facial authentication and document verification verifier options.
DLL_PUBLIC void DoUndocumentedAction(uint16_t actionCode, void *data)
Don't use, internal use for testing.
DLL_PUBLIC SelphIDFacialAuthenticationResult AuthenticateFacialWithRawDocumentImage(const std::vector< unsigned char > &rawDocumentBufferQuery, const std::vector< unsigned char > &imageBufferTarget, const std::vector< unsigned char > &extraData, const SelphIDVerifierOptions &verifierOptions)
Authenticates two facial templates from raw document and raw facial template buffers with verifier op...
DLL_PUBLIC SelphIDFacialAuthenticationResult AuthenticateFacialWithRawDocumentRawTemplate(const std::vector< unsigned char > &rawDocumentBufferQuery, const std::vector< unsigned char > &rawTemplateBufferTarget, const SelphIDVerifierOptions &verifierOptions)
Authenticates two facial templates from raw document and raw facial template buffers with verifier op...
DLL_PUBLIC bool IsSDKAlive() const
Get if SDK is alive.
DLL_PUBLIC SelphIDFacialAuthenticationResult AuthenticateFacialWithRawTemplates(const std::vector< unsigned char > &rawTemplateBufferQuery, const std::vector< unsigned char > &rawTemplateBufferTarget, const SelphIDVerifierOptions &verifierOptions)
Authenticates two facial templates from raw template buffers with verifier options.
DLL_PUBLIC void Load()
Performs parameter and module loading.
DLL_PUBLIC SelphIDVerifier()
Creates a new instance of SelphIDVerifier.
DLL_PUBLIC std::string GetDebugPath()
Get the full path for SelphID SDK log file.
DLL_PUBLIC SelphIDFacialAuthenticationResult AuthenticateFacialWithImageBuffers(const std::vector< unsigned char > &imageBufferQuery, const std::vector< unsigned char > &imageBufferTarget, const SelphIDVerifierOptions &verifierOptions)
Authenticates two facial templates from facial image buffers.
DLL_PUBLIC SelphIDFacialAuthenticationResult AuthenticateFacialWithImageRawTemplate(const std::vector< unsigned char > &imageBufferQuery, const std::vector< unsigned char > &rawTemplateBufferTarget, const std::vector< unsigned char > &extraData, const SelphIDVerifierOptions &verifierOptions)
Authenticates two facial templates from raw document and raw facial template buffers with verifier op...
DLL_PUBLIC bool IsMultitenantEnabled()
Checks if SelphID is running in multitenant or monotenant mode.
DLL_PUBLIC void SetMultitenantMode(bool multiTenant)
Turns on or off the API tracking multitenant functionality.
DLL_PUBLIC SelphIDDocumentResult ExtractDocumentWithRawDocument(const std::vector< unsigned char > &rawDocumentBuffer, const std::vector< unsigned char > &extraData, const SelphIDVerifierOptions &verifierOptions)
Extracts document data from raw document.
DLL_PUBLIC SelphIDFacialAuthenticationResult AuthenticateFacialWithFacialTemplates(const std::vector< unsigned char > &facialTemplateBufferQuery, const std::vector< unsigned char > &facialTemplateBufferTarget, const SelphIDVerifierOptions &verifierOptions)
Authenticates two facial templates from facial template buffers with verifier options.
DLL_PUBLIC SelphIDFacialAuthenticationResult AuthenticateFacialWithRawTemplates(const std::vector< unsigned char > &rawTemplateBufferQuery, const std::vector< unsigned char > &rawTemplateBufferTarget, const std::vector< unsigned char > &extraData, const SelphIDVerifierOptions &verifierOptions)
Authenticates two facial templates from raw template buffers with verifier options.
DLL_PUBLIC SelphIDFacialExtractionResult ExtractFacialWithImageBuffer(const std::vector< unsigned char > &imageBuffer, const SelphIDVerifierOptions &verifierOptions)
Extracts facial template from image buffer.
DLL_PUBLIC SelphIDFacialAuthenticationResult AuthenticateFacialWithRawDocumentRawTemplate(const std::vector< unsigned char > &rawDocumentBufferQuery, const std::vector< unsigned char > &rawTemplateBufferTarget, const std::vector< unsigned char > &extraData, const SelphIDVerifierOptions &verifierOptions)
Authenticates two facial templates from raw document and raw facial template buffers with verifier op...
DLL_PUBLIC void SetTrackingProxy(const std::string &proxyHost, uint16_t proxyPort, const std::string &proxyUser, const std::string &proxyPass)
Set proxy parameters for API Tracking. After calling this function, all requests to the tracking API ...
DLL_PUBLIC SelphIDFacialAuthenticationResult AuthenticateFacialWithRawDocumentImage(const std::vector< unsigned char > &rawDocumentBufferQuery, const std::vector< unsigned char > &imageBufferTarget, const SelphIDVerifierOptions &verifierOptions)
Authenticates two facial templates from raw document and raw facial template buffers with verifier op...
DLL_PUBLIC SelphIDApiTrackingResult FinishTrackingEvent(TrackingFamily family, OperationResultStatus status, OperationResultReason reason, const std::vector< unsigned char > &extraData)
Send a "Operation result" and "Step change finish" events in API Tracking.
DLL_PUBLIC SelphIDApiTrackingResult OCRTrackingEvent(const std::string &ocrDataJson, const std::string &source, const std::vector< unsigned char > &extraData)
Send a "OCR Data" event in API Tracking.
DLL_PUBLIC SelphIDRawTemplateInfo GetRawTemplateInfo(const std::vector< unsigned char > &templateBuffer)
Gets raw template information.
DLL_PUBLIC void Unload()
Performs module deallocation and free memory.
DLL_PUBLIC SelphIDVerifierResult VerifySelphIDWithRawTemplates(const std::vector< unsigned char > &rawTemplateBufferQuery, const std::vector< unsigned char > &rawTemplateBufferTarget, const SelphIDVerifierOptions &verifierOptions)
Performs the facial authentication and passive liveness with raw templates and verifier options.
DLL_PUBLIC SelphIDFacialLivenessResult EvaluatePassiveLivenesWithImageBuffer(const std::vector< unsigned char > &imageBuffer, const std::vector< unsigned char > &extraData)
Evaluates face passive liveness.
DLL_PUBLIC std::vector< unsigned char > SetTrackingEventSource(const std::string &eventSource, const std::vector< unsigned char > &extraData)
Change the event source value in extraData token.
DLL_PUBLIC SelphIDFacialExtractionResult ExtractFacialWithRawTemplate(const std::vector< unsigned char > &rawTemplateBuffer, const SelphIDVerifierOptions &verifierOptions)
Extracts facial template from template raw buffer.
DLL_PUBLIC SelphIDDocumentResult VerifyDocumentWithRawDocument(const std::vector< unsigned char > &rawDocumentBuffer, const SelphIDVerifierOptions &verifierOptions)
Verify document data from raw document.
SelphID Verifier Options.
Definition SelphIDVerifierOptions.h:14
SelphID Verifier Result.
Definition SelphIDVerifierResult.h:14