The US and Canada heavily regulate SMS/MMS messages sent using regular 10-digit phone numbers (long codes). Long codes, however, remain the medium of choice for businesses who wish to engage with their customers via messaging. The familiarity that long codes lend to a conversation, their price advantage and the easy procurement process make long codes a natural choice for most end-users.
Powerpack makes message communication using long codes effective and reliable at scale. It is designed to meet large scale message throughput and volume requirements. By automatically distributing your overall message traffic across a pool of source numbers, Powerpack keeps you compliant with per day and per second throughput limits as defined by the CTIA (Cellular Telecommunications Industry Association).
To create a new Powerpack, please follow these steps.
To send messages using Powerpack, please follow these steps.
Copy the Powerpack ID for the Powerpack you wish to use.
1
2
3
4
5
6
7
8
import plivo
client = plivo.RestClient('AUTH_ID','AUTH_TOKEN')
message_created = client.messages.create(
powerpack_uuid='your_powerpack_uuid',
dst='destination_number',
text='Test Message'
)
1
2
3
4
5
6
7
8
9
10
11
12
13
require 'rubygems'
require 'plivo'
include Plivo
client = RestClient.new("AUTH_ID","AUTH_TOKEN")
response = client.messages.create(
nil,
[destination_number],
'Test Message',
powerpack_uuid: 'your_powerpack_uuid'
)
puts response
1
2
3
4
5
6
7
8
9
10
11
12
let plivo = require('plivo');
let client = new plivo.Client('AUTH_ID','AUTH_TOKEN');
client.messages.create(
null,
'destination_number',
'Test Message',
{},
'your_powerpack_uuid'
).then(function (message_created) {
console.log(message_created)
})
1
2
3
4
5
6
7
8
9
10
11
require 'vendor/autoload.php';
use Plivo\RestClient;
$client = new RestClient('AUTH_ID', 'AUTH_TOKEN');
$message_created = $client->messages->create(
null,
['destination_number'],
'Test Message',
[],
'your_powerpack_uuid'
);
1
2
3
4
5
6
7
8
9
10
11
12
13
package com.plivo.api;
import com.plivo.api.models.message.Message;
import com.plivo.api.exceptions.PlivoRestException;
import java.io.IOException;
import java.util.Collections;
class Example {
public static void main(String[] args) throws IOException, PlivoRestException {
Plivo.init("AUTH_ID", "AUTH_TOKEN");
Message.creator(Collections.singletonList("destination_number"), "Test Message", "your_powerpack_uuid").create();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package main
import "github.com/plivo/plivo-go"
func main() {
client, err := plivo.NewClient("AUTH_ID", "AUTH_TOKEN", &plivo.ClientOptions{})
if err != nil {
panic(err)
}
client.Messages.Create(plivo.MessageCreateParams{
PowerpackUUID: "your_powerpack_uuid",
Dst: "destination_number",
Text: "Test Message",
})
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
using System.Collections.Generic;
using Plivo;
internal class Program
{
public static void Main(string[] args)
{
var api = new PlivoApi("AUTH_ID", "AUTH_TOKEN");
var response = api.Message.Create(
powerpack_uuid:"your_powerpack_uuid",
dst:new List<String>{"destination_number"},
text:"Test Message"
);
Console.WriteLine(response);
}
}
To modify or update your Powerpack
You can also manually remove phone numbers from your number pool by clicking on “View Numbers”.
Plivo’s Applications can handle all incoming messages to the Powerpack phone numbers. To create a new Plivo Application, navigate to the “create new Application” section on your Plivo Console. Once created, you can associate this application with your Powerpack.
Once you have configured an application for your Powerpack, all incoming messages to your Powerpack phone numbers are posted to the message_url in your Plivo Application.
Local Connect is designed to make message communication personal. It ensures that messages get sent using a local phone number with the same area code or regional prefix as the destination number.
Local Connect preferences can be managed from the Powerpack management console.
Local Connect preferences can be updated for existing Powerpacks as and when required. Any update to your Local Connect preferences will reflect in the source number resolution logic instantaneously.
For Example –
If you’re sending an SMS/MMS to a San Francisco number beginning with 415:
Sticky Sender is designed to maintain a single thread of conversation. It ensures that messages are sent to the subscriber from the same source number in the pool.
Sticky Sender preferences can be managed from the Powerpack management console.
This feature can be updated for existing Powerpacks at any time. Any update to your Sticky Sender preference will reflect in the source number resolution logic instantaneously.
You can now add shortcodes, toll-free and long code numbers to your Powerpack. When there is more than one type of number added to a Powerpack, the Powerpack automatically falls back to the next best type during message delivery failures. This feature is designed to guarantee delivery for all high scale requirements. High availability and guaranteed delivery make this a cost-efficient solution.
For the US, the default fallback priority list is given below. You may contact our Support Team to customize this setup.
For Canada, the default fallback priority list is given below. You may contact our Support Team to customize this setup.
As a general rule, we recommend having more than one number type in your Powerpack.
The number of long codes should be based on your average message traffic volume and our number pool size recommendation. We recommend having long code numbers and toll-free numbers in your Powerpack, with long codes prioritized over toll-free numbers. Please note the number of long codes present in your Powerpack is an important factor for sending messages on a high scale. We request that you stick to the recommended set of numbers.
Combining toll-free numbers in the Powerpack helps in two major ways.
For example: If you are sending messages to destination networks C1 and C2 using Powerpack, but C2 is not supported by the configured toll-free number. Powerpack will use the other numbers in the pool to send messages to the C2 mobile network and shortcode numbers to reach customers in C1._