오디오 웹훅 정의하기
이 기능은 현재 전화 통합의 Genesys 오디오 커넥터에서만 지원됩니다.
오디오 웹훅은 레코드 응답 유형을 사용하여 오디오를 수집할 때마다 외부 서비스나 애플리케이션을 호출합니다. 외부 서비스에서 오디오를 처리하고 오류가 발생하면 통화를 끊습니다. AI 어시스턴트는 오디오를 저장하지 않으므로 규정 준수상의 이유로 오디오 웹훅을 사용하여 오디오를 저장하는 경우가 많습니다.
시작하기 전에
외부 서비스에 대한 프로그램 호출은 다음 요구사항을 충족해야 합니다.
호출은 POST HTTP 요청이어야 합니다.
요청 본문은 JSON 객체여야 합니다(콘텐츠 유형: multipart/form-data).
통화는 30초 이내에 응답해야 합니다.
오디오 녹음에 대한 자세한 내용은 발신자의 발언 녹음하기를 참조하세요.
프로시저
웹훅 세부사항을 추가하려면 다음 단계를 완료하십시오.
홈 > 환경으로 이동합니다.
초안 탭 > 초안 환경 또는 라이브 탭 > 라이브 환경 중 하나에서 설정
을 클릭합니다.오디오 웹훅을 클릭합니다.
오디오 웹훅 스위치를
Enabled로 설정합니다.필드에 URL 필드에 HTTP POST 요청을 보낼 외부 애플리케이션의 URL 을 추가합니다. URL 에서 SSL 프로토콜을 사용하는지 확인합니다(예: https로 시작).
비밀 필드에 외부 서비스 인증 요청과 함께 전달할 개인 키를 추가합니다. 키는 최대 길이 1,024자의 텍스트 문자열(예: 보라색 유니콘)로 지정해야 합니다.
컨텍스트 변수를 지정할 수 없습니다. 외부 서비스에 토큰이 필요하지 않은 경우 원하는 문자열을 지정합니다. 이 필드를 비워 둘 수 없습니다. 비밀번호를 입력할 때 비밀번호를 확인하려면 입력하기 전에 비밀번호 표시를 클릭합니다. 비밀번호를 저장한 후에는 별표가 문자열을 대체하며 다시 볼 수 없습니다. 이 필드가 사용되는 방식에 대한 자세한 내용은 클래식 환경 전용 웹훅 보안을 참조하세요.
시간 초과 필드에서 어시스턴트가 오류를 반환하기 전에 웹훅의 응답을 기다릴 기간(초)을 지정합니다. 타임아웃 기간은 1초에서 30초 사이여야 합니다.
헤더 섹션에서, 헤더 추가를 클릭하여 한 번에 하나씩 서비스에 전달할 헤더를 추가하십시오.
예를 들어, 호출하는 외부 애플리케이션이 응답을 반환하는 경우 여러 형식으로 응답을 보낼 수 있습니다. 웹훅은 응답이 JSON으로 형식화되어야 합니다. 다음 표는 헤더를 추가하여 반환할 결과값이 JSON 형식이 되도록 하는 방법을 설명합니다.
헤더 예제 헤더 이름 헤더 값 Content-Typeapplication/json
헤더 값을 저장한 후에는 문자열이 별표로 바뀌며 다시 볼 수 없습니다.
웹훅 세부사항이 자동으로 저장됩니다.
더 많은 예제는 오디오 웹훅 예시를 참조하세요.
웹훅 테스트
프로덕션 환경에서 사용되는 어시스턴트에 대해 사용으로 설정하기 전에 웹훅의 광범위한 테스트를 수행하십시오.
웹후크는 전화 통화 중에 녹음 응답 유형이 사용될 때 트리거됩니다. 웹훅에 대한 요청이 실패하면 통화가 끊어집니다. 웹훅이 실패한 이유에 대한 자세한 내용은 전화 통합 로그에서 확인할 수 있습니다. 자세한 내용은 전화 연동 문제 해결을 참조하세요.
요청 본문
오디오 웹훅의 요청 본문 형식을 알고 있으면 외부 코드에서 이를 처리할 때 유용합니다.
페이로드에는 오디오와 메타데이터가 Content-Type: multipart/form-data로 포함됩니다. 요청의 예는 다음과 같습니다:
POST /audio-webhook HTTP/1.1
Content-Type: multipart/form-data; boundary=----------3676416B-9AD6-440C-B3C8-FC66DDC7DB45
----------3676416B-9AD6-440C-B3C8-FC66DDC7DB45
Content-Disposition: form-data; name="metadata"
Content-Type: application/json
{
"assistant_id": "dadf4b56-3b67-411a-b48d-079806b626d3",
"environment_id": "6205aead-fe91-44af-bfe1-b4435015ba23",
"session_id": "50989a59-9976-4b3f-9a98-af42adcad69a",
"recording_id": "3daeb5d2-f52b-4c3e-a869-328b6fc6327c",
"start_timestamp": "2024-10-21T17:22:07.789Z",
"stop_timestamp": "2024-10-21T17:22:37.789Z"
}
----------3676416B-9AD6-440C-B3C8-FC66DDC7DB45
Content-Disposition: form-data; name="audio_recording"
Content-Type: audio/mulaw;rate=8000
<binary data>