Documentación de la API

La API REST de DragApp te permite interactuar mediante código con tus tableros, columnas, tarjetas, etiquetas y secuencias de correo. Crea integraciones, automatiza flujos de trabajo y sincroniza Drag con las herramientas que ya usas.


Autenticación

La API de DragApp usa claves de API para autenticar las solicitudes. Incluye tu clave de API en el encabezado Autorización encabezado de cada solicitud.

Tu clave de API está disponible en Configuración, dentro de Drag. Si no tienes una cuenta, regístrate aquí.

Ejemplo de solicitud
curl --request GET \
  --url https://app.dragapp.com/v2/board \
  --header 'Authorization: YOUR_API_KEY'

Mantén segura tu clave de API. No la compartas públicamente ni la subas a un sistema de control de versiones.


URL base

Todos los endpoints son relativos a esta URL base:

https://app.dragapp.com/v2/

Formato de respuesta

Todas las respuestas devuelven JSON con una estructura consistente. Los códigos del rango 200 indican éxito. Los códigos del rango 400 indican un error en la solicitud.

Éxito
{
  "message": "Success message",
  "error": false,
  "code": 200,
  "data": { ... }
}
Error
{
  "message": "Error message",
  "code": 400,
  "error": true
}

Códigos de estado HTTP

CódigoDescripción
200OK. La solicitud se completó correctamente.
400Solicitud incorrecta. Parámetros no válidos.
401No autorizado. Clave de API no válida o ausente.
403Prohibido. Permisos insuficientes.
404No encontrado. El recurso no existe.
429Límite de solicitudes alcanzado. Demasiadas solicitudes.
500Error del servidor. Algo salió mal de nuestro lado.

Tableros

Los tableros son los contenedores principales en Drag. Cada tablero corresponde a una bandeja de entrada compartida o a un espacio de tareas en Gmail.

GET/v2/board
Lista todos los tableros
GET/v2/board/:id
Obtener un tablero
POST/v2/board
Crea un tablero

Crear tablero

Crea un tablero en tu Gmail.

Parámetros

NombrestringObligatorio

Nombre del tablero

Ejemplo: "Tablero de soporte"

UsuarioslistOpcional

Lista de correos de los usuarios

Ejemplo: ["aj@dragapp.com"]

Respuesta
{
  "message": "Board created successfully",
  "error": false,
  "code": 200,
  "data": {
    "Id": 404303,
    "BoardName": "Testing V2 Board"
  }
}

Listar tableros

Lista todos los tipos de tableros.

Sin parámetros.

Respuesta
{
  "message": "Board list",
  "error": false,
  "code": 200,
  "data": [
    {
      "Id": 162461,
      "Name": "A's Inbox",
      "Owner": "aj@dragapp.com",
      "Users": "akdev013@gmail.com"
    }
  ]
}

Obtener tablero

Obtiene los detalles de un tablero.

Sin parámetros en el cuerpo. Pasa el ID del tablero en la ruta de la URL.

Respuesta
{
  "message": "Board details",
  "error": false,
  "code": 200,
  "data": {
    "Id": 162461,
    "Name": "A's Inbox",
    "Owner": "aj@dragapp.com",
    "Users": "akdev013@gmail.com"
  }
}

Columnas

Las columnas representan las etapas de tu tablero Kanban (p. ej., Por hacer, En curso, Hecho). Cada columna pertenece a un tablero.

GET/v2/board/:boardId/columns
Lista todas las columnas de un tablero
GET/v2/board/:boardId/column/:id
Obtener una columna
GET/v2/board/:boardId/column/:columnId/cards
Lista todas las tarjetas de una columna
POST/v2/board/:boardId/column
Crea una columna

Crear columna

Crea una columna en un tablero.

Parámetros

NombrestringObligatorio

Nombre de la columna

Ejemplo: "Por hacer"

Respuesta
{
  "message": "Column created successfully",
  "error": false,
  "code": 200,
  "data": {
    "Success": "Column created successfully."
  }
}

Listar columnas

Lista todas las columnas de un tablero.

Sin parámetros en el cuerpo.

Respuesta
{
  "message": "Columns list",
  "error": false,
  "code": 200,
  "data": [
    { "Id": 158415, "ColumnId": "Label_1", "Name": "To Do" },
    { "Id": 158416, "ColumnId": "Label_2", "Name": "Doing" },
    { "Id": 158417, "ColumnId": "Label_3", "Name": "Done" }
  ]
}

Listar tarjetas de la columna

Lista todas las tarjetas de una columna. Admite paginación.

Parámetros

pagenumberObligatorio

Número de página

Ejemplo: 1

limitstringOpcional

Número de tarjetas por página

Ejemplo: "10"

Respuesta
{
  "message": "Column cards",
  "error": false,
  "code": 200,
  "data": [
    {
      "DragTaskId": 200442,
      "TaskName": "Task",
      "ReadUnreadStatus": 1,
      "ColumnId": "Label_1",
      "BoardId": 404302,
      "DueDate": null,
      "Assignees": null,
      "ThreadOwnerEmail": "aj@dragapp.com",
      "CreatedAt": "2023-10-31T04:38:31.000Z",
      "Status": "1",
      "CustomFields": "[{}]"
    }
  ]
}

