Thứ Tư, 28 tháng 9, 2011

Áp dụng bước 2 để tạo 1 SMS Gateway đơn giản

| |
1. Chuẩn bị:
1. 1 phần mềm để có thể viết code, có thể dùng EmEditor, Notepad++, Frontpage hay không có thì xài cái Wordpad của Windows cũng chẳng sao!
2. Nội dung muốn thực hiện
Ở đây mình dùng ví dụ đơn giản nhất!
Nhắn tin với cú pháp: SMS VUIHOC gửi đến 8222.
Hệ thống sẽ trả về lời cám ơn "Cam on ban da ung ho VuiHoc. Chuc ban nhieu niem vui va hanh phuc".
3. Download code bắt buộc của Fibo.
Nếu không có đoạn code này, Gateway sẽ không hoạt động.

2. Bắt tay vào việc
Rồi, bây giờ mở EmEditor ra nhé!

Bây giờ tiến hành xử lý nhé!
Trước hết, muốn xử lý, ta phải có được các thông tin về tin nhắn mà khách hàng gửi đến. Chúng ta cần Request các thông tin này từ Gateway

PHP Code:
$cuphap=$_REQUEST['message'];$phone$_REQUEST['phone'];$service=$_REQUEST['service']; 
Ở đoạn code trên, ta đã request 3 thông số



  • cuphap: sẽ chứa toàn bộ nội dung trong tin nhắn khách hàng gởi đến
  • phone: số điện thoại của KH
  • service: mã dịch vụ (cái này không cần quan tâm, ta cần request để trả về chính xác thôi)
Sau khi request xong. Ta đã có nội dung tin nhắn để xử lý
Tiến hành xử lý nhé!

Trong ví dụ này, ta sẽ không cần phân tích nội dung tin nhắn là gì cả.
Vì Khách hàng chỉ cần gửi tin
Trích:
SMS VUIHOC gởi 8222
là gateway sẽ đưa đến trang xử lý của chúng ta.
Chúng ta chỉ cần trả về 1 tin nhắn hồi đáp mà thôi!
Nếu các bạn tham khảo 1 số đoạn ứng dụng mẫu ban đầu, chúng ta sẽ phải kiểm tra lại xem, Keyword có đúng là SMS không, và tiếp đầu ngữ có đúng là VUIHOC không?
Thật ra, việc kiểm tra này chỉ cần thiết, khi các bạn áp dụng 1 trang code duy nhất cho nhiều cấu hình tin nhắn đến!
Ví dụ như:
Bạn muốn dùng 1 code duy nhất để xử lý cho việc
Khách hàng nhắn tin:
Trích:
SMS VUIHOC gửi đến 8222
thì hồi đáp là:
Trích:
Cam on ban da ung ho Vui Hoc Forum
Và khách hàng nhắn tin
Trích:
SMS FIBO gửi đến 8222
Thì sẽ nhận được tin
Trích:
Cam on ban da ung ho Fibo Viet Nam
Nếu xử lý như thế, chúng ta mới cần dùng.
Vì đây là topic dùng cho người mới bắt đầu, không chuyên về code, nên mình sẽ làm thao cách
1 code duy nhất cho 1 cấu hình duy nhất

Ok! Giờ quay lại trang code.
Chúng ta bỏ qua bước xử lý tin nhắn, vì không có gì để xử lý.
Vì thế, chúng ta chỉ cần 1 code để trả về 1 tin nhắn cho KH.
Cấu trúc của lệnh trả về tin nhắn là
PHP Code:
echo '<ClientResponse>
        <Message>
           <PhoneNumber>'
.$phone.'</PhoneNumber>
           <Message>Nội dung tin nhắn trả về</Message>
           <SMSID> -1</SMSID>
           <ServiceNo>'
.$service.'</ServiceNo>
        </Message>
        </ClientResponse>'


Rồi, đơn giản là thế!

Đáp ứng cho tường hợp này của chúng ta, code trên sẽ là

PHP Code:
echo '<ClientResponse>
        <Message>
            <PhoneNumber>'
