# Biblioteca .NET

Integra el TPV Integrado en tu aplicación usando la biblioteca .NET.

## Instalación

1. Coloca los archivos `PosIntegrado.Api.dll` y `PosIntegrado.Api.xml` incluidos en el paquete de release en el directorio `libs/` de tu proyecto.
2. Agrega una referencia al archivo `PosIntegrado.Api.dll` dentro de tu proyecto.

## Namespaces principales

Incluye los siguientes namespaces principales en tu código:

```csharp
using PosIntegrado.Api;
using PosIntegrado.Api.Abstractions;
```

## Creación del Connector

Crea una instancia de Connector para comunicarte por USB o HTTP (red) con los métodos correspondientes:

### Conexión HTTP de salida

```csharp
var connector = Connector.CreateHttp("192.168.1.100", 8080);
```

### Conexión USB de salida

```csharp
var connector = Connector.CreateUsb("COM3");
```

## Manejo de errores

Consulta el patrón `Result<T>` para tratar la lógica de negocio esperada en lugar de depender de excepciones:

```csharp
var response = connector.SomeOperation(request);

if (response.IsSuccess)
{
    // Proceed with response.Value
}
else
{
    // Handle error with response.Error
}
```

## Ejemplo de flujo de venta

Revisa el siguiente ejemplo, que muestra la estructura de un flujo de venta en un solo paso:

```csharp
// 1. Initialize connector
var connector = Connector.CreateHttp("192.168.1.100", 8080);

// 2. Build the request
var request = new SaleRequest 
{
    Amount = 15000,
    SaleType = SaleType.Card,
    PrintOnPos = true
};

// 3. Execute the sale
var result = connector.Sale(request);

// 4. Handle the result
if (result.IsSuccess)
{
    var saleResponse = result.Value;
    Console.WriteLine($"Sale Approved: {saleResponse.AuthorizationCode}");
}
else
{
    Console.WriteLine($"Sale Failed: {result.Error.Message}");
}
```

## Siguientes pasos

* Ejecuta el flujo completo de principio a fin con la guía de [Inicio rápido](/es/integrated-pos/first-steps-pos/quickstart-integrated-pos).
* Consulta la firma de cada método y sus parámetros en [Métodos y parámetros](/es/integrated-pos/reference/methods-parameters).