LanaChat

API: скрипти, кроки та папки

Читання 5 хвОновлено Markdown

Скрипт, це фіксована послідовність кроків для однієї авторки: кожен крок, це текст, необов’язкові медіа з Vault, ціна в Stars і пауза перед наступним кроком. Скрипти зберігаються в папках. Один скрипт на авторку може бути позначений як перший: він запускається у нових розмовах.

Ендпоінти #

MethodPathDescriptionPermissionStatus
GET/scriptsСписок скриптів (creator_id= обов’язковий, folder_id=, active=true)can_setupPlanned
POST/scriptsСтворити скрипт з крокамиcan_setupPlanned
GET/scripts/{id}Один скрипт та його крокиcan_setupPlanned
PUT/scripts/{id}Замінити скрипт (назва, кроки, папка, акаунти)can_setupPlanned
PATCH/scripts/{id}Увімкнути/вимкнути, позначити першим, перемістити в папкуcan_setupPlanned
POST/scripts/{id}/duplicateКопіювати скрипт (копія ніколи не перша)can_setupPlanned
DELETE/scripts/{id}Видалити скриптcan_setupPlanned
GET/scripts/foldersПапки авторки (creator_id=)can_setupPlanned
POST/scripts/foldersСтворити папкуcan_setupPlanned
PATCH/scripts/folders/{id}Перейменувати папкуcan_setupPlanned
DELETE/scripts/folders/{id}Видалити папку; скрипти переміщуються в "No folder"can_setupPlanned
POST/conversations/{id}/scriptЗапустити скрипт у розмові (див. Conversations)can_chatPlanned

Об’єкт скрипта #

{
  "id": "scr_204",
  "creator_id": "cr_lea",
  "name": "Welcome message",
  "goal": "First sale within the first day",
  "folder_id": "fld_12",
  "active": true,
  "first": true,
  "account_ids": null,
  "steps": [
    { "id": "st_1", "name": "Hello", "text": "Hey you 😊 glad you found me here", "media": [], "wait_minutes": 0, "pricing": { "mode": "free" } },
    { "id": "st_2", "name": "First set", "text": "Made this one this morning…", "media": ["med_5521", "med_5522"], "wait_minutes": 20, "pricing": { "mode": "paid", "stars": 250, "discount_stars": 200 } }
  ],
  "created_at": "2026-09-30T10:00:00Z",
  "updated_at": "2026-10-05T16:22:00Z"
}
ПолеТипОпис
idstringПочинається з scr_
creator_idstringАвторка, чиї фанати отримують скрипт
namestringНазва в Console
goalstring або nullДля чого цей скрипт, вашими словами
folder_idstring або nullПапка; null означає "No folder"
activebooleanfalse, скрипт ніколи не запускається
firstbooleantrue, запускається у нових розмовах
account_idsarray або nullnull, усі Telegram акаунти авторки; масив, лише ці (мінімум один)
stepsarrayКроки у порядку (див. нижче)
created_at, updated_atstringISO 8601, UTC

Кожен крок має:

ПолеТипОпис
idstringПочинається з st_
namestringНазва в редакторі
textstringПовідомлення, яке отримує фан
mediaмасив рядківID медіа з Vault авторки
wait_minutesnumberПауза перед відправкою цього кроку
pricing.modestringfree, vault (кожне медіа за ціною з Vault) або paid (одна ціна за весь крок)
pricing.starsnumberЦіна в Stars, коли mode, paid
pricing.discount_starsnumberОпціональна знижена ціна в Stars

Встановлення first: true для скрипта знімає цей статус з інших скриптів авторки.

Скрипти #

Список скриптів #

GET /scripts · can_setup

ПараметрТипОбов’язковийОпис
creator_idstringТакАвторка
folder_idstringНіЛише скрипти цієї папки
activebooleanНіtrue, лише активні скрипти
limit, cursornumber, stringНіПагінація
curl "https://api.lanachat.ai/v1/scripts?creator_id=cr_lea&active=true" \
  -H "Authorization: Bearer $LANACHAT_TOKEN"

Відповідь, сторінка об’єктів скриптів у data з next_cursor. Без creator_id API повертає 400.

Створити скрипт #

POST /scripts · can_setup

