前回はXplenty: HubspotのデータをAPIで取得する方法について紹介しましたが、今回はHubspotのAPIを使用し、XplentyからHubspotのContactデータを更新する方法について解説します。
今回使用するAPIに関する参考ドキュメント:
https://legacydocs.hubspot.com/docs/methods/contacts/create_or_update
#データの書き込み
今回の例では、S3に保管されているコンタクトリストのCSVファイルをHubspotに更新する方法について紹介します。
##ストレージコンポーネント(ソース)を使用して、S3から今回Hubspotに更新するデータを取得します。
##SelectコンポーネントでCurlファンクションを使用してリクエストを定義します。
Select コンポーネントの設定画面
リクエスト例:https://api.hubapi.com/contacts/v1/contact/createOrUpdate/email/メールアドレスの列名/?hapikey=APIキー
リクエストBody例:
{ "properties": [ { "property": "firstname", "value": "firstnameの列名" }, { "property": "lastname", "value": "lastnameの列名" }, { "property": "company", "value": "企業名の列名" } ] }
上記を参考にXplentyでのCurlファンクションを使用し、関数式にする
Curl(CONCAT('https://api.hubapi.com/contacts/v1/contact/createOrUpdate/email/',mail,'/?hapikey=APIキー'),'POST','{"content-type":"application/json"}', CONCAT( '{ "properties": [{"property": "firstname","value": "',FirstName ,'" }, {"property": "lastname","value": "' ,LastName,'" },{"property": "company","value": "',Company,'" }]}' ))#'status'
##Xplentyでジョブ実行結果を確認する
ジョブが正しく実行され、各メールアドレスに対するリクエストが成功(ステータス:200)していることが分かります。
実際のHubspot側の画面で確認すると、ジョブ実行前の画面に対して、正しく追加、更新されていることが確認できます。
#変数をうまく利用する
今回は分かりやすいようにAPI KeyやURLについて固定値でセットする方法で紹介しましたが、変数を利用することで