ホーム > 開発者向け(API)

開発者向け(API)

リクエスト手順

準備するもの

  • RUCARO稼動サーバ
  • 交信用サーバ
  • ・交信用プログラム(仮称 request.php)
  • ・セッションID保存用プログラム(仮称 save.php)
  •  
  • 簡易サンプル request.php
  • //要設定開始-----------------//
    
    //RUCAROのトップディレクトリにあるapi.phpのURL
    $url = "https://xxx.xxx/rucaro/api.php";
    
    //セッションID保存用ファイルパス
    $path = "session.cgi";
    
    //リクエスト
    $request = array(
    	//"session" => "",
    	"module"  => "accounting",
    	"method"  => "getEntity",
    );
    
    //要設定終了-----------------//
    
    
    $vars = array();
    $numAll = 2;
    for ($j = 0; $j < $numAll; $j++) {
    	$vars = sendRequest($url, $path, $request);
    	if ($vars["flag"] == "sessionError") {
    		sleep(10);
    		$vars = array();
    		continue;
    	}
    	break;
    }
    
    var_dump($vars);
    exit;
    
    function sendRequest($url, $path, $request)
    {
    	$session = @file_get_contents(
    		$path, FILE_USE_INCLUDE_PATH
    	);
    	if (!$session) {
    		$session = "";
    	}
    	$request["session"] = $session;
    	$data = json_encode($request);
    
    	$header = array(
    		"Content-Type: application/json; charset=UTF-8",
    		//"X-FRAME-OPTIONS: SAMEORIGIN",
    		"X-Content-Type-Options: nosniff",
    		"Content-Length: ".strlen($data)
    	);
    	$context = array(
    		"http" => array(
    			"method"  => "POST",
    			"header"  => implode("\r\n", $header),
    			"content" => $data,
    			"timeout" => 10
    		)
    	);
    
    	$res = @file_get_contents(
    		$url, false, stream_context_create($context)
    	);
    	$vars = json_decode($res, true);
    
    	if (is_null($vars)) {
    		$vars = array("flag" => "error");
    	}
    
    	return $vars;
    }
    
  •  
  • 簡易サンプル save.php
  • //要設定開始-----------------//
    
    //セッションID保存用ファイルパス
    $path = "session.cgi";
    
    //要設定終了-----------------//
    
    
    $json = file_get_contents("php://input");
    $vars = json_decode($json, true);
    $session = $vars["data"];
    file_put_contents($path, $session, LOCK_EX);
    

手順

  • まず、統制モジュールのメニューからAPIウィンドウを呼び出し、詳細ボックスツールエリアにある新規ボタンからエディタを呼び出してAPI経由でアクセスするために必要な設定を登録します。
     
  • (API エディタ)
  •  
  • IP
  • API経由でアクセス可能なIPを登録しておきます。
  • サーバのIPの調べ方
  • echo $_SERVER["SERVER_ADDR"];
    
  • プログラムURL
  • セッションID保存用プログラムであるsave.phpのURLを登録します。
     
  • アカウント
  • API経由でアクセスしてきたIPをRUCAROで登録されているアカウントと関連付けます。
    ※APIは管理者のコントロール下で行うため、簡便性を重視しアカウントで設定されている有効期間や各種アクセス制限の制約はあえて受けないようにしてあります。
    ※APIは、ログイン画面からパスワードを入力する場合と認証方法が違うので、パスワード制限やアカウントロックの制約は受けません。
     
  • (1) request.phpから空リクエスト
  • API経由で登録済IPアドレスからセッションIDがない又はセッションIDの有効期限が切れたリクエストがあると、認証エラーをrequest.phpに通知するとともにsave.phpに新しいセッションIDが送付される仕組みになっています。 セッションIDを発行させるために、セッションIDを空にしたリクエストをRUCAROのトップディレクトリにあるapi.phpにしてください。
     
  • (2) request.phpへ認証エラー通知
  • RUCARO(api.php) -> request.php
  • {
    	"flag" : "sessionError"
    }
    
  •  
  • (3) save.phpへセッションID発行
  • RUCARO(api.php) -> save.php
  • {
    	"flag" : "success",
    	"data" : "セッションID"//※セッションIDの有効期限は25時間です。
    }
    
  • (4) save.phpセッションID受取保存
  • save.phpでセッションIDを保存して次回からセッションIDをリクエストに含めて送付するとapi.phpから結果が返ってきます。
  • リクエスト開始
  • 保存していたセッションIDをリクエストに含めて、RUCAROのトップディレクトリにあるapi.phpに送ってください。
  • RUCARO Co.,Ltd. All Right Reserved.