# BCC Services

## Introducción

Este documento describe la configuración de los parámetros, opciones y valores por defecto de BCC Services

## Ubicación del Archivo

En una instalación estándar, el archivo de configuración (`bcc-services.properties`) estará ubicado en `C:\Griaule\BCC\conf`.

## Propiedades del Archivo

El archivo de configuración debe cumplir algunos requisitos para ser interpretado correctamente. Estos requisitos son:

1. El nombre y la ubicación del archivo deben ser exactamente como se mencionan en este manual;

   > Los parámetros de configuración inválidos serán ignorados y se usará un valor por defecto.
2. Debe haber exactamente un parámetro de configuración por línea;
3. Cada parámetro de configuración debe estar en el formato `{parameter}={value}`, sin saltos de línea;

## Parámetros de configuración <a href="#configuration-parameters" id="configuration-parameters"></a>

Esta sección describe los parámetros de configuración de `bcc-services.properties` que pueden listarse en el archivo de configuración y cómo afectan la operación del sistema.

### useFingerprintQualityLib <a href="#usefingerprintqualitylib" id="usefingerprintqualitylib"></a>

Este parámetro define si se debe usar la biblioteca de calidad de huellas dactilares en capturas enrolladas.

**Valores posibles:**

> * `true`
> * `false`

### useFingerprintSDKAsService <a href="#usefingerprintsdkasservice" id="usefingerprintsdkasservice"></a>

Este parámetro define si la huella dactilar es un servicio separado.

**Valores posibles:**

> * `true`
> * `false`

{% hint style="warning" %}
Este parámetro se aplica solamente a la versión de 32 bits.
{% endhint %}

### resetSDKOnCapture <a href="#reinitializesdkoncapture" id="reinitializesdkoncapture"></a>

Este parámetro define si la aplicación reiniciará el SDK de huellas dactilares en cada captura.

**Valores posibles:**

> * `true`
> * `false`

### useChecksum <a href="#usechecksum" id="usechecksum"></a>

Este parámetro define si se debe usar la suma de verificación para importar y exportar archivos.

**Valores posibles:**

> * `true`
> * `false`

### useCryptography <a href="#usecryptography" id="usecryptography"></a>

Este parámetro define si se debe usar cifrado para importar y exportar archivos.

**Valores posibles:**

> * `true`
> * `false`

### distance.crop.face

Este parámetro define la resolución de ancho x alto del rostro recortado.

**Valores posibles:**

> * `CROP_480X640`
> * `CROP_1200X1600`

### templateFormat

Este parámetro define el formato en el que los templates deben exportarse.

**Valores posibles:**

> * `ANSI`
> * `ISO`
> * `CLASSIC`
> * `DEFAULT`
> * `FORENSIC`
> * `GR001`
> * `GR002`
> * `GR003`
> * `GR006`
> * `GR007`

### useLabels <a href="#uselabels" id="uselabels"></a>

Este parámetro define si las etiquetas serán enviadas al GBDS.

**Valores posibles:**

> * `true`
> * `false`

### enroll.labels

Este parámetro define qué etiquetas serán enviadas al GBDS cuando `useLabels`configurado como verdadero. Es posible definir como máximo seis etiquetas, que deben separarse por comas.

**Ejemplo:**

> `enroll.labels=label1,label2,label3,label4,label5,label6`

### report.folder.path

Este parámetro define la ruta de la carpeta para guardar reportes automáticamente.

### ebts.exporting.enabled <a href="#ebts.exporting.enabled" id="ebts.exporting.enabled"></a>

Este parámetro define si la exportación de EBTS estará habilitada para BCC.

**Valores posibles:**

> * `true`
> * `false`

### ebts.exporting.path

Este parámetro define la ruta donde se ubicarán los archivos EBTS exportados.

### ebts.ori <a href="#ebts.ori" id="ebts.ori"></a>

Este parámetro define el código del emisor del archivo EBTS.

### gbds.keyStore.path <a href="#gbds.keystore.path" id="gbds.keystore.path"></a>

Ruta al archivo keystore. Este parámetro es necesario si la aplicación se comunica con el GBDS vía SSL.

### gbds.keyStore.password <a href="#gbds.keystore.password" id="gbds.keystore.password"></a>

Archivo de contraseñas encriptado del keystore. Este parámetro es necesario si la aplicación se comunica con el GBDS vía SSL.

