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

<!-- mintlify-editor-comments:start -->
Mintlify
---
0 threads from 0 users in Mintlify

- No unresolved comments
<!-- mintlify-editor-comments:end -->

<!-- mintlify-comment-->

<a
href="https://dashboard.mintlify.com/twenty/twenty/editor/i18n-docs?source=pr_comment"
target="_blank" rel="noopener noreferrer"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://d3gk2c5xim1je2.cloudfront.net/assets/open-mintlify-editor-dark.svg"><source
media="(prefers-color-scheme: light)"
srcset="https://d3gk2c5xim1je2.cloudfront.net/assets/open-mintlify-editor-light.svg"><img
src="https://d3gk2c5xim1je2.cloudfront.net/assets/open-mintlify-editor-light.svg"
alt="Open in Mintlify Editor"></picture></a>

<!-- /mintlify-comment -->

Co-authored-by: github-actions <github-actions@twenty.com>
2026-02-25 16:50:28 +01:00

226 lines
9.9 KiB
Plaintext

---
title: Importar Relações Entre Objetos via CSV
description: Guia completo, passo a passo, para associar registos durante a importação de CSV.
---
## Visão Geral
Este guia orienta-o na importação de relações entre objetos — por exemplo, ligar Pessoas a Empresas ou Oportunidades a Pessoas.
<Note>**O que pode ser importado:** Apenas relações um-para-muitos que apontem para um único tipo de objeto. Relações que apontam para vários tipos de objeto (como Notas ligadas a Pessoas E Empresas) ainda não são suportadas para importação.</Note>
## Compreender as Relações
### O que é uma relação "Um-para-Muitos"?
Numa relação um-para-muitos:
* **Uma** Empresa tem **muitas** Pessoas (colaboradores)
* **Uma** Empresa tem **muitas** Oportunidades
* **Uma** Pessoa tem **muitas** Tarefas
O lado "um" é o **pai**. O lado "muitos" é o **filho**.
### Relações Comuns no Twenty
| Relação | Lado "Um" (Pai) | Lado "Muitos" (Filho) |
| ------------------------ | --------------- | --------------------- |
| Empresas → Pessoas | Empresa | Pessoas |
| Empresas → Oportunidades | Empresa | Oportunidades |
| Pessoas → Tarefas | Pessoa | Tarefas |
| Pessoas → Notas | Pessoa | Notas |
## Passo 1: Identificar os lados "Um" e "Muitos"
Antes de importar, determine qual objeto é o pai e qual é o filho.
**Pergunte a si mesmo:** "UM [Objeto A] tem MUITOS [Objeto B]?"
* Uma Empresa → Muitas Pessoas ✓ (A Empresa é o pai)
* Uma Pessoa → Muitas Empresas ✗ (Isto está errado — uma pessoa pertence a uma empresa)
## Passo 2: Importe primeiro os registos pai
O pai (lado "um") deve existir no Twenty antes de poder referenciá-lo.
**Ordem de importação:**
1. **Empresas** primeiro (sem dependências)
2. **Pessoas** em segundo (ligar a Empresas)
3. **Oportunidades** em terceiro (ligar a Empresas e/ou Pessoas)
4. **Tarefas/Notas** (ligar a qualquer um dos anteriores)
<Warning>
**Se o registo pai não existir, a importação falhará.**
Verifique sempre que as Empresas são importadas antes de importar Pessoas com referências a empresas.
</Warning>
## Passo 3: Anote o identificador único do pai
Precisa de referenciar o registo pai usando um **identificador único**. Opções disponíveis:
| Objeto Pai | Identificadores Únicos Disponíveis |
| -------------------------- | ------------------------------------------------------------------------- |
| **Empresas** | `id` (UUID), `domain` (recomendado) ou qualquer campo único personalizado |
| **Pessoas** | `id` (UUID), `email` ou qualquer campo único personalizado |
| **Membros do Workspace** | `id` (UUID), `email` (não o nome) |
| **Objetos personalizados** | `id` (UUID) ou qualquer campo marcado como único |
<Note>**Recomendado:** Use `domain` para Empresas e `email` para Pessoas. São legíveis por humanos e fáceis de verificar na sua folha de cálculo.</Note>
### Encontrar o identificador
Se precisar do `id`:
1. Exporte os registos pai do Twenty
2. A exportação inclui a coluna `id`
3. Use estes IDs no seu ficheiro de registos filho
## Passo 4: Verifique se o campo de relação existe
Antes de importar, garanta que o campo de relação existe entre os seus objetos.
**Para verificar ou criar:**
1. Vá a **Definições → Modelo de Dados**
2. Selecione o seu objeto filho (por exemplo, Pessoas)
3. Procure um campo de relação que aponte para o pai (por exemplo, Empresa)
4. Se não existir, crie-o:
* Clique em **+ Adicionar campo**
* Selecione o tipo **Relação**
* Escolha o objeto pai
## Passo 5: Prepare o seu ficheiro CSV
Adicione uma coluna ao seu CSV de registos filho que faça referência ao pai utilizando o seu identificador único.
### Exemplo: Pessoas ligadas a Empresas
**O seu CSV de Pessoas:**
```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
```
A coluna `companyDomain` faz referência ao domínio da Empresa.
### Requisitos de Formato
| Identificador | Formato | Exemplo |
| ------------- | -------------- | -------------------------------------- |
| Domínio | Formato de URL | `https://acme.com` |
| E-mail | Email padrão | `john@acme.com` |
| ID | UUID | `c776ee49-f608-4a77-8cc8-6fe96ae1e43f` |
<Warning>
**O formato do domínio é importante!**
Use `https://domain.com` (não apenas `domain.com`). Isto corresponde à forma como a Twenty armazena domínios de Empresas e evita erros de correspondência.
</Warning>
### Regras Importantes
1. **Correspondência exata obrigatória** — o valor deve corresponder exatamente ao registo pai
2. **Mapeie apenas UM identificador único** — não inclua `companyId` E `companyDomain`
3. **Sensível a maiúsculas/minúsculas** — `Acme.com` ≠ `acme.com`
## Passo 6: Carregue e mapeie a relação
1. Navegue até ao objeto filho (por exemplo, Pessoas)
2. Clique em **⋮** → **Importar registos**
3. Carregue o seu ficheiro CSV
4. Na etapa de mapeamento de campos:
* Encontre a sua coluna de relação (por exemplo, `companyDomain`)
* Mapeie-a para o campo de relação **Empresa**
5. Conclua o mapeamento restante
6. Revise os erros e confirme
A Twenty ligará automaticamente cada registo filho ao pai correspondente.
## Passo 7: Verifique a importação
Após a importação:
1. Abra alguns registos filho (por exemplo, Pessoas)
2. Verifique se o campo de relação mostra o pai correto (por exemplo, Empresa)
3. Abra um registo pai e verifique a secção de registos relacionados
## Erros Comuns a Evitar
| Erro | Problema | Solução |
| ---------------------------------------------- | ------------------------------------------------ | ---------------------------------------------------------------------- |
| **Ordem de importação incorreta** | Importar Pessoas antes de Empresas | Importe sempre primeiro os pais e depois os filhos |
| **Formato de domínio incorreto** | Usar `acme.com` em vez de `https://acme.com` | Use o formato completo de URL com `https://` |
| **Vários campos únicos** | Mapear ambos `companyId` E `companyDomain` | Mapeie apenas UM identificador único |
| **Campo de relação em falta** | O campo de relação não existe no modelo de dados | Crie-o em **Definições → Modelo de Dados** antes de importar |
| **Registos inexistentes** | O registo pai não existe no Twenty | Importe primeiro os registos pai ou verifique se há erros ortográficos |
| **Incompatibilidade de maiúsculas/minúsculas** | `Acme.com` no ficheiro mas `acme.com` no Twenty | Garanta correspondência exata de maiúsculas/minúsculas |
## Ligar a Membros do Espaço de Trabalho
Ao ligar a Membros do Espaço de Trabalho (a sua equipa):
* Use o **endereço de email** deles, não o nome
* Exemplo: `owner@yourcompany.com`, não "John Smith"
```csv
taskName,assignedTo
Follow up with client,john@yourcompany.com
Review proposal,jane@yourcompany.com
```
## Perguntas Frequentes
<AccordionGroup>
<Accordion title="E se o meu registo pai não tiver um domínio ou email?">
Tem duas opções:
1. Use o `id` da Twenty (exporte os registos pai para obter os respetivos IDs)
2. Crie um campo único personalizado no seu modelo de dados para armazenar um ID externo do seu sistema anterior
</Accordion>
<Accordion title="Posso atualizar relações em registos existentes?">
Sim! Inclua o identificador único do registo filho (por exemplo, `email` para Pessoas) e o novo valor da relação. A importação atualizará a relação.
</Accordion>
<Accordion title="Posso importar relações muitos-para-muitos?">
Relações muitos-para-muitos ainda não são suportadas para importação. Isto está planeado para o 1.º semestre de 2026.
</Accordion>
<Accordion title="Posso ligar a vários tipos de objeto (como Notas a Pessoas E Empresas)?">
Relações que apontam para vários tipos de objeto ainda não são suportadas para importação/exportação. Isto está no nosso roadmap.
</Accordion>
<Accordion title="O que acontece se um registo pai não existir?">
A importação mostrará um erro para essa linha. Você pode:
* Importe primeiro o registo pai e depois volte a importar
* Corrija o valor de referência
* Remova a linha da importação
</Accordion>
<Accordion title="Porque é que a minha relação não está a ligar corretamente?">
Causas comuns:
* Formato incorreto (use `https://domain.com` para domínios)
* Incompatibilidade de maiúsculas/minúsculas (verifique a grafia exata)
* O pai não existe (importe primeiro os pais)
* Mapeamento de vários identificadores (use apenas um)
</Accordion>
</AccordionGroup>
<Warning>
**Lembre-se: registos eliminados logicamente contam para a unicidade.**
Se estiver a receber erros de "not found", mas o registo parece existir, verifique Menu de Comandos → Ver registos eliminados. O pai pode ter sido eliminado logicamente.
</Warning>
## Resolução de Problemas
Está a ter problemas? Consulte:
* [Como Corrigir Erros de Importação](/l/pt/user-guide/data-migration/how-tos/fix-import-errors)
* [Capacidades de Importação de Relações](/l/pt/user-guide/data-migration/capabilities/import-relations)
* [Restrições de Unicidade](/l/pt/user-guide/data-migration/capabilities/uniqueness-constraints)