API: AI Brains, schițe și Playground
Un AI Brain conține modul în care AI-ul vinde pentru o creatoare: fazele de vânzare, regulile și setările. Modifici o schiță, o testezi în Playground, apoi o publici; creierul live se schimbă doar la publicare. Un brain este legat de o singură creatoare și poate fi reutilizat de conturile ei.
Endpoints #
| Method | Path | Description | Permission | Status |
|---|---|---|---|---|
| GET | /brains | Listează creiere (creator_id=) | can_engine | Planned |
| POST | /brains | Creează un brain pentru o creatoare, gol sau copiat din altul (copy_from) | can_engine | Planned |
| GET | /brains/{id} | Versiunea live a unui brain | can_engine | Planned |
| PATCH | /brains/{id} | Redenumește sau leagă de altă creatoare | can_engine | Planned |
| DELETE | /brains/{id} | Șterge un brain nefolosit de niciun cont | can_engine | Planned |
| GET | /brains/{id}/draft | Schița curentă și diferențele față de live | can_engine | Planned |
| PATCH | /brains/{id}/draft | Modifică schița (faze, reguli, setări) | can_engine | Planned |
| DELETE | /brains/{id}/draft | Aruncă schița | can_engine | Planned |
| POST | /brains/{id}/publish | Publică schița; devine live pe toate conturile legate | can_publish | Planned |
| GET | /brains/{id}/versions | Versiunile publicate, cele mai noi primele | can_engine | Planned |
| POST | /brains/{id}/versions/{version}/restore | Copiază o versiune veche în schiță | can_engine | Planned |
| POST | /playground/{brain_id}/message | Trimite un mesaj test către schiță și primește răspunsul AI-ului | can_engine | Planned |
| DELETE | /playground/{brain_id}/session | Reîncepe conversația de test | can_engine | Planned |
Obiectul brain #
{
"id": "br_lea_main",
"name": "Lea · main",
"creator_id": "cr_lea",
"version": 12,
"published_at": "2026-10-04T21:10:00Z",
"has_draft": true,
"accounts": ["acc_1001", "acc_1004"],
"phases": [
{ "key": "warm_up", "name": "Warm up", "enabled": true },
{ "key": "first_offer", "name": "First offer", "enabled": true }
]
}
| Field | Type | Description |
|---|---|---|
id | string | Începe cu br_ |
name | string | Numele în Console |
creator_id | string | Creatoarea la care este legat |
version | number | Versiunea live; crește cu unu la fiecare publicare |
published_at | string sau null | Când a fost publicată versiunea live, ISO 8601 UTC |
has_draft | boolean | true când schița diferă de versiunea live |
accounts | array de stringuri | Conturile Telegram care răspund cu acest brain |
phases | array | Faze de vânzare: key, name și dacă fiecare este enabled |
Creiere #
Listează creiere #
GET /brains · can_engine
| Parameter | Type | Required | Description |
|---|---|---|---|
creator_id | string | Nu | Doar creierele acestei creatoare |
limit, cursor | number, string | Nu | Paginare |
curl "https://api.lanachat.ai/v1/brains?creator_id=cr_lea" \
-H "Authorization: Bearer $LANACHAT_TOKEN"
{
"data": [
{ "id": "br_lea_main", "name": "Lea · main", "creator_id": "cr_lea", "version": 12, "published_at": "2026-10-04T21:10:00Z", "has_draft": true, "accounts": ["acc_1001", "acc_1004"], "phases": [ { "key": "warm_up", "name": "Warm up", "enabled": true }, { "key": "first_offer", "name": "First offer", "enabled": true } ] }
],
"next_cursor": null
}
Creează un brain #
POST /brains · can_engine
| Parameter | Type | Required | Description |
|---|---|---|---|
creator_id | string | Da | Creatoarea pentru care este |
name | string | Nu | Numele în Console |
copy_from | string | Nu | Id-ul unui brain de copiat; fără el brain-ul începe gol |
curl -X POST https://api.lanachat.ai/v1/brains \
-H "Authorization: Bearer $LANACHAT_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"creator_id": "cr_lea", "name": "Lea · TikTok test", "copy_from": "br_lea_main"}'
Răspunsul este brain-ul nou (201). Un copy_from care nu există în acest workspace răspunde cu 404.
Obține un brain #
GET /brains/{id} · can_engine
curl https://api.lanachat.ai/v1/brains/br_lea_main \
-H "Authorization: Bearer $LANACHAT_TOKEN"
Răspunsul este versiunea live, ca în obiectul brain. Schița se citește cu GET /brains/{id}/draft.
Redenumește sau leagă un brain #
PATCH /brains/{id} · can_engine
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Nu | Nume nou |
creator_id | string | Nu | Leagă-l de altă creatoare |
curl -X PATCH https://api.lanachat.ai/v1/brains/br_lea_main \
-H "Authorization: Bearer $LANACHAT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Lea · main FR"}'
Răspunsul este brain-ul actualizat.
Șterge un brain #
DELETE /brains/{id} · can_engine
curl -X DELETE https://api.lanachat.ai/v1/brains/br_lea_old \
-H "Authorization: Bearer $LANACHAT_TOKEN"
Un brain folosit încă de un cont este refuzat (409): leagă mai întâi acele conturi de alt brain.
Schițe și publicare #
Citește schița #
GET /brains/{id}/draft · can_engine
curl https://api.lanachat.ai/v1/brains/br_lea_main/draft \
-H "Authorization: Bearer $LANACHAT_TOKEN"
Răspunsul este schița curentă (faze, reguli și setări) și diferențele față de versiunea live.
Modifică schița #
PATCH /brains/{id}/draft · can_engine
| Parameter | Type | Required | Description |
|---|---|---|---|
phases | array | Nu | Faze de vânzare de modificat |
rules | array | Nu | Reguli de modificat |
settings | object | Nu | Setări de modificat, de exemplu first_offer_after_messages sau max_discount_percent |
curl -X PATCH https://api.lanachat.ai/v1/brains/br_lea_main/draft \
-H "Authorization: Bearer $LANACHAT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"settings": {"first_offer_after_messages": 6, "max_discount_percent": 20}}'
Se schimbă doar câmpurile trimise. Brain-ul live nu se modifică până nu publici.
Aruncă schița #
DELETE /brains/{id}/draft · can_engine
curl -X DELETE https://api.lanachat.ai/v1/brains/br_lea_main/draft \
-H "Authorization: Bearer $LANACHAT_TOKEN"
Schița este ștearsă; versiunea live rămâne neschimbată și has_draft devine false.
Publică schița #
POST /brains/{id}/publish · can_publish
curl -X POST https://api.lanachat.ai/v1/brains/br_lea_main/publish \
-H "Authorization: Bearer $LANACHAT_TOKEN" \
-H "Idempotency-Key: $(uuidgen)"
{ "id": "br_lea_main", "version": 13, "published_at": "2026-10-06T14:20:03Z", "has_draft": false }
Schița devine live pe toate conturile legate. Publicarea fără schiță răspunde cu 409. Profilele AI avansate au nevoie de permisiuni proprii de owner, ca în Console. Un webhook brain.published anunță serverul tău.
Versiuni #
Listează versiuni #
GET /brains/{id}/versions · can_engine
curl https://api.lanachat.ai/v1/brains/br_lea_main/versions \
-H "Authorization: Bearer $LANACHAT_TOKEN"
Răspunsul listează versiunile publicate, cele mai noi primele, paginat.
Restaurează o versiune #
POST /brains/{id}/versions/{version}/restore · can_engine
curl -X POST https://api.lanachat.ai/v1/brains/br_lea_main/versions/11/restore \
-H "Authorization: Bearer $LANACHAT_TOKEN" \
-H "Idempotency-Key: $(uuidgen)"
Versiunea veche este copiată în schiță. Nimic nu se schimbă pentru fans până publici. O versiune necunoscută răspunde cu 404.
Playground #
Playground vorbește cu schița, niciodată cu un fan. Nimic nu se trimite pe Telegram și nimic nu se vinde.
Trimite un mesaj test #
POST /playground/{brain_id}/message · can_engine
| Parameter | Type | Required | Description |
|---|---|---|---|
text | string | Da | Ce scrie fanul test |
fan | object | Nu | Fanul test: language (de exemplu en) și is_new |
curl -X POST https://api.lanachat.ai/v1/playground/br_lea_main/message \
-H "Authorization: Bearer $LANACHAT_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"text": "hey, are you real?", "fan": {"language": "en", "is_new": true}}'
{
"reply": { "text": "Haha very real, just slow at typing 🙈 where are you from?", "media": [] },
"phase": "warm_up",
"explain": "Phrase bank answer for \"Are you a bot?\", then a question to keep the fan talking."
}
replyeste ce ar trimite AI-ul: text și media.phaseeste faza de vânzare în care se află AI-ul.explainexplică simplu de ce a răspuns așa.
Fiecare apel continuă aceeași conversație de test.
Reîncepe conversația de test #
DELETE /playground/{brain_id}/session · can_engine
curl -X DELETE https://api.lanachat.ai/v1/playground/br_lea_main/session \
-H "Authorization: Bearer $LANACHAT_TOKEN"
Următorul mesaj de test începe o conversație nouă, ca un fan nou.