【API1.0】DB管理(作成/取得/変更/削除)
cURLライブラリを使用して、DBの作成、取得、変更、削除をするサンプルプログラムです。
PHPにcurlライブラリが組み込まれている必要があります。
<?php
//SPIRAL Ver2のAPI用のURL
$base_url = "https://api.spiral-platform.com/v1/";
$url = $base_url."dbs";
//APIキー
$apikey = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
//ヘッダ
$header = array(
"Authorization:Bearer ".$apikey,
"Content-Type:application/json","X-Spiral-App-Authority"."manage",
);
//------------------------------
//insert
//------------------------------
// 作成するDBを設定
//ボディ
$body = [
"app" => "100",
"name" => "employee_mst",
"displayName" => "社員マスタ",
"fields" => [
array(
"name" => "employeeId",
"displayName" => "社員番号",
"type" => "integer"
),
array(
"name" => "name",
"displayName" => "名前",
"type" => "text"
),
array(
"name" => "email",
"displayName" => "メールアドレス",
"type" => "email"
),
array(
"name" => "phone",
"displayName" => "電話番号",
"type" => "phone"
),
array(
"name" => "gender",
"displayName" => "性別",
"type" => "select",
"optionsTemplate" => "gender"
),
array(
"name" => "zipCode",
"displayName" => "郵便番号",
"type" => "text"
),
array(
"name" => "pref",
"displayName" => "都道府県",
"type" => "select",
"optionsTemplate" => "prefJp"
),
array(
"name" => "age",
"displayName" => "年齢",
"type" => "select" ,
"options" => array(
array("id" => 1 , "label" => "10代以下"),
array("id" => 2 , "label" => "20代"),
array("id" => 3 , "label" => "30代"),
array("id" => 4 , "label" => "40代"),
array("id" => 5 , "label" => "50代"),
array("id" => 6 , "label" => "60代"),
array("id" => 7 , "label" => "70代以上")
),
),
array(
"name" => "address",
"displayName" => "住所",
"type" => "text"
),
array(
"name" => "entryDays",
"displayName" => "入社日",
"type" => "date"
)
]
];
//配列をjson形式に変換
$json_body = json_encode($body);
// curlライブラリを使用して送信
//セッションを初期化する
$curl = curl_init();
//実行結果を文字列で取得できるように設定
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
//urlを指定
curl_setopt($curl, CURLOPT_URL , $url);
//ヘッダを指定
curl_setopt($curl, CURLOPT_HTTPHEADER , $header);
//ボディを指定
curl_setopt($curl, CURLOPT_POSTFIELDS , $json_body);
//メソッドを指定
curl_setopt($curl, CURLOPT_CUSTOMREQUEST , 'POST');
//セッションを実行し、その結果を取得
$response = curl_exec($curl);
//cURLのエラーメッセージを表示
if (curl_errno($curl)) echo curl_error($curl);
//セッションを閉じる
curl_close($curl);
//json形式を配列に変換して表示
print_r(json_decode($response , true));
//------------------------------
//select(List)
//------------------------------
// 条件検索する場合はurlの末尾にクエリパラメータを付加
//idは複数選択不可。
$url = $url."?apps=100";
// curlライブラリを使用して送信
//セッションを初期化する
$curl = curl_init();
//実行結果を文字列で取得できるように設定
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
//urlを指定
curl_setopt($curl, CURLOPT_URL , $url);
//ヘッダを指定
curl_setopt($curl, CURLOPT_HTTPHEADER , $header);
//セッションを実行し、その結果を取得
$response = curl_exec($curl);
//cURLのエラーメッセージを表示
if (curl_errno($curl)) echo curl_error($curl);
//セッションを閉じる
curl_close($curl);
//json形式を配列に変換して表示
print_r(json_decode($response , true));
//------------------------------
//select
//------------------------------
//urlの末尾に取得したいdbIdを付加
$url = $url."/100";
// curlライブラリを使用して送信
//セッションを初期化する
$curl = curl_init();
//実行結果を文字列で取得できるように設定
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
//urlを指定
curl_setopt($curl, CURLOPT_URL , $url);
//ヘッダを指定
curl_setopt($curl, CURLOPT_HTTPHEADER , $header);
//セッションを実行し、その結果を取得
$response = curl_exec($curl);
//cURLのエラーメッセージを表示
if (curl_errno($curl)) echo curl_error($curl);
//セッションを閉じる
curl_close($curl);
//json形式を配列に変換して表示
print_r(json_decode($response , true));
//------------------------------
//update
//------------------------------
//urlの末尾に変更したいdbIdを付加
$url = $url."/100";
// 変更したいアプリ情報を設定
//ボディ
$body = [
"name" => "employee_master",
"displayName" => "社員DB",
"addFields" => [
array(
"name" => "sub_emali",
"displayName" => "サブメールアドレス",
"type" => "email"
),
array(
"name" => "birthday",
"displayName" => "誕生日",
"type" => "date"
)
],
"updateFields" => [
array(
"id" => "1",
"displayName" => "社員ID"
),
array(
"id" => "7",
"addOptions" => [
array(
"id" => "48",
"label" => "海外"
)
]
)
],
"deleteFields" => [
"gender"
]
];
//配列をjson形式に変換
$json_body = json_encode($body);
// curlライブラリを使用して送信
//セッションを初期化する
$curl = curl_init();
//実行結果を文字列で取得できるように設定
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
//urlを指定
curl_setopt($curl, CURLOPT_URL , $url);
//ヘッダを指定
curl_setopt($curl, CURLOPT_HTTPHEADER , $header);
//ボディを指定
curl_setopt($curl, CURLOPT_POSTFIELDS , $json_body);
//メソッドを指定
curl_setopt($curl, CURLOPT_CUSTOMREQUEST , 'PATCH');
//セッションを実行し、その結果を取得
$response = curl_exec($curl);
//cURLのエラーメッセージを表示
if (curl_errno($curl)) echo curl_error($curl);
//セッションを閉じる
curl_close($curl);
//json形式を配列に変換して表示
print_r(json_decode($response , true));
//------------------------------
//delete
//------------------------------
//urlの末尾に削除したいdbIdを付加
$url = $url."/100";
// curlライブラリを使用して送信
//セッションを初期化する
$curl = curl_init();
//実行結果を文字列で取得できるように設定
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
//urlを指定
curl_setopt($curl, CURLOPT_URL , $url);
//ヘッダを指定
curl_setopt($curl, CURLOPT_HTTPHEADER , $header);
//メソッドを指定
curl_setopt($curl, CURLOPT_CUSTOMREQUEST , 'DELETE');
//セッションを実行し、その結果を取得
$response = curl_exec($curl);
//cURLのエラーメッセージを表示
if (curl_errno($curl)) echo curl_error($curl);
//セッションを閉じる
curl_close($curl);
//json形式を配列に変換して表示
print_r(json_decode($response , true));
?>