Click2Call

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 NextBilling 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.