# .NET API Library

#### Nuget Package

```markup
https://www.nuget.org/packages/FacekiDotNet/
```

### Prerequisites

* .NET Framework 4.7.2 or later
* Visual Studio or any other compatible IDE

### Installation

You can install the .NET SDK for Faceki by following these steps:

1. Open your project in Visual Studio or your preferred IDE.
2. Open the NuGet Package Manager Console.
3. Run the following command to install the package:

```powershell
dotnet add package FacekiDotNet --version 1.0.1
```

### Usage

#### Initialize the Faceki client

To start using the Faceki SDK, you need to initialize the FacekiDotNet class with your client ID and client secret:

```csharp
using FacekiDotNet;

var clientId = "yourClientId";
var clientSecret = "yourClientSecret";

FacekiAPIs client = new FacekiAPIs(clientId ,clientSecret);
```

Replace `"yourClientId"` and `"yourClientSecret"` with your actual Faceki client ID and client secret.

#### GetKYCRules

Retrieves the KYC rules from the Faceki API.

```csharp
KYCRuleResponse kycRules = await facekiAPIs.GetKYCRules();
```

#### KYCRequest

Performs KYC verification using the provided images.

```csharp
KYCVerificationResponse kycVerificationResult = await facekiAPIs.KYCRequest(
    selfie_image: "path_to_selfie_image",
    id_front_image: "path_to_id_front_image",
    id_back_image: "path_to_id_back_image",
    dl_front_image: "path_to_dl_front_image",
    dl_back_image: "path_to_dl_back_image",
    pp_front_image: "path_to_pp_front_image"
);
```

#### GetKYCSummary

Retrieves the summary of KYC verifications performed.

```csharp
KYCSummaryResponse kycSummary = await facekiAPIs.GetKYCSummary();
```

#### GenerateKYCLink

Generates a KYC verification link that can be shared with users for verification.

```csharp
int expiryTime = 60; // Expiry time in minutes
string applicationId = "your_application_id";
KYCLinkGenerate kycLink = await facekiAPIs.GenerateKYCLink(expiryTime, applicationId);
```

#### GetKycRecords

Retrieves KYC verification records based on the provided link ID.

```csharp
string linkId = "your_link_id";
GetKycResultsData kycRecords = await facekiAPIs.GetKycRecords(linkId);
```

#### FaceMatch

Performs a face match verification using the provided selfie image.

```csharp
FaceMatchResponseData faceMatchResult = await facekiAPIs.FaceMatach("path_to_selfie_image");
```

Dispose the `FacekiAPIs` an instance when you are done using it to release the underlying resources:

```csharp
facekiAPIs.Dispose();
```

### Conclusion

The FacekiAPIs package provides a simple and efficient way to integrate with the Faceki API for facial recognition and KYC verification. By following the steps outlined in this documentation, you can easily incorporate the package into your project and utilize its functionality.

<br>
