メインコンテンツへスキップ
このブログでは、XplentyのRest APIコンポーネントを使用し、ZendeskのSupport APIにアクセスし、チケットデータをIncrementalでロードする手順について解説します。

Zendesk側での設定

管理メニューから「API」を選択する
connector-part03-jp image 1
パスワードアクセスを有効に設定する
connector-part03-jp image 2

Xplenty側の設定

Step1: Rest API Componentの設定

Rest API コンポーネントでBasic認証を選択し、ユーザー名とパスワードを入力する
connector-part03-jp image 3
今回は、Support APIのIncremental Exportを使用するので、ドキュメントのルールに従い、URLを入力。
connector-part03-jp image 4
URL: https://サブドメイン名.zendesk.com/api/v2/incremental/tickets.json?start_time=1601768082&include=metric_sets start_time: UnixTimeの数値を指定 ResponseでJSON Pathを入力
connector-part03-jp image 5
Data Previewで結果が正しく取得できるのを確認したら、必要な列を選択し、Saveボタンをクリック。
connector-part03-jp image 6

Step2: Selectコンポーネントで入れ子になっているJSON部分の値を取得する式をセット

connector-part03-jp image 7

Step3: ロード先のDBもしくはDWHを設定(今回はRedshiftへロード)

Redshiftへの接続を設定し、テーブル名の入力および差分更新の設定(Merge with existing data using delete and insert)を選択する。
connector-part03-jp image 8
今回作成したデータフローは、こんな感じになります。
connector-part03-jp image 9

Step4: 自動で差分更新を行うための変数設定

最初の設定では、URLのパラメータ「start_time」を固定値で実装しましたが、今後自動的に前回取り込み分からの差分を取得できるよう変数を利用したリクエストURLが生成できるよう設定します。
connector-part03-jp image 10

1. 差分更新のため、前回実行時間を取得する変数をセットします。

connector-part03-jp image 11
  • 変数名:start_date
  • :ToUnixTime(CASE WHEN PACKAGELASTSUCCESSFULJOBSUBMISSIONTIMESTAMP==THENToDate(20000101T00:00:00.000Z)ELSEToDate(_PACKAGE_LAST_SUCCESSFUL_JOB_SUBMISSION_TIMESTAMP** == '' THEN ToDate('2000-01-01T00:00:00.000Z') ELSE ToDate(**_PACKAGE_LAST_SUCCESSFUL_JOB_SUBMISSION_TIMESTAMP) END)
式で使用しているシステム変数「$_PACKAGE_LAST_SUCCESSFUL_JOB_SUBMISSION_TIMESTAMP」には、自動的に前回ジョブ実行日時がセットされる。

2. URLのstart_timeの値に変数をセットします。(太字部分は変数)

URL: https://サブドメイン名.zendesk.com/api/v2/incremental/tickets.json?start_time=**$start_date**&include=metric_sets
connector-part03-jp image 12
これで簡単に差分だけを更新するDataflowパッケージの完成です。 もし、自社でお使いのSaaSサービスをクラウドに接続して取得したい場合は、XplentyのHPからオンラインデモをリクエストし、相談してみてはいかがでしょうか?
最終更新日 2026年7月13日