Chamadas

Final de Ligação

Toda vez que uma ligação termina, este webhook é disparado.

  • O fim de uma ligação ocorre quando ela foi atendida e encerrou (chamada atendida) ou não foi atendida por algum outro motivo.
  • Status possíveis: (atendida, sem resposta, ocupado, congestionado, falha).
  • O status “ativa” é retornado como FALSE.
  • A URL do webhook pode ser configurada dentro do painel no menu “minha conta” / “Configurações da API” ou pela API (acessar documentação).

Mudança de Status da Ligação

Este webhook é disparado sempre que uma chamada telefônica sofre uma mudança de status.

  • Status possíveis: preparando, chamando, atendida, ocupado.
  • O status “ativa” é retornado como TRUE.
  • O limite de atualização dos dados é de 1 request por ligação a cada 2s.
  • A URL do webhook pode ser configurada dentro do painel no menu “minha conta” / “Configurações da API”

Formato dos dados postados para a URL do webhook:

{
   "id": 185,
   "data_criacao": "2016-03-31T20:33:13-03:00",
   "ativa": false,
   "url_gravacao": "http://url.gravacao.com.br/185.mp3",
   "cliente_id": 762543,
   "conta_id": 762543,
   "ramal_id_origem": 255,
   "tags": "id_externo=12345",
   "origem": {
      "data_inicio": "2016-03-31T20:33:27-03:00",
      "numero": "4832830151",
      "tipo": "fixo",
      "status": "atendida",
      "duracao_segundos": 47,
      "duracao": "00:00:47",
      "duracao_cobrada_segundos": 30,
      "duracao_cobrada": "00:00:30",
      "duracao_falada_segundos": 60,
      "duracao_falada": "00:01:00",
      "preco": 0.1
   },
   "destino": {
      "data_inicio": "2016-03-31T20:33:44-03:00",
      "numero": "4899999999",
      "tipo": "movel",
      "status": "atendida",
      "duracao_segundos": 30,
      "duracao": "00:00:30",
      "duracao_cobrada_segundos": 30,
      "duracao_cobrada": "00:00:30",
      "duracao_falada_segundos": 60,
      "duracao_falada": "00:01:00",
      "preco": 0.1
   }
}
  • cliente_id possui o mesmo valor de conta_id por questões de compatibilidade.
  • Para ligações originadas diretamente por um webphone, softphone ou telefone ip, duração, status e valor da perna A serão null.
SMS

Mudança de Status e Entrega

Este webhook é disparado sempre que uma mensagem SMS sofrer uma mudança de status.

  • Status possíveis: aguardando, enviada, erro, entregue.

Conteúdo do Webhook

Sempre que uma resposta for recebida um webhook é disparado com o conteúdo de todas as respostas conforme modelo abaixo:

Formato dos dados postados para a URL do webhook:

{
        "id": 2323,
        "numero_destino": "9912341234",
        "data_criacao": "2016-04-05T15:00:34-03:00",
        "mensagem": "Texto mensagem SMS",
        "preco": 0.15,
        "status_envio": "entregue",
        "data_status": "2016-04-05T15:01:23-03:00",
        "resposta_usuario": 1,
        "respostas": [
                {
                        "id": 3301,
                        "resposta": "Texto da Resposta",
                        "data_resposta": "2016-04-05T15:05:13-03:00"
                },
                {
                        "id": 3302,
                        "resposta": "Outra resposta",
                        "data_resposta": "2016-04-05T15:07:11-03:00"
                }

        ]
}

Resposta de SMS

O webhook de resposta de SMS é um JSON com ID do retorno, ID do SMS, resposta e data.

 

Exemplo:

{"id":16347,"sms_id":133830,"resposta":"SIM","data_resposta":"2016-10-17T18:02:20-02:00"}

Formato dos Dados

O envio dos dados ocorre via HTTP (ou HTTPS) com o seguinte header:

“Content-type: application/json”

 

Este é um breve exemplo em PHP para receber os dados:

 <?php
 $array_dados = file_get_contents("php://input");
 $LOGFILE = __DIR__."/log.txt";
 $pf = fopen($LOGFILE, "a+");
 fwrite($pf, date('Y/m/d H:i:s'));
 fwrite($pf, print_r($array_dados, true));
 fclose($pf);
 ?>

Não esqueça de criar o arquivo log.txt e dar permissão de escrita para o usuário web.

Resultado:

 more log.txt
 2017/03/16 18:34:20{"id":4163,"sms_id":1092334,"resposta":" 3","data_resposta":"2017-03-16T15:34:20-03:00"}