Webhook の戻り値を構成する
タスクを構成する際は、必要に応じて次の設定を使用して Webhook からの戻り値をキャプチャします。
- [Return value] 切り替えを有効にする
- [Specific types] フィールドを使用して、JSON レスポンスの戻り値を AppSheet のデータ型にマッピングする
Webhook からの戻り値を自動化で使用する
- Apps Script タスクの [Function Arguments] フィールド
- ファイル作成タスクの [File Folder Path] フィールドまたは [File Name Prefix] フィールド
自動化でこのタスクの後に定義された式で Webhook からの戻り値を使用するには、次の構文を使用して出力を参照します。
[ステップ名].[フィールド名]
たとえば、Call Address Service という名前の Webhook 呼び出しタスクは、次の戻り値を取得します。
戻り値を参照するには、次の形式を使用します。[Call Address Service].[フィールド名]
例:
CONCATENATE([Call Address Service].[ZipCode],[Call Address Service].[StreetName],"")
レスポンスのネストされたフィールドを使用する
AppSheet は、レスポンス内の任意のレベルでネストされたオブジェクトをサポートします。ネストされたフィールドを使用するには、.
(ドット)セパレータを使用します。
たとえば、ある従業員のレスポンス データに、次のように部署情報が含まれているとします。
"name": "John Doe",
"department": {
"name": "Finance"
}
この場合、次の構文を使用して部署名を参照できます。
[ステップ名].[department.name] // 戻り値は「Finance」
レスポンスの配列内の値を使用する
INDEX()
関数を使用して、レスポンスの配列内の値を使用します。
たとえば、ある従業員のレスポンス データに、次のように組織情報が配列として含まれているとします。
{
"ID": 123,
"company": "mycompany",
"function": {
"role": "project-manager",
"organizations": ["Finance", "Engineering", "Cloud"]
}
}
この場合、次の構文を使用して Engineering 組織を参照できます。
INDEX([ステップ名].[function.organizations],2) // これで「Engineering」が返されます
戻り値のデバッグに関するヒント
次のセクションでは、戻り値のデバッグに関するヒントを提供します。
エラー メッセージ
型変換に失敗した場合でも、bot の実行は成功しますが、Automation Monitor にエラー メッセージが報告されます。
次の表に、JSON マッピングの問題に基づいて返されるエラー メッセージを示します。
JSON マッピングの問題 | エラー メッセージ |
配列内の異なる型 | Failed Webhook type translation: List type for key '{0}' must only have a single child type |
キーが見つからない |
Failed Webhook type translation: Key 'key' not found in returned object |
不正な型のマッピング |
|
ネストされたオブジェクト |
|
非プリミティブ配列 |
Failed Webhook type translation: List type for key '{0}' cannot contain nested or repeated types |
Null レスポンス |
|
タイムアウト値
タイムアウトは次のように処理されます。
- 次の値を比較する場合、タイムアウトの最小値が使用されます。
- bot 実行タイムアウト
- Webhook タスク タイムアウト
- スケジュールされたイベントを伴う自動化の場合、タイムアウトの最大値は 5 分です。データ変更イベントを伴う自動化の場合、タイムアウトの最大値は 2 分です。
戻り値の制限事項
Webhook からの戻り値がサポートされているのは以下のみです。
- HTTP
GET
、PATCH
、POST
、PUT
、DELETE
メソッド - JSON ファイル形式
- 以下のような JSON レスポンス内のネストされたオブジェクト:
{
"ID": 123,
"company": "mycompany",
"employee": {
"lastname": "Doe",
"firstname": "Jane"
}
} -
以下のような同じ型のフラット配列:
{
"ID": 123,
"company": "mycompany",
"function": {
"role": "project-manager",
"organizations": ["Finance", "Engineering", "Cloud"]
}
}
現時点では、Webhook からの戻り値は以下ではサポートされていません。
- 再利用可能な自動化コンポーネント
- 非同期 HTTP 呼び出し([Run Asynchronously] を有効にする)
- XML などの他のファイル形式
- 以下のような複合型のネストされた配列:
{"company": "mycompany",
"Employees":
[{
"lastname": "Doe",
"firstname": "Jane"
},{
"lastname": "Doe",
"firstname": "John"
}]
}