This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Reference: SMS Setting for Twilio
Staging Server SMS Settings: https://erpnext.lasthourhosting.org/app/sms-settings/SMS%20Settings
Staging Server SMS Center: https://erpnext.lasthourhosting.org/app/sms-center/SMS%20Center
Step 1: Gather Information
Before configuring something, it’s always a good idea to understand what information is needed and to gather it ahead of time. So let's start with a list of the pieces of information you need to gather first:
-
Your Twilio Account SID. This can be found by logging into Twilio, choosing the Account you are going to use for your text messages and looking on the main account screen for “ACCOUNT SID”
-
Your Auth Token: Right Below your Account SID you should see a field for your Auth Token
-
Phone number you will be sending “From” in the correct format. For the US, that looks like the following:+11234567890 Where the first two characters “+1” is the country code.
-
The Gateway URL: This is the API “Endpoint” that Twilio provides and can be found by going to “Messaging > Try it out > Send an SMS” in the right you will see a url that looks like the following…Copy this piece of information.
https://api.twilio.com/2010-04-01/Accounts/ACCOUNTSID/Messages.json
Now that you’ve gathered that information, let’s use an example to make it clear how this works.
Example using fake data:
- Account SID: BB987287ih98209c895d88098eb
- Auth Token: caGhxZ5avge9XfwHucZqBlPKp890ssaf3d
- Phone Number: +11234567890
- Gateway URL: https://api.twilio.com/2010-04-01/Accounts/BB987287ih98209c895d88098eb/Messages.json
Now that we have this information above, the next step is to generate the “Base64 Encoded” value, which is made up of your Account SID and the Auth Token in the following format: AccountSID:AuthToken.
Let’s browse to base64encode in the Box Labeled “Encode to Base64 format” enter your Account SID then a colon and then the Auth Token like this…
accountsid:authtoken
Okay, now that we have that information, click the the ENCODE Button and then copy the entire result from the box below the Encode Button:
So in our example, we now have a Base64 encoded string we can add to the list of information we need to configure our SMS Settings in ERPNext:
QkI5ODcyODdpaDk4MjA5Yzg5NWQ4ODA5OGViOmNhR2h4WjVhdmdlOVhmd0h1Y1pxQmxQS3A4OTBzc2FmM2Q=
Now, what do we do with this information above? We add one little Word plus a space:
Basic QkI5ODcyODdpaDk4MjA5Yzg5NWQ4ODA5OGViOmNhR2h4WjVhdmdlOVhmd0h1Y1pxQmxQS3A4OTBzc2FmM2Q=
Step 2: Configure SMS Settings
Now that we’ve gathered all the pieces of information, let’s go into ERP Next and add this information, along with a few other pieces describe already in this thread. We will go step by step.
Log into your ERPNext Instance. Search for “SMS Settings” in the search bar and click on the “SMS Settings” result. This will bring you to the SMS settings screen. SMS Gateway URL
Copy the SMS Gateway URL into the box labeled SMS Gateway URL. Note: The wrapping of the text in the image above is done automatically based on the box and is not actually a break. DO NOT ADD a carriage return. Just copy and paste and move on.
Next, in the Message Parameter Field, type the word “Body”:
Receiver
In the Receiver Parameter field, type the word “To”:
Static Parameters
Now we need to add our “Static Parameters” one by one.
VALUE 1: Authorization
Let’s start with the first parameter, the “Authorization” parameter. For this we are going to use the “Basic BASE64ENCODEDACCOUNTSID:AUTHTOKEN” string that we created above. So that looks like the following:
Note, in the “Value” field in the picture above, you do not see the entire string, but you want to make sure you copy and paste the entire string, which in our example was this value:
Basic QkI5ODcyODdpaDk4MjA5Yzg5NWQ4ODA5OGViOmNhR2h4WjVhdmdlOVhmd0h1Y1pxQmxQS3A4OTBzc2FmM2Q=
VALUE 2: From
Next, we’re going to add the phone number that we are using from our Twilio account to send the text messages. So click “Add Row” if you do not already have another row in the Static Parameters field and fill in the details as such:
VALUE 3: Content-Type
Finally, we add another row for the last value we need which is “Content-Type” like so…
Use Post and All Together Now
Step 3: Testing, Testing, 1…2…3
To make sure all is working, we can test by using the “SMS Center” which we can get to by searching in the search bar and selecting it. Once we are there:
- Enter a mobile number to send a message to in the “Receiver List”
- Type a “Message” in the message box on the right and then
- Click the “Send SMS” button
That’s it. I hope this detailed walk-through helped folks figure this out for Twilio. If you’re still having issues, most likely it’s a problem with your Twilio setup. Make sure the number you’re using is enabled for sending SMS messages.
Please consult the Twilio documentation, which is very good, regarding SMS enabled numbers: Hosted Numbers FAQ | Twilio 7
Thanks and good luck.
Notes:
-
While in trial mode, Twilio can only send SMS messages to virtual number for testing which Twilio provides in the "To" field under the "Send to Virtual Phone" tab: https://console.twilio.com/us1/develop/sms/try-it-out/send-an-sms
-
Purchase a phone number to send SMS out to any number whether verified or unverified: https://console.twilio.com/us1/develop/phone-numbers/manage/search?isoCountry=US&types[]=Local&types[]=Tollfree&capabilities[]=Sms&capabilities[]=Mms&capabilities[]=Voice&capabilities[]=Fax&searchTerm=&searchFilter=left&searchType=number