Skip to navigation

콜 플로우 생성

View as Markdown

콜 플로우(결정적 ARS)를 새로 만듭니다. 콘솔 빌더가 저장하는 것과 같은 그래프 포맷이라, 여기서 만든 플로우는 콘솔에서 그대로 열리고 편집됩니다(좌표는 자동 배치됩니다).

검증은 두 단계입니다.

  1. 구조 — 블럭 타입·필드·값 범위. 스키마에 없는 필드는 거절합니다(오타 방어).
  2. 참조 — next 류가 가리키는 블럭이 실재하는지, 시작 블럭이 있는지.

실패하면 400과 함께 issues[]에 필드 단위 사유가 실립니다.

만든 플로우의 callFlowId는 발신(POST /v1/accounts/{accountId}/calls의 CallFlowId)과 착신(PATCH /v1/accounts/{accountId}/numbers/{number}의 routingType=callflow)에 그대로 씁니다.

Authentication

AuthorizationBearer

API Key를 Bearer 토큰으로 전달

Path parameters

accountIdstringRequired

계정 ID

Request

This endpoint expects an object.
namestringRequired<=80 characters

플로우 이름(콘솔 목록에 보이는 이름)

graphobjectRequired

콜 플로우 그래프 — 요청용. 블럭(nodes)과 시작점(start)으로 통화 흐름 전체를 기술합니다.

⚠️ 요청과 응답의 형태가 다릅니다. 기본값이 있는 필드(menu.maxDigits·menu.timeoutSec, record.maxLengthSec·playBeep·finishKey, dial.timeoutSec, voice.language, optout.number·channel)는 요청에서 생략할 수 있고, 응답에는 항상 채워져 돌아옵니다.

캔버스 좌표(ui)는 공개 계약 밖입니다 — 보내도 저장되지 않고, 응답에도 실리지 않습니다. 콘솔 빌더가 잡아 둔 좌표는 PUT이면 버려지고 PATCH면 보존됩니다.

그래프 전체는 256KB를 넘을 수 없습니다.

Response

생성 성공

callFlowIdstringOptional

콜 플로우 ID. createCall의 CallFlowId, 번호 라우팅의 callFlowId에 그대로 사용합니다.

namestringOptional

콜 플로우 이름

phoneNumberslist of stringsOptional

이 플로우로 인입되는 번호 목록(routingType=callflow). 아웃바운드 전용이면 빈 배열입니다.

variableslist of stringsOptional

발신 시 createCall의 Variables로 넣어야 하는 변수 이름들. 그래프가 {{이름}}으로 참조하지만 통화 중에는 만들어지지 않는 값입니다(누른 키·HTTP 응답·녹음 결과처럼 통화가 만들어내는 변수는 제외). 채우지 않으면 그 자리는 빈 문자열로 나갑니다.

dateCreateddatetimeOptional
dateUpdateddatetimeOptional
graphobject or nullOptional

블럭 구성. 저장된 그래프가 현재 스키마로 읽히지 않으면(콘솔이 아닌 경로로 손댄 아주 오래된 플로우) null입니다 — 이름·연결된 번호는 그대로 유효하며, 이 경우 PUT으로 그래프 전체를 다시 올려 고칠 수 있습니다.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
409
Conflict Error
413
Content Too Large Error