# Website Builder

11 rute, cu exemplu de cerere pentru fiecare.

Adresa de bază: `https://app.ilustromania.com/nucleu`

## Modulul `wtso`

### POST /v1/wtso/clona

Acces: `rol:admin`

**Clonează un site în WTSO**

Pune în coadă clonarea unui site sursă (https) într-un proiect.

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/wtso/clona \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/wtso/proiecte

Acces: `rol:admin`

**Proiectele de traducere și SEO**

Proiectele WTSO cu fazele și fazele care cer confirmare. Administratorul firmei platformei.

```bash
curl https://app.ilustromania.com/nucleu/v1/wtso/proiecte \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### POST /v1/wtso/rulare

Acces: `rol:admin`

**Pune fazele la rulat**

Pune în coadă fazele cerute ale proiectului; `deploy` și `dns-domain` cer `confirmat: true`, altfel 409.

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/wtso/rulare \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/wtso/rulare/{id}

Acces: `rol:admin`

**O rulare WTSO**

Rularea `:id` cu proiectul și jurnalul ei.

Parametri de cale:

| Nume | Tip | Descriere |
| --- | --- | --- |
| `id` | `string` | identificatorul resursei |

```bash
curl https://app.ilustromania.com/nucleu/v1/wtso/rulare/{id} \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### GET /v1/wtso/stare

Acces: `rol:admin`

**Starea unui proiect WTSO**

Proiectul `?proiect=` cu rulările lui; 404 dacă lipsește.

```bash
curl https://app.ilustromania.com/nucleu/v1/wtso/stare \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

## Modulul `publicare`

### POST /v1/publicare/oficial

Acces: `sesiune`

**Publică pe oficial**

Trece pe oficial versiunea aflată pe probă; 409 când proba e goală sau publicarea nu e activată.

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/publicare/oficial \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### POST /v1/publicare/oficial/revino

Acces: `sesiune`

**Revino la versiunea anterioară**

Pune înapoi pe oficial versiunea anterioară; 409 `fara_versiune_anterioara`.

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/publicare/oficial/revino \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### POST /v1/publicare/proba

Acces: `sesiune`

**Pune o versiune pe probă**

Pune pe probă o versiune deja urcată; 409 `versiune_necunoscuta`.

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/publicare/proba \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/publicare/staging

Acces: `sesiune`

**Comutatorul Staging**

Starea comutatorului Staging citită din `staging.json`.

```bash
curl https://app.ilustromania.com/nucleu/v1/publicare/staging \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```

### POST /v1/publicare/staging

Acces: `sesiune`

**Schimbă comutatorul Staging**

Scrie și jurnalizează starea comutatorului; scripturile de urcare o citesc. Doar administratorul publicării.

```bash
curl -X POST https://app.ilustromania.com/nucleu/v1/publicare/staging \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE" \
  -H "Content-Type: application/json" \
  -d '{ … }'
```

### GET /v1/publicare/stare

Acces: `sesiune`

**Starea publicării**

Versiunile urcate pe probă și pe oficial, cu starea fiecăreia. Doar administratorul publicării.

```bash
curl https://app.ilustromania.com/nucleu/v1/publicare/stare \
  -H "Cookie: __Host-sesiune=$JETON_SESIUNE"
```
