開発者向け機能:API:テーブル操作:レコードのインポート
## 概要
APIを使用して指定したテーブルにレコードをインポートします。
## 事前準備
APIの操作を行う前に[APIキーの作成](/manual/422358)を実施してください。
## リクエスト
下記のリクエスト形式で、CSVデータとJSONパラメータを送信します。
|設定項目|値|
|:--|:--|
|HTTPメソッド|POST|
|Content-Type |multipart/form-data|
|文字コード|UTF-8|
|URL|http://{サーバー名}/api/items/{サイトID}/import (※1)|
|Body|下記「Bodyに指定する項目」を参照のこと|
(※1){サーバー名}、{サイトID}の部分は、適宜、環境に合わせて編集してください。
pleasanter.netの場合は以下の形式になります。
https\://pleasanter.net/fs/api/items/{サイトID}/import
### Bodyに指定する項目
|項目名|値|
|:--|:--|
|parameters|下記「APIパラメータ」の内容をJSON形式の文字列で指定|
|file|登録するCSVファイルのバイナリデータ|
### APIパラメータ
|項目名|設定例|備考|
|:--|:--|:--|
|ApiVersion|1.1|APIバージョン|
|ApiKey|3da0fa3a7R61faf821...|取得したAPIキー|
|Encoding|Shift-JIS|CSVファイルのエンコーディング。"UTF-8"または"Shift-JIS"を指定|
|UpdatableImport|true|「キーが一致するレコードを更新する」場合にtrueを指定|
|Key|IssueId|UpdatableImportをtrueに設定した場合のキー項目。キー項目が分類Aの場合は"ClassA"と設定|
## 実行例のサンプル
### PowerShell(version6.0 以降)のサンプル
##### PowerShell
```
$uri = 'http://servername/api/items/1234/import'
$filePath = "./sample.csv"
$form = @{
parameters = ConvertTo-Json @{
ApiVersion = 1.1;
ApiKey = "4d84b4773a58bbc3c4...";
Encoding = "UTF-8";
UpdatableImport = $true;
Key = "IssueId";
};
file = Get-Item -Path $filePath;
}
Invoke-WebRequest -Uri $uri -Method Post -Form $form
```
### Pythonのサンプル
##### Python
```
import requests
import json
url = "https://servername/api/items/1234/import"
filePath = "./sample.csv"
data = {
"parameters": json.dumps({
"ApiVersion" : 1.1,
"ApiKey" : "4d84b4773a58bbc3c4...",
"Encoding" : "UTF-8",
"UpdatableImport" : True,
"Key" : "IssueId"
})
}
files = {
"file":("sample.csv", open(filePath,"rb"), "text/csv")
}
response = requests.post(url, data, files=files)
print(response.content.decode())
```
## レスポンス
下記の形式のjsonデータが返却されます。
##### JSON
```
{
"Id":1234,
"StatusCode":200,
"LimitPerDate":1000,
"LimitRemaining":998,
"Message":"テーブル名: 50 件追加し、12 件更新しました。"
}
```
## エラー時の確認事項
[・API使用時の注意点やエラーが発生する場合の確認事項](/manual/1637032)
[・FAQ:変更後の設定ファイルやAPIリクエスト(JSON形式)が正しく認識されない場合の確認事項](/manual/1639671)