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.