

Global Coverage
Covering local and international voice routes in multiple countries and regions, our platform intelligently selects the optimal route based on the target area, ensuring users around the world enjoy high call completion rates, low latency, and crystal-clear audio quality.
High-Quality Voice Routes
Powered by multiple premium carrier routes and intelligent routing strategies, the system achieves fast call setup and stable transmission, delivering smooth, clear audio while reducing jitter and call drops.


Customizable Prompts & Voice Settings
Flexibly adjust speech rate, volume, pitch, and pauses. Support both text‑to‑speech (TTS) and pre‑recorded audio playback or mixed usage, allowing you to build a voice experience that truly matches your brand identity.
Real-Time Callbacks & Analytics
End‑to‑end event callbacks and reporting cover call status, answer results, duration, failure reasons, and more. This enables you to monitor operations, analyze performance, and continuously optimize your communication strategies.


Security & Compliance
Number masking, rate limiting, black/white lists, and content control help you comply with privacy and regulatory requirements in multiple countries and regions. The platform is suitable for high‑risk scenarios such as finance, internet services, and other sensitive industries.
- TTS Voice MessagingWith TTS (Text‑to‑Speech), preset text is converted into high‑quality audio in real time and delivered to users via automated outbound calls. This is ideal for verification codes (OTP), critical alerts, and any must‑deliver information.
- PML Programmable VoicePML Programmable Voice lets you design highly customized voice flows, including outbound, inbound, IVR (Interactive Voice Response), real‑time multilingual translation, call recording, and fine‑grained call control—delivering a flexible and efficient voice communication experience.
Voice Verification Code
Convert text-based verification codes into spoken audio and play them to users via automatic outbound calls.


Voice Messages
Convert text content into speech and automatically dial the user’s phone number to play it back.
" Hello, this is PaaSoo. Your verification code is: 600352. "

Getting Started
Prepare text/audio content and business variables (e.g., name, verification code, order ID)
Select language, voice type, and playback parameters (speed / pitch / pause)
Call the API or send voice messages via the self-service console
API Link
All PaaSoo services are accessible using either HTTP or HTTPS. However, for security reasons, we highly recommend all our customers to use the HTTPS protocol.
- Java
- PHP
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Java code example for SMS HTTP API
* Voice API
* Based on Apache HttpClient 4.X
*/
public class JavaSmsApi {
// Encoding format. UTF-8 is uniformly used for sending encoding
private static String ENCODING = "UTF-8";
// Voice URL
private static String URI_VOICE_TTS = "https://api.paasoo.com/voice/tts";
public static void main(String[] args) throws Exception {
// Parameters
String key = "********";
String secret = "********";
String from = "********";
String to = "********";
String text = "********";
String lang = "********";
String repeat = "********";
String voice = "********";
/**************** Voice API invocation example *****************/
System.out.println(JavaSmsApi.getVoiceTts(key, secret, from, to, text, lang, repeat, voice));
}
/**
* Voice API
* @param key API Account
* @param secret API Password
* @param from Caller ID
* @param to Destination number
* @param lang Language of the voice message received by the recipient
* @param text Message content
* @param repeat Number of times the message is broadcast
* @param voice Voice
* @return json Formatted string
* @throws Exception
*/
public static String getVoiceTts(String key, String secret, String from, String to, String text, String lang, String repeat, String voice) throws Exception {
Map<String, String> params = new HashMap<String, String>();
params.put("key", key);
params.put("secret", secret);
params.put("from", from);
params.put("to", to);
params.put("text", text);
params.put("lang", lang);
params.put("repeat", repeat);
params.put("voice", voice);
return get(URI_VOICE_TTS, params);
}
/**
* Generic GET method based on HttpClient 4.X
*
* @param url Request URL
* @param paramsMap Submitted <Parameter Value> Map
* @return Response
*/
public static String get(String url, Map<String, String> paramsMap) throws Exception {
CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse response = null;
InputStream is = null;
try {
List<NameValuePair> params = new ArrayList<NameValuePair>();
for (Map.Entry<String, String> param : paramsMap.entrySet()) {
NameValuePair pair = new BasicNameValuePair(param.getKey(), param.getValue());
params.add(pair);
}
String str = EntityUtils.toString(new UrlEncodedFormEntity(params, ENCODING));
HttpGet httpGet = new HttpGet(url + "?" + str);
response = httpClient.execute(httpGet);
HttpEntity entity = response.getEntity();
String result = EntityUtils.toString(entity);
return result;
} catch (Exception e) {
e.printStackTrace();
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (response != null) {
try {
response.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (httpClient != null) {
try {
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return null;
}
}
Tell us your target regions and business scenarios, and we will provide the most suitable routes and pricing for your needs
Please contact us for more details

