Documentação da API

A API REST da DragApp permite interagir por código com seus painéis, colunas, cards, marcadores e sequências de e-mail. Crie integrações, automatize fluxos de trabalho e sincronize a Drag com as ferramentas que você já usa.


Autenticação

A API da DragApp usa chaves de API para autenticar as requisições. Inclua sua chave de API no cabeçalho Authorization de todas as requisições.

Sua chave de API fica disponível em Configurações, na Drag. Se você ainda não tem uma conta, cadastre-se aqui.

Exemplo de requisição
curl --request GET \
  --url https://app.dragapp.com/v2/board \
  --header 'Authorization: YOUR_API_KEY'

Mantenha sua chave de API em segurança. Não a compartilhe publicamente nem a inclua em commits no controle de versão.


URL base

Todos os endpoints são relativos a esta URL base:

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

Formato da resposta

Todas as respostas retornam JSON com uma estrutura consistente. Códigos na faixa 200 indicam sucesso. Códigos na faixa 400 indicam um erro na requisição.

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

Códigos de status HTTP

CódigoDescrição
200OK. A requisição foi bem-sucedida.
400Requisição inválida. Parâmetros inválidos.
401Não autorizado. Chave de API inválida ou ausente.
403Proibido. Permissões insuficientes.
404Não encontrado. O recurso não existe.
429Limite de requisições atingido. Requisições demais.
500Erro do servidor. Algo deu errado do nosso lado.

Boards

Os painéis são os contêineres de nível mais alto da Drag. Cada painel corresponde a uma caixa de entrada compartilhada ou a um espaço de trabalho de tarefas no Gmail.

GET/v2/board
Listar todos os painéis
GET/v2/board/:id
Obter um único painel
POST/v2/board
Criar um painel

Criar painel

Cria um painel no seu Gmail.

Parâmetros

NamestringObrigatório

Nome do painel

Exemplo: "Support Board"

UserslistOpcional

Lista de e-mails dos usuários

Exemplo: ["aj@dragapp.com"]

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

Listar painéis

Lista todos os tipos de painéis.

Sem parâmetros.

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

Obter painel

Retorna os detalhes de um único painel.

Sem parâmetros no corpo. Passe o ID do painel no caminho da URL.

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

Colunas

As colunas representam as etapas do seu painel Kanban (por exemplo, A fazer, Fazendo, Concluído). Cada coluna pertence a um painel.

GET/v2/board/:boardId/columns
Listar todas as colunas de um painel
GET/v2/board/:boardId/column/:id
Obter uma única coluna
GET/v2/board/:boardId/column/:columnId/cards
Listar todos os cards de uma coluna
POST/v2/board/:boardId/column
Criar uma coluna

Criar coluna

Cria uma coluna em um painel.

Parâmetros

NamestringObrigatório

Nome da coluna

Exemplo: "To Do"

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

Listar colunas

Lista todas as colunas de um painel.

Sem parâmetros no corpo.

Resposta
{
  "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 cards da coluna

Lista todos os cards de uma coluna. Suporta paginação.

Parâmetros

pagenumberObrigatório

Número da página

Exemplo: 1

limitstringOpcional

Número de cards por página

Exemplo: "10"

Resposta
{
  "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": "[{}]"
    }
  ]
}

Cards

Os cards representam tarefas ou conversas de e-mail individuais em um painel. Os cards podem ter notas, comentários, subtarefas, marcadores e responsáveis.

GET/v2/card/:id
Obter detalhes do card
POST/v2/card
Criar um card
PUT/v2/card/:cardId
Atualizar um card
POST/v2/card/move-card
Mover o card para outra coluna ou outro painel
DELETE/v2/card/:cardId
Arquivar um card
POST/v2/card/:cardId/note
Adicionar uma nota a um card
POST/v2/card/:cardId/tags
Adicionar um marcador a um card
POST/v2/card/:cardId/sub-task
Adicionar uma subtarefa a um card

Criar card

Cria um card em um painel.

Parâmetros

BoardIdnumberObrigatório

Painel em que você quer adicionar o card

Exemplo: 20841

ColumnIdnumberObrigatório

Coluna do painel em que você quer adicionar o card

Exemplo: 1094

CardTitlestringObrigatório

Título do card

Exemplo: "Planning Task"

NotestringOpcional

Nota a ser adicionada ao card

CommentstringOpcional

Comentário a ser adicionado ao card

SubTaskstringOpcional

Subtarefa a ser adicionada ao card

AssigneelistOpcional

E-mail do responsável, ou null para remover a atribuição

Exemplo: ["aj@dragapp.com"]

