# Transferência entre assistentes

Transfere o usuários do assistente atual para outro assistente configurado no ALTU.

## Estrutura

```
[
    {
        "name": "assistant_transfer",
        "parameters": {
            "assistant_id": 16,
            "auto_start": true|false
        },
        "result_variable": "transfer_response"
    }
]
```

## Atributos

* **name:** assistant\_transfer
* **parameters:**
  * **assistant\_id:** ID do assistente que receberá o atendimento transferido
  * **auto\_start:** Parâmetro opcional que define se o assistente de destino responderá imediatamente após a transferência (**true**) ou aguardará um novo input do usuário transferido (**false**). Por padrão, será **true**.
* **result\_variable:** variável de contexto que receberá o resultado da validação. Em caso de erro, essa variável conterá o seguinte JSON:

  ```javascript
  "transfer_response": {
          "status": "assistant_not_found"
      }
  ```

{% hint style="info" %}
Em caso de sucesso, **não haverá** result\_variable no contexto.
{% endhint %}

## Enviando informações no contexto

Quando executada uma transferência entre assistentes, é possível enviar informações da conversa de um assistente para o outro. Para isso, é necessário declarar o objeto **global** no contexto.

### Exemplo de variável global

```
{
    "context": {
        "global": {
            "produto": "serguro_residencial",
            "aploice": "APOL-0023-22",
            "fluxos_percorridos":["faq","2via_fatura"]
        }
    }
}
```

Após a transferência ser executada, todo o conteúdo da variável **global** será mantido e o **restante do contexto que não estiver dentro dela será descartado**.

### Exemplo de context **global**

![](https://776911411-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MBjaNm5lB1Yqgih1JCA%2Fuploads%2FJqCKVOfFhGdF1kDd7hnU%2F%E2%80%9Ctransfere%CC%82ncia%20entre%20assistentes%E2%80%9D%2C%20context%20global%E2%80%9D.gif?alt=media\&token=c65b9cb1-37cb-4dac-87e6-3c84df5e54c9)
