既定のAPIバージョン 1.1 への変更および旧バージョンとの互換性について
## 概要
バージョン 1.3.13.0 において、既定のAPIバージョンが 1.0 から 1.1 に変更となりAPIのリクエスト及びレスポンスのデータレイアウトが変更になります。また、バージョン 1.3.12.0 以前のバージョンに存在した不具合(APIキーを指定しないリクエストでApiVersionが正しくセットされない問題)が解消されることによって同様の変更が発生いたします。旧バージョンで開発したAPI呼び出しの互換性を維持するため、パラメータの調整が必要となります。
# API バージョン 1.0/1.1の変更内容
APIリクエストおよびAPIレスポンスのデータレイアウトが下記のように変更となります。
## バージョン 1.0
[分類項目](/ja/manual/table-management-class)[数値項目](/ja/manual/table-management-num)[日付項目](/ja/manual/table-management-date)[説明項目](/ja/manual/table-management-description)[チェック項目](/ja/manual/table-management-check)[添付ファイル項目](/ja/manual/table-management-attachments)のデータレイアウトはフラットに表現されます。
なお、バージョン1.0の場合は上記項目のレスポンスが、例えば分類項目の場合はClassA~Class100までとなっており、Class101以降のレスポンスを取得したい場合はバージョン1.1をご利用ください。
```json
{
"ApiVersion": 1.0,
"Title": "API 1.0",
"ClassA": "ClassA",
"NumA": 123,
"DateA": "2022/7/2",
"DescriptionA": "DescriptionA",
"CheckA": true
}
```
## バージョン 1.1
[分類項目](/ja/manual/table-management-class)[数値項目](/ja/manual/table-management-num)[日付項目](/ja/manual/table-management-date)[説明項目](/ja/manual/table-management-description)[チェック項目](/ja/manual/table-management-check)[添付ファイル項目](/ja/manual/table-management-attachments)のデータレイアウトがKeyValue形式に変更となります。
```json
{
"ApiVersion": 1.1,
"Title": "API 1.1",
"ClassHash": {
"ClassA": "ClassA"
},
"NumHash": {
"NumA": 123
},
"DateHash": {
"DateA": "2022/7/2"
},
"DescriptionHash": {
"DescriptionA": "DescriptionA"
},
"CheckHash": {
"CheckA": true
}
}
```
# APIバージョン指定方法
APIバージョンの既定値はパラメータで設定します。またAPIのリクエストパラメータで明示的に指定することが可能です。
## [Api.json](/ja/manual/api-json)のVersionパラメータ
APIバージョンを指定しないAPI呼び出しで使用されるバージョンです。既定値は1.1です。旧バージョンの仕様に変更する場合には、1.0 に変更してください。
## リクエストパラメータ
API実行時のリクエストパラメータでAPIバージョンを指定できます。未指定の場合はAPI.jsonのVersionパラメータの値となります。旧バージョンの仕様に変更する場合は、1.0 を指定してください。
### [レコード取得API](/ja/manual/api-record-get)のリクエスト
##### JSON
```
{
"ApiVersion": 1.0,
"ApiKey": "63Kfk0ds3d4S2DBsa32..."
}
```
### [$p.apiGet](/ja/manual/script-api-get)のリクエスト
```
$p.apiGet({
id: <サイトID>,
data: {
"ApiVersion": 1.0,
<その他の取得条件>
},
done: <任意の処理>,
fail: <任意の処理>,
always: <任意の処理>
});
```
# Api.jsonのCompatibility_1_3_12パラメータ
バージョン 1.3.12.0 以前のバージョンに存在した不具合(APIキーを指定しないリクエストでApiVersionが正しくセットされない問題)に該当するAPI呼び出しが存在する場合に、互換性を維持するための設定です。既定値はfalseです。該当のAPI呼び出しを使用している場合には本パラメータを true に変更し[Api.json](/ja/manual/api-json) の Version を 1.0 に変更してください。尚、.NET Framework版では本不具合は発生していないため、.NET Framework版からの移行においてはfalseに設定してください。
## 該当するAPI呼び出し
データ内にApiVersionを指定しているがApiKeyを指定していないケースでは、ApiVersion 1.1 の指定が無視され 1.0 で動作する不具合がバージョン 1.3.12.0 以前に存在しました。バージョン 1.3.13.0 以降ではこの不具合が解消されるため、バージョン 1.1 の挙動に変更となります。
```json
{
"ApiVersion": 1.1
"Title": "1.0"
}
```
### Compatibility_1_3_12 : false の挙動
不具合が解消され、指定されたAPIバージョンで動作します。
|ApiVersion|ApiKey|挙動|
|:----|:----|:----|
|指定なし| |Api.jsonのVersion|
|1.0|指定あり|1.0|
|1.0|指定なし|1.0|
|1.1|指定あり|1.1|
|1.1|指定なし|**1.1**|
### Compatibility_1_3_12 : true の挙動
1.3.12.0 以前のバージョンと同様に ApiVersion の指定が無視されます。
|ApiVersion|ApiKey|挙動|
|:----|:----|:----|
|指定なし| |Api.jsonのVersion|
|1.0|指定あり|1.0|
|1.0|指定なし|1.0|
|1.1|指定あり|1.1|
|1.1|指定なし|**Api.jsonのVersion**|
## 関連情報
<div id="ManualList"><ul><li><a href="/en/manual/api-json">Set Parameter: Api.json</a><span>08.13.2024 up</span></li></ul></article>
<ul><li><a href="/en/manual/table-management-class">Table Management: Item: Classification</a><span>08.13.2024 up</span></li>
<li><a href="/en/manual/table-management-num">テーブルの管理:項目:数値</a><span>04.21.2023 up</span></li>
<li><a href="/en/manual/table-management-date">Table Management: Item: Date</a><span>08.13.2024 up</span></li>
<li><a href="/en/manual/table-management-description">Table Management: Item: Description</a><span>08.13.2024 up</span></li>
<li><a href="/en/manual/table-management-check">Table Management: Item: Check </a><span>08.13.2024 up</span></li>
<li><a href="/en/manual/table-management-attachments">Table Management: Item: Attachment</a><span>08.13.2024 up</span></li></ul></article>
<ul><li><a href="/en/manual/api-record-get">Developer Function: API: Table Operation: Retrieve Single Record</a><span>08.14.2024 up</span></li>
<li><a href="/en/manual/api-record-get-multi">Developer Function: API: Table Operation: Retrieve Multiple Records</a><span>08.14.2024 up</span></li></ul></article>
<ul><li><a href="/en/manual/script-api-get">開発者向け機能:スクリプト:$p.apiGet</a><span>09.22.2023 up</span></li></ul></article></div><input id="SearchTextHidden" type="hidden" value="" />