Skip to content
Last updated

Postback API

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

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

Data Ingestion APIを使用した改善されたオプションが利用可能です。詳細については、Data Ingestion APIを使用したテーブルレコードのインポートをご覧ください。

前提条件

  • Treasure Dataの基本的な知識

エンドポイント

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

制限事項

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キーはTD Consoleから取得できます。Write Only APIキーの使用を推奨します。

パラメータ

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

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

リクエストボディ

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

レスポンス

  • HTTP 200 : 成功

  • HTTP 400 : 不正なリクエスト

  • HTTP 403 : 禁止

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

$ 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
$ cat a
HTTP/1.1 200 OK
Content-Type: application/json
Date: Thu, 03 Dec 2015 02:31:32 GMT
Content-Length: 2
Connection: keep-alive

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

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