

Global Coverage
Covering 200+ countries and regions, our platform supports local sender numbers and multilingual content, and partners closely with global carriers and premium routes to ensure fast and reliable SMS delivery across the world.
Direct-to-Carrier Connectivity
By establishing direct connections with both international and local mobile network operators worldwide, we minimize intermediaries, reduce latency and delivery failures, and leverage intelligent routing to automatically select the optimal route for each message.


High Conversion Rates
Leveraging multiple channels with AI-powered intelligent routing, automatic rerouting on multi-route failures, and network-level smart switching based on delivery success rates, we provide robust operational assurance for your business, significantly boosting user engagement conversion and overall business performance.
Visual Analytics
We provide real-time dashboards and detailed reports on delivery rates, click‑through rates, and conversion / callback rates, with support for failure‑reason analysis and data export, enabling fine‑grained, data‑driven operations and decision‑making.


Stability & Reliability
With multi‑route redundancy and failover mechanisms, combined with 24/7 system monitoring and concurrent processing capabilities, our international SMS service is engineered for long‑term stable operation.
Secure Data, Professional Service
We strictly comply with applicable data protection laws and industry standards, using AES 256‑bit encryption and HTTPS (TCP + TLS 1.2) to protect sensitive data in transit, combined with fine‑grained access control to ensure data security and governance.

Use Cases
Verification Code

System Notifications

Campaigns & Marketing

Getting Started
Start sending SMS in just a few simple steps—easy to set up, efficient to use.
Register and complete enterprise verification
Obtain your API Key and API Secret
Configure SMS signatures and templates
Call the API / send 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.
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 sample for SMS HTTP API
* SMS Sending API
* Based on Apache HttpClient 4.X
*/
public class JavaSmsApi {
// Encoding format. Use UTF-8 for all transmissions
private static String ENCODING = "UTF-8";
// SMS sending URL
private static String URI_GET_SEND_SMS = "https://api.paasoo.com/json";
public static void main(String[] args) throws Exception {
String key = "********";
String secret = "********";
String from = "********";
String to = "********";
String text = "********";
/**************** SMS Sending API invocation sample *****************/
System.out.println(JavaSmsApi.getSendSms(key, secret, from, to, text));
}
/**
* Send SMS
*
* @param key API Account
* @param secret API Password
* @param from SenderID
* @param to Destination Number
* @param text Message Content
* @return json Format String
* @throws Exception
*/
public static String getSendSms(String key, String secret, String from, String to, String text) 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);
return get(URI_GET_SEND_SMS, params);
}
/**
* Generic GET method based on HttpClient 4.X
*
* @param url Submitted URL
* @param paramsMap Submitted <Parameter, Value> Map
* @return Submission 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;
}
}
Reference price: 0.01 EUR / Message