Access the BioID Web Service with SOAP API

The BioID Web Service (BWS) has been designed using a service-oriented architecture (SOA) and is implemented as a Windows Communication Foundation (WCF) service using the SOAP protocol, which allows platform-independent implementation on the customer's side. No installation on on-premise systems is needed since all access to BWS is done remotely over standard ports.

Before you begin:

You need to have access to an existing BWS installation. If you don't have this access, you can register for a trial instance.

The access to the service instances is restricted with standard X.509 client certificates. You can download this certificate from the BWS Management Portal.

The service-, operation- and data-contracts of the current version of BWS are available online as a single WSDL metadata document. (XML file).

If you are writing a Windows client- or web-application, you might want to have a look at the sample configuration file.

IBioIDWebService Interface Documentation

The BioID Web Service contract is based on the IBioIDWebService interface, which makes up the BWS API:

[ServiceContract(Namespace = "http://www.bioid.com/2011/12/bws", Name = "IBioIDWebService"]
public interface IBioIDWebService
{
    bool Enroll (BiometricClassID classId, Sample [] samples, EnrollmentFlags flags, out string messages);
    bool Verify (BiometricClassID classId, Sample [] samples, ClassificationFlags flags, out string messages);
    bool Identify (BiometricClassID partition, Sample [] samples, ClassificationFlags flags, int maxResults, out ScoredClass [] matches, out string messages);
    bool QualityCheck (Sample [] samples, out Sample [] processedSamples, out string messages, TestFlags flags, string issuer);
    bool Status (out string status);
    bool DeleteClass (BiometricClassID classId);
    bool IsEnrolled (BiometricClassID classId, Trait trait);
}       

IBioIDWebService Methods

Enroll
Performs the enrollment of an individual, by calculating and storing a biometric template for each trait represented by the given samples.
Verify
Performs a one-to-one comparison of the given samples with the stored biometric templates in order to verify the individual is the person he or she claims to be.
Identify
Performs a one-to-many comparison of the given samples with the stored biometric templates in order to identify the individuals that are most likely represented by the given samples.
QualityCheck
Performs a rigorous quality check (currently only on face images), which is crucial for enrollment, verification or identification.
Status
Requests status information from a BWS installation.
DeleteClass
Deletes a class from the storage.
IsEnrolled
Finds out whether a user is already enrolled for a specific trait.

BWS Classes

BiometricClassID
The BiometricClassID identifies a class within BioID Web Services. A class is an anonymous entity representing all the biometric data provided by a single individual.
ScoredClass
The ScoredClass is used in identification result lists, where a score is attached to each identified class. The class itself is represented by the base class BiometricClassID.
Sample
Base class for any kind of samples (patterns for the different traits).
BioIDWebServiceFault
BioID Web Service specific SOAP faults as used in the BWS operation contracts.

BWS Enumerations

Trait
Enumeration list for the various traits supported by BWS.
EnrollmentFlags
Enumeration list for the various flags supported by the BWS Enroll operation.
ClassificationFlags
Enumeration list for the various flags supported by the BWS classification operations like Verify or Identify.
TestFlags
Enumeration list for the various flags supported by the BWS test operations like QualityCheck.

BWS Message Schemas

BWS Messages
Schema for messages returned by most of the BWS operations.
BWS Status
Schema for message returned by the BWS Status operation.