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
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
Maximize engagement with personalized messages on the best customer engagement solution
Engagement at scale, on any channel, and throughout the entire customer journey. Maximize ROI with high-performing omnichannel marketing campaigns created with a code-free customer engagement solution.
Access the power of true omnichannel marketing
Use a single unified platform for all customer engagement
Say goodbye to disconnected tech and makeshift integrations Reduced cost of ownership, one line of support, simplified user experience Unified insights and analytics across all channels
Automate your customer journey and enable relevant, perfectly timed messaging
React to customer interactions and purchases with confirmations and notifications Communicate about changes in customer profiles, for example loyalty scheme tiers Create triggered communication for date-time events like subscription renewals, anniversaries, or payment deadlinesWarn customers when they are approaching their spending or account limits
Create sophisticated customer engagement campaigns with no need to involve IT
Easy to use drag-and-drop interface accessible to any user Enable personalised messaging through advanced audience segmentation Track customers through the entire funnel and adapt messaging accordingly Use triggers, behavioral analysis, and send time optimization to refine campaigns
Benefit from ultimate channel flexibility
Choose the right channel for each customer and include multiple channels in the same workflow Create highly personalized messaging that is consistent across all channels Switch channels seamlessly at any point Configure failover channels to ensure key messages get delivered
Build custom user journeys with low-code and no code options
Customer Acquisition
Maximize engagement, increase conversions, and collect vital customer data.
Engage and grow
Upsell your products and services with personalized messages.
Customer retention
Keep your customers engaged and encourage repeat business.
Looking for a specific industry case?
Easily connect, configure, and communicate
Create personalized and memorable experiences throughout the customer journey.
Unlock the power of Moments through Conversations and Answers
Deliver engaging experiences for your customers by integrating Conversations and Answers to your omnichannel engagement solution.
Conversations
Give agents a full contextual view of past conversations and offer support on any channel.
Explore Conversations
Answers
Offer instant support 24/7 to help improve customer satisfaction and time to resolution.Explore Conversations
Explore Answers
final String platform =
const platform =
const string platform =
const platform =
platform =
platform =
Java
Javascript
C#
Go
Python
Ruby
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();
1
2
3
4
5
6
7
8
9
10
11
12
13
{
"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
}
}
1
2
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
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);
1
2
3
4
5
6
7
8
9
10
11
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>
}
1
2
3
4
5
6
7
8
9
10
11
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" ))
1
2
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
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
1
2
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
Be up and running in no time
Build the experiences your customers want with our flexible API stack. Integrate their favorite channels with your business workflow to elevate their customer journey.
Drive results with personalized engagement
Create personalized and memorable experiences throughout the customer journey.
Create personalized omnichannel marketing campaigns
See how Moments helps you scale your engagement efforts across channels and devices.