# Iniciar LiveChat

As integrações de Live Chat são configuradas no menu "Live Chat". Contendo integrações com a LivePerson e Zendesk.

```javascript
[
    {
        "name": "start_live_chat",
        "parameters": {
            "integration_id": "ID da integração configurada",
	    "start_message": "Mensagem para o agente"
        },
        "result_variable": "response",
    }
]
```

## LivePerson

### Atributos

* **parameters:** {}
  * **skill\_id (opcional):** ID da skill (habilidade) que deve receber o atendimento na LivePerson. Se esse atributo não for setado será usado a configuração padrão na LivePerson.
  * **agent (opcional):** ID do agente que atenderá o usuário. O valor pode ser número ou string.
  * **start\_message (opcional):** Mensagem que será enviada para o agente quando a conversa iniciar.
  * **campaign\_info&#x20;**&#x20;**(opcional):** {}
    * **campaign\_id (opcional):** ID da campanha na LivePerson. Se esse atributo não for setado será usado a configuração padrão na LivePerson.
    * **engagement\_id( opcional):** ID do engagement na LivePerson. Se esse atributo não for setado será usado a configuração padrão na LivePerson.
* **result\_variable:** variável de contexto que receberá o resultado do envio do atendimento para a LivePerson. Em caso de sucesso, essa variável conterá um JSON como o do exemplo abaixo:

  ```javascript
  {
    "status": "ok",
      "body": {
        "reqId": "2a0b043e-7d81-45d0-9907-689564fdaeb1",
        "code": "OK",
        "body": {
              "conversationId": "ebe75240-0e78-4ca5-bf5c-4818ae5d137f"
        }
      }
  }
  ```

### Exemplo

```javascript
[
    {
        "name": "start_live_chat",
        "parameters": {
            "skill_id": "1589664150",
            "campaign_info": {
                "campaign_id": "1614784350",
                "engagement_id": "1614784550"
            },
            "integration_id": 7,
	    "start_message": "Mensagem inicial para o agente"
        },
        "result_variable": "lp_widget_response"
    }
]
```

## Informações para o agente&#x20;

Insira informações adicionais para serem enviadas ao agente, para isso utilize o `extra_info :`

```
[
    {
        "name": "start_live_chat",
        "parameters": {
            "extra_info": {
                "endereco": {
                    "país": "Brasil",
                    "estado": "SP",
                    "cidade": "São Paulo",
                    "bairro": "Consolação",
                    "logradouro": "R. Sergipe",
                    "numero": "475",
                    "complemento": "5º Andar"
                }
            }
        },
        "result_variable": "response"
    }
]
```

## Atributos

* **extra\_info:** Informações adicionais que serão enviadas para o agente, `obj/array`, `string` ou `num`
* **contact\_info:** informações sobre o atendimento que serão repassadas ao agente, `obj/array` . O limite do json é de 1024 caracteres. Só será enviado para ALTU SDK, ficando de fora Liveperson e Zendesk.

Esse atributo só funcionará para Live Chat com a LivePerson e ALTU SDK, ficando de fora a Zendesk.&#x20;

Em Liveperson, o atributo **`extra_info`** terá um limite de 256 caracteres, passando disso a action enviará um valor vazio.

Para o ALTU SDK o limite é de 1024 caracteres.&#x20;

Para saber mais:

{% content-ref url="/pages/-MYKOl0JJRQYjyk4jZHY" %}
[Agent connector API](/connect/apis/agent-connector-sdk.md)
{% endcontent-ref %}

### Encerramento da chamada

Após o transbordo o bot "sai de cena" e os agentes da Liveperson assumem a conversa com o usuário. Após o encerramento dessa conversa o bot é acionado novamente. O mesmo se aplica caso aconteça algum erro ou ninguém atenda a chamada após o tempo máximo de espera.

Nessas situações o builder é acionado novamente com a variável `input` contendo as seguintes informações em cada situação:

**Agente encerrou a chamada:**

```javascript
{
    "live_chat": {
        "status": "agent_closed"
    }
}
```

**Usuário (cliente) encerrou a chamada:**

```javascript
{
    "live_chat": {
        "status": "user_closed"
    }
}
```

**Nenhum agente atendeu a chamada dentro do tempo de espera:**

```javascript
{
    "live_chat": {
        "status": "timeout"
    }
}
```

**Erro inesperado:**

```javascript
{
    "live_chat": {
        "status": "error"
    }
}
```

## Zendesk

```javascript
[
    {
        "name": "start_live_chat",
        "parameters": {
            "assignee_id":"9999999",
            "tags": [
                "<? $zendeskTag ?>",
                "canal_smkwhatsapp",
                "smkreceptivo"
            ],
            "subject": "<? $zendeskSubject ?>",
            "custom_fields": [
                {
                    "id": "360023232032",
                    "value": "<? contact.cpf ?>"
                },
                {
                    "id": "360024868372",
                    "value": "<? contact.phone ?>"
                }
            ],
            "integration_id": "1",
            "before_action_messages": [
                "Aguarde um minuto..."
            ]
        },
        "result_variable": "ticketResponse"
    }
]
```

### Atributos

* **parameters:** {}
  * **assignee\_id(opcional): I**D do agente para qual o ticket será automaticamente atribuído. Se não for setado, será enviado para uma listagem junto aos demais tickets.
  * **subject:** assunto do ticket.
  * **integration\_id:** id da integração.
  * **tags:** tags para definir/orientar o ticket.
  * **user\_fields (opcional):** campos do usuário, visíveis apenas para agentes. Clique [aqui](https://developer.zendesk.com/rest_api/docs/support/user_fields) para ver lista completa.
  * **custom\_fields (opcional):** campos customizados, visíveis apenas para agentes.
  * **brand\_id (opcional):** Id da marca
  * **requester\_id (opcional)**: o id do usuário (solicitante) cadastrado previamente na Zendesk
  * **ticket\_form\_id (opcional)**: o id do formulário de ticket associado a solicitação se o formulário estiver visível para os usuários finais
  * **group\_id (opcional)**: A id do grupo atribuído se o campo estiver visível para os usuários finais.
  * **before\_action\_messages**: mensagem que será enviada ao usuário antes da abertura do ticket.
* **result\_variable:** variável de contexto que receberá o resultado da operação. Em caso de sucesso, essa variável conterá o seguinte JSON:

  ```javascript
  {
    "response": {
      "body": "<retorno esperado>",
      "status": "ok"
    }
  }
  ```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.altu.d1.cx/build/assistentes/builder/componentes/actions/start_live_chat.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