ReadStatusnumberOpcional

Lido = 1, Não lido = 0. O padrão é Lido.

Exemplo: 1

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

Atualizar card

Atualiza um card existente.

Parâmetros

BoardIdnumberObrigatório

Painel em que o card está

Exemplo: 20841

ColumnIdnumberObrigatório

Coluna do painel em que o card está

Exemplo: 1094

CardTitlestringObrigatório

Título do card

Exemplo: "Planning Task"

NotestringOpcional

Nota para o card

CommentstringOpcional

Comentário para o card

SubTaskstringOpcional

Subtarefa para o card

AssigneelistOpcional

E-mail do responsável, ou null para remover a atribuição

Exemplo: ["aj@dragapp.com"]

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

Mover card

Move um card para outra coluna ou outro painel.

Parâmetros

IdstringObrigatório

Card a ser movido

Exemplo: "18ac0539048b4d0d"

NewBoardIdnumberOpcional

Painel para o qual você quer mover o card

Exemplo: 1094

NewColumnIdnumberObrigatório

Coluna do painel para a qual você quer mover o card

Exemplo: 1094

NewPositionnumberObrigatório

Posição na coluna para a qual você quer mover o card

Exemplo: 0

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

Adicionar nota

Adiciona uma nota a um card.

Parâmetros

BodystringObrigatório

Nota a ser adicionada ao card

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

Adicionar marcador ao card

Adiciona um marcador a um card.

Parâmetros

TagIdstringObrigatório

Marcador a ser adicionado ao card

Exemplo: "77155"

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

Adicionar subtarefa

Adiciona uma subtarefa a um card.

Parâmetros

BodystringObrigatório

Subtarefa a ser adicionada ao card

Exemplo: "Sub task 1"

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

Arquivar card

Arquiva (exclui) um card.

Sem parâmetros no corpo. Passe o ID do card no caminho da URL.

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

Comments

Os comentários são mensagens internas da equipe anexadas aos cards.

POST/v2/comment
Adicionar um comentário a um card
GET/v2/comment/:commentId
Obter um comentário
PUT/v2/comment/:commentId
Atualizar um comentário
DELETE/v2/comment/:commentId
Excluir um comentário

Adicionar comentário

Parâmetros

CardIdstringObrigatório

Card em que você quer adicionar o comentário

Exemplo: "77155"

BodystringObrigatório

Comentário a ser adicionado ao card

Resposta
{
  "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"
    }
  }
}

Atualizar comentário

Parâmetros

BodystringObrigatório

Comentário a ser atualizado

Resposta
{
  "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"
    }
  }
}

Tags

Os marcadores são etiquetas coloridas que podem ser aplicadas aos cards para categorização e filtragem.

GET/v2/tag
Listar os marcadores de um painel
POST/v2/tag
Criar um marcador
DELETE/v2/tag
Excluir um marcador

Listar marcadores

Lista todos os marcadores de um painel.

Parâmetros

BoardIdnumberObrigatório

Painel do qual você quer obter os marcadores

Exemplo: 20841

Resposta
{
  "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 }
  ]
}

Criar marcador

Parâmetros

BoardIdnumberObrigatório

Painel em que você quer criar o marcador

Exemplo: 20841

NamestringObrigatório

Nome do marcador

Exemplo: "Pending"

ColornumberObrigatório

Cor do marcador

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

Excluir marcador

Parâmetros

BoardIdnumberObrigatório

Painel em que o marcador foi criado

Exemplo: 20841

TagIdnumberObrigatório

ID do marcador

Exemplo: 77162

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

Sequências de e-mail

As sequências de e-mail são cadeias automatizadas de e-mails de acompanhamento que podem ser agendadas e monitoradas.

GET/v2/email-sequence
Listar todas as sequências de e-mail
GET/v2/email-sequence/:id
Obter uma sequência de e-mail

Listar todas

Sem parâmetros.

Resposta
{
  "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"
}

Obter sequência de e-mail

Retorna uma única sequência de e-mail com todas as etapas de acompanhamento.

Sem parâmetros no corpo. Passe o ID da sequência no caminho da URL.

Resposta
{
  "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
    }
  ]
}

Limites de requisições

Os limites de requisições se aplicam a todos os endpoints da API. Se você receber um 429 como código de status, reduza a frequência das requisições e tente novamente com backoff exponencial.


SDKs e ferramentas


Precisa de ajuda?

Central de ajuda: guias, tutoriais e perguntas frequentes

Documentação da API no app: referência interativa da API na sua conta DragApp

support@dragapp.com: fale diretamente com a equipe