# API: scripturi, pași și foldere

_API · 5 min de citit · Actualizat 2026-10-22 · https://lanachat.ai/guides/ro/api-scripts/_

Un **script** este o secvență fixă de pași pentru o creatoare: fiecare pas este un text, media opțională din Vault, un preț în Stars și o așteptare înainte de următorul. Scripturile stau în foldere. Un singur script per creatoare poate fi marcat **first**: acesta rulează la conversațiile noi.

## Endpoints

| Method | Path | Description | Permission | Status |
|---|---|---|---|---|
| GET | `/scripts` | Listează scripturile (`creator_id=` obligatoriu, `folder_id=`, `active=true`) | `can_setup` | Planned |
| POST | `/scripts` | Creează un script cu pașii săi | `can_setup` | Planned |
| GET | `/scripts/{id}` | Un script și pașii săi | `can_setup` | Planned |
| PUT | `/scripts/{id}` | Înlocuiește un script (nume, pași, folder, conturi) | `can_setup` | Planned |
| PATCH | `/scripts/{id}` | Activează/dezactivează, marchează first, mută într-un folder | `can_setup` | Planned |
| POST | `/scripts/{id}/duplicate` | Copiază un script (copie niciodată first) | `can_setup` | Planned |
| DELETE | `/scripts/{id}` | Șterge un script | `can_setup` | Planned |
| GET | `/scripts/folders` | Folderele unei creatoare (`creator_id=`) | `can_setup` | Planned |
| POST | `/scripts/folders` | Creează un folder | `can_setup` | Planned |
| PATCH | `/scripts/folders/{id}` | Redenumește un folder | `can_setup` | Planned |
| DELETE | `/scripts/folders/{id}` | Șterge un folder; scripturile lui se mută în "No folder" | `can_setup` | Planned |
| POST | `/conversations/{id}/script` | Rulează un script pe o conversație (vezi [Conversations](https://lanachat.ai/guides/ro/api-conversations/)) | `can_chat` | Planned |

## Obiectul script

```json
{
  "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"
}
```

| Field | Type | Description |
|---|---|---|
| `id` | string | Începe cu `scr_` |
| `creator_id` | string | Creatoarea căreia îi sunt adresate fanilor |
| `name` | string | Numele în Console |
| `goal` | string sau null | Scopul scriptului, în cuvintele tale |
| `folder_id` | string sau null | Folderul său; `null` înseamnă "No folder" |
| `active` | boolean | `false` înseamnă că nu rulează niciodată |
| `first` | boolean | `true` înseamnă că rulează la conversațiile noi |
| `account_ids` | array sau null | `null` înseamnă toate conturile Telegram ale creatoarei; un array înseamnă doar acelea (cel puțin unul) |
| `steps` | array | Pașii, în ordine (vezi mai jos) |
| `created_at`, `updated_at` | string | ISO 8601, UTC |

Fiecare pas are:

| Field | Type | Description |
|---|---|---|
| `id` | string | Începe cu `st_` |
| `name` | string | Numele în editor |
| `text` | string | Mesajul primit de fan |
| `media` | array de stringuri | Id-uri media din [Vault](https://lanachat.ai/guides/ro/api-vault/) al creatoarei |
| `wait_minutes` | number | Așteptarea înainte de trimiterea pasului |
| `pricing.mode` | string | `free`, `vault` (fiecare media la prețul din Vault) sau `paid` (un preț pentru tot pasul) |
| `pricing.stars` | number | Prețul în Stars, când `mode` este `paid` |
| `pricing.discount_stars` | number | Preț opțional mai mic în Stars |

Setarea `first: true` pe un script îl scoate din celelalte scripturi ale creatoarei.

## Scripturi

### Listează scripturi

`GET /scripts` · `can_setup`

| Parameter | Type | Required | Description |
|---|---|---|---|
| `creator_id` | string | Da | Creatoarea |
| `folder_id` | string | Nu | Doar scripturile din acest folder |
| `active` | boolean | Nu | `true` listează doar scripturile active |
| `limit`, `cursor` | number, string | Nu | [Paginare](https://lanachat.ai/guides/ro/api-overview/) |

```bash
curl "https://api.lanachat.ai/v1/scripts?creator_id=cr_lea&active=true" \
  -H "Authorization: Bearer $LANACHAT_TOKEN"
```

Răspunsul este o pagină de obiecte script în `data`, cu `next_cursor`. Fără `creator_id` API răspunde cu `400`.

### Creează un script

`POST /scripts` · `can_setup`

| Parameter | Type | Required | Description |
|---|---|---|---|
| `creator_id` | string | Da | Creatoarea |
| `name` | string | Da | Numele său |
| `steps` | array | Da | Pașii, ca în obiectul de mai sus (fără `id`) |
| `goal` | string | Nu | Scopul |
| `folder_id` | string | Nu | Un folder al aceleiași creatoare |
| `account_ids` | array de stringuri | Nu | Doar aceste conturi; omite pentru toate |

```bash
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"}}]}'
```

```json
{
  "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"
}
```

Răspunsul este scriptul nou (`201`), activ, nu first, fără folder. Un id media din Vault-ul altei creatoare este refuzat (`400`).

### Obține un script

`GET /scripts/{id}` · `can_setup`

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

Răspunsul este obiectul script cu toți pașii săi.

### Înlocuiește un script

`PUT /scripts/{id}` · `can_setup`

Trimite întregul script: `name`, `steps`, `folder_id` și `account_ids`, ca la Creează un script. Pașii omişi sunt șterși.

```bash
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}}]}'
```

Răspunsul este scriptul actualizat. Un array gol pentru `account_ids` răspunde cu `400`: folosește `null` pentru toate conturile.

### Activează, marchează first, mută

`PATCH /scripts/{id}` · `can_setup`

| Parameter | Type | Required | Description |
|---|---|---|---|
| `active` | boolean | Nu | Activează sau dezactivează |
| `first` | boolean | Nu | `true` îl face scriptul pentru conversațiile noi |
| `folder_id` | string sau null | Nu | Mută-l; `null` înseamnă "No folder" |

```bash
curl -X PATCH https://api.lanachat.ai/v1/scripts/scr_231 \
  -H "Authorization: Bearer $LANACHAT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"first": true}'
```

Răspunsul este scriptul actualizat. Scriptul anterior marcat first al creatoarei pierde `first`.

### Duplică un script

`POST /scripts/{id}/duplicate` · `can_setup`

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

Răspunsul este copia (`201`). Copia nu este niciodată first.

### Șterge un script

`DELETE /scripts/{id}` · `can_setup`

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

## Foldere

### Listează foldere

`GET /scripts/folders` · `can_setup`

| Parameter | Type | Required | Description |
|---|---|---|---|
| `creator_id` | string | Da | Creatoarea |

```bash
curl "https://api.lanachat.ai/v1/scripts/folders?creator_id=cr_lea" \
  -H "Authorization: Bearer $LANACHAT_TOKEN"
```

### Creează un folder

`POST /scripts/folders` · `can_setup`

| Parameter | Type | Required | Description |
|---|---|---|---|
| `creator_id` | string | Da | Creatoarea |
| `name` | string | Da | Numele folderului |

```bash
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"}'
```

### Redenumește un folder

`PATCH /scripts/folders/{id}` · `can_setup`

```bash
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"}'
```

### Șterge un folder

`DELETE /scripts/folders/{id}` · `can_setup`

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

Scripturile lui sunt păstrate și mutate în "No folder".

## Rulează un script pe o conversație

`POST /conversations/{id}/script` · `can_chat`

Pornește un script pe conversația unui fan: `state` devine `script` până se termină. Corpul, exemplul și regulile sunt în [Conversations](https://lanachat.ai/guides/ro/api-conversations/).

## Articole conexe

- [API LanaChat: început rapid, autentificare și erori](https://lanachat.ai/guides/ro/api-overview/)
- [Scripturi: scrie, organizează și folosește-le](https://lanachat.ai/guides/ro/scripts/)
- [Scripturi vs. AI: când botul urmează un script](https://lanachat.ai/guides/ro/scripts-vs-ai/)
