Send SMS messages using the REST module
Last updated
Last updated
Not only is Plum Fuse a great low-code option for voice applications, but you can also use Fuse to send SMS messages. Combining voice and SMS allows you to align those channels for more seamless and robust communications. If, for example, you want to automate delivery of an SMS message to a customer during, or at the end of a service interaction, Fuse allows you to do that.
Presently, using SMS in Fuse relies on the REST module. This is one of Fuse’s advanced modules, and provides a lot of flexibility in your voice applications.
To get started with using SMS in Fuse you need two key components.
The first is an active Plum DEV account. Fuse does not have its own dedicated SMS API at present. However, using the REST module allows you to leverage the SMS API in DEV.
If you don’t already have an active DEV account, contact your Account Manager to have them set one up for you.
The second necessary component is an SMS-enabled phone number. Phone numbers provisioned through Plum Voice are not automatically SMS-enabled so you will have to request this for each number you would like to use with SMS.
If you need to provision a new SMS-enabled number, or would like to convert a number that already exists in your account to an SMS-enabled number, contact Plum Support.
IMPORTANT! Your SMS-enabled number must be non-PCI. SMS is unencrypted, which makes SMS messaging incompatible with PCI numbers and infrastructure.
If you plan to receive SMS responses from customers, you will need to set up your own application URL. Additional information about how to configure your application URL with your DEV account is available in the DEV documentation.
Once your Fuse account is properly configured to handle SMS messages, you need to ensure that you understand how to use the REST module.
The REST module is an advanced module and requires additional configuration compared to the Input and Call-Flow modules available in Fuse.
The REST module allows Fuse users to access Plum DEV’s SMS API. From the DEV SMS API documentation, you will need the API URL. You need to be sure to include the correct resource type in the URL, so check to see if you need to use queue.json
or queue.xml
.
After entering the API URL, click on the gear icon of the REST module and click the Show Headers option. A field called Header appears. This is the section where you enter your credentials so you can access the SMS API.
These are the same credentials you use to access Plum DEV. To use with the REST module in Fuse, your credentials must be in base-64.
The format in the Header field must be: Authorization: Basic XXXXX
Replace the Xs with your login credentials converted to base-64. First, format your credentials as ‘username:password’, e.g., FuseUser:12345. Converting that to base-64 is RnVzZVVzZXI6MTIzNDU=
.
The text in the Header section would then be: Authorization: Basic RnVzZVVzZXI6MTIzNDU=
Next, make sure that the Request Type is POST and that the Return Type matches the resource type in the URL. If you used JSON in the URL, use JSON here, likewise for XML.
Then, add your required form data parameters, the to, from, and body fields. Click the small + button at the bottom of the module until you have three variable fields.
In the left column, provide the variable names. These are the same as the required form data parameters.
The right column contains the values associated with each parameter.
The value for the 'to' variable must be a 10-digit number. In the example below, this is a variable collected in the preceding module, titled sms_dest. Click the small + button in the text field and enter the desired variable.
The value in the ‘from’ field must be an SMS-enabled phone number associated with your Plum DEV account.
A note about phone numbers
Currently, you will need two phone numbers to execute this process.
When you deploy your application, the number you associate with the Fuse application can be any number in your account.
The phone number used to send SMS messages must be an SMS-enabled, non-PCI number associated with your DEV account.
The value for the ‘body’ field is the actual content of the SMS message. This can include any information collected or pulled into the voice application during the call, such as customer info from a CRP/ERP, URLs, and any variables active in the call.
Once you are comfortable with the REST module, go ahead and build your voice application. Insert the outbound SMS REST module where appropriate.
When you are ready to test your application, you must deploy it first. Go to the ‘Deployments’ section of Fuse to do this. For detailed instructions on how to deploy a Fuse app, see the Fuse documentation.
Your voice app can be deployed to any phone number in your account. It does not need to be an SMS-enabled number.
To access SMS log data, you need to login to your Plum DEV account. Select ‘SMS Applications’ from the top navigation bar.
Once there, go to the logs section. For more information on SMS logging, see the DEV documentation.
This same information is available via API if you want to proactively pull the data and manipulate/process/use on your end.
If you have issues using the SMS functionality in Plum Fuse, contact Plum Support.