.$phone.'</PhoneNumber>
            <Message>Cam on ban da ung ho VuiHoc. Chuc ban nhieu niem vui va hanh phuc</Message>
            <SMSID> -1</SMSID>
            <ServiceNo>'
.$service.'</ServiceNo>
         </Message>
         </ClientResponse>'


Các bạn lưu ý 1 điều, nội dung nằm giữa <message> và </message> không được dài quá 160 ký tự, bao gồm luôn cả độ dài của biến.

Ok, bây giờ kết nối hoàn chỉnh các đoạn code lại với nhau. Ta sẽ có 1 file code hoàn chỉnh nha!

PHP Code:
<?php//Bắt đầu xử lý nội dung tin nhắn
//Nhận dữ liệu từ GW
$cuphap=$_REQUEST['message'];$phone$_REQUEST['phone'];$service=$_REQUEST['service'];
//Trả về nội dung để GW gửi tin nhắnecho '<ClientResponse>
         <Message>
              <PhoneNumber>'
.$phone.'</PhoneNumber>
              <Message>Cam on ban da ung ho VuiHoc. Chuc ban nhieu niem vui va hanh phuc</Message>
              <SMSID> -1</SMSID>
              <ServiceNo>'
.$service.'</ServiceNo>
           </Message>
       </ClientResponse>'
;
 
?>

Xong rồi, bây giờ save file đó lại, đặt 1 tên gì bạn thích!
Ví dụ: donggop.php
Giờ up lên host file này, và 3 file bắt buộc của Fibo trong cùng 1 thư mục.
(có thể up khác, nhưng khi require_once() phải đổi đường dẫn, cứ để chung cho nó tiện)
Ví dụ như bạn up vào thư mục sau trên host của mình:
http://vuihoc.info/donggop

Lúc đó, trong thư mục donggop trên host của bạn, bắt buộc phải có 4 tập tin sau:


  • fibosmsconfig.php : Chứa các hàm kiểm tra .
  • fibosmsserver.txt : chứa danh sách server của fibo.
  • testconnection.php : dùng để server của Fibo kiểm tra connection tới server của khách hàng.
  • donggop.php: Trang xử lý code vừa tạo
Và địa chỉ trang web xử lý tin lúc này của các bạn sẽ là
http://vuihoc.info/donggop/donggop.php

Đến đây là xem như xong 90%. Nhưng lúc này SG chưa được khai báo gì cả, nên hệ thống chưa hoạt động!



3. Tiến hành thiết lập cấu hình tin nhắn đến mới
Có code rồi, up lên host luôn rồi.
Giờ thiết lập thôi!
Vào trang http://fibosms.com
Login vào tài khoản, vào Cấu hình tin nắn đến, chọn Tạo mới. Và điền thông tin như sau:

Dịch vụ: Chọn 8222 (SMS) Lưu ý cái này, nhớ đừng chọn nhầm 8222 (FIBO) hay 8222 (REG), vì nếu chọn như vậy, KH sẽ phải nhắn tin với cú pháp khác
Tiếp đầu ngữ: VUIHOC
Trạng thái: ACTIVE
Trang web xử lý tin: http://vuihoc.info/donggop/donggop.php

Đó là cấu hình như nãy giờ mình nói, tất nhiên các bạn phải thay đổi dịch vụ, tiếp đầu ngữ, và trang web xử lý tin cho phù hợp về site của mình!

Xong thì các bạn nhấn Save nhé!
Lúc này, các bạn sẽ có 1 kết quả tương tự như thế này


Ok. Mọi chuyện đã hoàn tất!
Việc cuối cùng là
Soạn tin: SMS VUIHOC gửi 8222

(Hí hí, sẽ rất cám ơn nếu các bạn soạn và gửi tin nhắn như thế )

Đây là 1 code cực kỳ đơn giản, bài tiếp theo sẽ giới thiệu 1 code phức tạp hơn, đòi hỏi phải xử lý nội dung tin nhắn đến!

Chúc các bạn thành công!

0 nhận xét:

Đăng nhận xét