Reach over 900 Million users with Viber. Viber Messaging allows you to send messages of up to 1000 characters without any symbol and encoding restrictions.
You may add to your text to an image, a button to a personal page, a link, stickers, emoticons, video and voice, delivered to every country of the world.
Exceed SMS limitations for length and interactivity. Deliver messages with fallback to SMS if your customers dont support Viber.
Pay only for a delivered message. At a fixed price.
No contracts, no commitments, pay only for what you use. In case of high volume SMS API usage, our sales team is prepared to give out additional discounts. Contact us to for more details.
SMS
Send
Receive
Free
Viber
Contact us for prices
WhatsApp
Download prices for all countries
Integrate with SMS.to powerful Viber Messaging API
curl --location 'https://api.sms.to/viber/send' \ --header 'Authorization: Bearer <api_key>' \ --header 'Content-Type: application/json' \ --data '{ "message": "This is a test message", "to": "+35799999999999", "callback_url": "https://example.com/callback/handler", "viber_image_url": "https://example.com/callback/handler", "viber_target_url": "https://example.com/callback/handler", "viber_caption": "Test" }'
<?php $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => 'https://api.sms.to/viber/send', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS =>'{ "message": "This is a test message", "to": "+35799999999999", "callback_url": "https://example.com/callback/handler", "viber_image_url": "https://example.com/callback/handler", "viber_target_url": "https://example.com/callback/handler", "viber_caption": "Test" }', CURLOPT_HTTPHEADER => array( 'Authorization: Bearer <api_key>', 'Content-Type: application/json' ), )); $response = curl_exec($curl); curl_close($curl); echo $response;
var https = require('follow-redirects').https; var fs = require('fs'); var options = { 'method': 'POST', 'hostname': 'api.sms.to', 'path': '/viber/send', 'headers': { 'Authorization': 'Bearer <api_key>', 'Content-Type': 'application/json' }, 'maxRedirects': 20 }; var req = https.request(options, function (res) { var chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function (chunk) { var body = Buffer.concat(chunks); console.log(body.toString()); }); res.on("error", function (error) { console.error(error); }); }); var postData = JSON.stringify({ "message": "This is a test message", "to": "+35799999999999", "callback_url": "https://example.com/callback/handler", "viber_image_url": "https://example.com/callback/handler", "viber_target_url": "https://example.com/callback/handler", "viber_caption": "Test" }); req.write(postData); req.end();
require "uri" require "json" require "net/http" url = URI("https://api.sms.to/viber/send") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Post.new(url) request["Authorization"] = "Bearer <api_key>" request["Content-Type"] = "application/json" request.body = JSON.dump({ "message": "This is a test message", "to": "+35799999999999", "callback_url": "https://example.com/callback/handler", "viber_image_url": "https://example.com/callback/handler", "viber_target_url": "https://example.com/callback/handler", "viber_caption": "Test" }) response = https.request(request) puts response.read_body
import http.client import json conn = http.client.HTTPSConnection("api.sms.to") payload = json.dumps({ "message": "This is a test message", "to": "+35799999999999", "callback_url": "https://example.com/callback/handler", "viber_image_url": "https://example.com/callback/handler", "viber_target_url": "https://example.com/callback/handler", "viber_caption": "Test" }) headers = { 'Authorization': 'Bearer <api_key>', 'Content-Type': 'application/json' } conn.request("POST", "/viber/send", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
OkHttpClient client = new OkHttpClient().newBuilder() .build(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\r\n \"message\": \"This is a test message\",\r\n \"to\": \"+35799999999999\",\r\n \"callback_url\": \"https://example.com/callback/handler\",\r\n \"viber_image_url\": \"https://example.com/callback/handler\",\r\n \"viber_target_url\": \"https://example.com/callback/handler\",\r\n \"viber_caption\": \"Test\"\r\n}"); Request request = new Request.Builder() .url("https://api.sms.to/viber/send") .method("POST", body) .addHeader("Authorization", "Bearer <api_key>") .addHeader("Content-Type", "application/json") .build(); Response response = client.newCall(request).execute();
package main import ( "fmt" "strings" "net/http" "io/ioutil" ) func main() { url := "https://api.sms.to/viber/send" method := "POST" payload := strings.NewReader(`{`+" "+` "message": "This is a test message",`+" "+` "to": "+35799999999999",`+" "+` "callback_url": "https://example.com/callback/handler",`+" "+` "viber_image_url": "https://example.com/callback/handler",`+" "+` "viber_target_url": "https://example.com/callback/handler",`+" "+` "viber_caption": "Test"`+" "+` }`) client := &http.Client { } req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println(err) return } req.Header.Add("Authorization", "Bearer <api_key>") req.Header.Add("Content-Type", "application/json") res, err := client.Do(req) if err != nil { fmt.Println(err) return } defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) if err != nil { fmt.Println(err) return } fmt.Println(string(body)) }