発信ダイヤル規則で使用される操作のガイドライン


データをアウトバウンドダイヤルルールに返すデータアクションの成功スキーマを定義するときには、特別な考慮事項が適用されます。

ネスト出力プロパティ

出力連絡先(成功スキーマ)を作成するときには、必要に応じてプロパティをネストすることが不可欠です。からの出力フィールド /実行 これは複雑なオブジェクトであり、スキーマ内の対応するプロパティはネスト化されたスキーマである必要があり、「フラット化された」出力を想定する文字列ではありません。アウトバウンドはすでに使用しています ?flatten = true 出力を平坦化します。

ネストしていないプロパティの例

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data.my data field": {
      "type": "string",
    }
  }
}

上記の例では、データアクションの成功スキーマに「data.myデータフィールド」を指定しています。結果のアクションは、発信ダイヤルデータアクションルールで使用されている場合は機能しません。アウトバウンドはこのフィールドを見つけることができません。 / actions / {actionId} / execute 応答。それはの結果で呼び出しをスキップします ININ-OUTBOUND-RULE-ERROR-SKIPPED

この問題を回避するには、 " ;my data field" ;を " ;data" ;フィールドのネストしたプロパティにします。

正しくネストした例

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "my data field": {
          "type": "string"
        }
      }
    }
  }
}

一般に、出力スキーマは、/ execute要求から返されることを気にかけているプロパティと同じ構造を持つべきです。

この単純なオブジェクトと、出力スキーマがそれを返す方法を検討してください。

単純なオブジェクト

{
  "foo": {
    "bat": "bar"
  }
}

単純オブジェクトの出力スキーマ

{
 "$schema": "http://json-schema.org/draft-04/schema#",
 "type": "object",
 "properties": {
   "foo": {
     "type": "string"
   }
 }
}

これをOutboundとの互換性を持たせるには、単純オブジェクトの出力スキーマを変更してプロパティをネストします。

正しくネストされた単純オブジェクト

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "foo": {
      "type": "object",
      "properties": {
        "bat": {
          "type": "string"
        }
      }
    }
  }
}

このスキーマは以下を返します。

{
  "foo": {
    "bat": "bar"
  }
}

必須フィールド

データデータ アクションが必要とするフィールドがある場合、成功スキーマでそれらのフィールドを必須としてマークします。

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "required": [
    "contact_id",
    "phone_number"
  ],
  "properties": {
   ...
    },