SelphID Cpp SDK API
Loading...
Searching...
No Matches
SelphIDVerifier.h
1#ifndef SELPHIDVERIFIER_H_
2#define SELPHIDVERIFIER_H_
3
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"
14
15namespace FPhiSelphID {
21 public:
26 DLL_PUBLIC SelphIDVerifier();
27
32 DLL_PUBLIC ~SelphIDVerifier();
33
39 DLL_PUBLIC void Load();
40
47 DLL_PUBLIC void LoadWithConfigPath(const std::string &configFilePath);
48
54 DLL_PUBLIC void LoadFromEnvVars();
55
61 DLL_PUBLIC void Unload();
62
68 DLL_PUBLIC std::string GetVersion();
69
79 const std::vector<unsigned char> &imageBuffer, const SelphIDVerifierOptions &verifierOptions);
80
90 const std::vector<unsigned char> &rawTemplateBuffer, const SelphIDVerifierOptions &verifierOptions);
91
102 const SelphIDFacialExtractionResult &extractionResultQuery,
103 const SelphIDFacialExtractionResult &extractionResultTarget, const SelphIDVerifierOptions &verifierOptions);
104
115 const std::vector<unsigned char> &imageBufferQuery, const std::vector<unsigned char> &imageBufferTarget,
116 const SelphIDVerifierOptions &verifierOptions);
117
128 const std::vector<unsigned char> &rawTemplateBufferQuery,
129 const std::vector<unsigned char> &rawTemplateBufferTarget, const SelphIDVerifierOptions &verifierOptions);
130
142 const std::vector<unsigned char> &rawTemplateBufferQuery,
143 const std::vector<unsigned char> &rawTemplateBufferTarget, const std::vector<unsigned char> &extraData,
144 const SelphIDVerifierOptions &verifierOptions);
145
156 const std::vector<unsigned char> &facialTemplateBufferQuery,
157 const std::vector<unsigned char> &facialTemplateBufferTarget, const SelphIDVerifierOptions &verifierOptions);
158
167 DLL_PUBLIC SelphIDDocumentResult ExtractDocumentWithRawDocument(const std::vector<unsigned char> &rawDocumentBuffer,
168 const SelphIDVerifierOptions &verifierOptions);
169
179 DLL_PUBLIC SelphIDDocumentResult ExtractDocumentWithRawDocument(const std::vector<unsigned char> &rawDocumentBuffer,
180 const std::vector<unsigned char> &extraData,
181 const SelphIDVerifierOptions &verifierOptions);
182
191 DLL_PUBLIC SelphIDDocumentResult VerifyDocumentWithRawDocument(const std::vector<unsigned char> &rawDocumentBuffer,
192 const SelphIDVerifierOptions &verifierOptions);
193
205 const std::vector<unsigned char> &rawDocumentBufferQuery,
206 const std::vector<unsigned char> &rawTemplateBufferTarget, const SelphIDVerifierOptions &verifierOptions);
207
220 const std::vector<unsigned char> &rawDocumentBufferQuery,
221 const std::vector<unsigned char> &rawTemplateBufferTarget, const std::vector<unsigned char> &extraData,
222 const SelphIDVerifierOptions &verifierOptions);
223
234 const std::vector<unsigned char> &rawDocumentBufferQuery,
235 const std::vector<unsigned char> &rawTemplateBufferTarget, const SelphIDVerifierOptions &verifierOptions);
236
248 const std::vector<unsigned char> &rawDocumentBufferQuery, const std::vector<unsigned char> &imageBufferTarget,
249 const SelphIDVerifierOptions &verifierOptions);
250
263 const std::vector<unsigned char> &rawDocumentBufferQuery, const std::vector<unsigned char> &imageBufferTarget,
264 const std::vector<unsigned char> &extraData, const SelphIDVerifierOptions &verifierOptions);
265
276 const std::vector<unsigned char> &rawDocumentBufferQuery, const std::vector<unsigned char> &imageBufferTarget,
277 const SelphIDVerifierOptions &verifierOptions);
278
290 const std::vector<unsigned char> &imageBufferQuery, const std::vector<unsigned char> &rawTemplateBufferTarget,
291 const SelphIDVerifierOptions &verifierOptions);
292
306 const std::vector<unsigned char> &imageBufferQuery, const std::vector<unsigned char> &rawTemplateBufferTarget,
307 const std::vector<unsigned char> &extraData, const SelphIDVerifierOptions &verifierOptions);
308
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);
326
337 DLL_PUBLIC SelphIDApiTrackingResult FinishTrackingEvent(TrackingFamily family, OperationResultStatus status,
338 OperationResultReason reason,
339 const std::vector<unsigned char> &extraData);
340
351 DLL_PUBLIC SelphIDApiTrackingResult SecurityInfoTrackingEvent(const std::string &securityDataJson, bool succeed,
352 const std::string &source,
353 const std::vector<unsigned char> &extraData);
354
364 DLL_PUBLIC SelphIDApiTrackingResult OCRTrackingEvent(const std::string &ocrDataJson, const std::string &source,
365 const std::vector<unsigned char> &extraData);
366
375 DLL_PUBLIC std::vector<unsigned char> SetTrackingEventSource(const std::string &eventSource,
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);
390
402 const std::vector<unsigned char> &imageBufferQuery, const std::vector<unsigned char> &rawTemplateBufferTarget,
403 const SelphIDVerifierOptions &verifierOptions);
404
417 const std::vector<unsigned char> &imageBufferQuery, const std::vector<unsigned char> &rawTemplateBufferTarget,
418 const std::vector<unsigned char> &extraData, const SelphIDVerifierOptions &verifierOptions);
419
430 const std::vector<unsigned char> &rawTemplateBufferQuery,
431 const std::vector<unsigned char> &rawTemplateBufferTarget, const SelphIDVerifierOptions &verifierOptions);
432
444 const std::vector<unsigned char> &rawTemplateBufferQuery,
445 const std::vector<unsigned char> &rawTemplateBufferTarget, const std::vector<unsigned char> &extraData,
446 const SelphIDVerifierOptions &verifierOptions);
447
455 DLL_PUBLIC SelphIDRawTemplateInfo GetRawTemplateInfo(const std::vector<unsigned char> &templateBuffer);
456
464 DLL_PUBLIC int GetFacialTemplateVersion(const std::vector<unsigned char> &facialTemplateBuffer) const;
465
474 EvaluatePassiveLivenesWithImageBuffer(const std::vector<unsigned char> &imageBuffer);
475
485 const std::vector<unsigned char> &imageBuffer, const std::vector<unsigned char> &extraData);
486
496 const std::vector<unsigned char> &tokenBuffer, const SelphIDVerifierOptions &verifierOptions);
497
508 const std::vector<unsigned char> &tokenBuffer, const std::vector<unsigned char> &extraData,
509 const SelphIDVerifierOptions &verifierOptions);
510
517 DLL_PUBLIC void SetMultitenantMode(bool multiTenant);
518
525 DLL_PUBLIC bool IsMultitenantEnabled();
526
532 DLL_PUBLIC std::string GetDebugPath();
533
539 DLL_PUBLIC bool IsSDKAlive() const;
540
547 DLL_PUBLIC void DoUndocumentedAction(uint16_t actionCode, void *data);
548};
549
550} // namespace FPhiSelphID
551
552#endif
SelphIDApiTrackingResult.
Definition SelphIDApiTrackingResult.h:12
SelphIDDocumentResult.
Definition SelphIDDocumentResult.h:13
SelphIDFacialAuthenticationResult.
Definition SelphIDFacialAuthenticationResult.h:15
SelphID Facial Extraction Result.
Definition SelphIDFacialExtractionResult.h:14
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