Tarjetas

Las tarjetas representan tareas individuales o hilos de correo en un tablero. Pueden tener notas, comentarios, subtareas, etiquetas y responsables.

GET/v2/card/:id
Obtener detalles de una tarjeta
POST/v2/card
Crea una tarjeta
PUT/v2/card/:cardId
Actualizar una tarjeta
POST/v2/card/move-card
Mover la tarjeta a otra columna u otro tablero
DELETE/v2/card/:cardId
Archiva una tarjeta
POST/v2/card/:cardId/note
Agregar una nota a una tarjeta
POST/v2/card/:cardId/tags
Agrega una etiqueta a una tarjeta
POST/v2/card/:cardId/sub-task
Agregar una subtarea a una tarjeta

Crear tarjeta

Crea una tarjeta en un tablero.

Parámetros

BoardIdnumberObligatorio

Tablero donde quieres agregar la tarjeta

Ejemplo: 20841

ColumnIdnumberObligatorio

Columna del tablero donde quieres agregar la tarjeta

Ejemplo: 1094

CardTitlestringObligatorio

Título de la tarjeta

Ejemplo: "Tarea de planificación"

NotastringOpcional

Nota que se agregará a la tarjeta

ComentariostringOpcional

Comentario que se agregará a la tarjeta

SubtareastringOpcional

Subtarea que se agregará a la tarjeta

ResponsablelistOpcional

Correo del responsable, o null para quitar la asignación

Ejemplo: ["aj@dragapp.com"]

ReadStatusnumberOpcional

Leído = 1, No leído = 0. El valor predeterminado es Leído.

Ejemplo: 1

Respuesta
{
  "Error": false,
  "Success": "Task Added Successfully",
  "taskId": 200433
}

Actualizar tarjeta

Actualiza una tarjeta existente.

Parámetros

BoardIdnumberObligatorio

Tablero donde está la tarjeta

Ejemplo: 20841

ColumnIdnumberObligatorio

Columna del tablero donde está la tarjeta

Ejemplo: 1094

CardTitlestringObligatorio

Título de la tarjeta

Ejemplo: "Tarea de planificación"

NotastringOpcional

Nota para la tarjeta

ComentariostringOpcional

Comentario para la tarjeta

SubtareastringOpcional

Subtarea para la tarjeta

ResponsablelistOpcional

Correo del responsable, o null para quitar la asignación

Ejemplo: ["aj@dragapp.com"]

Respuesta
{
  "message": "Card updated successfully.",
  "error": false,
  "code": 200,
  "data": "2451"
}

Mover tarjeta

Mueve una tarjeta a otra columna u otro tablero.

Parámetros

IdstringObligatorio

Tarjeta que se moverá

Ejemplo: "18ac0539048b4d0d"

NewBoardIdnumberOpcional

Tablero al que quieres mover la tarjeta

Ejemplo: 1094

NewColumnIdnumberObligatorio

Columna del tablero a la que quieres mover la tarjeta

Ejemplo: 1094

NewPositionnumberObligatorio

Posición en la columna a la que quieres mover la tarjeta

Ejemplo: 0

Respuesta
{
  "message": "Card moved successfully.",
  "error": false,
  "code": 200,
  "data": "success"
}

Agregar nota

Agrega una nota a una tarjeta.

Parámetros

CuerpostringObligatorio

Nota que se agregará a la tarjeta

Respuesta
{
  "message": "Note added to card successfully.",
  "error": false,
  "code": 200,
  "data": { "CardId": "200429" }
}

Agregar etiqueta a la tarjeta

Agrega una etiqueta a una tarjeta.

Parámetros

TagIdstringObligatorio

Etiqueta que se agregará a la tarjeta

Ejemplo: "77155"

Respuesta
{
  "message": "Added tag to card successfully.",
  "error": false,
  "code": 200,
  "data": { "CardId": "200429" }
}

Agregar subtarea

Agrega una subtarea a una tarjeta.

Parámetros

CuerpostringObligatorio

Subtarea que se agregará a la tarjeta

Ejemplo: "Subtarea 1"

Respuesta
{
  "message": "SubTask added to card successfully.",
  "error": false,
  "code": 200,
  "data": { "CardId": "200429" }
}

Archivar tarjeta

Archiva (elimina) una tarjeta.

Sin parámetros en el cuerpo. Pasa el ID de la tarjeta en la ruta de la URL.

Respuesta
{
  "message": "Card archived successfully.",
  "error": false,
  "code": 200,
  "data": { "id": "43813" }
}

Comentarios

Los comentarios son mensajes internos del equipo adjuntos a las tarjetas.

POST/v2/comment
Agregar un comentario a una tarjeta
GET/v2/comment/:commentId
Obtener un comentario
PUT/v2/comment/:commentId
Actualizar un comentario
DELETE/v2/comment/:commentId
Elimina un comentario

Agregar comentario

