Gerenciamento de Áudio
🎧 API de Gerenciamento de Áudio
Esta API permite listar, enviar, atualizar e excluir arquivos de áudio e músicas de espera (MOH) para os assinantes.
🔐 Autenticação e Base URL
Todas as requisições devem seguir o formato de URL do seu sistema:
URL Base: http://seu.ip/api/manageAudio/<action>/<TOKEN>/<KEY>
1. Listar Áudios
Retorna a lista de áudios disponíveis com base no nível de permissão do token.
Método:
GETAction:
getParâmetros Query:
id_record(Opcional): ID específico de um áudio.id(Na URL, Opcional): ID do cliente (para Admin).
Exemplo de Chamada:
Bashcurl -X GET "http://seu.ip/api/manageAudio/get/TOKEN/KEY?id_record=10"
2. Enviar (Criar) Novo Áudio
Realiza o upload, conversão automática para o padrão de telefonia (RAW 8kHz Mono) e extração de duração.
Método:
POSTAction:
updateCorpo (form-data):
| Campo | Tipo | Descrição |
| :--- | :--- | :--- |
|
action| string | Obrigatório. Usecreate. ||
id_cliente| int | Obrigatório. ID do assinante dono do áudio. ||
file| file | Obrigatório. Arquivo binário.mp3. ||
descricao| string | Nome identificador do áudio. ||
is_moh| int |1para Música de Espera,0para Áudio Comum. ||
status| int |1para Ativo,0para Inativo. |
Exemplo de Chamada:
Bashcurl -X POST "http://seu.ip/api/manageAudio/update/TOKEN/KEY" \
-F "action=create" \
-F "id_cliente=1" \
-F "descricao=Audio de Saudacao" \
-F "is_moh=0" \
-F "file=@meu_audio.mp3"
3. Atualizar Áudio Existente
Altera os dados de um áudio já cadastrado ou substitui o arquivo físico.
Método:
POSTAction:
updateCorpo (form-data):
action:updateid_record: ID do áudio que será alterado.file(Opcional): Se enviado, o sistema substitui o áudio antigo e reprocessa a conversão.
4. Excluir Áudio
Remove o registro do banco de dados e apaga os arquivos físicos (.mp3 e .raw) do servidor.
Método:
DELETE(ouGETcom action delete, dependendo da rota)Action:
deleteParâmetros Query:
id_record: ID do áudio a ser excluído.
Exemplo de Chamada:
Bashcurl -X DELETE "http://seu.ip/api/manageAudio/delete/TOKEN/KEY?id_record=15"
5. Download de Áudio
Baixa o arquivo físico original do servidor.
Método:
GETAction:
getParâmetros Query:
id_record: ID do áudio.is_download:1
🛠️ Detalhes do Processamento Interno (Workflow)
Quando você envia um arquivo para esta API, ela executa silenciosamente o seguinte fluxo de engenharia de áudio:
Storage Temporário: O arquivo é movido para
/dev/shm(memória RAM) para alta performance.Decodificação: Executa o
lame --decodepara transformar MP3 em WAV.Resampling: Executa o
soxpara converter o WAV para RAW, 8000Hz, Mono, 16-bit.Organização de Pastas: O MP3 original fica na raiz do ID do cliente e o RAW vai para as pastas
/rawou/moh.Indexação: A duração é calculada pela classe
MP3Filee salva no bancotbaudio.
⚠️ Códigos de Erro Comuns (reason)
Reason | Motivo |
| Erro genérico (Verifique permissões de pasta ou binários LAME/SOX). |
| Token ou Key inválidos. |
| O arquivo não é um MP3 válido ou está vazio. |
| O |
| O |