Jump to content

TuCloudAPI uploadlocution

From Wiki 7Kas

TuCloudAPI function to manage FuturePBX (the cloud PBX). Available to: SuperRoot, Operator, Client.

ℹ Requires the pbx parameter (the PBX name, e.g. tucall). The server verifies that your ukey's own account owns that PBX, whatever its role; otherwise, and also for a PBX that does not exist, it returns {"ok":false,"code":"forbidden"}.

Description

Sube un fichero de audio y lo deja COMO el audio de una locucion. El fichero va en el CUERPO de un POST, y el resto de parametros en la query. Se admiten dos envios: multipart/form-data (se toma la parte que declare filename=, el nombre del campo da igual) o el cuerpo entero como fichero con cualquier otro Content-Type. El servidor CONVIERTE siempre, sea cual sea el formato de entrada (wav, mp3, ogg, flac, m4a...), al unico que reproduce la centralita, y escribe en el arbol del root que corresponde a la PBX: el portal no decide formato ni ruta. NO sustituye la locucion: la deja PENDIENTE DE ACEPTAR y devuelve el audio YA CONVERTIDO en base64 para escucharlo. Aqui esto importa aun mas que en la sintesis, porque el audio se transcodifica a 8 kHz mono y lo que suena NO es lo que se subio: puede quedar bastante peor de lo esperado, y eso solo se juzga oyendolo. Se sustituye en commitlocution, y es ahi donde se retiran los formatos antiguos y se vacian tts_text/tts_voice. La pendiente CADUCA sola a los 60 minutos. Requiere ukey de escritura. Tamano maximo del cuerpo: [SERVICE] max_body_size (16 MB por omision); por encima se responde body_too_large.

Call

https://tucloudapi.7kas.com:9087/tucloud?func=uploadlocution&ukey=YOUR_KEY&pbx=PBX_NAME

GET, or POST with the parameters form-urlencoded in the body. Requires the ukey parameter. Always HTTP 200; the response is a JSON envelope.

Parameters

Parameter Type Required Default Meaning
pbx string Yes — FuturePBX NAME (e.g. tucall). The (ukey, pbx) pair is the tenant boundary; the server verifies the ukey owns this PBX.
id integer Yes — Id de la locucion (_id).

Example

curl -X POST -F "file=@aviso.mp3" "https://tucloudapi.7kas.com:9087/tucloud?func=uploadlocution&ukey=KEY&pbx=tucall&id=123"

Response

{ok, preview:{_id,source:"upload",mime,format,bytes,seconds,expires_in_minutes,audio_url,audio_b64}} o {ok:false,invalid_param|not_found|no_file|bad_audio|io_error|body_too_large}.

Errors

Always HTTP 200. On failure the body is {"ok":false,"code":"...","message":"..."}. Common codes: missing_pbx, forbidden, invalid_param, not_found, conflict, in_use, db_error, server_busy; the Response section above lists any specific to this function.


Back to TuCloudAPI