📄 Documentação da API: Gerenciar DIDs (ManageDID)
Visão Geral
A API de Gerenciamento de DIDs (Controller_Api_ManageDID) permite o controle completo de Números Entrantes (DIDs) no sistema Voipper. Através dela, é possível listar, criar, editar e excluir as rotas e configurações de entrada.
Base URL: /api/manageDID/{api_token}/{api_key}/
🔀 Endpoints Disponíveis
| Método | Endpoint | Ação |
| GET | api/manageDID/{api_token}/{api_key}/{id} |
Lista os DIDs cadastrados. Se o {id} for omitido, lista todos. |
| PUT | /api/manageDID/{api_token}/{api_key}/{id} |
Cria um novo DID no sistema via Payload/JSON. |
| POST | /api/manageDID/{api_token}/{api_key}/{id} |
Atualiza os dados e roteamento de um DID existente. |
| DELETE | /api/manageDID/{api_token}/{api_key}/{id} |
Remove o DID do sistema. |
📥 Consultar DIDs (GET)
Este endpoint retorna a árvore de clientes e os seus respectivos DIDs. Ele foi recentemente atualizado para retornar informações detalhadas sobre o destino de rotas (especialmente Linhas IP).
Exemplo de Resposta (JSON):
{
"error": 0,
"reason": "OK",
"records": 1,
"data": [
{
"id": 210,
"nome_fantasia": "CLIENTE TESTE",
"status": 1,
"records": 1,
"data": [
{
"id": 737,
"description": "teste registro did",
"did_number": "552130900017",
"did_type": "1",
"did_type_name": "call_device",
"did_premium": "0",
"status": 1,
"device_id": 498,
"device_destination": "SIP/9907"
}
]
}
]
}
📋 Dicionário de Dados (Novos Campos)
Para facilitar a integração com o Front-end e painéis de terceiros, o array de resposta dos DIDs agora conta com os seguintes campos:
device_id: Retorna o ID interno do dispositivo (Linha IP) atrelado ao DID. Útil para carregar o destino selecionado em formulários de edição. Retorna0se não houver linha atrelada.device_destination: Retorna a string exata do destino formatada (ex:SIP/9907). Ideal para exibição visual nas tabelas (coluna "Info"). Retornanullse não houver linha.did_type_name: Label em string que descreve a funcionalidade do DID, eliminando a necessidade de mapear IDs numéricos no front-end.
🏷️ Mapeamento de Funcionalidades (did_type e did_type_name)
Abaixo está a tabela de referência de todos os tipos de roteamento/funcionalidade que um DID pode assumir no sistema:
| did_type (Int) | did_type_name (String) | Descrição no Painel |
| 0 | ip_forward |
Encaminhar por IP (Padrão) |
| 1 | call_device |
Chamar Linha IP |
| 2 | voice_portal |
Portal de Voz |
| 3 | callingcard |
CallingCard |
| 4 | extension_menu |
Menu Ramal |
| 5 | queue |
Fila de Atendimento |
| 6 | ivr |
Menu de URA (IVR) |
| 7 | free_callback |
Callback Livre |
| 8 | auth_callback |
Callback Auth |
| 9 | reverse_ivr |
Menu de URA Reversa |
📝 Notas de Implementação
- Para criar (
PUT) ou atualizar (POST) um DID com roteamento do tipocall_device(1),extension_menu(4),free_callback(7) oureverse_ivr(9), é obrigatório o envio do parâmetrodevice_idcontendo um ID válido da tabeladevices. - A API valida automaticamente se o
device_idfornecido existe e pertence ao domíniodynamic.
Pronto! Só copiar tudo isso (incluindo os # e as tabelas) e colar na página do Confluence. O editor deles vai converter automaticamente para o formato visual bonitão. Mandou benzão demais nessa task!