아웃바운드 전화 걸기 규칙과 함께 사용되는 작업 지침
아웃바운드 전화 걸기 규칙에 데이터를 반환하는 데이터 작업의 성공 스키마를 정의할 때 특별한 고려 사항이 적용됩니다.
중첩 출력 속성
When constructing its output contact (success schema), it is imperative to nest properties when necessary. If an output field from /execute is a complex object, the corresponding property in the schema should be a nested schema, and not a string that assumes “flattened” output. Outbound already uses ?flatten=true
to flatten output.
중첩되지 않은 속성의 예
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"data.my data field": {
"type": "string",
}
}
}
The above example specifies a “data.my data field” in the success schema of a data action. The resulting action won’t work if it used by an outbound dialing data action rule. Outbound will be unable to find the field in the /actions/{actionId}/execute response. It will skip calls with a result of ININ-OUTBOUND-RULE-ERROR-SKIPPED
.
이 문제를 방지하려면 "데이터" 필드의 "내 데이터 필드"를 중첩 속성으로 만듭니다.
적절하게 중첩된 예
{
"$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": {
...
},