# Ejecución de servicios REST

Es posible realizar ejecuciones de servicios REST para la obtención de datos. A continuación se detallan algunos ejemplos.

#### **GET**

```xml
 <action
        type="rest-api"
        key="state.rest_api_response"
        endpoint="https://dominio"
        verb="get"
        headers="{'Accept': 'application/json', 'Authorization': 'Bearer {{state.token}}'}"
        params="{'param1_key': 'param1_value'}"
        timeout="10"
    />
```

El atributo `key` permite especificar donde se guardará la respuesta. En este caso será bajo la key `rest_api_response`. Esta key, contendrá un objeto el cual vendrá dado por:

```xml
 {
  "body": {},
  "status": ""
}
```

donde la el atributo `body` contiene el cuerpo de la respuesta y el atributo `status` contiene el status de la respuesta.

Para acceder a cierto atributo de la respuesta se puede realizar lo siguiente:

{% code overflow="wrap" %}

```xml
<action type="reply" with_text="Elegiste la cuenta {{state.rest_api_response.body.account_number}}"/>
```

{% endcode %}

#### **POST**

```xml
  <action
        type="rest-api"
        verb="post"
        headers="{'Accept': 'application/json', 'Authorization': 'Bearer {{state.token}}'}"
        body="{'phone': '{{state.phone}}'}"
        key="state.rest_api_response"
    />
```
