LoginSignup
1
1

More than 3 years have passed since last update.

Xplenty: HubspotのデータをAPIで取得する

Last updated at Posted at 2020-10-22

このブログではHubspotのAPIを使用し、XplentyからContactデータを取得する方法について解説します。
関連ブログ:Xplenty: HubspotのデータをAPIで更新する

今回使用するAPIに関する参考ドキュメント:
https://legacydocs.hubspot.com/docs/methods/contacts/get_contacts

Hubspot APIを使うには?

  1. ダッシュボード画面右上に配置された「設定」ボタンをクリック
    image.png

  2. 連携の「APIキー」のメニューからAPIキーを生成します
    image.png

データの読み込み

パッケージの作成

今回はテンプレートを利用してパッケージを作成します。
image.png

すでに構築済みのパッケージが作成されます。
image.png

接続URLの変更

接続時のURLをテンプレートで設定された変数を使用したURLではなく、変数部分を明示的に固定値に変更するだけで、コンタクト情報を取得することが可能です。
元URL$url?hapikey=$api_key&count=250
変更後:https://api.hubapi.com/contacts/v1/lists/all/contacts/all?hapikey=<B>APIキー</b>&count=250
image.png

プレビューすると以下のようにデータがJSON形式で取得できることが確認できます。
image.png

変換

メールアドレスを1つの列として独立して取得する方法

1.データプレビューにもどって、メールアドレスが格納されているJSONパスを取得します。
JSONパス: $.[2].identity-profiles.[0].identities.[0].value
image.png

2.上記のJSONパスを元に変換式を定義します。
JsonExtractScalar(identity_profiles,'$.[0].identities.[0].value')
注)「identity-profiles」がXplentyにより「identity_profiles」と自動的にカラム名が変更されている点に注意していください。

  • JsonExtractScalar: 関数。 
    使い方
    JsonExtractScalar(引数1,引数2)
    引数1: String型のJSON文字列が格納されたフィールドや変数
    引数2: JSONパスをシングルクォートで囲み指定する
    返り値: String型
  • identity_profiles: フィールド名。JSON文字列が格納されている(String型)

image.png

3.データ送信先は、デフォルトのRedshiftを削除し、Snowflakeに送信するように変更します。
image.png

Xplentyでジョブ実行結果を確認する

Hubspotより3件のレコードが更新されていることを確認できました。
image.png

image.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1