README.md in kotsms2-1.0.1 vs README.md in kotsms2-1.1.0
- old
+ new
@@ -20,11 +20,11 @@
--------
請在您的 Ruby 或 Rails 專案裡的 Gemfile 加入以下指令
```ruby
-gem 'kotsms2', '~> 1.0.0'
+gem 'kotsms2', '~> 1.1.0'
```
然後執行 bundle install 更新套件組
$ bundle
@@ -41,13 +41,22 @@
但要使用前,需要先[註冊簡訊王的會員][kotsms_signup],否則您的程式無法存取簡訊王的 API 管道
```ruby
require 'kotsms2'
-# Kotsms2 是走 https 的方式進行系統操作
+# 程式將會以 SSL 的方式,走 https 連線到簡訊商的系統
+sms_client = Kotsms2::Client.new(username: '會員帳號', password: '會員密碼')
+```
+
+也可以加入 agent ( user-agent ) 跟 timeout ( 逾時時間/秒 ) 參數 至 client 物件
+
+```ruby
sms_client = Kotsms2::Client.new(
- username: '會員帳號', password: '會員密碼', agent: "Mozilla/5.0 (可自訂 user-agent)"
+ username: '會員帳號',
+ password: '會員密碼',
+ agent: "Mozilla/5.0 ( Hello World )",
+ timeout: 10
)
```
使用範例
--------
@@ -129,19 +138,19 @@
{:access_success=>false, :message_id=>nil, :error=>"KOTSMS:-2"}
```
----
-### 查詢簡訊餘額
+### 查詢目前帳號所持有的簡訊餘額
若你需要查詢您會員帳號的簡訊餘額,可以用以下指令處理
```ruby
sms_client.get_balance
```
-### 查詢簡訊餘額 的 回傳結果
+### 查詢目前帳號所持有的簡訊餘額 的 回傳結果
#### 得到簡訊餘額
當你執行完成後,get_balance 方法會回傳一組 hash 型態的結果
@@ -160,9 +169,78 @@
```ruby
{:access_success=>false, :message_quota=>0, :error=>"KOTSMS:-2"}
```
+### 查詢特定的簡訊發送狀態
+
+若你需要查詢特定的簡訊發送狀態,您可以指定 message id 向簡訊商查詢該封簡訊最後是否已發送成功
+
+```ruby
+sms_client.get_message_status message_id: '在 send_message 得到的 message_id'
+```
+
+### 查詢特定的簡訊發送狀態 的 回傳結果
+
+#### 得到發送狀況
+
+當你執行完成後,get_message_status 方法會回傳一組 hash 型態的結果
+
+只要 access_success 的值為 true 就一定代表系統有成功取得資料
+
+is_delivered 代表是否已寄到用戶手機,true 為是、false 為有發生 delivered 以外的狀況
+
+message_status 代表訊息狀態,可以知道是否已抵達 或是 發生通信上的錯誤 等等的相關資訊
+
+```ruby
+{:access_success=>true, :is_delivered=>true, :message_status=>"delivered", :error=>nil}
+```
+
+#### get_message_status 裡的 message_status 涵義
+
+```ruby
+'delivered' # 簡訊已抵達
+'expired' # 簡訊寄送超過有效時間
+'deleted' # 已被刪除
+'undelivered' # 無法送達
+'transmitting' # 傳輸中,正在接收
+'unknown' # 未知錯誤,可能無效
+'rejected' # 被拒絕
+'incorrect_sms_system_syntax' # 簡訊商編碼錯誤
+'status_undefined' # 核心 API 無法得知狀況
+```
+
+#### 發生錯誤時
+
+若 access_success 為 false 則表示過程有出現錯誤,同時 is_delivered 會為 false,message_status 會是 'status_undefined'
+
+```ruby
+{:access_success=>false, :is_delivered=>false, :message_status=>nil, :error=>"KOTSMS:MEMBERERROR"}
+{:access_success=>false, :is_delivered=>false, :message_status=>nil, :error=>"KOTSMS:NOSMS"}
+```
+
+----
+
+例外狀況的處理
+--------
+
+在某些情況下,程式會擲出一些例外給 ruby 去處理,你可以先用 Kotsms2 自帶的 Error 來先做 rescue
+
+```ruby
+
+begin
+ sms_client.account_is_available
+rescue Kotsms2::ClientError
+ 'Client 物件有內部錯誤'
+rescue Kotsms2::ServerError => error
+ "伺服器端有一些無法處理的狀況 #{error.message}"
+rescue Kotsms2::ClientTimeoutError
+ "發生 Timeout 囉"
+rescue Kotsms2::Error => error
+ "發生非預期的錯誤 #{error.message}"
+end
+
+```
LICENSE
--------
本專案原始碼採 MIT LICENSE 授權 ( 詳見 LICENSE 檔案 )