Este documento foi atualizado para uso com a versão 1.22.2/1.22.1 do USCall UC, antes de consumir a API consulte a versão do sistema.
Este documento tem como objetivo auxiliar o uso da API de integração do USCall UC, para integração com softwares de terceiros através do Webservice USCall UC.
A comunicação é realizada através de requisições WEB utlizando o protocolo HTTPS (Hypertext Transfer Protocol Secure), na arquitetura SOAP (Simple Object Access Protocol), ou na arquitetura RESTful (Representational State Transfer).
Todas as resposta das requisições são retornadas no formato JSON (JavaScript Object Notation).
Todas as requisições necessitam de um token de autenticação, este token é gerado e mantido pelo administrador do sistema, e deve ser solicitado ao mesmo.
Abaixo estão exemplos de requisições, iniciando a rota startCall para efetuar uma chamada para o número 1139952800, e após o número atender direcionar para o DDR 2800, linguagem de programação PHP:
Na arquitetura SOAP, as rotas disponíveis e parâmetros de uso, podem ser consultadas diretamente no endereço do host USCall, através da URL:
https://{host uscall}/aplicativos/webservice/wsuscall.php
<?php
ini_set("soap.wsdl_cache_enabled", 0);
$context = stream_context_create([
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true ]
]);
$client = new SoapClient(
'https://uscall.com.br/aplicativos/webservice/wsuscall.php?wsdl',
['stream_context' => $context ]
);
$result = $client->startCall(
'$1$gcNiVTZp$5IqX.EhuJyLNG7pBc5o4..',
'clicktocall',
'1139952800',
'2800',
'1'
);
var_dump($result);
Na arquitetura RESTful, o endereço da URL de consulta é : https://{host uscall}/api/{rota} :
<?php
$api_url = "https://uscall.com.br/api/";
$api_route = 'startcall';
$post_data = array(
'token' => '$1$gcNiVTZp$5IqX.EhuJyLNG7pBc5o4..',
'tipo' => 'clicktocall',
'origem' => '1139952800',
'destino' => '2800',
'categoria' => '1',
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api_url.$api_route);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$response = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Erro ao fazer a requisição: ' . curl_error($ch);
}
curl_close($ch);
var_dump($response);
Esta rota é utilizada para listar os atendentes de contact center cadastrados na empresa.
Parâmetros disponíveis:
- agente [ Number : Filtrar o retorno pelo número do agente ]
Parâmetros obrigatórios:
Esta rota é utilizada para efetuar uma chamada pelo PBX. Existem duas forma de discagem, outbound ou clicktocall, e que deve ser informado no parâmetro 'tipo'.
outbound::
É utilizado para efetuar uma chamada por um ramal, no parâmetro origem deve ser informado o número do ramal, e no parâmetro destino o número que será discado.
clicktocall:
É utilizado para efetuar uma chamada para um número e direcionar para um
DDR configurado no PBX. No parâmetro origem deve ser informado o número que será
discado, e no parâmetro destino o número de DDR que irá receber a chamada.
Parâmetros disponíveis:
- tipo [ String : Método de discagem no PBX ]
- origem [ Number :Número ou ramal que irá originar a chamada ]
- destino [ Number : Número ou DDR que irá receber a chamada ]
- categoria [ Number: Categoria com regras de discagem no PBX, consulte o mantenedor para saber qual número usar ]
- idcti [ String : Id customizado, que pode ser usando para consultar o registro da chamada ]
- detect_mach [ Number : Habilita opção para detectar atendimento eletrônico na chamada,e caso positivo desconectá-la antes de direcionar para ao destino. Defina como 1 para habilitar e 0 para desabilitar ]
Parâmetros obrigatórios:
- token
- tipo
- origem
- destino
- categoria
Esta rota é utilizada para efetuar uma busca dos registros de chamadas do PBX.
Parâmetros disponíveis:
- dataini [ String : Data e horário inicial do filtro para a busca. Formato deve ser YYYY-MM-DD HH:i:s. Caso NULO, será efetuado o filtro da data atual da busca, com o horário: 00:00:00. ]
- datafin [ String : Data e horário final do filtro para a busca. Formato deve ser YYYY-MM-DD HH:i:s. Caso NULO, será efetuado o filtro da data atual da busca, com o horário: 23:59:59. ]
- origem [ String : Número de origem do filtro para a busca (que originou a ligação). Pode ser NULO. ]
- destino: [ String : Número de destino do filtro para a busca (que recebeu a ligação). Pode ser NULO. ]
- bilheteunico: [ String : ID do sistema ou cti para buscar um registro em específico. ]
Parâmetros obrigatórios:
Esta rota é utilizada para baixar uma gravação de chamada. O áudio é retornado codificado em base64 no campo arquivo_base_64.
Parâmetros disponíveis:
- idunico: [ String : Id da chamada, ou Id customizado enviado na rota startcall
- formato: [ String : Formato de retorno aúdio. Os formatos disponíveis são: mp3, ogg e wav. ]
Parâmetros obrigatórios:
Esta rota é utilizada para iniciar a sessão de um atendente de contact center no sistema.
Parâmetros disponíveis:
- agente: [ Number : Número de identificação único do atendente no sistema ]
- ramal: [ Number : Número de ramal do PBX, usado pelo atendente ]
- senhamd5: [ String : Senha de auteticação do atendente no sistema, criptografada em md5 ]
- filachave: [ Number : Número da fila de atendimento prinicipal do atendente, a fila deve ser do tipo contact center, caso não informado será utilizado a fila principal configurada no sistema. ]
Parâmetros obrigatórios:
- token
- agente
- ramal
- senhamd5
Esta rota é utilizada para encerrar a sessão de um atendente de contact center no sistema.
Parâmetros disponíveis:
- agente: [ Number : Número de identificação único do atendente no sistema ]
Parâmetros obrigatórios:
Esta rota é utilizada para consultar o status de trabalho dos atendentes de contact center, tais como chamadas em curso, pausas entre outros.
Parâmetros disponíveis:
- agente: [ Number : Filtrar o retorno pelo número do atendente, caso não informado, será retornado todos os atendentes cadastrados no sistema. ]
Parâmetros obrigatórios:
Esta rota é utilizada para consultar as pausas do contac center cadastradas no sistema.
Parâmetros obrigatórios:
Esta rota é utilizada para pausar um atendente de contact center.
Parâmetros disponíveis:
- agente: [ Number : Número de identificação único do atendente no sistema ]
- idpausa: [ Number : Id único da pausa cadastrada no sistema. ]
Parâmetros obrigatórios:
Esta rota é utilizada para encerrar uma pausa de um atendente de contact center.
Parâmetros disponíveis:
- agente: [ Number : Número de identificação único do atendente no sistema ]
Parâmetros obrigatórios:
Esta rota é utilizada para desconectar uma chamada em curso de um ramal e/ou atendente de contac center.
Parâmetros disponíveis:
- ramal: [ Number : Número do ramal ou atendente onde a chamada será desconectada ]
- agente: [ String : Informar se a desconexão será efetuada em um atendente de contac center, Caso não informado será considerado um ramal. Valor informado deverá ser yes ]
Parâmetros obrigatórios:
Esta rota é utilizada para monitorar uma chamada em curso de um ramal e/ou atendente de contac center.
Parâmetros disponíveis:
- srcramal: [ Number : Número do ramal onde a monitoria será iniciada ]
- dstramal: [ Number : Número do ramal ou atendente onde a chamada em curso será monitorada ]
- tipo : [ String : Tipo de monitoria de chamada, caso nenhum tipo seja informado será usado a monitoria do tipo escuta, os tipos disponíveis são :
- escuta (Monitoria silênciosa)
- monitor (Monitoria onde o ramal monitorado consegue ouvir o áudio do ramal que iniciou a monitoria)
- conf (Monitoria em que todos os canais se comunicam entre si)
]
- agente: [ String : Informar se a monitoria será efetuada em um atendente de contac center, Caso não informado será considerado um ramal. Valor informado deverá ser yes ]
Parâmetros obrigatórios:
Esta rota é utilizada para listar os ramais cadastrados no sistema.
Parâmetros disponíveis:
- ramal: [ Number : Filtrar o retorno para apenas este ramal, caso não informado será retornado todos os ramais cadastrados no sistema. ]
Parâmetros obrigatórios:
Esta rota é utilizada para visualizar o status dos ramais do sistema, tais dados de chamdas em curso e registro.
Parâmetros disponíveis:
- ramal: [ Number : Filtrar o retorno para apenas este ramal, caso não informado será retornado todos os ramais cadastrados no sistema. ]
- tipo: [ String : Tipo dos ramais para visualização. Caso não informado será retornado todos os ramais cadastrados no sistema. Os tipos disóníveis são :
- callcenter ( Contact Center )
- pbx
- all
]
Parâmetros obrigatórios:
Esta rota é utilizada para listar as filas de atendimento cadastradas no sistema.
Parâmetros disponíveis:
- fila: [ Number : Filtrar o retorno para apenas esta fila, caso não informado será retornado todas as filas cadastradas no sistema. ]
Parâmetros obrigatórios:
Esta rota é utilizada para listar as chamadas em espera nas filas de atendimento e dados de status.
Parâmetros disponíveis:
- fila: [ Number : Filtrar o retorno para apenas esta fila, caso não informado será retornado todas as filas cadastradas no sistema. ]
Parâmetros obrigatórios:
Esta rota é utilizada para listar os registros de chamadas efetuadas no PBX, para uso com tarifadores.
Parâmetros disponíveis:
- dataini: [ String : Buscar registros inicinado por esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 00:00hs. ]
- datafin: [ String : Buscar registros até esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 23:59. ]
Parâmetros obrigatórios:
Esta rota é utilizada para listar os troncos cadastrados no PBX.
Parâmetros obrigatórios:
Esta rota é utilizada para listar as URAS dinâmicas (com sintetizado de voz) cadastradas no PBX.
Parâmetros disponíveis:
- idura: [ Number : Filtrar o retorno para apenas esta ura, caso não informado será retornado todas as uras cadastradas no sistema. ]
Parâmetros obrigatórios:
Esta rota é utilizada para efetuar uma chamada para um número e após atendimento, direcionar para uma URA de atendimento dinâmica.
Parâmetros disponíveis:
- idura: [ Number : Id único da URA, onde a chamada será direcionada. ]
- destino: [ String : Número telefonico onde o PBX realizará a chamada. ]
- categoria [ Number: Categoria com regras de discagem no PBX, consulte o mantenedor para saber qual número usar ]
- idcti: [ String : Id customizado, que pode ser usando para consultar o registro da chamada ]
- detect_mach: [ Number : Habilita opção para detectar atendimento eletrônico na chamada,e caso positivo desconectá-la antes de direcionar para ao destino. Defina como 1 para habilitar e 0 para desabilitar ]
- cti_info{numero} : [ String : Variáveis que podem serem informadas (de 1 -10) para uso com URAS que tenham sintetizador de voz (tts), onde o que for informado na variável será falado para o número discado, de acordo com o fluxo de URA configurado. Os valores serão interpretados de acordo com o texto do fluxo formatado. ]
Parâmetros obrigatórios:
- token
- idura
- destino
- categoria
Esta rota é utilizada para transferir uma chamada em curso de um ramal e/ou atendente de contact center, para outro destino no PBX.
Parâmetros disponíveis:
- origem: [ Number : Número de ramal ou atendente onde a chamda em curso será transferida ]
- destino: [ Number : Número onde a transferência será direcionada ]
Parâmetros obrigatórios:
Esta rota é utilizada para consultar os registro de chamadas que entraram nas URAS de atendimento dinâmicas.
Parâmetros disponíveis:
- dataini: [ String : Buscar registros inicinado por esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 00:00hs. ]
- datafin: [ String : Buscar registros até esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 23:59. ]
- idura: [ Number : Filtrar os retornos para apenas esta ura. ]
- idunico : [ String : Id único ou cti da chamada para buscar registro específico]
Parâmetros obrigatórios:
Esta rota é utilizada para consultar as métricas e estatísticas do contact center.
Parâmetros disponíveis:
- report_name: [ String : Tipo de relatório que será retornado. Consulte a rota ccentermetricsreports para visualizar os relatórios disponíveis. ]
- agente : [ String/JSON : JSON com númeração dos atendentes de contac center, para filtrar os registros pelos atendentes informados. Consulte a rota getagent para consultar a numeração dos atendentes cadastrados. Ex.: [600,601,602] ]
- fila : [ String/JSON : JSON com númeração das filas de contac center, para filtrar os registros pelas filas informadas. Consulte a rota getqueue para consultar a numeração das filas cadastradas. Ex.: [900,901,"Ativo"] ]
- dataini: [ String : Buscar registros inicinado por esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 00:00hs. ]
- datafin: [ String :Buscar registros até esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 23:59. ]
Parâmetros obrigatórios:
- token
- report_name
- agente
- fila
##ccentermetricsreports
Esta rota é utilizada para consultar os tipos de relatórios disponíveis para uso na rota ccentermetrics:
Parâmetros obrigatórios:
Esta rota é utilizada para consultar o relatório de presença/sessões dos atendentes do contact center.
Parâmetros disponíveis:
- report_type: [ Number : Tipo de relatório que será gerado. 0 para sintético, 1 para analítico. ]
- agente : [ String/JSON : JSON com númeração dos atendentes de contac center, para filtrar os registros pelos atendentes informados. Consulte a rota getagent para consultar a numeração dos atendentes cadastrados. Ex.: [600,601,602] ]
- fila : [ String/JSON : JSON com númeração das filas de contac center, para filtrar os registros pelas filas informadas. Consulte a rota getqueue para consultar a numeração das filas cadastradas. Ex.: [900,901,"Ativo"] ]
- dataini: [ String : Buscar registros inicinado por esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 00:00hs. ]
- datafin: [ String :Buscar registros até esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 23:59. ]
Parâmetros obrigatórios:
- token
- report_type
- agente
- fila
Esta rota é utilizada para consultar o relatório de pausas dos atendentes do contact center.
Parâmetros disponíveis:
- report_type: [ Number : Tipo de relatório que será gerado. 0 para sintético, 1 para analítico. ]
- agente : [ String/JSON : JSON com númeração dos atendentes de contac center, para filtrar os registros pelos atendentes informados. Consulte a rota getagent para consultar a numeração dos atendentes cadastrados. Ex.: [600,601,602] ]
- fila : [ String/JSON : JSON com númeração das filas de contac center, para filtrar os registros pelas filas informadas. Consulte a rota getqueue para consultar a numeração das filas cadastradas. Ex.: [900,901,"Ativo"] ]
- dataini: [ String : Buscar registros inicinado por esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 00:00hs. ]
- datafin: [ String : Buscar registros até esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 23:59. ]
Parâmetros obrigatórios:
- token
- report_type
- agente
- fila
Esta rota é utilizada para consultar o relatório de produtividade dos atendentes do contact center.
Parâmetros disponíveis:
- report_type: [ Number : Tipo de relatório que será gerado. 0 para sintético, 1 para analítico. ]
- agente : [ String/JSON : JSON com númeração dos atendentes de contac center, para filtrar os registros pelos atendentes informados. Consulte a rota getagent para consultar a numeração dos atendentes cadastrados. Ex.: [600,601,602] ]
- fila : [ String/JSON : JSON com númeração das filas de contac center, para filtrar os registros pelas filas informadas. Consulte a rota getqueue para consultar a numeração das filas cadastradas. Ex.: [900,901,"Ativo"] ]
- dataini: [ String : Buscar registros inicinado por esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 00:00hs. ]
- datafin: [ String : Buscar registros até esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 23:59. ]
Parâmetros obrigatórios:
- token
- report_type
- agente
- fila
Esta rota é utilizada para consultar o relatório detalhado de contatos recebidos e efetuados nas operações de contact center.
Parâmetros disponíveis:
- agente : [ String/JSON : JSON com númeração dos atendentes de contac center, para filtrar os registros pelos atendentes informados. Consulte a rota getagent para consultar a numeração dos atendentes cadastrados. Ex.: [600,601,602] ]
- fila : [ String/JSON : JSON com númeração das filas de contac center, para filtrar os registros pelas filas informadas. Consulte a rota getqueue para consultar a numeração das filas cadastradas. Ex.: [900,901,"Ativo"] ]
- dataini: [ String : Buscar registros inicinado por esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 00:00hs. ]
- datafin: [ String : Buscar registros até esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 23:59. ]
Parâmetros obrigatórios:
Esta rota é utilizada para consultar o relatório detalhado de avaliações de pesquisas do contact center.
Parâmetros disponíveis:
- dataini: [ String : Buscar registros inicinado por esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 00:00hs. ]
- datafin: [ String : Buscar registros até esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 23:59. ]
- agente : [ String/JSON : JSON com númeração dos atendentes de contac center, para filtrar os registros pelos atendentes informados. Consulte a rota getagent para consultar a numeração dos atendentes cadastrados. Ex.: [600,601,602] ]
- fila : [ String/JSON : JSON com númeração das filas de contac center, para filtrar os registros pelas filas informadas. Consulte a rota getqueue para consultar a numeração das filas cadastradas. Ex.: [900,901,"Ativo"] ]
Parâmetros obrigatórios:
Esta rota é utilizada para consultar os agendamentos dos atendentes do contact center.
Parâmetros disponíveis:
- dataini: [ String : Buscar registros inicinado por esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 00:00hs. ]
- datafin: [ String : Buscar registros até esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 23:59. ]
- agente : [ String/JSON : JSON com númeração dos atendentes de contac center, para filtrar os registros pelos atendentes informados. Consulte a rota getagent para consultar a numeração dos atendentes cadastrados. Ex.: [600,601,602] ]
Parâmetros obrigatórios:
Esta rota é utilizada para consultar o relatório detalhado de contatos das operações do contact center, com formulários de atendimentos e qualificações.
Parâmetros disponíveis:
- agente : [ String/JSON : JSON com númeração dos atendentes de contac center, para filtrar os registros pelos atendentes informados. Consulte a rota getagent para consultar a numeração dos atendentes cadastrados. Ex.: [600,601,602] ]
- fila : [ String/JSON : JSON com númeração das filas de contac center, para filtrar os registros pelas filas informadas. Consulte a rota getqueue para consultar a numeração das filas cadastradas. Ex.: [900,901,"Ativo"] ]
- dataini: [ String : Buscar registros inicinado por esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 00:00hs. ]
- datafin: [ String : Buscar registros até esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 23:59. ]
Parâmetros obrigatórios:
- token
- agente / fila ( Um dos dois )
Esta rota é utilizada para consultar um relatório sintético, com dados de chamadas gerais em filas de atendimento do sistema.
Parâmetros disponíveis:
- fila : [ String/JSON : JSON com númeração das filas de contac center, para filtrar os registros pelas filas informadas. Consulte a rota getqueue para consultar a numeração das filas cadastradas. Ex.: [900,901,"Ativo"] ]
- dataini: [ String : Buscar registros inicinado por esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 00:00hs. ]
- datafin: [ String : Buscar registros até esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 23:59. ]
Parâmetros obrigatórios:
Esta rota é utilizada para consultar o histórico de um chat, no serviço omnichannel.
Parâmetros disponíveis:
- chat : [ String : Id único do chat para filtro]
- agente : [ Number : Número do atendente para filtro. Consulte a rota getagent para informações do número dos atendentes.]
- data_start: [ String : Buscar registros inicinado por esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 00:00hs. ]
- data_end: [ String : Buscar registros até esta data e horário, formato TIMESTAMP YYY-mm-dd H:i:s, caso não informado será usado data do dia às 23:59. ]
Parâmetros obrigatórios:
Esta rota é utilizada para consultar os canais de mídias cadastrados no serviço omnichannel.
Parâmetros disponíveis:
- agente : [ Number : Número do atendente, para retornar os canais de mídias permitidos para este atendente. Consulte a rota getagent para informações do número dos atendentes. ]
Parâmetros obrigatórios:
Esta rota é utilizada para iniciar um novo contato por chat, e direcionar para um atendente do serviço omnichannel.
Parâmetros disponíveis:
- agente : [ Number : Número do atendente, onde será iniciado o novo chat. Consulte a rota getagent para informações do número dos atendentes. ]
- numero : [ Number : Número do contato de destino para iniciar o chat. ]
- midia : [ Number : Id de mídia por onde será iniciado o chat, caso não informado, será inciado pela primeira mídia na lista do atendente. Consulte a rota chat/chat_midias para informações do Id de mídia. ]
Parâmetros obrigatórios: