API Документация
Внешнее API позволяет AI-ассистентам, скриптам и любым сервисам создавать задачи напрямую — они мгновенно появляются в трекере и приходят уведомлением в Telegram.
Получить API ключ
/start в Telegram-боте — получишь auth key для входа на сайтngsapi-... ключ/apikey прямо в ботеСоздать задачу
Headers
| Header | Значение |
|---|---|
Content-Type | application/json |
x-api-key | Твой API ключ (ngsapi-...) |
Body (JSON)
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
title | string | ✓ | Название задачи |
description | string | — | Подробное описание |
deadline | string ISO 8601 | — | "2025-12-31T18:00:00.000Z" |
priority | string | — | "high" / "medium" / "low" |
send_to_bot | boolean | — | Отправить уведомление в Telegram (default: true) |
Пример запроса
curl -X POST https://ngservicebot.ru/api/external/tasks \ -H "Content-Type: application/json" \ -H "x-api-key: ngsapi-ВАШ_КЛЮЧ" \ -d '{ "title": "Подготовить презентацию", "description": "Слайды для встречи с командой в пятницу", "deadline": "2025-05-02T10:00:00.000Z", "priority": "high", "send_to_bot": true }'
Ответ
{
"success": true,
"task": {
"id": 42,
"title": "Подготовить презентацию",
"priority": "high",
"deadline": "2025-05-02T10:00:00.000Z",
"status": "pending",
"url": "https://ngservicebot.ru/user/123456789/tasks/42"
}
}
Список задач
Query params
| Параметр | Значение |
|---|---|
status | pending / done / cancelled — default: pending |
Ответ
{
"tasks": [
{
"id": 101,
"title": "Проверить логи",
"deadline": "2025-05-09T12:00:00Z",
"folder_name": "NGS TASKS",
"status": "pending"
},
{
"id": 102,
"title": "Написать пост",
"deadline": "2025-05-09T15:00:00Z",
"folder_name": null,
"status": "pending"
}
]
}
Использование с Claude AI
Добавь системный промпт чтобы Claude мог управлять задачами и группировать их по папкам.
У тебя есть доступ к NGS Tasks Tracker API для управления задачами пользователя.
Endpoints:
- GET https://ngservicebot.ru/api/external/tasks?status=pending
- POST https://ngservicebot.ru/api/external/tasks
API Key: ngsapi-ВАШ_КЛЮЧ
Логика работы с задачами на сегодня:
Когда пользователь говорит "Сделай все задачи на сегодня":
1. Получи список всех активных задач (GET).
2. Отфильтруй те, чей deadline соответствует сегодняшнему числу.
3. Сгруппируй их по полю folder_name. Если папки нет, используй группу "Без папки".
4. Выдай пользователю список задач по папкам, например:
NGS TASKS:
- Подготовить отчет
Без папки:
- Купить кофе
5. Обязательно спроси: "С какой папки (или задачи) начнём?"
6. После ответа пользователя приступай к выполнению конкретных задач.
Формат дедлайна при создании: ISO 8601 (например "2025-12-31T18:00:00.000Z")
Python SDK (Anthropic)
Пример интеграции с официальным Python SDK и function calling.
import anthropic import requests client = anthropic.Anthropic(api_key="sk-ant-...") NGS_API_KEY = "ngsapi-ВАШ_КЛЮЧ" NGS_API_URL = "https://ngservicebot.ru/api/external/tasks" tools = [{ "name": "create_task", "description": "Создать задачу в NGS Tasks Tracker. Задача придёт в Telegram.", "input_schema": { "type": "object", "properties": { "title": {"type": "string", "description": "Название задачи"}, "description": {"type": "string", "description": "Подробное описание"}, "deadline": {"type": "string", "description": "ISO 8601, напр. 2025-12-31T18:00:00.000Z"}, "priority": {"type": "string", "enum": ["high", "medium", "low"]}, }, "required": ["title"] } }] def create_task(**kwargs): res = requests.post( NGS_API_URL, headers={"Content-Type": "application/json", "x-api-key": NGS_API_KEY}, json={**kwargs, "send_to_bot": True} ) return res.json() response = client.messages.create( model="claude-opus-4-5", max_tokens=1024, tools=tools, messages=[{"role": "user", "content": "Напомни завтра в 10 утра проверить почту"}] ) for block in response.content: if block.type == "tool_use" and block.name == "create_task": result = create_task(**block.input) print(f"Задача создана: {result}")
Коды ответов
title или неверный форматx-api-keyАвтоматические напоминания
Если задача создана с deadline, бот автоматически отправит уведомления в Telegram:
Формат даты (deadline)
# UTC "2025-12-31T18:00:00.000Z" # Московское время (+03:00) "2025-12-31T21:00:00.000+03:00"