### gbds.trustStore.path <a href="#gbds.truststore.path" id="gbds.truststore.path"></a>

Ruta al archivo truststore. Este parámetro es necesario si la aplicación se comunica con el GBDS vía SSL.

### gbds.trustStore.password <a href="#gbds.truststore.password" id="gbds.truststore.password"></a>

Archivo de contraseña encriptado del truststore. Este parámetro es necesario si la aplicación se comunica con el GBDS vía SSL.

### config.generalTabOnly <a href="#config.generaltabonly" id="config.generaltabonly"></a>

Este parámetro, cuando está configurado como verdadero, listará solo la `General`pestaña en las pestañas de configuración en el BCC, ocultando las demás.

**Valores posibles:**

> * `true`
> * `false`

### responsible.fytech.quality

Este parámetro define el límite mínimo de calidad de las capturas de huellas del responsable al usar el sensor Fytech.

### baby.palm.fytech.quality <a href="#baby.palm.fytech.quality" id="baby.palm.fytech.quality"></a>

Este parámetro define el límite mínimo de calidad de las capturas de palmas del bebé al usar el sensor Fytech.

**Valor por defecto:**

> `65`

### capture.baby.fingerprints

Este parámetro define si se debe capturar la huella dactilar del bebé.

**Valores posibles:**

> * `true`
> * `false`

### baby.finger.fytech.quality

Este parámetro define el límite mínimo de calidad de las capturas de huellas del bebé al usar el sensor Fytech.

### fytech.timeout

Este parámetro define el tiempo límite al usar el sensor Fytech.

**Valor por defecto:**

> `20`

### save.baby.palms.as.png

Este parámetro define si las impresiones de las palmas del bebé deben guardarse en formato .png.

**Valores posibles:**

> * `true`
> * `false`

### bodyImageShapes

Este parámetro define cómo será la selección de partes del cuerpo para imágenes auxiliares. Hay dos valores posibles: simplificado y completo. Simplificado seleccionará un área entera (por ejemplo, brazo), mientras que completo dará al usuario la posibilidad de seleccionar un área con nombre anatómico más específico.

**Valores posibles:**

> * `true`
> * `false`

### minimun.biometrics

Este parámetro define el número mínimo de datos biométricos necesarios para realizar una inscripción.

### minimum.real.captured.fingers

Este parámetro define el número mínimo de dedos sin anomalía necesarios para realizar un registro.

### maximum.anomalies

Este parámetro define el número máximo de dedos con anomalía aceptados en una operación de inscripción.

### application.modules

Este parámetro define qué módulos de la aplicación están instalados. Este parámetro puede contener más de un valor y los valores se delimitan por espacios.

**Valores posibles:**

> * `FACE`
> * `SIGNATURE`
> * `PALM`
> * `AUXILIARY_IMAGES`
> * `IRISES`

**Ejemplo:**

> `application.modules=FACE SIGNATURE PALM`

### match.sequence

Esta captura define si la captura de las huellas principales debe compararse con la captura de control de secuencia.

**Valores posibles:**

> * `true`
> * `false`

### face.camera.type

Este parámetro define qué tipo de cámara usará la aplicación para capturar el rostro.

**Valores posibles:**

> * `WEBCAM`
> * `CANON_EOS`
> * `CANON_POWERSHOT`

### face.webcam.device

Este parámetro define el índice de la webcam que se usará en la captura de rostro. Si hay solo una webcam instalada, este número debe ser `0`.

### face.flash.mode <a href="#face.flash.mode" id="face.flash.mode"></a>

Este parámetro define si la función de flash estará activada o no para la captura de rostro.

**Valores posibles:**

> * `ON`
> * `OFF`

Este parámetro solo funciona con cámaras Canon Powershot.

### face.camera.rotation

Este parámetro define la rotación de la imagen obtenida por el dispositivo de captura facial.

**Valores posibles:**

> Cualquier entero de `0`a `359`.

### body.camera.type

Este parámetro define qué tipo de cámara usará la aplicación para capturar el cuerpo.

**Valores posibles:**

> * `WEBCAM`
> * `CANON_EOS`
> * `CANON_POWERSHOT`

### body.webcam.device

Este parámetro define el índice de la webcam que se usará en la captura corporal. Si hay solo una webcam instalada, este número debe ser `0`.

### body.flash.mode

Este parámetro define si la función de flash estará activada o no para la captura del cuerpo.

**Valores posibles:**

> * `ON`
> * `OFF`

