Data privacy is a key concern for every organization that processes third-party personal data, including phone numbers. With the GDPR now in effect, data privacy holds more importance today than ever.
Plivo provides SMS redaction features to customers interested in limiting how their outbound and inbound SMS usage data is retained on Plivo’s servers and databases.
When outbound SMS message redaction is enabled:
Plivo offers a simple way to redact the content and destination number of an outbound SMS or MMS message. Set the log request parameter of the Send SMS API request to false. The default value is true: outbound messages are not redacted unless the log request parameter is explicitly set to false.
We also support partial redaction of your messaging data. To enable partial redaction,
Please note that if the redaction is enabled, Plivo cannot debug or recover the message content if there are any issues.
1
2
3
4
5
6
7
8
9
10
11
import plivo
client = plivo.RestClient('<auth_id>', '<auth_token>')
response = client.messages.create(
src ='14092102231', # Sender's phone number with country code
dst ='19177220741', # Receiver's phone Number with country code
text ='hello, test message!',
log = False)
print(response)
# print str(resp)
Was this code helpful
1
2
3
4
5
6
7
8
9
10
11
require "plivo"
include Plivo
api = RestClient.new("<auth_id>", "<auth_token>")
response = api.messages.create(
src:"<sender_id>",
dst:"<destination_number>",
text:"Hello, this is a sample text",
url: "https://<yourdomain>.com/sms_status/",
log:false
)
puts response
Was this code helpful
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Example for Message create
var plivo = require('plivo');
(function main() {
'use strict';
// If auth id and auth token are not specified, Plivo will fetch them from the environment variables.
var client = new plivo.Client("<auth_id>", "<auth_token>");
client.messages.create({
src: "14092102231",
dst: "19177220741",
text: "hello, test message!",
log: 'false'
}).then(function(response) {
console.log(response);
}, function(err) {
console.error(err);
});
})();
Was this code helpful
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
require 'vendor/autoload.php';
use Plivo\RestClient;
use Plivo\Exceptions\PlivoRestException;
$client = new RestClient("<auth_id>","<auth_token>");
try {
$response = $client->messages->create(
[
"src" => "+12025550000",
"dst" => "+12025551111",
"text" =>"Hello, this is a sample text",
"url"=>"https://<yourdomain>.com/sms_status/",
"log"=> "false"
]
);
print_r($response);
}
catch (PlivoRestException $ex) {
print_r($ex);
}
Was this code helpful
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
package com.plivo.api.samples.message;
import java.io.IOException;
import java.util.Collections;
import com.plivo.api.Plivo;
import com.plivo.api.exceptions.PlivoRestException;
import com.plivo.api.models.message.Message;
import com.plivo.api.models.message.MessageCreateResponse;
/**
* Example for Message create
*/
class Example {
public static void main(String [] args) {
Plivo.init("<auth_id>","<auth_token>");
try {
MessageCreateResponse response = Message.creator("14092102231", Collections.singletonList("19177220741"), "hello, test message!" ).log(false)
.create();
System.out.println(response);
} catch (PlivoRestException | IOException e) {
e.printStackTrace();
}
}
}
Was this code helpful
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
// Example for Message create
package main
import (
"fmt"
"github.com/plivo/plivo-go/v7"
)
func main() {
client, err := plivo.NewClient("<auth_id>", "<auth_token>", &plivo.ClientOptions{})
if err != nil {
fmt.Print("Error", err.Error())
return
}
response, err := client.Messages.Create(
plivo.MessageCreateParams{
Src: "14092102231",
Dst: "19177220741",
Text: "hello, test message!",
Log: "false",
},
)
if err != nil {
fmt.Print("Error", err.Error())
return
}
fmt.Printf("Response: %#v\n", response)
}
Was this code helpful
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
using System;
using System.Collections.Generic;
using Plivo;
using Plivo.Exception;
namespace Send_Sms
{
class Program
{
public static void Main(string[] args)
{
var api = new PlivoApi("<auth_id>","<auth_token>");
try
{
var response = api.Message.Create(
src: "14092102231",
dst: new List<String> { "19177220741" },
text: "hello, test message!",
log: false
);
Console.WriteLine(response);
}
catch (PlivoRestException e)
{
Console.WriteLine("Exception: " + e.Message);
}
}
}
}
Was this code helpful
1
2
3
4
curl -i --user <auth_id>:<auth_token> \
-H "Content-Type: application/json" \
-d '{"src": "14092102231","dst": "19177220741", "text": "hello, test message!", "log": "false"}' \
https://api.plivo.com/v1/Account/{AUTH_ID}/Message/
Was this code helpful
When inbound SMS message redaction is enabled:
When inbound message redaction is enabled:
You can control inbound SMS and MMS redaction at the application level.
Setting the application-level flag log_incoming_messages to
false enables redaction. The default value is
true, so inbound messages are not redacted unless the flag is explicitly set to
false. The text and from_number fields are redacted when redaction is enabled.
When message redaction is enabled for an application, incoming messages to Plivo phone numbers associated with the application are redacted.
Note: If inbound messages are redacted, Plivo cannot debug or recover message content if there are any issues with the callback URL.
1
2
3
4
5
6
7
import plivo
client = plivo.RestClient('<auth_id>','<auth_token>')
response = client.applications.create(
app_name='Test Application',
answer_url='https://answer.url', log_incoming_messages= False)
print(response)
Was this code helpful
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#
# Example for Application Create
#
require 'rubygems'
require 'plivo'
include Plivo
include Plivo::Exceptions
api = RestClient.new("<auth_id>","<auth_token>")
begin
response = api.applications.create(
'Test Application',
answer_url: 'https://answer.url',
answer_method: 'GET',
log_incoming_messages: false
)
puts response
rescue PlivoRESTError => e
puts 'Exception: ' + e.message
end
Was this code helpful
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Example for Application create
var plivo = require('plivo');
(function main() {
'use strict';
// If auth id and auth token are not specified, Plivo will fetch them from the environment variables.
var client = new plivo.Client("<auth_id>","<auth_token>");
client.applications.create(
"Test Application", // app name
{
answerUrl: "https://answer.url", // answer url
logIncomingMessages: "false"
}
).then(function (response) {
console.log(response);
}, function (err) {
console.error(err);
});
})();
Was this code helpful
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
/**
* Example for Application create
*/
require 'vendor/autoload.php';
use Plivo\RestClient;
use Plivo\Exceptions\PlivoRestException;
$client = new RestClient("<auth_id>","<auth_token>");
try {
$response = $client->applications->create(
'Test Application',
[
'answer_url' => 'https://answer.url',
'answer_method' => 'POST',
'log_incoming_messages' => 'false'
]
);
print_r($response);
}
catch (PlivoRestException $ex) {
print_r($ex);
}
Was this code helpful
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.plivo.api.samples.application;
import java.io.IOException;
import com.plivo.api.Plivo;
import com.plivo.api.exceptions.PlivoRestException;
import com.plivo.api.models.application.Application;
import com.plivo.api.models.application.ApplicationCreateResponse;
/**
* Example for Message create
*/
class Example {
public static void main(String [] args) {
Plivo.init("<auth_id>","<auth_token>");
try {
ApplicationCreateResponse response = Application.creator("Test Application").answerUrl("https://answer.url").logIncomingMessages(false)
.create();
System.out.println(response);
} catch (PlivoRestException | IOException e) {
e.printStackTrace();
}
}
}
Was this code helpful
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
// Example for Application create
package main
import (
"fmt"
"github.com/plivo/plivo-go/v7"
)
func main() {
client, err := plivo.NewClient("<auth_id>", "<auth_token>", &plivo.ClientOptions{})
if err != nil {
fmt.Print("Error", err.Error())
return
}
response, err := client.Applications.Create(
plivo.ApplicationCreateParams{
AppName: "Test Application",
AnswerURL: "https://answer.url",
LogIncomingMessages: false,
},
)
if err != nil {
fmt.Print("Error", err.Error())
return
}
fmt.Printf("Response: %#v\n", response)
}
Was this code helpful
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
using System;
using System.Collections.Generic;
using Plivo;
using Plivo.Exception;
namespace apps
{
class Program
{
public static void Main(string[] args)
{
var api = new PlivoApi("<auth_id>","<auth_token>");
try
{
var response = api.Application.Create(
appName: "Test Application",
answerUrl: "https://answer.url",
logIncomingMessages: false
);
Console.WriteLine(response);
}
catch (PlivoRestException e)
{
Console.WriteLine("Exception: " + e.Message);
}
}
}
}
Was this code helpful
1
2
3
4
curl -i --user <auth_id>:<auth_token> \
-H "Content-Type: application/json" \
-d '{"answer_url": "https://<yourdomain>.com", "app_name": "Test Application", "log_incoming_messages": "false"}' \
https://api.plivo.com/v1/Account/{AUTH_ID}/Application/
Was this code helpful