発信ダイヤル規則で使用される操作のガイドライン
データをアウトバウンドダイヤルルールに返すデータアクションの成功スキーマを定義するときには、特別な考慮事項が適用されます。
ネスト出力プロパティ
出力コンタクト (成功スキーマ) を構築するときは、必要に応じてプロパティをネストすることが不可欠です。からの出力フィールド /実行 これは複雑なオブジェクトであり、スキーマ内の対応するプロパティはネスト化されたスキーマである必要があり、「フラット化された」出力を想定する文字列ではありません。アウトバウンドはすでに使用しています?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": {
...
},