Inicio rápido de la API de Plan
Haz tus primeras llamadas a la API de Dailybot Plan en menos de cinco minutos: obtén un token, lista tus tableros, crea una tarea, muévela y coméntala, con curl y el CLI.
Beta
Plan está en beta. Todo lo que está bajo /plan en la aplicación web, los comandos del CLI y de la agent skill para proyectos, objetivos, tableros y tareas, y la API pública /v1/plan/ puede cambiar antes de la disponibilidad general. ¿Quieres probarlo con tu equipo? Escribe a [email protected].
En unos cinco minutos vas a iniciar sesión, encontrar un tablero, crear una tarea, moverla a “en progreso” y dejarle un comentario. Cada paso muestra la llamada con curl y su equivalente en el CLI de Dailybot.
Necesitas curl y jq (para leer JSON en la terminal), y un correo que pertenezca a una organización de Dailybot con la Beta de Plan habilitada.
1. Obtén un token
La credencial más rápida es un token de usuario del CLI: actúa como tú, con tu rol. Pide un código de un solo uso por correo:
curl -sS -X POST "https://api.dailybot.com/v1/cli/auth/request-code/" \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]"}'
Pega el código del correo en lugar de 123456 y guarda el token en DAILYBOT_TOKEN:
export DAILYBOT_TOKEN=$(curl -sS -X POST "https://api.dailybot.com/v1/cli/auth/verify-code/" \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]", "code": "123456"}' | jq -r .access_token)
Si tu correo pertenece a varias organizaciones, la primera llamada responde "status": "select_organization" con una lista: envíala de nuevo con "organization_uuid" apuntando a la que quieras.
Desde el CLI, dailybot login ejecuta el mismo flujo de código por correo y guarda la sesión por ti:
dailybot login
Una API key personal también funciona (
X-API-KEY: $DAILYBOT_API_KEY) y actúa como tú, sin scope que pedir. Una key de agente o de la organización actúa como un actor del sistema, necesita tener habilitados los scopes de Plan (durante la Beta, escribe a [email protected]) y se rechaza en los endpoints que requieren una persona. Consulta Autenticación para Plan.
2. Comprueba que Plan esté habilitado
curl -sS "https://api.dailybot.com/v1/plan/entitlements/" \
-H "Authorization: Bearer $DAILYBOT_TOKEN"
Lo que buscas es "enabled": true. Si recibes "enabled": false, o cualquier otra llamada de Plan responde 402 plan_upgrade_required, es lo esperado: tu organización todavía no está en la Beta. Escribe a [email protected] y la habilitamos.
3. Lista tus tableros
curl -sS "https://api.dailybot.com/v1/plan/boards/" \
-H "Authorization: Bearer $DAILYBOT_TOKEN" | jq '.results[] | {uuid, key, name}'
Guarda el uuid del primer tablero para los siguientes pasos:
export BOARD=$(curl -sS "https://api.dailybot.com/v1/plan/boards/" \
-H "Authorization: Bearer $DAILYBOT_TOKEN" | jq -r '.results[0].uuid')
Desde el CLI:
dailybot plan board list --json
4. Crea una tarea
board y title son obligatorios. El header Idempotency-Key hace que la llamada se pueda reintentar sin riesgo: si la envías de nuevo con la misma clave y el mismo cuerpo, devuelve la primera tarea en lugar de crear una segunda.
export TASK=$(curl -sS -X POST "https://api.dailybot.com/v1/plan/tasks/" \
-H "Authorization: Bearer $DAILYBOT_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: quickstart-$(date +%s)" \
-d "{\"board\": \"$BOARD\", \"title\": \"My first task from the API\"}" | jq -r .key)
echo "$TASK"
Ahora TASK contiene la clave de la tarea, por ejemplo ENG-143. Puedes usarla en cualquier lugar donde se haga referencia a una tarea.
Desde el CLI:
dailybot plan task create -t "My first task from the API" -b "$BOARD"
5. Muévela a "en progreso"
Las columnas de un tablero son sus estados del flujo de trabajo. Busca el primer estado cuya categoría sea in_progress y mueve la tarea ahí:
export STATE=$(curl -sS "https://api.dailybot.com/v1/plan/boards/$BOARD/states/" \
-H "Authorization: Bearer $DAILYBOT_TOKEN" | jq -r '[.[] | select(.category == "in_progress")][0].uuid')
curl -sS -X POST "https://api.dailybot.com/v1/plan/tasks/$TASK/move/" \
-H "Authorization: Bearer $DAILYBOT_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"state\": \"$STATE\"}" | jq '{key, state: .state.name, version}'
Sin after ni before, la tarea queda al final de la columna. Mover la tarea es la única forma de cambiar su estado.
Desde el CLI:
dailybot plan task move "$TASK" --state in_progress
6. Coméntala
curl -sS -X POST "https://api.dailybot.com/v1/plan/tasks/$TASK/comments/" \
-H "Authorization: Bearer $DAILYBOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"body": "Created and moved from the Plan API quickstart."}' | jq '{uuid, body, created_at}'
Desde el CLI:
dailybot plan task comment "$TASK" "Created and moved from the Plan API quickstart."
Ese es el ciclo completo: leíste un tablero, creaste una tarea, cambiaste su estado y la comentaste.
Estos comandos del CLI llegan en la próxima versión del CLI de Dailybot. Agrega
--jsona cualquiera para obtener una salida legible por máquinas.
Siguientes pasos
- Lee la descripción general para entender el modelo: estados y categorías, claves, orden, versiones y archivo.
- Explora la referencia: Tareas, Tableros, Proyectos, Objetivos, Comentarios y archivos e Inicio y búsqueda.