Parámetros

CardIdstringObligatorio

Tarjeta donde quieres agregar el comentario

Ejemplo: "77155"

CuerpostringObligatorio

Comentario que se agregará a la tarjeta

Respuesta
{
  "message": "Comment created successfully.",
  "error": false,
  "code": 200,
  "data": {
    "Error": false,
    "Success": "Comment added successfully",
    "CommentDetails": {
      "CommentId": 549007,
      "UserId": 1000075,
      "Comment": "Hello comment added",
      "EntityId": "200428",
      "CreatedAt": "2023-10-29T11:29:35.000Z"
    }
  }
}

Actualizar comentario

Parámetros

CuerpostringObligatorio

Comentario que se actualizará

Respuesta
{
  "message": "Comment updated successfully.",
  "error": false,
  "code": 200,
  "data": {
    "Error": false,
    "Success": "Comment updated successfully",
    "CommentDetails": {
      "CommentId": 549002,
      "Comment": "updating 1 existing comment",
      "EntityId": "200428",
      "CreatedAt": "2023-10-08T12:32:26.000Z"
    }
  }
}

Etiquetas

Las etiquetas son marcadores de color que se pueden aplicar a las tarjetas para categorizarlas y filtrarlas.

GET/v2/tag
Listar etiquetas de un tablero
POST/v2/tag
Crea una etiqueta
DELETE/v2/tag
Elimina una etiqueta

Listar etiquetas

Lista todas las etiquetas de un tablero.

Parámetros

BoardIdnumberObligatorio

Tablero del que quieres obtener las etiquetas

Ejemplo: 20841

Respuesta
{
  "message": "Tag list fetched successfully.",
  "error": false,
  "code": 200,
  "data": [
    { "Id": 77163, "Name": "Tag 1", "Color": "8", "BoardId": 20841 },
    { "Id": 77164, "Name": "Tag 2", "Color": "1", "BoardId": 20841 }
  ]
}

Crear etiqueta

Parámetros

BoardIdnumberObligatorio

Tablero donde quieres crear la etiqueta

Ejemplo: 20841

NombrestringObligatorio

Nombre de la etiqueta

Ejemplo: "Pendiente"

ColornumberObligatorio

Color de la etiqueta

Respuesta
{
  "message": "Tag crated successfully.",
  "error": false,
  "code": 200,
  "data": {
    "Id": 77162,
    "Name": "Tag 3 API 2",
    "Color": "11",
    "Description": null,
    "BoardId": 3007,
    "UserId": 1000075
  }
}

Eliminar etiqueta

Parámetros

BoardIdnumberObligatorio

Tablero donde se creó la etiqueta

Ejemplo: 20841

TagIdnumberObligatorio

ID de etiqueta

Ejemplo: 77162

Respuesta
{
  "message": "Tag deleted successfully.",
  "error": false,
  "code": 200,
  "data": { "Id": 77162 }
}

Secuencias de correo

Las secuencias de correo son cadenas automatizadas de correos de seguimiento que se pueden programar y rastrear.

GET/v2/email-sequence
Lista todas las secuencias de correo
GET/v2/email-sequence/:id
Obtener una secuencia de correo

Listar todo

Sin parámetros.

Respuesta
{
  "EmailTemplateId": 153783,
  "UserId": 1000075,
  "Name": "Welcome Email Sequence",
  "CreatedAt": "2023-11-02T15:59:00.000Z",
  "Content": "<p>Hello {{firstName}}, ...</p>",
  "Subject": "Welcome Email",
  "EmailFollowupId": 8393,
  "TotalViewCount": 0,
  "LastSent": null,
  "OwnerName": "A J",
  "OwnerEmail": "aj@dragapp.com"
}

Obtener secuencia de correo

Obtiene una secuencia de correo con todos sus pasos de seguimiento.

Sin parámetros en el cuerpo. Pasa el ID de la secuencia en la ruta de la URL.

Respuesta
{
  "Id": "153783",
  "Name": "Welcome Email Sequence",
  "CreatedAt": "2023-11-02T15:59:00.000Z",
  "EmailFollowups": [
    {
      "EmailFollowupId": 8393,
      "Subject": "Welcome Email",
      "Content": "<p>Hello {{firstName}}, ...</p>",
      "Days": 1,
      "Duration": "days",
      "Hours": 3,
      "Minutes": 30,
      "Sequence": 1
    },
    {
      "EmailFollowupId": 8394,
      "Subject": "Re: Welcome Email",
      "Days": 1,
      "Duration": "days",
      "Sequence": 2
    }
  ]
}

Límites de solicitudes

Los límites de solicitudes se aplican a todos los endpoints de la API. Si recibes un 429 como código de estado, reduce la frecuencia de tus solicitudes y vuelve a intentarlo con backoff exponencial.


SDKs y herramientas


¿Necesitas ayuda?

Centro de ayuda: guías, tutoriales y preguntas frecuentes

Documentación de la API dentro de la app: referencia interactiva de la API en tu cuenta de DragApp

support@dragapp.com: contacta directamente al equipo