Voice API

IntroduçãoLast updated: 2019-09-18

Serviço responsável pelo controle de comunicação através de Voice.

Com os serviços oferecidos pela ZaaS, é possível criar integrações usando telefonia e mensageria, com uma API Rest, utilizando Json possibilitando criar, receber, controlar e monitorar chamadas de voz e texto de qualquer parte do mundo. Objetivamente, a API da ZaaS permite a criação de lógica de chamadas telefônicas de forma personalizada, rápida e segura, com controle preciso em cada etapa de uma chamada e também controla todo o fluxo de mensagens de aplicativos de chat como Whatsapp. O desenvolvedor desta forma não precisa se preocupar com contratos com operadoras de telefonia, infra-estrutura ou com serviços profissionais extras. O número de funcionalidades suportadas em telefonia programável atende desde pequenas centrais telefônicas para pequenos escritórios ate centrais de atendimento como contact centers. A plataforma é desenhada para permitir elevado nível de escalabilidade, e o desenvolvedor/cliente somente paga pelo que usar (pay-as-you-go).

Esta documentação tem como objetivo instruir sobre a utilização da mesma, demonstrando como configurar e realizar a coleta das informações de configuração do Server e criar uma chamada de Voice.

URL API:
  • URL Externa:https://api.flexcontact.com.br/Voice
  • URL Interna:https://10.10.2.164/Voice

API

Documentação de Uso da API de Voice.

Login

Token de Acesso - Metodo de Login


Para utilizar os Serviços da API, é necessário um Login/ Senha fornecido pela equipa de TI. Ao realizar a validação de Login, em caso de positivo o mesmo gera um token de acesso, os login são de uso restrito e podem ser usados para todos os Micro Serviços na qual ele tem acesso.

Todas as requisições POST - Json para o API devem conter o campo de token no primeiro campo do JSON (com exceção dos métodos de Login/ Consulta Token). Todas as requisições GET - Json para o API devem conter o campo de token na URL de solicitação (com exceção dos métodos de Login/ Consulta Token).

Warning

O token de acesso tem validade de no máximo 6 horas, após este periodo, deve-se logar novamente para gerar um novo Token.


Método de utilização:

POST - https://api.flexcontact.com.br/Voice/Login


JSON:

Exemplo de JSON de Login, substitua as informações abaixo por suas credenciais.


  {
        "login": "flex",
        "password": "12345678"
  }
                                  

Server Info

Metodo de Call Server


Coletar informações do Server para realizar a discagem, este método retorna as informações do servidor webRTC na qual devem ser configuradas no seu WebPhone.


Método de utilização:

POST - https://api.flexcontact.com.br/Voice/Call/Server


Dicionário de dados:
Campo Tipo Descrição Parâmetro Obrigatório
token string Token de retorno obtido após o Login na Api. Json
codCampaign string Código da campanha relacionado a Voice, preveamente cadastrado pela equipe da API. Json
JSON:

Exemplo de JSON de Call Server, substitua as informações abaixo de token pelo token obtido no Login.


  {
        "token": "123456",
        "codCampaign": "0"
  }
                                  
Retorno POST:

 [
    {
        "rtcSignalingServer": "rtc1.inov8.cloud",
        "rtcMediaServer": "rtc1.inov8.cloud",
        "rtcSignalingPort": "5060",
        "rtcWsServer": "wss://rtc1.inov8.cloud:8089/ws",
        "rtcURIAddr": "sip:5d67e9cce687049f9866d55c@rtc1.inov8.cloud",
        "rtcUAUsername": "5d67e9cce687049f98000000c",
        "rtcUAPassword": "123456",
        "api_key": "OMN-04-2908-000-000000",
        "caller_ident_external": "554800037656",
        "agent_id": "5d67e9cce687049f9866d000"
    }
 ]
                            

Call Create

Metodo de Call Create


Realizar uma chamada após a configuração do Webphone. Para efetuar uma chamada de voz, deve ser feita uma requisição do tipo POST


Método de utilização:

POST - https://api.flexcontact.com.br/Voice/Call/Create

Atenção

Para realizar a criação da chamada de voz, é necessário ter o Serviço WebRTC configurado com os dados obtidos no Call/Server e Online, caso contrário teremos o retorno de NO_ENDPOINT_REGISTERED


Dicionário de dados:
Campo Tipo Descrição Parâmetro Obrigatório
token string Token de retorno obtido após o Login na Api. Json
codCampaign string Código da campanha relacionado a Voice, preveamente cadastrado pela equipe da API. Json
api_key string Valor fornecido em Call/Server para realziar o vinculo da chamada Json
call_destination string Número no formato DDI+DDD+Telefone ou Ramal Interno. Json
call_type string Tipo da Chamada: external (Chamada para número fora da plataforma), internal (Chamada para número existente na plataforma, exemplo: Ramais cadastrados). Json
call_cid string Número que deve ser enviado ao destino como Bina. Deve estar cadastrado e autorizado na plataforma. Formato DDI+DDD+Telefone. Json
call_recorder string Gravação: 0 – Não deverá Gravar / 1 – Deverá gravar após o atendimento / 2 – Deverá gravar desde o momento em que estiver tocando no telefone destino. Json
JSON:

Exemplo de JSON de Call Create.


  {
        "token": "12345",
        "codCampaign": "0",
        "api_key": "OMN-04-2908-000-000000",
        "call_destination": "5511980121511",
        "call_type": "external",
        "call_cid": "554830037656",
        "call_recorder": "1"
  }
                                  
Retorno POST:

 [
    {
        "_id": "5d7bd7d87b2e3252147f8be4"
    }
 ]
                            

Call Status

Metodo de Call Status


Para acompanhar o andamento da chamada e/ou saber o status da mesma na plataforma deverá ser efetuada uma requisição POST.

Objeto localizado, sendo que os possíveis retornos para cada campo são:

  • status:Status da Chamada na Plataforma (Setup [Contactando o ramal de origem], Dialing [Discando para o destino], Answered [Chamada em atendimento], Finished [Chamada finalizada])
  • isdn_code:Código ISDN (Integrated Services Digital Network)
  • isdn_reason: Causa ISDN em formato Texto

Método de utilização:

POST - https://api.flexcontact.com.br/Voice/Call/Status


Dicionário de dados:
Campo Tipo Descrição Parâmetro Obrigatório
token string Token de retorno obtido após o Login na Api. Json
codCampaign string Código da campanha relacionado a Voice, preveamente cadastrado pela equipe da API. Json
_id string ID obtido no momento da criação da Chamada Json
JSON:

Exemplo de JSON de Call Status.


  {
        "token": "12345",
        "codCampaign": "0",
        "_id": "5d7bd5df7b2e3252147f8bd2"
  }
                                  
Retorno POST:

 [
    {
        "_id": "5d7bd7d87b2e3252147f8be4",
        "voice_status": "5d7bd7d87b2e3252147f8be4",
        "voice_code_result": "2",
        "voice_text_result": "No route"
    }
 ]