Pular para conteúdo

Click2Call


A API de Click2Call permite que você automatize chamadas. O sistema primeiro liga para o seu aparelho (Linha IP/Ramal) e, assim que você atende, ele disca para o número de destino externo.

URL Base

http://{IP_SERVIDOR}/api/click2call/<action>/<TOKEN>/<KEY>

Método Action Descrição
GET get Executa a chamada via parâmetros na URL (Query String).
POST update Executa a chamada via corpo da requisição (JSON).

Parâmetros da Requisição

Parâmetro Tipo Descrição
device_id int ID Interno da conta/linha que pagará pela chamada.
src string Origem: O número do seu ramal ou linha IP que deve tocar primeiro.
dst string Destino: O número externo (celular/fixo) para o qual deseja ligar.

Detalhamento do Funcionamento Técnico (Fluxo da Chamada)

Diferente de uma ligação comum onde você disca do aparelho, aqui o servidor Voipper controla o processo através do protocolo AMI (Asterisk Manager Interface).

O processo ocorre em 3 etapas automáticas:

  1. Originação (Perna A): O servidor envia um comando para o Asterisk (OriginateAction). O Asterisk liga para o ramal definido em src. O CallerID no visor do ramal aparecerá como: Click2Call: <destino> <origem>.
  2. Atendimento da Origem: Quando o usuário do ramal atende o telefone, o Asterisk executa a aplicação Dial para o destino definido em dst.
  3. Conexão (Perna B): O servidor completa a chamada para o número externo. Enquanto o destino não atende, o ramal ouve uma mensagem/tom de espera ("One moment please").

Variáveis de Controle enviadas ao Asterisk:

  • _IS_FROM_PORTAL: Identifica que a chamada não foi manual.
  • setAccount: Define o device_id para garantir que a bilhetagem (tarifação) ocorra na conta correta.

Exemplos de Uso

Via GET (URL)

Útil para testes rápidos ou integrações simples em navegadores/CRMs.

curl -X GET "http://seu.ip/api/click2call/get/TOKEN/KEY?device_id=123&src=1001&dst=011999999999"

Via POST (JSON)

Recomendado para integrações de backend seguras.

curl -X POST "http://seu.ip/api/click2call/update/TOKEN/KEY" \
     -H "Content-Type: application/json" \
     -d '{
       "device_id": 123,
       "src": "1001",
       "dst": "011999999999"
     }'

⚠️ Respostas e Erros Comuns

A API retorna um JSON indicando o sucesso ou a falha.

Reason Mensagem Causa Provável
OK (Nenhuma) Sucesso. O servidor aceitou o comando e está discando.
DEVICE_NOT_FOUND Linha não encontrada. O device_id informado não existe ou não pertence ao seu usuário.
INVALID_SRC Núm. origem inválido. O parâmetro src está vazio ou contém caracteres não numéricos.
MALFORMED_REQUEST Conteúdo inválido. O JSON enviado no corpo do POST está com erro de sintaxe.
AUTH_INVALID Invalid credentials. Token ou Key da API estão incorretos ou expirados.

Segurança e Auditoria

Toda chamada via Click2Call gera um log de auditoria no sistema contendo:

  • As pontas da ligação (src e dst).
  • O ID da Linha IP pagante.
  • O UserAgent (IP e navegador) de quem disparou o comando de API, permitindo rastrear abusos.