# Campos
> Tipos de campo, sus opciones de configuración, y cómo posicionarlos.
Un campo (`field`) es un elemento interactivo sobre el PDF — una firma, un texto, una fecha — asignado a un destinatario específico. La [Guía de Integración](/guides/integration-guide/#2-agregar-campos-de-firma) explica cómo crearlos y cómo posicionarlos (placeholder o coordenadas). Este recurso detalla los tipos de campo disponibles y sus opciones de configuración (`fieldMeta`).
## Tipos de campo
| Tipo | Descripción | Autocompletado |
|---|---|---|
| `SIGNATURE` | Firma dibujada, tipeada o subida como imagen. | No |
| `INITIALS` | Iniciales del destinatario. | No |
| `NAME` | Nombre completo del destinatario. | Sí |
| `EMAIL` | Correo del destinatario. | Sí |
| `DATE` | Fecha en que se completó el campo. | Sí |
| `TEXT` | Texto libre. | No |
| `NUMBER` | Numérico, con validación opcional de rango. | No |
| `RADIO` | Selección única entre opciones. | No |
| `CHECKBOX` | Selección múltiple entre opciones. | No |
| `DROPDOWN` | Selección única desde un menú desplegable. | No |
| `RUT` | Incorpora un RUT dentro del documento, validado contra la estructura del RUT chileno (dígito verificador incluido). | No |
| `RUT_FIRMADO` | El RUT asociado a una firma, validado a través de ClaveÚnica. | Sí |
## Opciones comunes (`fieldMeta`)
Todos los tipos aceptan estas opciones base dentro de `fieldMeta`:
| Opción | Tipo | Descripción |
|---|---|---|
| `label` | string | Texto visible junto al campo. |
| `placeholder` | string | Texto de ayuda cuando el campo está vacío. |
| `required` | boolean | Si el campo debe completarse antes de firmar. |
| `readOnly` | boolean | Bloquea el campo con un valor precargado. |
| `fontSize` | number | Tamaño de texto en píxeles (8–96, por defecto 12). |
| `overflow` | string | `auto`, `horizontal`, `vertical` o `crop` — cómo se comporta el texto que excede el espacio del campo. |
### Opciones adicionales por tipo
| Tipo | Opciones extra |
|---|---|
| `INITIALS`, `NAME`, `EMAIL`, `DATE` | `textAlign` (`left`, `center`, `right`) |
| `TEXT` | `text` (valor por defecto), `characterLimit`, `textAlign`, `lineHeight`, `letterSpacing`, `verticalAlign` |
| `NUMBER` | `value`, `minValue`, `maxValue`, `numberFormat`, `textAlign`, `lineHeight`, `letterSpacing`, `verticalAlign` |
| `RADIO` | `values` (opciones), `direction` (`vertical`, `horizontal`) |
| `CHECKBOX` | `values`, `validationRule`, `validationLength`, `direction` |
| `DROPDOWN` | `values`, `defaultValue` |
| `RUT` | `text` (valor por defecto), `characterLimit`, `textAlign` |
| `RUT_FIRMADO` | `textAlign` |
```jsonc
// Ejemplo: campo de texto con validación
{
"type": "TEXT",
"recipientId": 456,
"page": 1,
"positionX": 10,
"positionY": 70,
"width": 40,
"height": 4,
"fieldMeta": {
"type": "text",
"label": "Cargo",
"placeholder": "Ingresa tu cargo",
"characterLimit": 100,
"required": true
}
}
```
## Crear campos
```http
POST /envelope/field/create-many
```
Ver la especificación completa en la [Referencia de la API](/api/operations/envelope-field-createmany/).
## Actualizar campos
```http
POST /envelope/field/update-many
```
Solo funciona mientras el envelope está en `DRAFT` — una vez distribuido, los campos quedan fijos.
Ver la especificación completa en la [Referencia de la API](/api/operations/envelope-field-updatemany/).
## Eliminar un campo
```http
POST /envelope/field/delete
```
Ver la especificación completa en la [Referencia de la API](/api/operations/envelope-field-delete/).
## Consultar un campo
```http
GET /envelope/field/{fieldId}
```
Ver la especificación completa en la [Referencia de la API](/api/operations/envelope-field-get/).
---
## Ver también
- [Guía de Integración](/guides/integration-guide/#2-agregar-campos-de-firma) — cómo posicionar campos con placeholder o coordenadas
- [Destinatarios](/resources/recipients/) — a quién se asigna cada campo
- [Firma Electrónica Avanzada](/guides/fea-orquestacion/) — reglas adicionales de FEA sobre los campos