3. サーバ間連携
3.1. サーバ間連携概要
サーバ間連携は2種類の方向に分かれます。
アプリリンクを介して
Nexmileクライアント → Nexmileサーバ → 連携先サーバとリクエストが遷移し、その逆順でレスポンスするパターン
連携先サーバの要求により
連携先サーバ → Nexmileサーバ → Nexmileクライアントに要求を遷移させるパターン
これらの機能を利用するためにはI/F設定仕様書を弊社に提出頂き、サイトコードを取得する必要があります。
I/F設定仕様書は下記よりダウンロードして下さい。記入にあたり当節の一読をお願い致します。
「設定仕様書ダウンロード」
ご記入の上、 まで送付下さい。
尚ご不明な点等も左記メールアドレスで承ります。
3.1.1. サーバ間連携インターフェース
① 文字コード UTF-8
② インターフェース一覧
Nexmileサーバ → 連携先サーバ
連携先サーバ→Nexmileサーバ
③ 表中のTYPEについて
QUERY:URL+?+QUERY形式文字列(&key=value)が設定される。
JSON :Nexmileサーバで指定するクラスをJSON形式にシリアライズされた文字列が設定される。
④ URLエンコード
QUERY形式の場合valueにエンコード対象文字列を含む場合、URLエンコードを行う必要がある。
JSON形式の場合、シリアライズ後の文字列にURLエンコードを行う必要がある。
両サーバ共に上記規則によりURLエンコードまたはデコードを行う。
3.1.2. サーバ間連携共通パラメータ
サーバ間連携に関し、頻出する下記フィルードについては以下の内容が設定される。
3.2 アプリリンクを介して発生するサーバ間連携(ユーザ認証)
3.2.1. ユーザー認証
① シーケンス図
認証要求から最終的にユーザに登録完了が表示されまでのシーケンス
➁ 認証リクエスト
URL+QUERY形式文字列がGETで送信される。
「https://test.com/auth」は設定仕様書に基づくURLとなる。
③ 認証結果
レスポンスはQUERY形式文字列。
3.3 アプリリンクを介して発生するサーバ間連携(通話・ライブ共通事項)
3.3.1. 連携先サーバレスポンス方法
通話・ライブ共に連携先サーバからのレスポンスは既定のクラスをJSONにシリアライズし、さらにそのシリアライズテキストをURLエンコードしたものを使用する。
① リクエストに対して正常終了である場合、下記の何れかの形式でレスポンスを行う。
result=0&service=URLエンコード(シリアライズされた既定のクラス)
result=0 (要求の種別によりresultのみをレスポンスとする場合)
➁ リクエストに対して拒否応答である場合、下記の形式でレスポンスを行う。
result=-1&messsge=URLエンコード(エラーメッセージ)
正常終了である場合は常にresultは0となり、0以外が設定されている場合には要求が拒否されたと見なされ、
ユーザに対して連携先サーバで設定したエラーメッセージが表示される。
特に記述が無い場合いを除きNexmileサーバにおいてresultが0以外の場合は拒否処理を行う以外の作用はない。
(error resultによる処理振分には対応していない。)
3.3.2. レスポンスクラス階層
① 階層図
レスポンスクラスは下記階層をもつクラスの集合となる。C#によるクラス定義のサンプルは
https://dl.stream-works.biz/download/sample/SiteService.txtを参照のこと。
➁ クラス用途概要
ライブサービス用クラス
※網掛け部について
1.2.4 Nexmileクライアントでは未実装の機能を参照
※網掛け部について
1.2.4 Nexmileクライアントでは未実装の機能を参照
➁ 課金情報詳細
サービスを利用することで発生する、消費ポイントに関連する情報を設定する。
③ Nexmileサーバ内の課金方法
上記の課金情報を用いて以下の方式によりユーザポイントの減算・加算を行い、利用可能額が「unitPrice」を下回った場合に、そのサービスは終了となる。
課金対象秒数 = 現在時刻 – (課金開始時刻 + freeTrialSec)
課金対象秒数が0以上の場合
現在課金額 =(課金対象秒数 / unitSec)* unitPrice ※少数以下を含む
利用可能総額 = currentPoint + 調整ポイント * pointPrice
利用可能残高 = 利用可能総額 - 現在課金額
利用可能残高が利用中サービスの下記単価を未満になった場合、そのサービスは切断される。
尚、上記処理はNexmileサーバ内で1秒毎に行われている。
調整ポイントについて
Nexmileサービスの利用中に当該ユーザが連携先サーバのサービス利用による減算、
またはオートチャージによる加算によりNexmileサーバ側の利用可能総額を変更する必要が
ある場合には後述「7.2ユーザポイント更新」により調整ポイントの更新を行う。