How to send SMS alert using Python and MSG91 API

In our college days we most often forget our daily classes, right? To keep track of classes every day, we can send a Notification (i.e, ) SMS Alert regards their classes to their mobile phones using Python.

We need to use two functionalities: http module and MSG91 API for sending SMS. 

filter_none

edit
close

play_arrow

link
brightness_4
code

import http.client as ht
  
conn = ht.HTTPSConnection("api.msg91.com")

chevron_right


Here we are importing the http client function in http module (since we are using our system as client and msg91 api service as server) and using HTTPSConnection function to establish the connection with SMS API Service (MSG91).

While establishing connection we need to send two main parameters in data packet (i.e) Header and Payload.

Header : In the header, We will send the authentication key of our MSG91 API. And of course, context text is nothing but context type that means the type of the payload. We are sending all the payload information in JSON format, so the context type will be JSON.



filter_none

edit
close

play_arrow

link
brightness_4
code

headers = {# Paste your MSG91 API Key
           'authkey' : "", 
           'content-type': "application/json"}

chevron_right


You need to create an account in MSG91 and you need to create an API key in MSG91 to send SMS.

Payload : Everyone knows that the payload is the important section through which the data is sent or received. Here we are sending the sender ID, route, country along with the message and a receiver mobile number. Where sender ID is nothing but the sender name. It must be of length 6 and should contain only alpha characters. If you want to send SMS internationally means use 0 as country code otherwise use 91 for India communication.

filter_none

edit
close

play_arrow

link
brightness_4
code

payload = '''{"sender": "MSGAPI",
              "route": "4",
              "country": "91",
              "sms": [
                {
                  "message": "Welcome X, Today you have PC class",
                  "to": [
                    "9090XX8921"
                  ]
                },
                {
                  "message": "Welcome Y, Today you have WT Class",
                  "to": [
                    "901X83XX01"
                  ]
                }
              ]
            }'''

chevron_right


Now we need to send the connection request along with this header and payload. Here we use the POST method to establish the connection. Once the request is sent, the API will send the message to the receivers what we have mentioned as the JSON array. Then the API acknowledges us with the status code as 200 and a message as success.

filter_none

edit
close

play_arrow

link
brightness_4
code

# importing the module
import http.client as ht
  
# establishing connection
conn = ht.HTTPSConnection("api.msg91.com")
  
# determining the payload
payload = '''{"sender": "MSGAPI",
              "route": "4",
              "country": "91",
              "sms": [
                {
                  "message": "Welcome GeeksForGeeks, Today you have PC class",
                  "to": [
                    "9090XX8921"
                  ]
                },
              ]
            }'''
  
# creating the header
headers = {
    'authkey': "", 
    'content-type': "application / json"
}
  
# sending the connection request
conn.request("POST", "/api / v2 / sendsms", payload, headers)
  
res = conn.getresponse()
data = res.read()
  
# printing the acknowledgement
print(data.decode("utf-8"))

chevron_right


Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :

1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.