# .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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://kycdocv2.faceki.com/api-libraries/.net-api-library.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
