PHPからのAPI内部呼び出し

ここではスパイラル上に配置したPHPによりExpress2配信を行うプログラムを例に、スパイラルPHPライブラリを利用してAPIを内部呼び出しで実行する方法を解説していきます。

次のような手順になります。

  1. APIトークンの発行
  2. Express2の配信設定を作成
  3. カスタムプログラムで新規プログラムを作成
  4. カスタムプログラムを実行

APIトークンの発行

testというタイトルでAPIトークンを発行します。APIトークン発行方法についてはリファレンスを参照下さい。

Express2の配信設定を作成

rcptlistというタイトルで配信先のDBを発行します。このとき配信先メールアドレスとして利用するフィールドはemailとしてください。そして、このDBを選択してExpress2の配信設定を作成します。

配信設定の作成

カスタムプログラムで新規プログラムを作成

「開発」→「カスタムプログラム」画面において、今回実行するカスタムプログラムを新規に作成します。PHPスクリプトのテキストエリアには以下のようにプログラムを記載して下さい。

<?php
// スパイラルAPIサーバと通信するインスタンスを作成します。
$SPIRAL->setApiTokenTitle("test");
$api_communicator = $SPIRAL->getSpiralApiCommunicator();

// Express2の予約を実行するリクエストを作成します。
$request = new SpiralApiRequest();
$request->put("db_title"         , "rcptlist");
$request->put("reserve_date"     , "2013/04/30 10:00");
$request->put("mail_field_title" , "email");
$request->put("subject"          , "テストメール");
$request->put("from_name"        , "メール送信者");
$request->put("from_address"     , "sender@mail.com");
$request->put("body_text"        , "メールの本文");

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

2,3行目でまずスパイラルAPIを使えるようにするためにAPIトークンの設定をしてからAPIサーバと通信するためのAPIコミュニケータインスタンスを作成しています。

そして、7〜14行目でAPIにリクエストする際に投げるパラメータ用のマップオブジェクトを生成しています。

最後に17行目において、コミュニケータインスタンスのrequest()メソッドを呼び出して、リクエスト先のAPIメソッドとパラメータを指定してExpress2の配信予約APIを実行しています。

APIの内部呼び出しでは、署名作成等の処理をスパイラルPHPライブラリ内で実行するため、このように呼び出しを簡素化することができます。

カスタムプログラムを実行

カスタムプログラムの編集画面下方にある実行ボタンをクリックしてプログラムを実行するとスパイラルPHPライブラリによってAPIを内部的に呼び出されメールが配信予約が完了します。