Skip to main content

웹훅

웹훅을 사용하면 폴링을 중단하고 이벤트가 발생하는 즉시 VoiceCheap가 귀하의 서버에 알림을 보내도록 할 수 있습니다 GET /v1/translate/{projectId}/status.
전송은 한 번 시도됩니다. 아직 재시도 기능이 없으므로 안전망으로 폴링을 유지하세요. 놓쳐서는 안 되는 모든 항목에 대해 그렇습니다. 지수 백오프를 사용한 재시도가 계획되어 있습니다.

설정

  1. VoiceCheap 계정에서 API 페이지을(를) 엽니다.
  2. Webhooks에서 Generate signing secret을 선택합니다. 시크릿은 whsec_(으)로 시작하며 한 번만 표시되므로 복사하여 서버에 저장하세요.
  3. endpoint URL을 입력하고 저장합니다. 반드시 https을(를) 사용해야 합니다.
이것으로 끝입니다. 그 이후로 시작하는 모든 프로젝트는 해당 엔드포인트로 이벤트를 전달합니다.

요청별 엔드포인트 재정의

POST /v1/translatePOST /v1/projects은(는) 해당 프로젝트에 대해서만 계정 엔드포인트를 재정의하는 선택적 webhookUrl 필드를 허용합니다. 스테이징 트래픽을 다른 곳으로 보낼 때 유용합니다:
서명 비밀 키는 항상 계정 비밀 키이며, 대상만 변경됩니다.

이벤트

별도의 전사 이벤트는 없습니다. 전사는 프로젝트 생성 과정에서 실행되며, 프로젝트는 전사가 저장된 후에만 존재하므로 project.created은 이미 전사가 완료되었음을 의미합니다. POST /v1/projects/{projectId}/transcript을(를) 통해 가져올 준비가 되었습니다.

페이로드

모든 전달은 JSON 본문을 포함한 POST입니다:
페이로드는 의도적으로 간소화되어 있습니다. 콘텐츠 자체를 가져오려면 REST API를 호출하십시오.

서명 확인

모든 전송에는 다음 헤더가 포함됩니다: 서명은 <timestamp>.<raw body>을(를) 포함하므로 모든 전송마다 다르며 다음 두 가지를 증명합니다. 요청이 VoiceCheap에서 왔다는 것과 전송 중에 본문이 수정되지 않았다는 것입니다.
전송을 신뢰하기 전에 서명을 확인하십시오. 귀하의 엔드포인트는 공개 URL이며 서명은 실제 VoiceCheap 이벤트를 그 외의 다른 도달하는 것들과 구별해 주는 요소입니다.

응답

확인을 위해 2xx 상태로 응답하십시오. 10초 이내에 답변해야 합니다. 먼저 확인 응답을 보내고 작업을 처리하기 전에 응답하는 대신, 확인 후 작업을 수행하십시오. 2xx가 아닌 응답이나 시간 초과는 전송 실패로 기록되며, 현재로서는 재시도되지 않습니다.

시크릿 교체

API 페이지에서 **교체(Rotate)**를 선택하여 새 시크릿을 생성하세요. 이전 시크릿은 즉시 작동이 중단되므로, 교체 즉시 새 시크릿을 서버에 배포하세요. 웹훅을 삭제하면 엔드포인트와 시크릿이 모두 제거되며 전송이 중단됩니다.