このブログではHubspotのAPIを使用し、XplentyからContactデータを取得する方法について解説します。
関連ブログ:Xplenty: HubspotのデータをAPIで更新する
今回使用するAPIに関する参考ドキュメント:
https://legacydocs.hubspot.com/docs/methods/contacts/get_contacts
#Hubspot APIを使うには?
#データの読み込み
##パッケージの作成
今回はテンプレートを利用してパッケージを作成します。
##接続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
プレビューすると以下のようにデータがJSON形式で取得できることが確認できます。
##変換
###メールアドレスを1つの列として独立して取得する方法
1.データプレビューにもどって、メールアドレスが格納されているJSONパスを取得します。
JSONパス: $.[2].identity-profiles.[0].identities.[0].value
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型)
3.データ送信先は、デフォルトのRedshiftを削除し、Snowflakeに送信するように変更します。