{% hint style="warning" %}
Este parámetro solo funciona con cámaras Canon Powershot.
{% endhint %}

### body.camera.rotation

Este parámetro define la rotación de la imagen obtenida por el dispositivo de captura corporal.

**Valores posibles:**

> Cualquier entero de `0`a `359`.

### capture.type

Este parámetro define el tipo de captura de las capturas principales de huellas dactilares.

**Valores posibles:**

> * `FLAT`
> * `ROLLED`

### signature.type

Este parámetro define qué bloque de firma Topaz se usará para capturar firmas.

**Valores posibles:**

> * `SignatureGem1X5`
> * `SignatureGem4X5`
> * `SignatureGemLCD`
> * `SignatureGemLCD4X3New`
> * `SignatureGemLCD4X5`
> * `ClipGem`
> * `ClipGemLGL`

### signature.device

Este parámetro define qué dispositivo de firma se usará.

**Valores posibles:**

> * `WACOM`
> * `TOPAZ`
> * `MSP`
> * `SIGNOTEC`

### signature.imageType <a href="#signature.imagetype" id="signature.imagetype"></a>

Este parámetro define en qué formato de imagen se guardará la firma.

**Valores posibles:**

> * `JPEG`
> * `TIFF`
> * `PNG`

### iris.device

Este parámetro define qué dispositivo de iris se usará.

**Valores posibles:**

> * `CROSSMATCH`
> * `IRITECH`
> * `HUMMINGBIRD`

### advance.mode

Este parámetro define el avance después de una captura. Si está configurado como automático, avanzará a la siguiente captura después de cada captura. Si está configurado como semiautomático, mostrará una pantalla con la captura para el operador, siendo necesario avanzar manualmente la captura.

**Valores posibles:**

> * `AUTOMATIC`
> * `SEMI_AUTOMATIC`

### sequenceControl.type <a href="#sequencecontrol.type" id="sequencecontrol.type"></a>

Este parámetro define qué tipo de control de secuencia se utilizará. Es posible configurar para captura 4-4-2, 2-2-1 y sin control de secuencia.

**Valores posibles:**

> * `CTRL_221`
> * `CTRL_442`
> * `NONE`

### minQuality

Porcentaje mínimo de calidad del template de dedo a aceptar.

**Valores posibles:**

> Cualquier entero en el intervalo de `0`a `100`.

### triesToAccept

Este parámetro define el número de intentos para habilitar la aceptación de templates de dedo de baja calidad.

### whiteBalance.mode <a href="#whitebalance.mode" id="whitebalance.mode"></a>

Este parámetro define la opción del modo de balance de blancos al usar una cámara profesional.

**Valores posibles:**

> * `AUTO`
> * `CUSTOM`

### whiteBalance.blueAmber <a href="#whitebalance.blueamber" id="whitebalance.blueamber"></a>

Este parámetro define el cambio azul-ámbar del balance de blancos cuando el modo personalizado está activado.

**Valores posibles:**

> Cualquier entero en el intervalo de `-9`a `9`.

### whiteBalance.greenMagenta <a href="#whitebalance.greenmagenta" id="whitebalance.greenmagenta"></a>

Este parámetro define el cambio de verde a magenta del balance de blancos cuando el modo personalizado está activado.

**Valores posibles:**

> Cualquier entero en el intervalo de `-9`a `9`.

### processLiveView <a href="#processliveview" id="processliveview"></a>

Este parámetro define si el brillo, el contraste y el zoom deben procesarse en el Live View.

{% hint style="warning" %}
Este parámetro solo funciona con cámaras Canon EOS.
{% endhint %}

**Valores posibles:**

> * `true`
> * `false`

### nfiq.minimum

Este parámetro define el valor mínimo de calidad NFIQ para aceptar una captura.

La calidad NFIQ es un número entero en el intervalo de 1 a 5 y un número bajo representa mejor calidad.

### nfiq.action <a href="#nfiq.action" id="nfiq.action"></a>

Este parámetro define la acción que el BCC tomará si la captura está por encima de la calidad mínima de NFIQ. Mantener mantendrá la captura, eliminará la captura.

**Valores posibles:**

> * `KEEP`
> * `REMOVE`

### nfiq.anomaly <a href="#nfiq.anomaly" id="nfiq.anomaly"></a>

Este parámetro define cómo el BCC clasificará una captura que fue mantenida cuando el NFIQ de la captura estaba por encima del mínimo.

