> For the complete documentation index, see [llms.txt](https://docs.payvalida.com/api-tarjeta/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.payvalida.com/api-tarjeta/master/sdk-para-3ds-y-score-de-riesgo-transaccional/guia-de-integracion-con-el-sdk-para-ios-swift/referencia-de-la-api.md).

# Referencia de la API

## Clases

### `PayvalidaAntifraudSdk(config: Config)`

Clase principal del SDK. Requiere un <mark style="color:$success;">`Config`</mark> con el entorno destino.

#### Config

| Propiedad       | Tipo           | Requerido | Descripción                          |
| --------------- | -------------- | --------- | ------------------------------------ |
| environment     | Environment    | Sí        | .SANDBOX o .PRODUCTION               |
| isSinglePageApp | Boolean        | No        | Por defecto false                    |
| threedsConfig   | ThreedsConfig? | No        | Requerido para startThreeDSValidator |

#### AntiFraudArgs

| Propiedad       | Tipo   | Descripción             |
| --------------- | ------ | ----------------------- |
| token           | String | Token de autenticación  |
| cardNumber      | String | Número de tarjeta       |
| expirationMonth | String | Mes de vencimiento (MM) |
| expirationYear  | String | Año de vencimiento (YY) |

#### FormData

| Propiedad        | Tipo    | Requerido | Descripción                                |
| ---------------- | ------- | --------- | ------------------------------------------ |
| billAddrCity     | String  | Sí        | Ciudad de facturación                      |
| billAddrCountry  | String  | Sí        | País de facturación                        |
| billAddrLine1    | String  | Sí        | Dirección de facturación línea 1           |
| billAddrLine2    | String  | Sí        | Dirección de facturación línea 2           |
| billAddrPostCode | String  | Sí        | Código postal de facturación               |
| billAddrState    | String  | Sí        | Estado/Departamento de facturación         |
| cardNumber       | String  | Sí        | Número de tarjeta                          |
| instalments      | Int     | Sí        | Número de cuotas (Int32 en Swift)          |
| cvv              | String  | Sí        | CVV de la tarjeta                          |
| di               | String  | Sí        | Número de documento de identidad           |
| expirationMonth  | String  | Sí        | Mes de vencimiento (MM)                    |
| expirationYear   | String  | Sí        | Año de vencimiento (YY)                    |
| lastName         | String  | Sí        | Apellido del titular                       |
| name             | String  | Sí        | Nombre del titular                         |
| token            | String  | Sí        | Token de autenticación                     |
| typeDI           | String  | Sí        | Tipo de documento (ej., "CC")              |
| phoneNumber      | String  | Sí        | Número de teléfono                         |
| phoneCountryCode | String? | No        | Por defecto "+57"                          |
| email            | String  | Sí        | Correo electrónico                         |
| pvThreedsId      | String? | No        | De la respuesta de startAntiFraudValidator |
| referenceId      | String? | No        | De la respuesta de startAntiFraudValidator |

#### MethodResponse

| Propiedad       | Tipo                | Descripción                                  |
| --------------- | ------------------- | -------------------------------------------- |
| isApproved      | Boolean             | Si la validación fue exitosa                 |
| error           | String?             | Mensaje de error si la validación falló      |
| data            | MethodResponseData? | Datos adicionales de la respuesta            |
| threeDSRequired | Boolean?            | Si se requiere 3DS (KotlinBoolean? en Swift) |

#### MethodResponseData

| Propiedad      | Tipo    | Descripción                                        |
| -------------- | ------- | -------------------------------------------------- |
| kountSessionId | String? | ID de sesión Kount para análisis de fraude         |
| pvThreedsId    | String? | ID de transacción 3DS (pasar al FormData para 3DS) |
| referenceId    | String? | ID de referencia 3DS (pasar al FormData para 3DS)  |
| franchise      | String? | Código de franquicia de tarjeta (ej., "20", "30")  |
