LanaChat

API: AI Brains, schițe și Playground

6 min de cititActualizat Markdown

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 #

MethodPathDescriptionPermissionStatus
GET/brainsListează creiere (creator_id=)can_enginePlanned
POST/brainsCreează un brain pentru o creatoare, gol sau copiat din altul (copy_from)can_enginePlanned
GET/brains/{id}Versiunea live a unui braincan_enginePlanned
PATCH/brains/{id}Redenumește sau leagă de altă creatoarecan_enginePlanned
DELETE/brains/{id}Șterge un brain nefolosit de niciun contcan_enginePlanned
GET/brains/{id}/draftSchița curentă și diferențele față de livecan_enginePlanned
PATCH/brains/{id}/draftModifică schița (faze, reguli, setări)can_enginePlanned
DELETE/brains/{id}/draftAruncă schițacan_enginePlanned
POST/brains/{id}/publishPublică schița; devine live pe toate conturile legatecan_publishPlanned
GET/brains/{id}/versionsVersiunile publicate, cele mai noi primelecan_enginePlanned
POST/brains/{id}/versions/{version}/restoreCopiază o versiune veche în schițăcan_enginePlanned
POST/playground/{brain_id}/messageTrimite un mesaj test către schiță și primește răspunsul AI-uluican_enginePlanned
DELETE/playground/{brain_id}/sessionReîncepe conversația de testcan_enginePlanned

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 }
  ]
}
FieldTypeDescription
idstringÎncepe cu br_
namestringNumele în Console
creator_idstringCreatoarea la care este legat
versionnumberVersiunea live; crește cu unu la fiecare publicare
published_atstring sau nullCând a fost publicată versiunea live, ISO 8601 UTC
has_draftbooleantrue când schița diferă de versiunea live
accountsarray de stringuriConturile Telegram care răspund cu acest brain
phasesarrayFaze de vânzare: key, name și dacă fiecare este enabled

Creiere #

Listează creiere #

GET /brains · can_engine

ParameterTypeRequiredDescription
creator_idstringNuDoar creierele acestei creatoare
limit, cursornumber, stringNuPaginare
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

ParameterTypeRequiredDescription
creator_idstringDaCreatoarea pentru care este
namestringNuNumele în Console
copy_fromstringNuId-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

ParameterTypeRequiredDescription
namestringNuNume nou
creator_idstringNuLeagă-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

ParameterTypeRequiredDescription
phasesarrayNuFaze de vânzare de modificat
rulesarrayNuReguli de modificat
settingsobjectNuSetă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

ParameterTypeRequiredDescription
textstringDaCe scrie fanul test
fanobjectNuFanul 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."
}
  • reply este ce ar trimite AI-ul: text și media.
  • phase este faza de vânzare în care se află AI-ul.
  • explain explică 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.

Ultimele noutăți despre Lana pe Telegram

Noutăți și invitații în beta, mai întâi pe canal.