Crie uma cópia de um registro existente enquanto preserva elementos de dados específicos.
Copiar um Registro
Para criar uma cópia de um registro existente enquanto mantém elementos específicos, use a mutação copyTodo:
mutation CopyTodo {
copyTodo(
input: {
title: "new todo"
todoId: "todo-id"
todoListId: "todo-list-id"
options: [
DESCRIPTION
DUE_DATE
CHECKLISTS
ASSIGNEES
TAGS
CUSTOM_FIELDS
COMMENTS
]
}
)
}
Cabeçalhos Requeridos
x-bloo-token-id: "your-token-id"
x-bloo-token-secret: "your-token-secret"
x-bloo-project-id: "project-id-or-slug"
x-bloo-company-id: "company-id-or-slug"
Parâmetros de Entrada
| Campo | Tipo | Requerido | Descrição |
|---|---|---|---|
| title | String | Não | Novo título para o registro copiado (opcional) |
| todoId | String | Sim | ID do registro a ser copiado |
| todoListId | String | Sim | ID da lista onde criar a cópia |
| options | Array | Sim | Elementos de dados a serem copiados do registro original |
Opções de Cópia
O array options aceita estes valores:
| Opção | Descrição |
|---|---|
| DESCRIPTION | Copia a descrição do registro |
| DUE_DATE | Copia a data de vencimento e o fuso horário |
| CHECKLISTS | Copia todas as listas de verificação e seus itens |
| ASSIGNEES | Copia todos os usuários atribuídos (filtrados pela associação ao projeto de destino) |
| TAGS | Copia todas as tags associadas |
| CUSTOM_FIELDS | Copia todos os valores de campos personalizados (incluindo anexos de arquivos) |
| COMMENTS | Copia todos os comentários e respostas |
Exemplo de Resposta
{
"data": {
"copyTodo": true
}
}
A cópia do registro será colocada na parte inferior da lista de destino por padrão. Para controlar o posicionamento, use a [mutação mover registro](/api/records/move-record-list). ::
::callout
---
icon: i-heroicons-exclamation-triangle
---
Permissões Requeridas
Você precisa de permissões Editar (papel PROPRIETÁRIO, ADMIN ou MEMBRO) em ambos os projetos de origem e destino. Nota: Usuários com papel de MEMBRO podem copiar registros apenas dentro do mesmo projeto. A cópia entre projetos requer permissões ADMIN ou PROPRIETÁRIO. Cópias falhadas retornarão um código de erro `FORBIDDEN`.
Tratamento de Erros
Códigos de erro comuns para esta operação:
TODO_NOT_FOUND: todoId inválido ou inacessívelTODO_LIST_NOT_FOUND: todoListId inválido ou inacessívelFORBIDDEN: Permissões insuficientes ou restrição entre projetos
Veja Códigos de Erro para referência completa.
Recursos Avançados
Cópia entre Projetos
A mutação suporta a cópia de registros entre diferentes projetos com as seguintes considerações:
- PROPRIETÁRIO/ADMIN: Pode copiar registros entre quaisquer projetos aos quais tenham acesso
- MEMBRO: Restrito à cópia apenas dentro do mesmo projeto
- Filtragem de Atribuições: Ao copiar entre projetos, os atribuídos são automaticamente filtrados para incluir apenas usuários que têm acesso ao projeto de destino
Tratamento de Campos Personalizados
Ao usar a opção CUSTOM_FIELDS:
- Todos os valores de campos personalizados são copiados para o novo registro
- Anexos de arquivos em campos personalizados são devidamente duplicados com novas referências de armazenamento
- Tipos de campos personalizados são preservados e validados em relação à configuração do projeto de destino
Integração de Automação
Cópias entre projetos podem acionar regras de automação adicionais em ambos os projetos de origem e destino, permitindo uma gestão de fluxo de trabalho sofisticada através das fronteiras dos projetos.