Gerenciamento de Grupos de Captura (ManageCallGroups)
Este endpoint é responsável pelo CRUD (Leitura, Criação, Atualização e Exclusão) dos Grupos de Captura (Call Groups / Pickup Groups) de um cliente. Ele permite definir quais ramais tocam/podem ser capturados (ring_group) e quais ramais têm permissão para puxar a ligação (pickup_group).
🔐 Autenticação e Base URL
Todas as requisições requerem autenticação passando o Token e a Key da API diretamente na URL.
Formato Base: {{base_url}}/api/ManageCallGroups/{{api_token}}/{{api_key}}/
📌 Mapeamento de Métodos
- GET: Ler / Listar Grupos de Captura
- PUT: Criar novo Grupo de Captura
- POST: Atualizar Grupo existente
- DELETE: Excluir Grupo
1. Listar / Obter Grupos (GET)
Retorna os grupos de captura de um cliente específico. Pode retornar todos os grupos do cliente ou um grupo específico se o id_record for fornecido.
- Método:
GET - Rota:
{{base_url}}/api/ManageCallGroups/{{api_token}}/{{api_key}}/{id_cliente} -
Parâmetros da Rota:
-
{id_cliente}(int): ID do Cliente dono do grupo. -
Query Params (Opcional):
-
?id_record={id_record}(int): ID específico do grupo que deseja filtrar.
Exemplo de Resposta (Sucesso):
{
"error": 0,
"reason": "OK",
"records": 1,
"data": [
{
"id": "15",
"id_cliente": "210",
"descricao": "Grupo Comercial",
"status": "1",
"ring_group": [
{
"id_ramal": "1050",
"ramal": "SIP/2101",
"status_ramal": "1"
}
],
"pickup_group": [
{
"id_ramal": "1055",
"ramal": "SIP/2105",
"status_ramal": "1"
}
]
}
]
}
2. Criar Grupo de Captura (PUT)
Cria um novo grupo de captura e vincula os ramais desejados.
- Método:
PUT - Rota:
{{base_url}}/api/ManageCallGroups/{{api_token}}/{{api_key}}/{id_cliente} -
Parâmetros da Rota:
-
{id_cliente}(int): ID do Cliente.
Payload (JSON):
Atenção: Os arrays ring_group e pickup_group esperam o ID numérico do ramal (ID da tabela devices), não o nome/número do ramal.
{
"id_cliente": 210,
"descricao": "Grupo Suporte",
"status": 1,
"ring_group": [1050, 1051, 1052],
"pickup_group": [1055, 1056]
}
ring_group: Ramais que pertencem ao grupo e podem ser capturados quando tocarem.pickup_group: Ramais que têm permissão para capturar as ligações dos ramais doring_group.
Exemplo de Resposta (Sucesso):
3. Atualizar Grupo de Captura (POST)
Atualiza os dados de um grupo já existente. Se as listas ring_group ou pickup_group forem enviadas, os ramais antigos do grupo serão substituídos pela nova lista.
- Método:
POST - Rota:
{{base_url}}/api/ManageCallGroups/{{api_token}}/{{api_key}}/{id_cliente}?id_record={id_record} -
Parâmetros da Rota:
-
{id_cliente}(int): ID do Cliente. -
Query Params (Obrigatório):
-
?id_record={id_record}(int): ID do Grupo de Captura que será alterado.
Payload (JSON):
Você pode enviar apenas os campos que deseja alterar.
{
"descricao": "Grupo Comercial - Atualizado",
"status": 1,
"ring_group": [1050, 1051],
"pickup_group": [1055]
}
Exemplo de Resposta (Sucesso):
4. Excluir Grupo de Captura (DELETE)
Exclui um grupo de captura do sistema.
- Método:
DELETE - Rota:
{{base_url}}/api/ManageCallGroups/{{api_token}}/{{api_key}}/{id_cliente}?id_record={id_record} -
Parâmetros da Rota:
-
{id_cliente}(int): ID do Cliente. -
Query Params (Obrigatório):
-
?id_record={id_record}(int): ID do Grupo de Captura a ser excluído.
Exemplo de Resposta (Sucesso):
🛑 Tabela de Códigos de Erro (reason)
Em caso de falha, a API retorna o HTTP Status apropriado, error: 1 e uma das reasons abaixo:
| Reason | Descrição |
RECORD_NOT_FOUND |
Grupo de Captura não encontrado, ou id_record não foi fornecido onde era obrigatório. |
INVALID_CUSTOMER |
ID do Cliente passado na URL é inválido, vazio ou igual a zero. |
CUSTOMER_NOT_FOUND |
Cliente não encontrado ou usuário autenticado não tem permissão para gerenciar este cliente. |
CUSTOMER_INVALID |
ID do Cliente não foi enviado no payload (corpo do JSON) durante a criação. |
INVALID_DATA |
Dados obrigatórios faltando (ex: descricao na criação). |
MALFORMED_REQUEST |
O corpo da requisição (Payload JSON) é inválido ou está mal formatado. |