Crear una copia de un registro existente mientras se preservan elementos de datos específicos.
Copiar un Registro
Para crear una copia de un registro existente mientras se mantienen elementos específicos, utiliza la mutación 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
]
}
)
}
Encabezados 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 | Descripción |
---|---|---|---|
title | String | No | Nuevo título para el registro copiado (opcional) |
todoId | String | Sí | ID del registro a copiar |
todoListId | String | Sí | ID de la lista en la que crear la copia |
options | Array | Sí | Elementos de datos a copiar del registro original |
Opciones de Copia
El array options
acepta estos valores:
Opción | Descripción |
---|---|
DESCRIPTION | Copia la descripción del registro |
DUE_DATE | Copia la fecha de vencimiento y la zona horaria |
CHECKLISTS | Copia todas las listas de verificación y sus elementos |
ASSIGNEES | Copia todos los usuarios asignados (filtrados por membresía en el proyecto objetivo) |
TAGS | Copia todas las etiquetas asociadas |
CUSTOM_FIELDS | Copia todos los valores de campos personalizados (incluidos los archivos adjuntos) |
COMMENTS | Copia todos los comentarios y respuestas |
Ejemplo de Respuesta
{
"data": {
"copyTodo": true
}
}
El registro copiado se colocará al final de la lista objetivo por defecto. Para controlar la posición, utiliza la [mutación de mover registro](/api/records/move-record-list).
Necesitas permisos de Edición (rol PROPIETARIO, ADMIN o MIEMBRO) en ambos proyectos, el de origen y el de destino. Nota: Los usuarios con rol de MIEMBRO solo pueden copiar registros dentro del mismo proyecto. La copia entre proyectos requiere permisos de ADMIN o PROPIETARIO. Las copias fallidas devolverán un código de error `FORBIDDEN`.
Manejo de Errores
Códigos de error comunes para esta operación:
TODO_NOT_FOUND
: todoId inválido o inaccesibleTODO_LIST_NOT_FOUND
: todoListId inválido o inaccesibleFORBIDDEN
: Permisos insuficientes o restricción entre proyectos
Consulta Códigos de Error para referencia completa.
Características Avanzadas
Copia entre Proyectos
La mutación admite la copia de registros entre diferentes proyectos con estas consideraciones:
- PROPIETARIO/ADMIN: Puede copiar registros entre cualquier proyecto al que tenga acceso
- MIEMBRO: Restringido a copiar solo dentro del mismo proyecto
- Filtrado de Asignados: Al copiar entre proyectos, los asignados se filtran automáticamente para incluir solo a los usuarios que tienen acceso al proyecto objetivo
Manejo de Campos Personalizados
Al utilizar la opción CUSTOM_FIELDS
:
- Todos los valores de campos personalizados se copian al nuevo registro
- Los archivos adjuntos en campos personalizados se duplican correctamente con nuevas referencias de almacenamiento
- Los tipos de campos personalizados se preservan y se validan contra la configuración del proyecto objetivo
Integración de Automatización
Las copias entre proyectos pueden activar reglas de automatización adicionales en ambos proyectos, de origen y destino, lo que permite una gestión de flujo de trabajo sofisticada a través de las fronteras de los proyectos.