ПараметрТипОбов’язковийОпис
creator_idstringТакАвторка
namestringТакНазва
stepsarrayТакКроки, як у об’єкті вище (без id)
goalstringНіДля чого
folder_idstringНіПапка тієї ж авторки
account_idsмасив рядківНіЛише ці акаунти; пропустіть для всіх
curl -X POST https://api.lanachat.ai/v1/scripts \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"creator_id": "cr_lea", "name": "Win back", "steps": [{"name": "Miss you", "text": "Hey stranger, where did you go?", "wait_minutes": 0, "pricing": {"mode": "free"}}]}'
{
  "id": "scr_231",
  "creator_id": "cr_lea",
  "name": "Win back",
  "goal": null,
  "folder_id": null,
  "active": true,
  "first": false,
  "account_ids": null,
  "steps": [ { "id": "st_1", "name": "Miss you", "text": "Hey stranger, where did you go?", "media": [], "wait_minutes": 0, "pricing": { "mode": "free" } } ],
  "created_at": "2026-10-06T14:30:00Z",
  "updated_at": "2026-10-06T14:30:00Z"
}

Відповідь, новий скрипт (201), активний, не перший, без папки. ID медіа з Vault іншої авторки відхиляється (400).

Отримати скрипт #

GET /scripts/{id} · can_setup

curl https://api.lanachat.ai/v1/scripts/scr_204 \
  -H "Authorization: Bearer $LANACHAT_TOKEN"

Відповідь, об’єкт скрипта з усіма кроками.

Замінити скрипт #

PUT /scripts/{id} · can_setup

Надішліть увесь скрипт: name, steps, folder_id та account_ids, як у Створенні скрипта. Кроки, які пропущені, видаляються.

curl -X PUT https://api.lanachat.ai/v1/scripts/scr_231 \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "Win back", "folder_id": "fld_12", "account_ids": null, "steps": [{"name": "Miss you", "text": "Hey stranger, where did you go?", "wait_minutes": 0, "pricing": {"mode": "free"}}, {"name": "Gift", "text": "Kept this one for you", "media": ["med_5522"], "wait_minutes": 30, "pricing": {"mode": "paid", "stars": 200}}]}'

Відповідь, оновлений скрипт. Порожній масив account_ids повертає 400: використовуйте null для всіх акаунтів.

Увімкнути, позначити першим, перемістити #

PATCH /scripts/{id} · can_setup

ПараметрТипОбов’язковийОпис
activebooleanНіУвімкнути або вимкнути
firstbooleanНіtrue робить скрипт першим у нових розмовах
folder_idstring або nullНіПеремістити; null, "No folder"
curl -X PATCH https://api.lanachat.ai/v1/scripts/scr_231 \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"first": true}'

Відповідь, оновлений скрипт. Попередній перший скрипт авторки втрачає first.

Дублювати скрипт #

POST /scripts/{id}/duplicate · can_setup

curl -X POST https://api.lanachat.ai/v1/scripts/scr_204/duplicate \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)"

Відповідь, копія (201). Копія ніколи не перша.

Видалити скрипт #

DELETE /scripts/{id} · can_setup

curl -X DELETE https://api.lanachat.ai/v1/scripts/scr_231 \
  -H "Authorization: Bearer $LANACHAT_TOKEN"

Папки #

Список папок #

GET /scripts/folders · can_setup

ПараметрТипОбов’язковийОпис
creator_idstringТакАвторка
curl "https://api.lanachat.ai/v1/scripts/folders?creator_id=cr_lea" \
  -H "Authorization: Bearer $LANACHAT_TOKEN"

Створити папку #

POST /scripts/folders · can_setup

ПараметрТипОбов’язковийОпис
creator_idstringТакАвторка
namestringТакНазва папки
curl -X POST https://api.lanachat.ai/v1/scripts/folders \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"creator_id": "cr_lea", "name": "Win back"}'

Перейменувати папку #

PATCH /scripts/folders/{id} · can_setup

curl -X PATCH https://api.lanachat.ai/v1/scripts/folders/fld_12 \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "Welcome"}'

Видалити папку #

DELETE /scripts/folders/{id} · can_setup

curl -X DELETE https://api.lanachat.ai/v1/scripts/folders/fld_12 \
  -H "Authorization: Bearer $LANACHAT_TOKEN"

Її скрипти зберігаються і переміщуються в "No folder".

Запустити скрипт у розмові #

POST /conversations/{id}/script · can_chat

Запускає скрипт у розмові з одним фаном: state стає script до завершення. Тіло, приклад і правила, у Conversations.

Останні новини про Lana в Telegram

Нові релізи та запрошення в бету, першими в каналі.