Community & Resources
Shiftmag
Newsletter & magazine for developers
Shift conference
Leading developers conference in Southern Europe
Products
Solutions
Industry verticals
Finance
Reassure customers with secure interactions
Retail & eCommerce
Boost conversion and increase customer loyalty
Telecoms
Build superior CX solutions across the entire telecom customer journey
Healthcare
Deliver a fast, convenient patient experience in-person or at home
Transportation
Deliver superior transportation and logistics customer experience
Government solutions
Transforming citizen engagement with AI
Department
Marketing
Unleash the power of omnichannel marketing automation
Sales
Optimize your sales with intelligent automation
Customer service
Provide efficient customer service on the most popular channels
Telecoms
Telecom core & security
Anam Protect Firewall
Secure your network from SMS and Voice fraud with our firewall that protects 120+ operators
SMS Firewall
Ensure all A2P SMS traffic is properly charged and eliminate revenue leakage with our SMS Firewall
Networks APIs
Tap into the core of telecom networks, and deliver unparalleled customer experiences
Global Interconnectivity
Leverage RCS for telecoms to increase connectivity globally
Partnership
Developers
Community & Resources
Shiftmag
Newsletter & magazine for developers
Shift conference
Leading developers conference in Southern Europe
Resources
Date
Title
Easily build and deploy Viber chatbots
Design Viber Bots for any use case using a simple code-free interface or API integration.
Discover what you can do with Viber Bots
Discoverability
Enable customers and prospects to find your Viber chatbot from the app’s search bar and Explore screen.
Ultimate flexibility
Offer online services, manage customer relationships, distribute games, launch polls, and more with Viber Bots’ diversity of message formats.
Easy opt-in
Automatically opt-in users that make contact through your Viber Bots channel and provide options to manage their communication preferences.
Custom keyboards
Define custom keyboards that display a set of replies that users can select from to enable quick exchanges and improve the user experience.
Maximize customer satisfaction with Viber chatbots
Native integrations with Infobip Conversations and Answers , you can provide effective and convenient customer support by combining the strengths of AI chatbots and human agents for a 24/7 service.
Conversations
Manage all your Viber messages from a unified workspace where your team can access conversation history, customer profiles, message templates, and more for contextual and personalized support.
Explore Conversations
Answers
Build a chatbot to answer the most frequently asked questions directly on Viber, with the option to transfer to live agents without losing conversation history or context.
Explore Answers
1
final String platform =
const platform =
const string platform =
const platform =
platform =
platform =
$platform =
Java
Javascript
C#
Go
Python
Ruby
PHP
;
;
;
;
OkHttpClient client = new OkHttpClient ().newBuilder()
.build();
MediaType mediaType = MediaType.parse(
"application/json" );
RequestBody body = RequestBody.create(mediaType,
"{\"personData\":{\"externalId\":\"1\",\"firstName\":\"Jane\",\"lastName\":\"Smith\",\"address\":\"67 Farringdon Road\",\"city\":\"London\",\"country\":\"United Kingdom\",\"gender\":\"FEMALE\",\"birthDate\":\"1966-01-15\",\"middleName\":\"Janie\",\"profilePicture\":\"http://profile.com\",\"tags\":[\"VIP Customers\",\"New Customers\"],\"customAttributes\":{\"Contract Expiry\":\"2018-06-01\",\"Company\":\"Acme\"},\"contactInformation\":{\"phone\":[{\"number\":\"41793026727\"},{\"number\":\"41793026728\"}],\"email\":[{\"address\":\"[email protected] \"},{\"address\":\"[email protected] \"}]}},\"flowVariables\":{\"orderDate\":\"2021-09-01\",\"orderDetails\":\"Extended Weight, Discount\",\"orderNumber\":1234567}}" );
Request request = new Request .Builder()
.url(
"https://{baseUrl}/communication/1/flows/10159347/participants?phone&[email protected] &externalId=8edb24b5-0319-48cd-a1d9-1e8bc5d577ab&pushRegistrationId=8edb24b5-0319-48cd-a1d9-1e8bc5d577ab" )
.method(
"POST" , body)
.addHeader(
"Authorization" ,
"{authorization}" )
.addHeader(
"Content-Type" ,
"application/json" )
.addHeader(
"Accept" ,
"application/json" )
.build();
Response response = client.newCall(request).execute();
3
4
5
6
7
8
9
10
11
12
13
14
{
"personData" : {
"externalId" :
"1" ,
"firstName" :
"Jane" ,
"lastName" :
"Smith" ,
"address" :
"67 Farringdon Road" ,
"city" :
"London" ,
"country" :
"United Kingdom" ,
"gender" :
"FEMALE" ,
"birthDate" :
"1966-01-15" ,
"middleName" :
"Janie" ,
"profilePicture" :
"http://profile.com" ,
"tags" : [
"VIP Customers" ,
"New Customers"
],
"customAttributes" : {
"Contract Expiry" :
"2018-06-01" ,
"Company" :
"Acme"
},
"contactInformation" : {
"phone" : [
{
"number" :
"41793026727"
},
{
"number" :
"41793026728"
}
],
"email" : [
{
"address" :
"[email protected] "
},
{
"address" :
"[email protected] "
}
]
}
},
"flowVariables" : {
"orderDate" :
"2021-09-01" ,
"orderDetails" :
"Extended Weight, Discount" ,
"orderNumber" :
1234567
}
}
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
var client =
new RestClient(
"https://{baseUrl}/communication/1/flows/10159347/participants?phone&[email protected] &externalId=8edb24b5-0319-48cd-a1d9-1e8bc5d577ab&pushRegistrationId=8edb24b5-0319-48cd-a1d9-1e8bc5d577ab" );
client.Timeout =
-1 ;
var request =
new RestRequest(Method.POST);
request.AddHeader(
"Authorization" ,
"{authorization}" );
request.AddHeader(
"Content-Type" ,
"application/json" );
request.AddHeader(
"Accept" ,
"application/json" );
var body =
@"{""personData"":{""externalId"":""1"",""firstName"":""Jane"",""lastName"":""Smith"",""address"":""67 Farringdon Road"",""city"":""London"",""country"":""United Kingdom"",""gender"":""FEMALE"",""birthDate"":""1966-01-15"",""middleName"":""Janie"",""profilePicture"":""http://profile.com"",""tags"":[""VIP Customers"",""New Customers""],""customAttributes"":{""Contract Expiry"":""2018-06-01"",""Company"":""Acme""},""contactInformation"":{""phone"":[{""number"":""41793026727""},{""number"":""41793026728""}],""email"":[{""address"":""[email protected] ""},{""address"":""[email protected] ""}]}},""flowVariables"":{""orderDate"":""2021-09-01"",""orderDetails"":""Extended Weight, Discount"",""orderNumber"":1234567}}" ;
request.AddParameter(
"application/json" , body, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
3
4
5
6
7
8
9
10
11
12
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main () {
<code>url :=
"https://%7BbaseUrl%7D/communication/1/flows/10159347/participants?phone&[email protected] &externalId=8edb24b5-0319-48cd-a1d9-1e8bc5d577ab&pushRegistrationId=8edb24b5-0319-48cd-a1d9-1e8bc5d577ab" method :=
"POST" payload := strings.NewReader(
`{"personData":{"externalId":"1","firstName":"Jane","lastName":"Smith","address":"67 Farringdon Road","city":"London","country":"United Kingdom","gender":"FEMALE","birthDate":"1966-01-15","middleName":"Janie","profilePicture":"http://profile.com","tags":["VIP Customers","New Customers"],"customAttributes":{"Contract Expiry":"2018-06-01","Company":"Acme"},"contactInformation":{"phone":[{"number":"41793026727"},{"number":"41793026728"}],"email":[{"address":"[email protected] "},{"address":"[email protected] "}]}},"flowVariables":{"orderDate":"2021-09-01","orderDetails":"Extended Weight, Discount","orderNumber":1234567}}` ) client := &http.Client { } req, err := http.NewRequest(method, url, payload)
if err !=
nil { fmt.Println(err)
return } req.Header.Add(
"Authorization" ,
"{authorization}" ) req.Header.Add(
"Content-Type" ,
"application/json" ) req.Header.Add(
"Accept" ,
"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))</code>
}
3
4
5
6
7
8
9
10
11
12
import http.client
import json
conn = http.client.HTTPSConnection(
"{baseUrl}" )
payload = json.dumps({
"personData" : {
"externalId" :
"1" ,
"firstName" :
"Jane" ,
"lastName" :
"Smith" ,
"address" :
"67 Farringdon Road" ,
"city" :
"London" ,
"country" :
"United Kingdom" ,
"gender" :
"FEMALE" ,
"birthDate" :
"1966-01-15" ,
"middleName" :
"Janie" ,
"profilePicture" :
"http://profile.com" ,
"tags" : [
"VIP Customers" ,
"New Customers"
],
"customAttributes" : {
"Contract Expiry" :
"2018-06-01" ,
"Company" :
"Acme"
},
"contactInformation" : {
"phone" : [
{
"number" :
"41793026727"
},
{
"number" :
"41793026728"
}
],
"email" : [
{
"address" :
"[email protected] "
},
{
"address" :
"[email protected] "
}
]
}
},
"flowVariables" : {
"orderDate" :
"2021-09-01" ,
"orderDetails" :
"Extended Weight, Discount" ,
"orderNumber" :
1234567
}
})
headers = {
'Authorization' :
'{authorization}' ,
'Content-Type' :
'application/json' ,
'Accept' :
'application/json'
}
conn.request(
"POST" ,
"/communication/1/flows/10159347/participants?phone=null&[email protected] &externalId=8edb24b5-0319-48cd-a1d9-1e8bc5d577ab&pushRegistrationId=8edb24b5-0319-48cd-a1d9-1e8bc5d577ab" , payload, headers)
res = conn.getresponse()
data = res.read()
print (data.decode(
"utf-8" ))
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
require "uri"
require "json"
require "net/http"
url =
URI (
"https://{baseUrl}/communication/1/flows/10159347/participants?phone&[email protected] &externalId=8edb24b5-0319-48cd-a1d9-1e8bc5d577ab&pushRegistrationId=8edb24b5-0319-48cd-a1d9-1e8bc5d577ab" )
https =
Net::HTTP .new(url.host, url.port)
https.use_ssl =
true
request =
Net::HTTP::Post .new(url)
request[
"Authorization" ] =
"{authorization}"
request[
"Content-Type" ] =
"application/json"
request[
"Accept" ] =
"application/json"
request.body =
JSON .dump({
"personData" : {
"externalId" :
"1" ,
"firstName" :
"Jane" ,
"lastName" :
"Smith" ,
"address" :
"67 Farringdon Road" ,
"city" :
"London" ,
"country" :
"United Kingdom" ,
"gender" :
"FEMALE" ,
"birthDate" :
"1966-01-15" ,
"middleName" :
"Janie" ,
"profilePicture" :
"http://profile.com" ,
"tags" : [
"VIP Customers" ,
"New Customers"
],
"customAttributes" : {
"Contract Expiry" :
"2018-06-01" ,
"Company" :
"Acme"
},
"contactInformation" : {
"phone" : [
{
"number" :
"41793026727"
},
{
"number" :
"41793026728"
}
],
"email" : [
{
"address" :
"[email protected] "
},
{
"address" :
"[email protected] "
}
]
}
},
"flowVariables" : {
"orderDate" :
"2021-09-01" ,
"orderDetails" :
"Extended Weight, Discount" ,
"orderNumber" :
1234567
}
})
response = https.request(request)
puts response.read_body
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
For developers – try Conversations API
Build rich, cost effective, and scalable messaging solutions with the Conversations API.
Harness over 15 years of experience with the world’s best connected platform.
With industry-leading expertise, you can deliver superb customer experience through our global network.
9,700+ global connections
And 800+ direct operator connections to facilitate reliable messaging and use cases anywhere in the world.
75+ offices on 6 continents
Global experience and local presence provides best-in-class service and solutions.
40+ data centers
Our worldwide data centers help you keep operations running smoothly and efficiently.
Learn more about Viber Bots
Ready to build a Viber chatbot?
Get started today. No coding required.