# Postback API

Treasure Dataユーザーは、パブリックREST APIを通じてデータを取り込むことができます。Treasure Dataを使用して、データへのカスタムWebhookを作成できます。この記事では、データインポートREST APIの仕様について説明します。

データベース、テーブル、ジョブなどを制御するREST APIについては、[REST APIs in Treasure Data](/apis/td-api)を参照してください。

Data Ingestion APIを使用した改善されたオプションが利用可能です。詳細については、[Data Ingestion APIを使用したテーブルレコードのインポート](/ja/products/customer-data-platform/integration-hub/streaming/importing-table-records-using-the-data-ingestion-api)をご覧ください。

* [前提条件](/ja/products/customer-data-platform/integration-hub/streaming/postback-api#prerequisites)
* [エンドポイント](/ja/products/customer-data-platform/integration-hub/streaming/postback-api#endpoint)
* [制限事項](/ja/products/customer-data-platform/integration-hub/streaming/postback-api#limitation)
* [POST /postback/v3/event/{database}/{table}](/ja/products/customer-data-platform/integration-hub/streaming/postback-api#post-postbackv3eventdatabasetable)


## 前提条件

* Treasure Dataの基本的な知識


## エンドポイント

すべてのAPIリクエストは、[お客様のリージョンに適切なエンドポイント](/apis/endpoints/endpoints)に送信する必要があります。

## 制限事項

Treasure Dataは現時点ではアクセスを制限していません。ただし、システムの健全性を確保するために必要と判断された場合、APIへのアクセスを制限する可能性があります。

## POST /postback/v3/event/{database}/{table}

## 認証

すべてのリクエストには_認証情報_を含める必要があります。認証は2つの方法で提供できます。

* X-TD-Write-Key HTTPヘッダーを指定する。ヘッダー形式は次のとおりです。
`X-TD-Write-Key: <APIKEY>`
* td_write_key URLパラメータを指定する。例:
`/postback/v3/event/{database}/{table}?td_write_key=<APIKEY>`
APIキーは、他のすべてのキー/値パラメータと同様にURLエンコードする必要があります。


ヘッダーとURLパラメータの両方が提供されている場合、ヘッダーが優先されます。

APIキーはTreasure コンソールから取得できます。[Write Only APIキー](/ja/products/control-panel/security/#access-control)の使用を推奨します。

### パラメータ

* {database}: URLで宛先データベース名を指定します。アルファベット、数字、または _ のみが使用できます。
* {table}: URLで宛先テーブル名を指定します。アルファベット、数字、または _ のみが使用できます。


### リクエストボディ

ボディとしてJSONを指定します。JSONコンテンツは、すぐにTreasure Data内のレコードになります。また、HTTPリクエストヘッダーにContent-Type: application/jsonを含めてください。

### レスポンス

* HTTP 200 : 成功
* HTTP 400 : 不正なリクエスト
* HTTP 403 : 禁止


### 例

POSTメソッドを介してレコードをインポートするcurlコマンドの例を次に示します。


```bash
$ curl -D a -X POST \
-H 'Content-Type: application/json' \
-H 'X-TD-Write-Key: XXXX' \
--data-binary '{"param1":"value1", "param2":1234}' \
https://in.treasuredata.com/postback/v3/event/test_db/test_tbl
```


```bash
$ cat a
```


```bash
HTTP/1.1 200 OK
Content-Type: application/json
Date: Thu, 03 Dec 2015 02:31:32 GMT
Content-Length: 2
Connection: keep-alive
```

これにより、次のようにレコードが取り込まれます。


```json
{
  "time": "1448344701",
  "param1": "value1",
  "param2": 1234
}
```