ワークフローの「Webhookを送信」アクションで、外部APIを JSON 形式でリクエストする方法について

ワークフローで一定条件に合致した際に外部の API へリクエストして、受け取ったレスポンス値をコンタクトのプロパティへ保存したいと考えています。

API は POST 形式でリクエストBody がネストされた JSON 形式を受け付けるようになっており、JSON の値としてコンタクトのプロパティを入れたいと考えています。API が受け付ける JSON の構造が決まっており、その形式に合わせたいのですが、どのように設定すればよいでしょうか?

或いは「Webhookを送信」以外の方法で実現可能手段あればご教示いただきたいです。

@DSendWOW さん、コミュニティーへの投稿ありがとうございます。

英語版HubSpotコミュニティーからこちらの日本語版HubSpotコミュニティーへ移動させていただきました。(*英語でのコミュニケーションとなりますが、HubSpot Developersでは他のディベロッパーたちと繋がることができます。

ご相談内容について、 @skimura さん何かアドバイスいただけることがあればお願いいたします🙏

@natsumimori 大変失礼いたしました、初めての投稿でよくわかっておりませんでした。。

移動いただきありがとうございます!

@DSendWOW

>API は POST 形式でリクエストBody がネストされた JSON 形式を受け付けるようになっており、JSON の値としてコンタクトのプロパティを入れたいと考えています。

結論から申し上げますと

下記の機能を持つAPIを作成してワークフローのwebhook経由で呼ぶ、というのはいかがでしょうか。

APIの機能(本来呼びたいAPIをラップしたAPI):

1. ワークフローから`{key: value, …}`形式のリクエストパラメータを受け取る

2. 本来呼びたいAPIを`{ xxx: {key: value, …}, …}`形式(ネストされたJSON)のリクエストパラメータで呼び出す

3. 上記2. のAPIのレスポンスをそのままレスポンスする

ワークフロー内で解決する方法の検討

webhookで呼び出すAPIのリクエストパラメータはネストではないので

ネストされた形式のデータを別途作成する必要がありそうですが

下記の理由でこの方法では難しい気がしております。

-適当なプロパティに`{key: value}`として保存する場合、文字列扱いになると思われます。

-カスタムコードを検討してみましたが、出力できるデータ型としてオブジェクトは指定できないようです。

参考になりましたら幸いです。

よろしくお願いします。

@natsumimori

お知らせいただきありがとうございます。

@skimura 早速ご回答いただき誠にありがとうございます!

やはりネストしたリクエストデータは送れないのですね…。。中間のラップした API を用意する形で検討したいと思います。

この度は早急にご回答いただき誠にありがとうございました!