Hoiio Open API




app_id* string
Application ID assigned to your application.
access_token* string
Access Token assigned to your application.
session* string
The unique session ID for this particular call.
msg string
The message that you want to play after the call is answered. Max 1000 characters. Languages and Gender To change the language or gender, use the <speech> markup. E.g. <speech language="zh-HK" gender="female">請稍等,我們正在處理您的訂單。</speech> Default language is English and default gender is Female. For the list of supported language and gender, please refer to Text-to-Speech for more details. Custom Recordings If you would like to use your own voice recordings or voice messages recorded via the Record block, use the <url> markup to specify a file for us to use. We will download the file and use it as the voice message. E.g. <url>https://example.com/myrecording.mp3</url> Only HTTP and HTTPS URL are supported. Supported file formats are .mp3, .wav and .gsm (8000 Hz, mono channel). File size must be 10MB or less. Note: There might be a slight delay when downloading the file for the first time. To enable us to cache your file locally for subsequent calls, please include the "Last-Modified" HTTP header. Subsequent calls will not have the delay if we are able to cache your file. If you have updated your file, make sure your file hosting web server respond to our HTTP header "If-Modified-Since" in our request with a "304 Not Modified".

Result Format



The Hold block puts an IVR session on hold and continuously plays the given message on a loop. If no message is provided, a default on hold music is played continuously.

To continue, you must invoke the Unhold block. Invoking any other block will result in the error code error_session_not_ready.

Response Parameters

status The result of your request. Refer to Result Status for details.

Result Status

success_ok The request has been processed successfully.
error_invalid_http_method Invalid HTTP method. Only GET or POST are allowed.
error_malformed_params HTTP POST request parameters contains non-readable bytes.
error_X_param_missing A required parameter is missing. X is the name of the parameter that is missing.
error_invalid_access_token Your Access Token is invalid, expired or has been revoked.
error_invalid_app_id Your Application ID is invalid or has been revoked.
error_msg_invalid_length Your msg parameter is too long, must be 500 characters or less.
error_msg_cannot_convert_text There was an error converting msg parameter to speech. Make sure you have selected the correct langauge.
error_msg_download_failed There was an error downloading the custom speech file from your URL.
error_msg_invalid_file_format The custom speech file format is not supported or it has the wrong filename extension. Only .mp3, .wav and .gsm files are supported.
error_msg_invalid_file_size The custom speech file size must be 10MB or less.
error_msg_invalid_url The URL for the custom speech file is invalid.
error_msg_invalid_language The language for msg parameter is not supported. For the list of supported languages, please refer to Text-to-Speech for more details.
error_msg_invalid_gender The gender for msg parameter is not supported. For the list of supported genders, please refer to Text-to-Speech for more details.
error_msg_invalid_xml The XML syntax for msg parameter is invalid.
error_invalid_session The session is invalid.
error_session_access_denied You do not have access to this session.
error_session_ended The session is ended or expired.
error_session_not_ready The session is not ready for a this request as we are still processing your previous request. You should only send another request when you receive the post notification at the notify_url for the previous request.
error_rate_limit_exceeded You have exceeded your request limit for this API. Refer to API Limits for details.
error_internal_server_error There is an unexpected error. Please contact Hoiio support for assistance.



API Limits



The prevailing incoming or outgoing call rate applies. See Charges for Answer and Dial block for details.

If you use the Transfer block later on in this call, an additional outgoing call rate (depending on the destination number of the transfer) will be charged. For details of the incoming and outgoing call rate, please refer to the Pricing Section.