1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?