Files
twenty/packages/twenty-docs/l/es/user-guide/data-migration/how-tos/import-relations-between-objects-via-csv.mdx
T
github-actions[bot] 2353bc62cc i18n - docs translations (#17433)
Created by Github action

Co-authored-by: github-actions <github-actions@twenty.com>
2026-01-26 07:11:01 +01:00

229 lines
10 KiB
Plaintext

---
title: Importar relaciones entre objetos mediante CSV
description: Guía completa paso a paso para vincular registros durante la importación de CSV.
---
## Resumen
Esta guía explica cómo importar relaciones entre objetos—por ejemplo, vincular Personas con Empresas u Oportunidades con Personas.
<Note>**Qué se puede importar:** Solo relaciones de uno a muchos que apunten a un único tipo de objeto. Las relaciones que apuntan a varios tipos de objeto (como Notas vinculadas a Personas Y Empresas) aún no son compatibles con la importación.</Note>
## Comprender las relaciones
### ¿Qué es una relación "de uno a muchos"?
En una relación de uno a muchos:
* **Una** Empresa tiene **muchas** Personas (empleados)
* **Una** Empresa tiene **muchas** Oportunidades
* **Una** Persona tiene **muchas** Tareas
El lado "uno" es el **padre**. El lado "muchos" es el **hijo**.
### Relaciones comunes en Twenty
| Relación | Lado "Uno" (Padre) | Lado "Muchos" (Hijo) |
| ------------------------ | ------------------ | -------------------- |
| Empresas → Personas | Empresa | Personas |
| Empresas → Oportunidades | Empresa | Oportunidades |
| Personas → Tareas | Persona | Tareas |
| Personas → Notas | Persona | Notas |
## Paso 1: Identificar los lados "Uno" y "Muchos"
Antes de importar, determine qué objeto es el padre y cuál es el hijo.
**Pregúntese:** "¿UNO [Objeto A] tiene MUCHOS [Objeto B]?"
* Una Empresa → Muchas Personas ✓ (la Empresa es el padre)
* Una Persona → Muchas Empresas ✗ (Esto es incorrecto: una persona pertenece a una sola empresa)
## Paso 2: Importar primero los registros padre
El padre (lado "uno") debe existir en Twenty antes de poder hacer referencia a él.
**Orden de importación:**
1. **Empresas** primero (sin dependencias)
2. **Personas** en segundo lugar (enlazadas a Empresas)
3. **Oportunidades** en tercer lugar (enlazadas a Empresas y/o Personas)
4. **Tareas/Notas** (enlazadas a cualquiera de las anteriores)
<Warning>
**Si el registro padre no existe, la importación fallará.**
Verifique siempre que las Empresas estén importadas antes de importar Personas con referencias a Empresas.
</Warning>
## Paso 3: Anotar el identificador único del padre
Debe hacer referencia al registro padre mediante un **identificador único**. Opciones disponibles:
| Objeto padre | Identificadores únicos disponibles |
| ----------------------------------- | ------------------------------------------------------------------------- |
| **Empresas** | `id` (UUID), `domain` (recomendado) o cualquier campo único personalizado |
| **Personas** | `id` (UUID), `email` o cualquier campo único personalizado |
| **Miembros del espacio de trabajo** | `id` (UUID), `email` (no el nombre) |
| **Objetos personalizados** | `id` (UUID) o cualquier campo marcado como único |
<Note>**Recomendado:** Use `domain` para Empresas y `email` para Personas. Son legibles para humanos y fáciles de verificar en su hoja de cálculo.</Note>
### Cómo encontrar el identificador
Si necesita el `id`:
1. Exporte los registros padre desde Twenty
2. La exportación incluye la columna `id`
3. Use estos IDs en su archivo de registros hijo
## Paso 4: Verificar que el campo de relación exista
Antes de importar, asegúrese de que exista el campo de relación entre sus objetos.
**Para revisar o crear:**
1. Vaya a **Configuración → Modelo de datos**
2. Seleccione su objeto hijo (p. ej., Personas)
3. Busque un campo de relación que apunte al padre (p. ej., Empresa)
4. Si no existe, créelo:
* Haga clic en **+ Add field**
* Seleccione el tipo **Relation**
* Elija el objeto padre
## Paso 5: Preparar su archivo CSV
Agregue una columna a su archivo CSV de registros hijo que haga referencia al padre utilizando su identificador único.
### Ejemplo: Personas vinculadas a Empresas
**Su CSV de Personas:**
```csv
firstName,lastName,email,jobTitle,companyDomain
John,Smith,john@acme.com,CEO,https://acme.com
Jane,Doe,jane@widgets.co,CTO,https://widgets.co
Bob,Johnson,bob@techstart.io,Developer,https://techstart.io
```
La columna `companyDomain` hace referencia al dominio de la Empresa.
### Requisitos de formato
| Identificador | Formato | Ejemplo |
| ------------------ | --------------------------- | -------------------------------------- |
| Dominio | Formato de URL | `https://acme.com` |
| Correo electrónico | Correo electrónico estándar | `john@acme.com` |
| ID | UUID | `c776ee49-f608-4a77-8cc8-6fe96ae1e43f` |
<Warning>
**¡El formato del dominio importa!**
Use `https://domain.com` (no solo `domain.com`). Esto coincide con cómo Twenty almacena los dominios de las Empresas y evita errores de coincidencia.
</Warning>
### Reglas importantes
1. **Se requiere coincidencia exacta** — el valor debe coincidir exactamente con el registro padre
2. **Asigne solo UN identificador único** — no incluya `companyId` Y `companyDomain`
3. **Sensible a mayúsculas/minúsculas** — `Acme.com` ≠ `acme.com`
## Paso 6: Cargar y asignar la relación
1. Vaya al objeto hijo (p. ej., Personas)
2. Haga clic en **⋮** → **Importar registros**
3. Cargue su archivo CSV
4. En el paso de asignación de campos:
* Encuentre su columna de relación (p. ej., `companyDomain`)
* Asígnela al campo de relación **Company**
5. Complete las asignaciones restantes
6. Revise los errores y confirme
Twenty vinculará automáticamente cada registro hijo con el padre correspondiente.
## Paso 7: Verificar la importación
Después de importar:
1. Abra algunos registros hijo (p. ej., Personas)
2. Verifique que el campo de relación muestre el padre correcto (p. ej., Empresa)
3. Abra un registro padre y revise la sección de registros relacionados
## Errores comunes que se deben evitar
| Error | Problema | Solución |
| ----------------------------------------- | ---------------------------------------------------- | --------------------------------------------------------------------------- |
| **Orden de importación incorrecto** | Importar Personas antes que Empresas | Importe siempre primero los padres y luego los hijos |
| **Formato de dominio incorrecto** | Usar `acme.com` en lugar de `https://acme.com` | Use el formato de URL completo con `https://` |
| **Varios campos únicos** | Asignar ambos `companyId` Y `companyDomain` | Asigne solo UN identificador único |
| **Falta el campo de relación** | El campo de relación no existe en el modelo de datos | Créelo en **Configuración → Modelo de datos** antes de importar |
| **Registros inexistentes** | El registro padre no existe en Twenty | Importe primero los registros padre o verifique si hay errores tipográficos |
| **Diferencia de mayúsculas y minúsculas** | `Acme.com` en el archivo pero `acme.com` en Twenty | Asegure una coincidencia exacta de mayúsculas y minúsculas |
## Vincular a miembros del espacio de trabajo
Al vincular a miembros del espacio de trabajo (su equipo):
* Use su **dirección de correo electrónico**, no su nombre
* Ejemplo: `owner@yourcompany.com`, no "John Smith"
```csv
taskName,assignedTo
Follow up with client,john@yourcompany.com
Review proposal,jane@yourcompany.com
```
## Preguntas frecuentes
<AccordionGroup>
<Accordion title="¿Qué pasa si mi registro padre no tiene dominio ni correo electrónico?">
Tiene dos opciones:
1. Use el `id` de Twenty (exporte los registros padre para obtener sus IDs)
2. Cree un campo único personalizado en su modelo de datos para almacenar un ID externo de su sistema anterior
</Accordion>
<Accordion title="¿Puedo actualizar relaciones en registros existentes?">
¡Sí! Incluya el identificador único del registro hijo (p. ej., `email` para Personas) y el nuevo valor de la relación. La importación actualizará la relación.
</Accordion>
<Accordion title="¿Puedo importar relaciones de muchos a muchos?">
Las relaciones de muchos a muchos aún no son compatibles con la importación. Está previsto para el primer semestre de 2026.
</Accordion>
<Accordion title="¿Puedo vincular a varios tipos de objeto (como Notas a Personas Y Empresas)?">
Las relaciones que apuntan a varios tipos de objeto aún no son compatibles con la importación/exportación. Esto está en nuestra hoja de ruta.
</Accordion>
<Accordion title="¿Qué ocurre si un registro padre no existe?">
La importación mostrará un error para esa fila. Puedes hacerlo de las siguientes maneras:
* Importe el registro padre primero y luego vuelva a importar
* Corrija el valor de la referencia
* Elimine la fila de la importación
</Accordion>
<Accordion title="¿Por qué mi relación no se vincula correctamente?">
Causas comunes:
* Formato incorrecto (use `https://domain.com` para dominios)
* Diferencia de mayúsculas y minúsculas (verifique la ortografía exacta)
* El padre no existe (importe primero los padres)
* Asignar varios identificadores (use solo uno)
</Accordion>
</AccordionGroup>
<Warning>
**Recuerde: los registros eliminados lógicamente cuentan para la unicidad.**
Si recibe errores de "no encontrado" pero el registro parece existir, consulte Menú de comandos → Ver registros eliminados. Es posible que el padre haya sido eliminado lógicamente.
</Warning>
## Solución de Problemas
¿Tiene problemas? Revise:
* [Cómo corregir errores de importación](/l/es/user-guide/data-migration/how-tos/fix-import-errors)
* [Capacidades de importación de relaciones](/l/es/user-guide/data-migration/capabilities/import-relations)
* [Restricciones de unicidad](/l/es/user-guide/data-migration/capabilities/uniqueness-constraints)