Envio de Áudio

Envio de Áudio

 

Visão Geral

Este endpoint permite o envio (upload), processamento e cadastro automático de arquivos de áudio e música de espera (MOH) na plataforma NextBilling. O sistema realiza automaticamente a conversão dos arquivos para os formatos exigidos pela telefonia (WAV/RAW).

Recursos Disponíveis

  • Upload de arquivos de áudio via API (Multipart/Form-Data).

  • Conversão automática de MP3 para RAW (8kHz, Mono, Signed-Integer).

  • Classificação entre Áudio Padrão (URA/Mensagens) e Música de Espera (MOH).

  • Recarregamento automático do serviço de MOH no Asterisk (se aplicável).

Endpoints Principais

Enviar Arquivo de Áudio (POST)

POST /api/audio/upload/{API_TOKEN}/{API_KEY}

Nota: Este endpoint requer o envio de dados como multipart/form-data.

Parâmetros do Corpo (Body Parameters):

Parâmetro

Tipo

Obrigatório

Descrição

client_id

integer

Sim

ID do cliente (assinante) vinculado ao áudio.

file

file

Sim

O arquivo de áudio. Apenas formato .mp3.

description

string

Não

Descrição/Nome amigável para o arquivo. Se omitido, será gerado automaticamente.

is_moh

integer

Não

Define o tipo de arquivo.

 

0 = Áudio Padrão (Mensagem/URA) - Default

 

1 = Música de Espera (MOH).

status

integer

Não

Define o status inicial.

 

1 = Ativo - Default

 

0 = Inativo.

Exemplo de Requisição (cURL):

Bash
curl -X POST \ 'https://sip.nextrouter.com.br/api/audio/upload/TOKEN/KEY' \ -H 'Content-Type: multipart/form-data' \ -F 'client_id=100' \ -F 'description=Audio Promocional Natal' \ -F 'is_moh=0' \ -F 'status=1' \ -F 'file=@/caminho/para/meuarquivo.mp3'

Resposta de Sucesso (200 OK):

JSON
{ "error": false, "success": true, "msg": "Arquivo enviado e processado com sucesso.", "data": { "id": 542, "file_name": "AUDIO_100-aB3dE9fG2h1", "duration": 45 } }

Resposta de Erro de Validação (200 OK com flag de erro):

JSON
{ "error": true, "msg": "Apenas arquivos MP3 são permitidos." }

Campos da Resposta

Campo

Tipo

Descrição

error

boolean

Indica se houve falha na operação (false = sucesso).

success

boolean

Confirmação da operação (true = sucesso).

msg

string

Mensagem descritiva do resultado.

data

object

Objeto contendo os metadados do arquivo criado.

data.id

integer

ID único do áudio gerado no banco de dados (tbaudio).

data.file_name

string

Nome interno do arquivo gerado no servidor (sem extensão).

data.duration

integer

Duração do áudio em segundos.

Tratamento de Erros

Código HTTP

Status

Causa Provável

403

Forbidden

Token inválido ou usuário sem permissão de escrita no módulo manutAudio.

500

Internal Server Error

Falha de permissão no diretório do servidor, erro na conversão (Lame/SoX) ou falha ao salvar no banco de dados.

Limitações e Boas Práticas

  • Formato de Arquivo: O sistema aceita apenas arquivos com extensão .mp3. Outros formatos serão rejeitados.

  • Conversão: O upload pode levar alguns segundos dependendo do tamanho do arquivo, pois o servidor realiza a conversão MP3 -> WAV -> RAW em tempo real.

  • Permissões: Certifique-se de que o usuário da API possui a permissão de escrita (W) habilitada no perfil de acesso.

  • Asterisk: Se is_moh=1, o comando moh reload é enviado automaticamente ao Asterisk. Evite uploads massivos simultâneos de MOH para não sobrecarregar o serviço de telefonia.