**Valores posibles:**

> * `NONE`
> * `LOW_QUALITY`
> * `AMPUTED`
> * `SCAR`
> * `MARK`
> * `IGNORED`
> * `DAMAGED`

### theme <a href="#theme" id="theme"></a>

Este parámetro define el tema de BCC.

**Valores posibles:**

> * `DARK`
> * `LIGHT`

### theme.cor <a href="#theme.color" id="theme.color"></a>

Este parámetro define el color del tema de BCC.

**Valores posibles:**

> * `BLUE_GRAY`
> * `BLUE`
> * `BROWN`
> * `CYAN`
> * `DEEP_PURPLE`
> * `GREY`
> * `INDIGO`
> * `LIGHT_GREEN`
> * `ORANGE`
> * `PINK`
> * `RED`
> * `TEAL`

### cropImages

Este parámetro define si el BCC debe recortar las capturas de huellas dactilares y las exportaciones de imágenes. Si es falso, la imagen permanecerá como fue obtenida por la captura/perfil.

**Valores posibles:**

> * `true`
> * `false`

### jpegQuality

Este parámetro define la calidad de todas las imágenes .jpeg generadas o manipuladas.

**Valores posibles:**

> Cualquier entero en el intervalo de `0`a `100`.

### signatureBitDepth

Este parámetro define la profundidad de bits de la imagen de la firma.

**Valores posibles:**

> * `GREYSCALE`(8 bits)
> * `COLOR`(24 bits)

### anomalySetType

Este parámetro define el tipo de selección de anomalía que puede clasificar el usuario en el BCC. Hay dos valores posibles: simplificado y técnico.

Simplificado tendrá valores más genéricos como "AMPUTED, SCAR, DAMAGED MARK".

Técnico tendrá valores más específicos para la anomalía, permitiendo al usuario seleccionar la causa de la anomalía.

**Valores posibles:**

> * `SIMPLIFIED`
> * `TECHNICAL`

### fingerVerifyThresold.\<finger> <a href="#fingerverifythresold.less-than-finger-greater-than" id="fingerverifythresold.less-than-finger-greater-than"></a>

Este parámetro permite al usuario definir un umbral de verificación para dedos individuales.

Cada dedo puede tener su umbral y para cada dedo, este parámetro debe repetirse con el nombre del dedo.

Este parámetro es válido para el DEDO y se aplicará al dedo de AMBAS MANOS.

**Ejemplo:**

`fingerVerifyThresold.little=15`

`fingerVerifyThresold.ring=15`

`fingerVerifyThresold.middle=15`

`fingerVerifyThresold.index=15`

`fingerVerifyThresold.thumb=15`

### fingerVerifyThresold.default <a href="#fingerverifythresold.default" id="fingerverifythresold.default"></a>

Este parámetro permite al usuario definir los umbrales globales de verificación para huellas dactilares.

Si no se usa ningún umbral individual, se usará el umbral por defecto.

### faceVerifyThresold.default <a href="#faceverifythresold.default" id="faceverifythresold.default"></a>

Este parámetro define el umbral de verificación facial.

### sequência221 <a href="#sequence221" id="sequence221"></a>

Este parámetro define el orden de captura para el control de secuencia 2-2-1. Cada dedo se delimita por espacio y la captura se delimita por comas.

**Valores posibles:**

Pueden usarse nombres de dedos o índices de los dedos como valores, como se muestra a continuación:

| Nombre del dedo | Índice |
| --------------- | ------ |
| left\_little    | 0      |
| left\_ring      | 1      |
| left\_middle    | 2      |
| left\_index     | 3      |
| left\_thumb     | 4      |
| right\_thumb    | 5      |
| right\_index    | 6      |
| right\_middle   | 7      |
| right\_ring     | 8      |
| right\_little   | 9      |

**Ejemplo**

Para definir la siguiente secuencia de captura:

> * Left little y left ring mínimos
> * Left middle y left index medios
> * Left thumb pulgar izquierdo
> * Right ring y right little
> * Right index y right middle
> * Right thumb

El parámetro debe ser una de las dos opciones:

`sequence221=LEFT_LITTLE,LEFT_RING LEFT_MIDDLE,LEFT_INDEX LEFT_THUMB RIGHT_RING,RIGHT_LITTLE RIGHT_INDEX,RIGHT_MIDDLE RIGHT_THUMB`

`sequence221=0,1 2,3 4 8,9 6,7 5`

