[ API ] Gerenciar Menu de URA - IVR
Endereço de Chamada da API
GET /api/manageIvr/API_TOKEN/API_KEY/0
Este Ponto de Acesso permite que você Gerenciar os Menus de URA (IVR) para integração com os Números Entrantes (DID).
Para nosso exemplo, iremos deduzir que o endereço do servidor será sip.nextbilling.com.br. Nesse caso, o endereço da API seria:
Endereço da API exemplo
GET https://sip.nextbilling.com.br/api/manageIvr/API_TOKEN/API_KEY/0
Parâmetros:
id_cliente: Obter o cadastro de um registro em específico
descricao: Descrição do Registro
alow_dial_extension: 0 - Apenas opção de URA permitido | 1 - Permite digitar opção da URA ou um número de ramal para discagem direta
timeout_response: Tempo em segundos para um Digito do Cliente
timeout_digit: Tempo em Segundos entre os Dígitos
perfil_horario: Objeto informando o ID do perfil de horário, ex: "perfil_horario": {id: 12}
audio_invalido: Objeto informando o ID do Audio de Opção inválida, ex: "audio_invalido": {id: 12}
audio_timeout: Objeto informando o ID do Audio de Tempo Esgostado, ex: "audio_timeout": {id: 12}
have_question: Inteiro que ativa ou desativa a Pesquisa de Satisfação: 0 - inativo | 1 - ativo
audio_question: Objeto informando o ID do Audio da Pesquisa de Satisfação, ex: "audio_timeout": {id: 12}
closed_audio: Objeto informando o ID do Audio de Fora de Funcionamento, ex: "closed_audio": {id: 12}
closed_action: Objeto informando a ação a ser tomada caso a URA esteja Fora do Horário de Funcionamento, ex:
"closed_action": {"action": "hangup", "action_data": ""} (Nesse caso a chamada seria desligada se fora de Funcionamento)
"closed_action": {"action": "voicemail", "action_data": "23"} (Nesse caso, action_data deve conter o ID da Linha referente a caixa postal)
action1: Objeto informando a ação a ser realizada assim que a chamada entrar nessa URA, ex:
"action1": {"action": "hangup", "action_data": ""} (Nesse caso a chamada seria desligada)
"action1": {"action": "voicemail", "action_data": "23"} (Nesse caso, action_data deve conter o ID da Linha referente a caixa postal)
"action1": {"action": "background", "action_data": "23"} (Nesse caso, action_data deve conter o ID do Audio a ser reproduzido)
"action1": {"action": "dial", "action_data": "23"} (Nesse caso, action_data deve conter o ID da Linha IP a ser chamada)
"action1": {"action": "queue", "action_data": "23"} (Nesse caso, action_data deve conter o ID da Fila de Atendimento a ser chamada)
option0: Objeto informando a ação a ser realizada quando o usuário digitar a opção 0, ex:
"option0": {"action": "hangup", "action_data": ""} (Nesse caso a chamada seria desligada)
"option0": {"action": "voicemail", "action_data": "23"} (Nesse caso, action_data deve conter o ID da Linha referente a caixa postal)
"option0": {"action": "dial", "action_data": "23"} (Nesse caso, action_data deve conter o ID da Linha que será chamada)
"option0": {"action": "queue", "action_data": "23"} (Nesse caso, action_data deve conter o ID da Fila de Atendimento que a chamada será enviada)
"option0": {"action": "ivr", "action_data": "23"} (Nesse caso, action_data deve conter o ID do Bloco de URA (IVR) que a chamada será desviada)
"option0": {"action": "portal", "action_data": "0"} (Nesse caso a chamada será enviada para um Portal de Voz)
"option0": {"action": "extension", "action_data": "0"} (Nesse caso, a URA irá solicitar ao cliente que digite o número da Linha que ele quer falar)
"option0": {"action": "execute_invalid", "action_data": "0"} (Nesse caso, a URA irá executar a ação presente na optioni que é o executado quando se digita uma opção inválida na URA)
option1: Objeto informando a ação a ser realizada quando o usuário digitar a opção 1 no telefone
option2: Objeto informando a ação a ser realizada quando o usuário digitar a opção 2 no telefone
option3: Objeto informando a ação a ser realizada quando o usuário digitar a opção 3 no telefone
option4: Objeto informando a ação a ser realizada quando o usuário digitar a opção 4 no telefone
option5: Objeto informando a ação a ser realizada quando o usuário digitar a opção 5 no telefone
option6: Objeto informando a ação a ser realizada quando o usuário digitar a opção 6 no telefone
option7: Objeto informando a ação a ser realizada quando o usuário digitar a opção 7 no telefone
option8: Objeto informando a ação a ser realizada quando o usuário digitar a opção 8 no telefone
option9: Objeto informando a ação a ser realizada quando o usuário digitar a opção 9 no telefone
option_star: Objeto informando a ação a ser realizada quando o usuário digitar a opção * (Asterisco) no telefone
option_hash: Objeto informando a ação a ser realizada quando o usuário digitar a opção # (Hashtag) no telefone
optiont: Objeto informando a ação a ser realizada quando o usuário não digitar nada no Bloco de URA
optioni: Objeto informando a ação a ser realizada quando o usuário digitar uma opção que não tiver uma ação configurada
status: Status do Registro: 0 - Inativo | 1 - Ativo
A chamada para obter os dados da consulta, é realizado utilizando um HTTP GET para o endereço de consumo da API. Um exemplo de chamada a essa API seria:
Exemplo de chamada a API utilizando cURL $ curl -X GET 'https://sip.nextbilling.com.br/api/manageIvr/7cb40d54-4ebf-55a6-875a-5f57234e97cc-9990/b12c87a7-6dd6-5f99-9b47-c7c3be66fe73-8629/0?id_record=0
|
Utilizando essa chamada, você obteria o retorno em JSON semelhante a saída a seguir:
Retorno JSON
{
"error":0,
"reason":"OK",
"records": 1,
"data":[
{
"id": "26",
"id_cliente": 9,
"descricao": "Ura de Teste 1",
"timeout_response": 10,
"timeout_digit": 3,
"perfil_horario": {
"id": 3,
"descricao": "Criado via API"
},
"audio_invalido": {
"id": 3,
"descricao": "Audio Teste 1"
},
"audio_timeout": {
"id": 3,
"descricao": "Audio Teste 1"
},
"have_question": 1,
"audio_question": {
"id": 3,
"descricao": "Audio Teste 1"
},
"closed_audio": {
"id": 3,
"descricao": "Audio Teste 1"
},
"closed_action": {
"action": "voicemail",
"action_data": {
"id": 21,
"desc": "SIP\/fernando1 ==> 1896"
}
},
"action1": {
"action": "background",
"action_data": {
"id": 3,
"desc": "Audio Teste 1"
}
},
"option0": {
"action": "execute_invalid",
"action_data": []
},
"option1": {
"action": "queue",
"action_data": {
"id": 33,
"desc": "Fila API - Full"
}
},
"option2": {
"action": "dial",
"action_data": {
"id": 20,
"desc": "SIP\/fernando3 ==> 64726"
}
},
"option3": {
"action": "voicemail",
"action_data": {
"id": 18,
"desc": "SIP\/fernando_telip ==> 3195322"
}
},
"option4": {
"action": "execute_invalid",
"action_data": []
},
"option5": {
"action": "execute_invalid",
"action_data": []
},
"option6": {
"action": "execute_invalid",
"action_data": []
},
"option7": {
"action": "execute_invalid",
"action_data": []
},
"option8": {
"action": "execute_invalid",
"action_data": []
},
"option9": {
"action": "execute_invalid",
"action_data": []
},
"option_star": {
"action": "execute_invalid",
"action_data": []
},
"option_hash": {
"action": "execute_invalid",
"action_data": []
},
"optiont": {
"action": "queue",
"action_data": {
"id": 32,
"desc": "Fila API 3"
}
},
"optioni": {
"action": "hangup",
"action_data": []
},
"status": 1
}
]
}
Campo | Descrição |
---|---|
error | 1 em caso de erro |
reason | Descrição caso tenha ocorrido algum erro |
records | Total de Registros encontrados na pesquisa sem a paginação solicitada |
data.id_cliente | ID do Assinante |
data.size | Tamanho do Arquivo de Audio em bytes |
data.duration | Duração do Arquivo em Segundos |
data.is_moh | 0 - Arquivos de Audio | 1 - Música de Espera |
Alterando um Menu de URA (IVR)
Endereço de Chamada da API
POST /api/manageIvr/API_TOKEN/API_KEY/0?id_record=23
Este Ponto de Acesso permite que você altere um registro do sistema. Os campos necessários para atualizar um registro estão relacionados na Tabela 1 desse manual.
Exclusão de um Menu de URA (IVR)
Este Ponto de Acesso permite que você remova um Registro do Sistema.