ver.1サポートサイト


汎用APIクライアントの利用

最終更新日:2023年05月19日

スパイラルAPIを利用した汎用的なサンプルプログラムです。

カスタムプログラムの起動やメール配信、マイエリアへのログイン、一覧表データの取得等を記載しております。

本サンプルプログラムは内部呼出し(スパイラル内部で動作させる場合)を想定しております。

サンプルプログラム

<!DOCTYPE html>

<body>
    <h1>カスタムマイページでカスタムプログラム</h1>

    <?php // <!-- SMP_DYNAMIC_PAGE DISPLAY_ERRORS=OFF --> ?>
    <?php
    // スパイラルAPIサーバと通信するインスタンスを作成します。
    //アカウント内APIを利用する場合はアカウント内APIの設定を「ON」に変更いただき、
    //「$SPIRAL->setApiTokenTitle("");」の記述を削除ください。

    $SPIRAL->setApiTokenTitle(""); //タイトルなし
    $api_communicator = $SPIRAL->getSpiralApiCommunicator();

    // ----------------------------------------------------
    // カスタムプログラムを起動します。
    // ----------------------------------------------------

    echo "カスタムプログラムを実行します。<br>\n";
    $request = new SpiralApiRequest();
    $request->put("title", "program01");
    // スパイラルAPIサーバへリクエストを送信します。
    $response = $api_communicator->request("custom_program", "run", $request);
    echo "CODE: " . $response->get("code") . "<br>\n";
    echo "OUTPUT: " . $response->get("output") . "<br>\n";

    // ----------------------------------------------------
    // Express2配信予約
    // ----------------------------------------------------

    echo "Express2配信予約します。<br>\n";
    $request = new SpiralApiRequest();
    $request->put("db_title", "phptest"); //DBタイトル
    $request->put("reserve_date", "yyyy/mm/dd hh:mm"); //配信時間
    $request->put("mail_field_title", "[メールアドレスフィールドタイトル]");
    $request->put("error_field_title", "[配信エラーフィールドタイトル]");
    $request->put("subject", "メールのサブジェクト");
    $request->put("from_name", "差出人名");
    $request->put("from_address", "example@pi-pe.co.jp");
    $request->put("body_text", "メールの本文");

    // スパイラルAPIサーバへリクエストを送信します。
    $response = $api_communicator->request("deliver_express2", "regist", $request);
    print_r($response);

    // ----------------------------------------------------
    // Thanksメール送信
    // ----------------------------------------------------

    echo "Thanksメールを配信します。<br>\n";
    $request = new SpiralApiRequest();
    $request->put("rule_id", "xxxxx"); //配信ルールID
    $request->put("id", "1");

    // スパイラルAPIサーバへリクエストを送信します。
    $response = $api_communicator->request("deliver_thanks", "send", $request);
    print_r($response);

    // ----------------------------------------------------
    // マイエリアにログインする
    // ----------------------------------------------------

    echo "マイエリアにログインします。<br>\n";
    $request = new SpiralApiRequest();
    $request->put("my_area_title", "phptest");
    $request->put("key", "2z297JxS");
    $request->put("password", "pppp");
    $request->put("url_type", "2");

    // スパイラルAPIサーバへリクエストを送信します。
    $response = $api_communicator->request("area", "login", $request);
    $sessionId = $response->getSessionId();
    echo "CODE: " . $response->get("code") . "<br>\n";
    echo "SESSIONID: " . $response->get("jsessionid") . "<br>\n";

    // ----------------------------------------------------
    // 一覧表のデータを取得します。
    // ----------------------------------------------------

    echo "一覧表のデータを取得します。<br>\n";
    $columns = array("xxxxxxx", "xxxxx"); // 表示するフィールドのタイトル

    // リクエスト
    $request = new SpiralApiRequest();
    $request->put("my_area_title", "phptest");
    $request->put("search_title", "search2");
    $request->put("jsessionid", $sessionId);
    $request->put("select_columns", $columns);
    // スパイラルAPIサーバへリクエストを送信します。
    $response = $api_communicator->request("table", "data", $request);
    echo "CODE: " . $response->get("code") . "<br>\n";
    print_r($response->get("data"));
    ?>
</body>

</html>