GatekeeperX.Events.Sdk
1.0.2
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package GatekeeperX.Events.Sdk --version 1.0.2
NuGet\Install-Package GatekeeperX.Events.Sdk -Version 1.0.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="GatekeeperX.Events.Sdk" Version="1.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="GatekeeperX.Events.Sdk" Version="1.0.2" />
<PackageReference Include="GatekeeperX.Events.Sdk" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add GatekeeperX.Events.Sdk --version 1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: GatekeeperX.Events.Sdk, 1.0.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package GatekeeperX.Events.Sdk@1.0.2
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=GatekeeperX.Events.Sdk&version=1.0.2
#tool nuget:?package=GatekeeperX.Events.Sdk&version=1.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
GatekeeperX.Events.Sdk
SDK oficial de .NET para integración con GatekeeperX Events API - Plataforma de detección de fraude y evaluación de riesgo en tiempo real.
Instalación
dotnet add package GatekeeperX.Events.Sdk
O en el Package Manager:
Install-Package GatekeeperX.Events.Sdk
Inicio Rápido
using GatekeeperX.Events.Sdk;
using GatekeeperX.Events.Sdk.Models.Request;
// Crear cliente
using var client = EventsApiClient.Builder()
.Sandbox() // o .Production()
.WithOrganizationId("tu-organization-id")
.WithApiKey("tu-api-key")
.Build();
// Crear request
var request = EventRequest.Builder()
.WithEventType("create_cashout")
.WithTimestamp(DateTimeOffset.UtcNow.ToUnixTimeMilliseconds())
.WithCustomer(Customer.Builder()
.WithCustomerId("cust_001")
.WithEmail("usuario@ejemplo.com")
.Build())
.WithMovement(Movement.Builder()
.WithMovementId("mov_001")
.WithAmount(Money.Builder()
.WithAmount(50000m)
.WithAmountInMinorUnits(5000000)
.WithCurrencyCode("COP")
.Build())
.Build())
.Build();
// Enviar evento
var response = await client.ProcessEventAsync(request);
Console.WriteLine($"Decision: {response.Decision}"); // allow, block, review
Console.WriteLine($"Score: {response.Evaluation?.Score}");
Configuración del Cliente
Configuración Básica
using var client = EventsApiClient.Builder()
.Sandbox()
.WithOrganizationId("tu-organization-id")
.WithApiKey("tu-api-key")
.Build();
Configuración Avanzada
using var client = EventsApiClient.Builder()
.Production()
.WithOrganizationId("tu-organization-id")
.WithApiKey("tu-api-key")
.WithTimeout(TimeSpan.FromSeconds(30))
.WithMaxRetries(3)
.WithRetryBackoff(TimeSpan.FromMilliseconds(500))
.WithRetryMultiplier(2.0)
.WithMaxBackoff(TimeSpan.FromSeconds(10))
.WithLogger(logger) // ILogger opcional
.Build();
| Parámetro | Descripción | Default |
|---|---|---|
Sandbox() / Production() |
Ambiente de la API | Requerido |
WithOrganizationId() |
ID de tu organización | Requerido |
WithApiKey() |
API Key de autenticación | Requerido |
WithTimeout() |
Timeout de la petición | 30 segundos |
WithMaxRetries() |
Número máximo de reintentos | 3 |
WithRetryBackoff() |
Tiempo inicial entre reintentos | 500ms |
WithRetryMultiplier() |
Multiplicador exponencial | 2.0 |
WithMaxBackoff() |
Tiempo máximo entre reintentos | 10 segundos |
Métodos Disponibles
ProcessEventAsync (Recomendado)
var response = await client.ProcessEventAsync(
request,
returnScore: true, // true para obtener score, false para async
cancellationToken: default
);
ProcessEvent (Síncrono)
var response = client.ProcessEvent(request, returnScore: true);
Tipos de Eventos
create_cashout (Retiros / Transferencias P2P)
var request = EventRequest.Builder()
.WithEventType("create_cashout")
.WithTimestamp(DateTimeOffset.UtcNow.ToUnixTimeMilliseconds())
.WithMovement(Movement.Builder()
.WithMovementId("7e43e0ce-69ab-406d-baa4-8ce0c31df36d")
.WithExternalId("1955346017")
.WithType("4")
.WithStatus("")
.WithCreatedAt("2026-11-20T10:00:00Z")
.WithUpdatedAt("2026-11-20T10:10:00Z")
.WithAmount(Money.Builder()
.WithCurrencyCode("COP")
.WithAmount(25000.2m)
.WithAmountInMinorUnits(2500000)
.Build())
.WithOrigin(MovementOrigin.Builder()
.WithPaymentMethod(MovementPaymentMethod.Builder()
.WithType("bankAccount")
.WithPaymentMethodId("ef454b2f-4681-41f4-9b2f-5c3aced5d4a8")
.WithAccountNumber("100000056298")
.WithBankCode("BOFAUS3N")
.WithCustomFields(new Dictionary<string, object>
{
{ "thirdPartyId", 11 },
{ "subKey", "xx" }
})
.Build())
.WithCustomFields(new Dictionary<string, object>
{
{ "accountBalanceHistoricId", "uuid" },
{ "finalValue", 4000 }
})
.Build())
.WithDestination(MovementDestination.Builder()
.WithPaymentMethod(MovementPaymentMethod.Builder()
.WithType("bankAccount")
.WithPaymentMethodId("pm-2")
.WithAccountNumber("1234567890")
.WithBankCode("BOFAUS3N")
.WithBankId("BOFAUS3N")
.WithBankName("Bank of America")
.Build())
.Build())
.Build())
.WithCustomer(Customer.Builder()
.WithCustomerId("prueba_movi3")
.WithPhoneNumber("+15555551234")
.WithEmail("john.doe@example.com")
.WithEmailVerifiedAt(true)
.WithFirstName("John")
.WithLastName("Doe")
.WithBirthDate("2025-05-18")
.WithGender("1")
.WithIsPep(true)
.WithTags(new List<string> { "1" })
.WithThirdPartyId("0")
.WithCreatedAt("2025-04-01T09:00:00Z")
.WithAddress(Location.Builder()
.WithCountry("US")
.WithStreet1("1 Market St")
.WithCity("San Francisco")
.WithRegion("CA")
.Build())
.WithIdentificationDocument(IdentificationDocument.Builder()
.WithType("1")
.WithNumber("12345456")
.WithExpeditionDate("2025-05-18")
.WithExpirationDate("2030-05-18")
.Build())
.WithExternalRisk(new List<ExternalRisk>
{
ExternalRisk.Builder().WithSegment(1).WithScore(1).WithScoreProvider(1).Build(),
ExternalRisk.Builder().WithSegment(2).WithScore(2).WithScoreProvider(2).Build()
})
.Build())
.WithPaymentMethod(PaymentMethod.Builder()
.WithType("bankAccount")
.WithPaymentMethodId("ef454b2f-4681-41f4-9b2f-5c3aced5d4a8")
.WithAccountNumber("100000056298")
.WithBankCode("1")
.Build())
.Build();
var response = await client.ProcessEventAsync(request);
create_transaction (Compras / Ventas)
var request = EventRequest.Builder()
.WithEventType("create_transaction")
.WithTimestamp(DateTimeOffset.UtcNow.ToUnixTimeMilliseconds())
.WithTransaction(Transaction.Builder()
.WithTransactionId("txn_001")
.WithAmount(Money.Builder()
.WithAmount(95.76m)
.WithAmountInMinorUnits(9576)
.WithCurrencyCode("USD")
.Build())
.WithStatus("completed")
.WithType("sale")
.WithIp("192.168.1.1")
.WithPointOfSale(PointOfSale.Builder()
.WithTerminalId("TID12345")
.WithBrand("PAX")
.WithModel("A80")
.Build())
.Build())
.WithCustomer(Customer.Builder()
.WithCustomerId("cust_001")
.WithEmail("cliente@ejemplo
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.0)
-
net7.0
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.0)
-
net8.0
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.