> For the complete documentation index, see [llms.txt](https://olab4.gitbook.io/help/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://olab4.gitbook.io/help/olab4-help-es/advanced-topics/script-objects.md).

# Objetos de script

{% hint style="warning" %}
Toda esta sección necesita hacerse
{% endhint %}

En lugar de recrear las Reglas y el analizador que teníamos en OLab3, hemos decidido crear una API que se pueda acceder vía Javascript. Esto abre todo un abanico de posibilidades. También significa que los autores ya no están limitados por el motor de análisis simplista y pueden aprovechar más lo que ofrece Javascript.&#x20;

Los scripts pueden ser independientes pero tienen mucha más utilidad cuando pueden conectarse con otros objetos dentro del núcleo de OLab4, a través de la API REST. &#x20;

### API de Scripts

{% hint style="warning" %}
Enumere aquí los objetos que se pueden manipular
{% endhint %}

## Obtener Pasteles

<mark style="color:azul;">`GET`</mark> `https://api.cakes.com/v1/cakes/:id`

Este endpoint te permite obtener pasteles gratis.

#### Parámetros de Ruta

| Nombre | Tipo   | Descripción                                   |
| ------ | ------ | --------------------------------------------- |
| id     | cadena | ID del pastel a obtener, gratis por supuesto. |

#### Parámetros de Consulta

| Nombre      | Tipo     | Descripción                                                                              |
| ----------- | -------- | ---------------------------------------------------------------------------------------- |
| receta      | cadena   | La API hará lo posible por encontrar un pastel que coincida con la receta proporcionada. |
| sin\_gluten | booleano | Indica si el pastel debe ser sin gluten o no.                                            |

#### Encabezados

| Nombre        | Tipo   | Descripción                                                                    |
| ------------- | ------ | ------------------------------------------------------------------------------ |
| Autenticación | cadena | Token de autenticación para rastrear quién está vaciando nuestras existencias. |

{% tabs %}
{% tab title="200 Pastel recuperado con éxito." %}

```javascript
{
    "name": "Nombre del pastel",
    "recipe": "Nombre de la receta del pastel",
    "cake": "Pastel binario"
}
```

{% endtab %}

{% tab title="404 No se pudo encontrar un pastel que coincida con esta consulta." %}

```javascript
{
    "message": "No hay un pastel así."
}
```

{% endtab %}
{% endtabs %}

### Ejemplos de Scripts

{% hint style="warning" %}
inserte algunos ejemplos, bien comentados, mostrando cómo&#x20;
{% endhint %}

### Scripts como Objetos con Alcance

Como se señaló en la sección sobre Objetos, los Scripts también pueden ser Objetos con Alcance. Pueden tener los mismos niveles de alcance, p. ej. global, servidor, mapa y a nivel de nodo. Ver [#scopeforobjects](https://olab4.gitbook.io/help/basic-topics/objects#scope_for_objects) para más detalles sobre esto.&#x20;
