SpeedSMS API cho phép bạn tích hợp tính năng gửi tin nhắn vào trong ứng dụng của bạn. Bạn có thể tích hợp SMS API vào Website, ứng dụng desktop, hay các ứng dụng di động. SpeedSMS API tương thích với tất cả các ngôn ngữ lập trình phổ biến hiện nay như: C#, ASP.NET, PHP, Java,... SpeedSMS API đảm bảo tính nhanh, đơn giản, tin cậy và dễ dàng tích hợp vào bất kỳ hệ thống nào.
Tất cả các API sẽ được bắt đầu bằng địa chỉ url:
http://api.speedsms.vn/index.php/
Hoặc
https://api.speedsms.vn/index.php/
Các bạn nên sử dụng địa chỉ HTTPS để đảm bảo tính bảo mật.
Để sử dụng SMS API bạn cần phải đăng ký một tài khoản tại địa chỉ http://connect.speedsms.vn. Mỗi tài khoản đăng ký sẽ được cấp một API access token. Ứng dụng của bạn sẽ sử dụng API access token này để xác thực (authenticate) với SpeedSMS API.
API access token được gửi kèm với bản tin HTTP request thông qua cơ chế xác thực HTTP Basic Authentication. Trong đó API access token sẽ đóng vai trò như là một username.
Ví dụ: để gọi API thông qua curl:
curl -i -u "{API access token}:x" "http://api.speedsms.vn/index.php/user/info"
Để lấy API access token, bạn vui lòng đăng nhập tại địa chỉ http://connect.speedsms.vn, sau đó click vào menu "Tài khoản". Một dialog sẽ hiện lên chứa thông tin về API access token
GET /user/info là API cho phép bạn lấy thông tin về tài khoản hiện tại bao gồm địa chỉ email và số dư tài khoản.
curl -i -u "{API access token}:x" "http://api.speedsms.vn/index.php/user/info"
{ "status": "success", "code": "00", "data": { "email": "your email address", "balance": "balance number", "currency": "VND" } }
{ "status": "error", "code": "error code", "message": "error description" }
POST /sms/send API cho phép bạn gửi tin nhắn tới một hoặc nhiều số thuê bao di động (tối đa 100 số).
curl -i -u "{Access token}" -H "Content-Type: application/json" -X POST -d '{"to": ["phone number1", "phone number2"], "content": "noi dung sms", "sms_type": "loại tin nhắn (quảng cáo, CSKH, brand name,Notify,android app)", "sender": "tên thương hiệu hoặc deviceId"}' https://api.speedsms.vn/index.php/sms/send
{ "status": "success", "code": "00", "data": { "tranId": transaction id number, "totalSMS": total sms number, "totalPrice": total price number, "invalidPhone": array of phone numbers } }
{ "status": "error", "code": "error code", "message": "error description" }
POST /campaign/send API cho phép bạn gửi chiến dịch quảng cáo qua tin nhắn Brandname.
curl -i -u "{Access token}" -H "Content-Type: application/json" -X POST -d '{"to": ["phone number1", "phone number2"], "content1": "noi dung quang cao 1", "content2": "noi dung quang cao 2", "sender": "tên thương hiệu", "name": "Campaign name", "send_time": "thoi gian gui tin nhan"}' https://api.speedsms.vn/index.php/campaign/send
{ "status": "success", "code": "00", "data": { "campaignId": transaction id number, "totalSMS": total sms number, "totalPrice": total price number, "invalidPhone": array of phone numbers } }
{ "status": "error", "code": "error code", "message": "error description" }
GET /sms/status/{tranId} API cho phép bạn kiểm tra trạng thái tin nhắn đã gửi
curl -i -u '{Access token}' http://api.speedsms.vn/index.php/sms/status/{tranId}
{ "status": "success", "code": "00", "data": [ {"phone": "phone number1", "status": status}, {"phone": "phone number2", "status": status} ] }
status = 0: trạng thái đang chờ gửi
status = -1: trạng thái đang gửi
status = 1: gửi thành công
status = 2: gửi lỗi
{ "status": "error", "code": "error code", "message": "error description" }
Hầu hết mọi người khi sử dụng dịch vụ SMS API thường có chung băn khoăn là tin nhắn có thực sự được gửi tới máy khách hàng hay không hoặc khách hàng đã nhận được tin nhắn hay chưa? Trong trường hợp chúng ta cần gửi thông tin quan trọng tới khách hàng mà không biết khách hàng đã nhận được tin nhắn hay chưa thì sẽ cảm thấy rất không an tâm. SpeedSMS sẽ giúp bạn giải quyết vấn đề này bằng tính năng Delivery status report. Khi tin nhắn được gửi thành công hoặc lỗi (trong trường hợp máy hết pin hoặc ngoài vùng phủ sóng) tới máy người nhận thì SpeedSMS sẽ thông báo cho bạn biết bằng cách SpeedSMS sẽ gửi một bản tin HTTP Post tới địa chỉ url mà bạn đã cung cấp cho SpeedSMS (cơ chế này còn được gọi là Webhook).
Để sử dụng tính năng delivery report trước tiên bạn cần đăng nhập vào trang dashboard tại địa chỉ http://connect.speedsms.vn vào menu Setting -> Webhook sau đó khai báo một địa chỉ url để nhận request từ SpeedSMS khi tin nhắn được gửi thành công tới máy người nhận.
Khi tin nhắn đã được gửi thành công tới máy người nhận SpeedSMS sẽ gửi một bản tin HTTP với dữ liệu như sau tới địa chỉ url mà bạn đã cung cấp:
{"type": "report", "tranId": "transaction id", "phone": "phone number", "status": "status success/failed"}
Trong đó:
Khi khách hàng nhận được tin nhắn từ dịch vụ của bạn, KH có thể trả lời lại tin nhắn này, khi đó bạn sẽ có thể nhận được tin phàn hồi của KH.
Tương tự như delivery report, bạn cũng cần phải khai báo một địa chỉ url để nhận request từ SpeedSMS khi có KH phản hồi lại tin nhắn cho bạn.
Khi có tin nhắn phàn hồi từ phía KH SpeedSMS sẽ gửi một bản tin HTTP với dữ liệu như sau tới địa chỉ url mà bạn đã cung cấp:
{"type": "sms", "phone": "phone number", "content": "sms content"}
Trong đó:
Để gửi sms từ số di động của bạn, trước tiên bạn cần download ứng dụng cho hệ điều hành android từ Google play, bạn có thể download từ link này: download
Sau khi cài đặt app trên điện thoại, bạn đăng nhập bằng tài khoản đã đăng ký trên trang http://speedsms.vn hoặc nếu chưa có tài khoản bạn có thể đăng ký một tài khoản ngay trong app.
Sau khi đăng nhập thành công là bạn có thể bắt đầu gửi sms từ chính số di động của bạn. Trong quá trình gửi sms bạn không cần phải chạy app trên điện thoại, khi có tin nhắn cần gửi đi SpeedSMS sẽ gửi push notification tới app và app sẽ tự động kết nối tới SpeedSMS server để lấy thông tin và gửi sms đi cho bạn.
App android cũng hỗ trợ nhận thông báo delivery status report và incoming sms thông qua webhook, chi tiết bạn xem tại đây.