Gửi tin nhắn SMS với ASP và OpenSMS
Trong bài này chúng ta sẽ tìm hiểu về thành phần LiveSoup OpenSMS. Chúng ta sẽ sử dụng ASP để trình bày cụ thể thành phần OpenSMS COM và gửi một vài SMS thử nghiệm. Thành phần OpenSMS được download miễn phí và cho phép gửi 5 tin nhắn SMS miễn phí. Để thử nghiệm ...
Trong bài này chúng ta sẽ tìm hiểu về thành phần LiveSoup OpenSMS. Chúng ta sẽ sử dụng ASP để trình bày cụ thể thành phần OpenSMS COM và gửi một vài SMS thử nghiệm. Thành phần OpenSMS được download miễn phí và cho phép gửi 5 tin nhắn SMS miễn phí. Để thử nghiệm mã lệnh ví dụ trong bài này, bạn nên chạy trên Window 98, NT, 2000, hoặc XP với IIS5.
Trong vài năm gần đây điện thoại di động đã trở thành vô cùng phổ biến với hàng triệu tin nhắn SMS (Short Message Service) được gửi đi mỗi tháng. Nhiều doanh nghiệp sử dụng các tin nhắn SMS để duy trì nhóm bán hàng bên ngoài của họ cập nhật với những giá cả sản phẩm mới nhất, nguồn hàng sẵn có, tin tức khẩn cấp, và thậm chí các cuộc gọi điện thoại họ đã quên trong khi họ đang làm việc bên ngoài văn phòng. Gần đây, một vài doanh nghiệp đã bắt đầu với SMS đến các khách hàng của họ, báo cho họ về những lời chào giá cả hấp dẫn mới nhất, các sản phẩm mới, chuyển hàng miễn phí, … của họ.
Thành phần OpenSMS
Trước khi chúng ta tìm hiểu thành phần OpenSMS của LiveSoup, trước hết hiểu được tin nhắn SMS là gì.
Dịch vụ tin nhắn ngắn (SMS) là một dịch vụ cho phép chúng ta gửi các mẩu tin nhắn dạng text đến hoặc đi từ các máy điện thoại di động. SMS đã trở thành phương thức trưyền thông phổ biến, cũng là một phần của chuẩn điện thoại di động số GSM (Global System for Mobiles).
Các tin nhắn có thể được gửi như một tổ hợp của các ký tự, và các tin nhắn văn bản bình thường có thể chứa đựng tới 160 ký tự. Tin nhắn dựa vào ký tự Cyrillic có thể được soạn 140 ký tự, và nếu dựa vào chuẩn mã ký tự quốc tế UCS2 có thể được soạn 70 ký tự.
LiveSoup đã phát triển một thành phần COM gọn nhẹ cho phép chúng ta gửi các tin nhắn SMS tới trên 245 mạng trong 93 quốc gia. Chúng ta thực hiện cụ thể thành phần COM bằng bất kỳ ngôn ngữ lập trình hiểu COM như ASP, đặt một vài thuộc tính, và sau đó gọi phương thức SendSMS của nó.
Đây là danh sách các đặc trưng của OpenSMS:
- Đối tượng ActiveX COM
- Có thể gửi tin nhắn tới hơn 250 mạng di động được hỗ trợ trên 100 nước
- Cho phép gửi một tin nhắn đến nhiều người nhận
- Chuyển đổi giữa các mã lệnh đáp ứng dạng văn bản và số
- Hỗ trợ 40 message trên một giây
- Các kết nối liên tục HTTP/1.0 và HTTP/1.1
- Hỗ trợ xây dựng firewall/proxy
- ...
Trước khi tiếp tục, vào trang http://livesoup.com/testopensms.asp để download gói cài đặt OpenSMS, và trang http://livesoup.com/support/OpenSMSLite/OpenSMSLite_UserGuide.pdf để tải về tài liệu OpenSMS dạng pdf. Cài đặt OpenSMS và đọc qua tài liệu.
Thành phần OpenSMS COM có một thông số nhận dạng chương trình (ProgID) của “LiveSoup.OpenSMSLite”, và cụ thể chúng ta có thể sử dụng phương thức Server.CreateObject của ASP, như sau:
Set objOpenSMS = Server.CreateObject(“LiveSoup.OpenSMSLite”)
Trước khi thành phần OpenSMS có thể được sử dụng để gửi một tin nhắn SMS, thuộc tính UserName và Password của nó cần được gán. Khi bạn tham gia tại LiveSoup.com, những chi tiết này được gửi đến bạn qua email. Sử dụng chúng như sau:
objOpenSMS.Username = “xxxxxxxxxxx”
objOpenSMS.Password = “xxxxxxxxxxx”
Phương thức Error2Text chỉ rõ dù thành phần này có trả về message trạng thái dạng một chuỗi hay không, như là “The message was accepted and is scheduled for delivery”, hoặc dạng một số nguyên, ví dụ 99:
‘Hiển thị các message lỗi/trạng thái dạng văn bản objOpenSMS.Error2Text = True
Được đưa ra sớm hơn, thành phần OpenSMS miễn phí 100% cho download và thực hiện gửi 5 tin nhắn. Nếu bạn quyết định rằng bạn muốn sử dụng OpenSMS dựa trên dạng cơ bản ban đầu, sau đó có thể trả phí cho thực hiện gửi các message. Nếu bạn gán thuộc tính Test của thành phần OpenSMS là true, thì bạn có thể thử nghiệm các tin nhắn của bạn mà không cần chúng thực sự được gửi đến người nhận:
‘ Chỉ thử nghiệm nhắn tin objOpenSMS.TestMode = True
Một trong những điều lớn cần chú ý về OpenSMS là cái bạn có thể thay đổi ID người gửi của mỗi tin nhắn bạn gửi đi. Bình thường, nếu một người nhận được một tin nhắn và tên người gửi không có trong sổ địa chỉ của họ, thì số điện thoại người gửi sẽ được hiển thị là ID của họ. Bằng cách thay đổi thuộc tính SendID của OpenSMS, chúng ta có thể hiển thị giá trị của chính chúng ta thay vì số điện thoại của chúng ta theo mặc định:
‘Thay đổi ID người gửi từ số điện thoại tới TestMessage
objOpenSMS.SenderID = “TestMessage”
Nếu chúng ta cần gửi nhiều tin nhắn trong một lần gửi, thì chúng ta có thể gán thuộc tính Persistent của OpenSMS thành true, điều này sẽ giữ một kết nối tới máy chủ LiveSoup SMS mở ở tất cả các lần:
‘Giữ một liên kết liên tục tới máy chủ objOpenSMS.Persistent = True
Để gán các người nhận cho tin nhắn SMS, chúng ta cộng thêm các số điện thoại của họ (phân cách bởi dấu phẩy) vào thuộc tính Recipients thuộc thành phần OpenSMS. Mỗi số điện thoại di động của người nhận phải theo định dạng quốc tế, như sau:
objOpenSMS.Recipients = “583940293, 614105559302, 134205940”
Gán trường người nhận như trên, chúng ta đã chọn để gửi SMS tới 3 số điện thoại di động quốc tế khác nhau: một ở Venezuela, một ở Australia , và một ở Canada.
Hai thuộc tính cuối cùng của thành phần OpenSMS bao gồm lựa chọn xác định chi tiết của một proxy server. Các thuộc tính là ProxyAddress và ProxyPort, và có thể được sử dụng như sau:
‘Xác định một proxy server
objOpenSMS.ProxyAddress = “proxy.devArticles.com”
objOpenSMS.ProxyPort = 8080
Sử dụng OpenSMS với ASP
Đặt thành phần OpenSMS vào thực hiện bây giờ. Tạo một tệp tin mới tên gọi là testsms.asp vào trong thư mục mà IIS có thể xử lý. Nhập đoạn mã lệnh sau vào testsms.asp và lưu lại:
<%
dim strSubmit
dim strUser
dim strPass
dim strTo
dim strMessage
dim strID
dim blnTest
dim objOpenSMS
strSubmit = Request.Form("submit")
if strSubmit = "" then
'Lấy các chi tiết SMS
%>
<html>
<head>
<title> Test OpenSMS </title>
</head>
<body bgcolor="lightblue">
<form name="frmSMS" action="testsms.asp" method="post">
<h1>Send SMS</h1>
Your OpenSMS username:<br><input type="text" name="user"><br>
Your OpenSMS password:<br><input type="text" name="pass"><br>
Sender ID:<br><input type="text" name="id"
value="DevArticles"><br>
<br><hr color="black" size="1">
Recipient phone numbers:<br><input type="text" name="nums"><br> (Must be in international format. Separate phone numbers with commas)
<br><br>
Message:<br>
<textarea name="msg" rows="5" cols="30"></textarea>
<br><input type="submit" name="submit" value="Send SMS">
</form>
</body>
</html>
<%
else
'Thử gửi SMS
strUser = Request.Form("user")
strPass = Request.Form("pass")
strTo = Request.Form("nums")
strMessage = Left(Request.Form("msg"), 160)
strID = Request.Form("id")
set objOpenSMS = Server.CreateObject("LiveSoup.OpenSMSLite")
objOpenSMS.Username = strUser
objOpenSMS.Password = strPass
objOpenSMS.Recipients = strTo
objOpenSMS.SenderID = strID
objOpenSMS.Message = strMessage
objOpenSMS.Error2Text = True
'Gửi tin nhắn
objOpenSMS.SendSMS
%v
<h1>Result</h1>
<%=objOpenSMS.ResponseCode%>
<br><br><a href="testsms.asp">Send Another</a>
<%
end if
%>
Đoạn mã lệnh ở trên hiển thị một form HTML trong trình duyệt chấp nhận các chi tiết của tin nhắn SMS để gửi. Ngay khi nút submit được chọn, một ví dụ mới của thành phần OpenSMS được tạo, các thuộc tính của nó được nhận các giá trị được gọi từ form và hàm SendSMS được gọi. Hàm SendSMS kết nối tới máy chủ Live Soup SMS và gửi tin SMS với các chi tiết chúng ta vừa xác định.
Bạn có thể thấy từ ví dụ trên, thực sự dễ dàng gửi các tin nhắn SMS sử dụng OpenSMS. Các chi tiết của tin nhắn SMS được gửi tới máy chủ LiveSoup SMS, sau đó định dạng tin nhắn thích hợp và gửi nó tới cổng vào ra GSM thích hợp, tại đây gửi tới điện thoại người nhận và gửi một message trạng thái trở lại thành phần OpenSMS, mà chúng ta truy nhập qua biến ResponseCode của nó.
Kết luận
Trong bài này chúng ta đã có một cái nhìn về thành phần OpenSMS để gửi tin nhắn SMS tới hầu như bất kỳ điện thoại di động trên thế giới. Có một vài cách mà bạn có thể lấy ví dụ trong bài này và bổ sung nó vào trong site hoặc các giao diện thương mại của bạn (mỗi thực hiện được yêu cầu để gửi một SMS qua OpenSMS với giá 0.05USD). Dưới đây là một số ý tưởng:
- Nếu bạn chạy một trang cửa hàng eCommerce và cho phép khách hàng của bạn đăng ký nhận các chào hàng với giá cả hấp dẫn theo SMS. Khi giá cả của một mặt hàng ưa chuộng giảm xuống, gửi một SMS thông báo tới các khách hàng của bạn về giá giảm và những nơi họ có thể mua sản phẩm đó với giá đấy.
- Tạo một website cung cấp giá cả hàng hoá từ một vài site hàng hoá phổ biến và các giá được lựa chọn của SMS gửi tới các khách hàng hàng ngày hoặc hàng tuần. Nếu bạn đặt đủ nhiều dịch vụ vào trong site, sau đó bạn có thể tính phí các khách hàng sử dụng site của bạn.
- Bạn có thể thiết lập một hệ thống để gửi tin nhắn tới đội ngũ bán hàng lưu động, thông báo cho họ các điều chỉnh mới nhất về mức giá, giúp họ đưa ra quyết định bán hàng hợp lý nhất căn cứ vào thông tin cập nhật mới nhất về giá cả các mặt hàng.
Hải Hiền