### sequência442 <a href="#sequence442" id="sequence442"></a>

Este parámetro define el orden de captura para el control de secuencia 4-4-2. Cada dedo se delimita por espacio y la captura se delimida por comas.

**Valores posibles:**

Pueden usarse nombres de dedos o índices de los dedos como valores, como se muestra a continuación:

| Nombre del dedo | Índice |
| --------------- | ------ |
| left\_little    | 0      |
| left\_ring      | 1      |
| left\_middle    | 2      |
| left\_index     | 3      |
| left\_thumb     | 4      |
| right\_thumb    | 5      |
| right\_index    | 6      |
| right\_middle   | 7      |
| right\_ring     | 8      |
| right\_little   | 9      |

**Ejemplo**

Para definir la siguiente secuencia de captura:

> * Left little y left ring, left middle y left index
> * Right ring y right little, right index y right middle
> * Left thumb y right thumb

El parámetro debe ser una de las dos opciones:

`sequence442=LEFT_LITTLE,LEFT_RING,LEFT_MIDDLE,LEFT_INDEX RIGHT_INDEX,RIGHT_MIDDLE,RIGHT_RING,RIGHT_LITTLE LEFT_THUMB,RIGHT_THUMB`

`sequence442=0,1,2,3 6,7,8,9 4,5`

### sequenceMain

Este parámetro define la secuencia de captura de las huellas principales. Cada captura de huella se delimita por espacio.

**Valores posibles:**

Pueden usarse nombres de dedos o indicadores de dedos como valores, como se muestra a continuación:

| Nombre del dedo | Índice |
| --------------- | ------ |
| left\_little    | 0      |
| left\_ring      | 1      |
| left\_middle    | 2      |
| left\_index     | 3      |
| left\_thumb     | 4      |
| right\_thumb    | 5      |
| right\_index    | 6      |
| right\_middle   | 7      |
| right\_ring     | 8      |
| right\_little   | 9      |

**Ejemplo**

Para definir una secuencia de captura, introduzca los nombres de los indicadores o dedos como se muestra a continuación:

`sequenceMain=LEFT_LITTLE LEFT_RING LEFT_MIDDLE LEFT_INDEX LEFT_THUMB RIGHT_THUMB RIGHT_INDEX RIGHT_MIDDLE RIGHT_RING RIGHT_LITTLE`

`sequenceMain=0 1 2 3 4 5 6 7 8 9`

### sequencePalm

Este parámetro define la secuencia de captura para la captura de la palma. Cada captura de la impresión palmar se delimita por espacios.

**Valores posibles:**

| Área de la Palma    | Índice |
| ------------------- | ------ |
| left\_interdigital  | 31     |
| left\_thenar        | 32     |
| left\_hypothenar    | 33     |
| right\_interdigital | 34     |
| right\_thenar       | 35     |
| right\_hypothenar   | 36     |
| left\_full          | 40     |
| left\_writer        | 41     |
| right\_full         | 45     |
| right\_writer       | 46     |

**Ejemplo**

Para definir la siguiente secuencia de captura:

> * Interdigital izquierdo
> * Thenar izquierdo
> * Interdigital derecho
> * Thenar derecho

El parámetro debe ser una de las dos opciones:

`sequencePalm=LEFT_INTERDIGITAL LEFT_THENAR RIGHT_INTERDIGITAL RIGHT_THENAR`

`sequencePalm=31 32 34 35`

### babySequencePalm <a href="#babysequencepalm" id="babysequencepalm"></a>

Este parámetro define la secuencia de captura para la palma del bebé. Cada captura de la impresión palmar se delimita por espacio.

El BCC permite realizar dos capturas de la misma palma. La mejor se enviará como captura principal y la otra como imagen auxiliar.

| Área Palmar    | Índice |
| -------------- | ------ |
| left\_palm     | 200    |
| left\_palm\_2  | 201    |
| right\_palm    | 210    |
| right\_palm\_2 | 211    |

**Valores posibles:**

> * `LEFT_PALM`
> * `LEFT_PALM2`
> * `RIGHT_PALM`
> * `RIGHT_PALM2`

### minutiaOrientation

Este parámetro define de qué forma el BCC mostrará el indicador de ángulo de minucias.

**Valores posibles:**

> * `DEFAULT`
> * `ISO`


---

# 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://docs.griaule.com/gbs/es/aplicaciones/bcc-services.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.
