mirror of
https://github.com/Zproger/Aurum.git
synced 2026-10-13 02:56:39 +07:00
docs: добавить пример вызова API из чат-бота (Telegram/n8n)
This commit is contained in:
30
DOCS.md
30
DOCS.md
@@ -855,6 +855,36 @@ curl -u user:pass -X POST http://localhost:3000/api/transactions/bulk \
|
|||||||
}'
|
}'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Log expenses from a chat bot (Telegram, n8n, ...)
|
||||||
|
|
||||||
|
Because it's a plain HTTP API, adding a transaction doesn't have to go through the UI — a message to a
|
||||||
|
bot works just as well. The usual shape: a Telegram bot (or an n8n workflow triggered by Telegram)
|
||||||
|
hands the message text to an LLM, asks it to extract a `TransactionCreate` object from it, then POSTs
|
||||||
|
that straight to `/transactions`.
|
||||||
|
|
||||||
|
For example, texting the bot "Add a $12 expense for coffee to my Cash account" or "I spent 30 EUR at a
|
||||||
|
shop abroad, convert that to dollars and log it under Cash" — the LLM resolves account/category names
|
||||||
|
to IDs (via `GET /accounts` / `GET /categories`), and, since Aurum itself never converts currency (see
|
||||||
|
[Conventions](#conventions)), converts EUR → USD itself before calling the API:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl -u user:pass -X POST http://localhost:3000/api/transactions \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-d '{
|
||||||
|
"account_id": 3,
|
||||||
|
"category_id": 4,
|
||||||
|
"type": "expense",
|
||||||
|
"amount": 32.40,
|
||||||
|
"description": "Shopping",
|
||||||
|
"date": "2026-08-30"
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
|
||||||
|
In n8n this is typically three nodes: a Telegram Trigger, an LLM node (system prompt describes the
|
||||||
|
`TransactionCreate` shape plus your own account/category IDs, and is told to output JSON only), and an
|
||||||
|
HTTP Request node that POSTs that JSON to `/transactions`. No extra backend needed — the API is the only
|
||||||
|
integration point.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
For self-hosting, environment variables, and running Aurum itself, see [README.md](README.md).
|
For self-hosting, environment variables, and running Aurum itself, see [README.md](README.md).
|
||||||
|
|||||||
Reference in New Issue
Block a user