> For the complete documentation index, see [llms.txt](https://docs.sprinthub.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sprinthub.com/topicos/integracoes/click-to-call.md).

# Click To Call

O **Click To Call** é uma integração do SprintHub que permite iniciar ligações através de uma **provedora VoIP externa** com um único clique — direto do número de telefone que aparece em qualquer tela do sistema (contatos, atendimentos, oportunidades, etc.).

Diferente do VoIP nativo, o Click To Call não faz a ligação dentro do SprintHub: ele **aciona um endereço (URL) da sua provedora**, entregando o número de destino e os demais dados que ela exige. É a provedora que efetua a chamada. Assim, você conecta o SprintHub a praticamente qualquer sistema de telefonia que ofereça uma API de disparo por clique.

Este manual mostra, passo a passo, como habilitar, configurar e utilizar o Click To Call.

{% embed url="<https://youtu.be/zCvngJJhG2o?si=HtGfsMSAqcan_xDh>" %}

***

### Sumário

1. [O que é o Click To Call](#id-1.-o-que-e-o-click-to-call)
2. [Pré-requisitos](#id-2.-pre-requisitos)
3. [Acessando a integração](#id-3.-acessando-a-integracao)
4. [Tela de listagem](#id-4.-tela-de-listagem)
5. [Criando um novo click](#id-5.-criando-um-novo-click)
   * 5.1 [Dados básicos](#id-5.1-dados-basicos-nome-e-endereco)
   * 5.2 [Número de telefone](#id-5.2-numero-de-telefone-categoria-e-campo)
   * 5.3 [Parâmetros (Params)](#id-5.3-parametros-params)
6. [Configurações avançadas](#id-6.-configuracoes-avancadas)
   * 6.1 [Método](#id-6.1-metodo)
   * 6.2 [Cabeçalhos (Headers)](#id-6.2-cabecalhos-headers)
   * 6.3 [Corpo da requisição (Body)](#id-6.3-corpo-da-requisicao-body)
   * 6.4 [Pré-visualização da requisição](#id-6.4-pre-visualizacao-da-requisicao)
7. [Permissões de acesso](#id-7.-permissoes-de-acesso)
8. [Fazendo uma ligação](#id-8.-fazendo-uma-ligacao)
9. [Boas práticas](#id-9.-boas-praticas)

***

### 1. O que é o Click To Call

O Click To Call é uma ponte entre o SprintHub e a sua provedora de telefonia. Você cadastra **como** a provedora deve ser chamada (endereço, método, parâmetros e autenticação) e o SprintHub passa a exibir, em todos os menus de telefone, uma opção que dispara essa chamada usando o número que está na tela.

Cada configuração cadastrada é chamada de **click**. Você pode ter vários clicks ao mesmo tempo — por exemplo, um por provedora ou um por finalidade — e controlar quem enxerga cada um deles.

O fluxo completo é:

1. Escolher uma provedora VoIP que ofereça acionamento de ligações no modo Click To Call.
2. Cadastrar um click com os parâmetros que a provedora exige.
3. (Opcional) Restringir o click a usuários ou departamentos específicos.
4. Clicar em qualquer número de telefone no sistema e escolher o click para ligar.

***

### 2. Pré-requisitos

Antes de configurar, tenha em mãos:

* Uma **provedora VoIP** contratada que suporte disparo de ligações via Click To Call (uma API/URL que inicia a chamada).
* A **documentação de integração da provedora**, contendo:
  * o **endereço (URL)** que inicia a ligação;
  * o **método HTTP** aceito (GET ou POST);
  * **onde o número de destino deve ser informado** (na rota, em um parâmetro, em um cabeçalho ou no corpo);
  * eventuais **parâmetros fixos** (ex.: identificador de conta, ramal de origem);
  * as **credenciais de autenticação** (ex.: token), caso exigidas.

> **Dica:** todos esses dados vêm da sua provedora. Se algum campo do formulário não estiver claro, consulte a documentação dela — o SprintHub apenas reproduz a chamada exatamente como a provedora espera receber.

***

### 3. Acessando a integração

Abra **Configurações do Sistema → Integrações** e localize o card **Click To Call**. Clique em **Configurações** para abrir a tela de gerenciamento.

<figure><img src="https://3534414179-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9FzUKkagBNy5uQ7AtGNa%2Fuploads%2FPBgBTNjKyPgW9dBsg4l4%2Fimage.png?alt=media&amp;token=ef04a6a3-ece3-4d1d-bf96-f8d64ef6b4ea" alt=""><figcaption></figcaption></figure>

> O card traz a descrição *"Com a integração com o Click To Call, você poderá realizar ligações externamente através de um click."*

***

### 4. Tela de listagem

Ao abrir as configurações você chega à listagem de clicks. É aqui que ficam todas as configurações já cadastradas.

<figure><img src="https://3534414179-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9FzUKkagBNy5uQ7AtGNa%2Fuploads%2FK6ZBPL7fNprpJj3VszTp%2Fimage.png?alt=media&amp;token=36c14da0-85e9-4d97-a44e-8adeaf1ca493" alt=""><figcaption></figcaption></figure>

Nesta tela você encontra:

| Elemento             | Função                                                |
| -------------------- | ----------------------------------------------------- |
| **Novo click**       | Abre o formulário para criar uma nova configuração.   |
| **Pesquisar por...** | Busca um click pelo nome.                             |
| **Atualizar**        | Recarrega a lista com as configurações mais recentes. |

A tabela exibe as colunas:

| Coluna                    | Descrição                                                            |
| ------------------------- | -------------------------------------------------------------------- |
| **Nome**                  | Identificação do click (é o texto que aparecerá no menu de ligação). |
| **Endereço**              | URL da provedora que será acionada.                                  |
| **Método**                | Método HTTP usado na chamada (GET ou POST).                          |
| **Categoria de telefone** | Onde o número de destino é inserido na requisição.                   |
| **Campo de telefone**     | Nome do campo/chave que carrega o número de destino.                 |
| **Ações**                 | Editar (✏️) e, para administradores, excluir (🗑️) o click.          |

> Enquanto nenhum click for criado, a tabela exibe *"Nenhum item encontrado"*.

***

### 5. Criando um novo click

Clique em **Novo click** para abrir o formulário. Preencha os campos com os dados fornecidos pela sua provedora.

<figure><img src="https://3534414179-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9FzUKkagBNy5uQ7AtGNa%2Fuploads%2FNBBS7T6UK6OC3eKX6htj%2Fimage.png?alt=media&amp;token=18f06746-114a-40d3-b018-704e4eb35218" alt=""><figcaption></figcaption></figure>

#### 5.1 Dados básicos (Nome e Endereço)

| Campo        | Obrigatório | Descrição                                                                                                                                                            |
| ------------ | :---------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Nome**     |     Sim     | Identificação do click. É o texto que aparecerá no menu de ligação de cada número (ex.: `Ligar Provedora ABC`). Use um nome que os operadores reconheçam facilmente. |
| **Endereço** |     Sim     | URL base da provedora que inicia a ligação (ex.: `https://provedorabc.com/call_click`).                                                                              |

#### 5.2 Número de telefone (Categoria e Campo)

Esta seção define **onde** o número discado será inserido na requisição enviada à provedora.

| Campo         | Descrição                                                                                                              |
| ------------- | ---------------------------------------------------------------------------------------------------------------------- |
| **Categoria** | Local onde o número de destino será colocado na requisição. Veja as opções abaixo.                                     |
| **Campo**     | Nome da chave que transportará o número (ex.: `phone`, `toNumber`). Aparece para todas as categorias, **exceto Rota**. |

Opções de **Categoria**:

| Categoria               | O número de destino é enviado...                                                                                    |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------- |
| **Rota**                | Anexado ao final do endereço (não usa o campo *Campo*). Ex.: `https://provedorabc.com/call_click/<NÚMERO_DESTINO>`. |
| **Parâmetros**          | Como um parâmetro na URL (query string), com o nome definido em *Campo*. Ex.: `...?phone=<NÚMERO_DESTINO>`.         |
| **Cabeçalhos**          | Em um cabeçalho HTTP nomeado conforme *Campo*.                                                                      |
| **Corpo da requisição** | Dentro do corpo (body) da requisição, na chave definida em *Campo*. **Disponível somente com o método POST.**       |

> `<NÚMERO_DESTINO>` é um marcador que representa o número que estiver na tela no momento do clique. Você não digita esse valor — o SprintHub o substitui automaticamente pelo telefone real ao acionar a ligação.

> **Importante:** a inserção automática do número na chamada ocorre nas categorias **Rota** e **Parâmetros** (é o que a pré-visualização exibe com `<NÚMERO_DESTINO>`). Ao usar **Cabeçalhos** ou **Corpo da requisição**, os valores são enviados conforme cadastrados — confirme com a sua provedora a melhor forma de transmitir o número de destino.

#### 5.3 Parâmetros (Params)

Além do número de destino, muitas provedoras exigem **parâmetros fixos** — dados que acompanham toda ligação, como o identificador da conta, do usuário ou do contato.

Cada parâmetro é um par **Chave** / **Valor**:

| Campo     | Descrição                                                                 |
| --------- | ------------------------------------------------------------------------- |
| **Chave** | Nome do parâmetro esperado pela provedora (ex.: `user_id`, `contact_id`). |
| **Valor** | Conteúdo enviado nesse parâmetro (ex.: `123`, `456`, `Fulano`).           |

Use **Novo parâmetro** para adicionar quantas linhas forem necessárias e o botão de lixeira (🗑️) para remover uma linha (é solicitada uma confirmação).

> **Exemplo:** com `user_id = 123`, `contact_id = 456` e `contact_name = Fulano`, cada ligação levará esses três dados fixos à provedora, além do número de destino.

***

### 6. Configurações avançadas

Clique em **Configurações avançadas** para expandir esta seção. Aqui você define o método HTTP e a autenticação da chamada.

<figure><img src="https://3534414179-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9FzUKkagBNy5uQ7AtGNa%2Fuploads%2F2FECm8WmCYkXKGwHEFZJ%2Fimage.png?alt=media&amp;token=f1519df0-d966-4b9a-87f3-c9e2c76184e3" alt=""><figcaption></figcaption></figure>

#### 6.1 Método

Define como a requisição será enviada à provedora:

| Método   | Comportamento                                                                                                                                                                                                                                                                    |
| -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **GET**  | O SprintHub abre o endereço da provedora (com o número e os parâmetros na URL). Indicado para provedoras em que acessar uma URL já dispara a ligação. Quando há cabeçalhos configurados, a requisição também é enviada em segundo plano para que a autenticação seja respeitada. |
| **POST** | O SprintHub envia uma requisição HTTP em segundo plano, com os parâmetros, os cabeçalhos e o corpo configurados. Habilita a categoria **Corpo da requisição**.                                                                                                                   |

> Ao trocar de **POST** para **GET**, o corpo da requisição é limpo automaticamente, pois requisições GET não possuem corpo.

#### 6.2 Cabeçalhos (Headers)

Cabeçalhos são usados principalmente para **autenticação** (por exemplo, um cabeçalho `token` ou `Authorization`). Clique em **Adicionar** para incluir um cabeçalho. Cada linha possui:

| Campo     | Descrição                                                                                                               |
| --------- | ----------------------------------------------------------------------------------------------------------------------- |
| **Chave** | Nome do cabeçalho (ex.: `token`).                                                                                       |
| **Tipo**  | Tipo do valor: **Texto**, **Número** ou **Sim/Não**.                                                                    |
| **Valor** | Conteúdo do cabeçalho. O campo se adapta ao tipo escolhido (texto livre, número ou um botão liga/desliga para Sim/Não). |

#### 6.3 Corpo da requisição (Body)

Disponível apenas quando o **Método** é **POST**. Funciona igual aos cabeçalhos — pares de **Chave**, **Tipo** (Texto / Número / Sim/Não) e **Valor** — mas os dados são enviados no corpo da requisição. Use quando a provedora espera receber as informações em JSON no body.

#### 6.4 Pré-visualização da requisição

No rodapé da seção avançada há uma **caixa escura** que monta, em tempo real, o endereço final que será acionado. Ela reflete o endereço, os parâmetros e a posição do número de destino conforme você preenche o formulário.

Para o exemplo das imagens, a pré-visualização exibe:

```
https://provedorabc.com/call_click?user_id=123&contact_id=456&contact_name=Fulano&phone=<NÚMERO_DESTINO>
```

> Use essa pré-visualização para conferir se a chamada está sendo montada exatamente como a provedora espera antes de salvar.

***

### 7. Permissões de acesso

Clique em **Permissões de Acesso** para expandir esta seção e controlar **quem vê a opção de ligar** por este click.

<figure><img src="https://3534414179-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9FzUKkagBNy5uQ7AtGNa%2Fuploads%2F25I9TGnMJEbbB6xZE1eO%2Fimage.png?alt=media&amp;token=3f2eea3d-b88f-44c5-9c4d-73966902bd0e" alt=""><figcaption></figcaption></figure>

| Campo                         | Descrição                                                                                                |
| ----------------------------- | -------------------------------------------------------------------------------------------------------- |
| **Usuários**                  | Usuários específicos que poderão usar este click.                                                        |
| **Departamentos**             | Departamentos cujos membros poderão usar este click.                                                     |
| **Incluir subdepartamentos?** | Quando ativado, os usuários dos subdepartamentos dos departamentos selecionados também enxergam o click. |

Como a visibilidade é resolvida:

* **Administradores e usuários master** sempre veem todos os clicks.
* Se **nenhum usuário e nenhum departamento** forem selecionados, o click fica **visível para todos**.
* Caso contrário, o click aparece apenas para os **usuários listados** e para os **membros dos departamentos selecionados** (incluindo subdepartamentos, se a opção estiver ativa).

> **Dica:** deixe as permissões em branco para liberar o click a toda a equipe, ou restrinja por departamento quando apenas um time (ex.: Comercial e Atendimento) deve usar aquela provedora.

Ao terminar, clique em **Salvar** (ou **Editar**, ao alterar um click existente). Para descartar, clique em **Cancelar**.

***

### 8. Fazendo uma ligação

Com o click configurado, basta clicar em **qualquer número de telefone** no sistema. No menu de opções do número, além das ações padrão (abrir no discador, copiar número, enviar SMS, ligar pelo VoIP, etc.), aparece a opção com o **nome do click** que você criou.

<figure><img src="https://3534414179-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9FzUKkagBNy5uQ7AtGNa%2Fuploads%2Fx8UQfdS2QbhIq5qGvlXP%2Fimage.png?alt=media&amp;token=819594c5-a371-4ce6-b666-466f35cf5af4" alt=""><figcaption></figcaption></figure>

No exemplo, o click chamado **"Ligar Provedora ABC"** aparece ao final do menu. Ao clicá-lo, o SprintHub substitui `<NÚMERO_DESTINO>` pelo número em tela e aciona a provedora conforme a configuração. Uma mensagem confirma o disparo (*"Click-to-call acionado com sucesso"*) ou avisa em caso de erro.

> Se um usuário não vê a opção esperada, verifique as **Permissões de acesso** do click e se ele pertence ao usuário ou ao departamento configurado.

***

### 9. Boas práticas

* **Use nomes claros.** O nome do click é o que aparece no menu de ligação — prefira algo como `Ligar Provedora ABC` a nomes genéricos.
* **Siga a documentação da provedora.** Método, categoria, campos e cabeçalhos devem espelhar exatamente o que a provedora exige; a pré-visualização ajuda a conferir.
* **Confira a pré-visualização antes de salvar.** Ela mostra a URL final e onde o número de destino entra — um erro aqui significa ligações que não se completam.
* **Proteja as credenciais nos cabeçalhos.** Tokens e chaves de autenticação devem ir em **Cabeçalhos**, não expostos como parâmetros na URL sempre que a provedora permitir.
* **Restrinja por permissão quando fizer sentido.** Se apenas um time usa determinada provedora, limite o click a esses usuários ou departamentos para manter o menu de ligação enxuto.
* **Crie um click por finalidade.** Você pode ter vários clicks simultâneos (por provedora, por operação ou por país) — organize-os conforme o uso da equipe.

***

Pronto! Com o Click To Call configurado, sua equipe passa a acionar a provedora de telefonia com um único clique, direto de qualquer número exibido no SprintHub.
