무료 웹훅 테스터: 코딩 전에 웹훅이 보내는 내용 보기

무료 웹훅 테스터는 공개 HTTPS URL을 주고, 들어온 요청마다 헤더와 본문을 보여 줍니다. Sume의 테스트 보내기(Send test)를 그 URL로 보내면 서명된 페이로드를 볼 수 있습니다.

읽는 시간 5분Sume
전체 글

무료 웹훅 테스터는 고유한 공개 HTTPS URL을 발급해 주고, 그 URL로 들어온 모든 요청을 헤더와 원본 본문까지 보여 주는 호스팅 페이지입니다. 그래서 수신기를 작성하기 전에 웹훅이 무엇을 보내는지 확인할 수 있습니다. Sume의 웹훅을 보려면 대시보드 웹훅 탭의 테스트 보내기(Send test)에 그 URL을 붙여 넣어 서명된 webhook.test 전달을 받거나, 실행 하나의 웹훅 URL로 그 URL을 넘겨 실제 영수증을 캡처하세요.

Sume 관련 내용은 웹훅 (영문), Run 웹훅 (영문), 실행과 결과 (영문), Sume API 레퍼런스에서 가져왔으며, 2026-09-27에 확인했습니다. 이 글에서는 특정 테스터를 거론하지 않습니다. 공개 HTTPS URL을 주고 원본 요청을 보여 주는 서비스라면 어느 것이든 같은 방식으로 쓸 수 있습니다. 대신 내 컴퓨터에서 돌아가는 코드로 전달을 받으려면 ngrok·Cloudflare Tunnel로 Sume 웹훅 로컬 테스트하기를 참고하세요.

테스터 URL로 테스트 웹훅은 어떻게 보내나요?

테스트 보내기(Send test)를 쓰세요. /dashboard/webhooks의 컨트롤을 쓰거나, account:write가 있는 키로 POST /v1/webhooks/test-deliveries를 호출하면 됩니다. 테스터의 URL을 붙여 넣으면 Sume가 그 URL로 서명된 더미 webhook.test 페이로드를 POST합니다. 실제 Job이나 실행을 재생하는 일은 없습니다. URL은 공개 HTTPS여야 하며, localhost, 사설 네트워크, HTTPS가 아닌 URL은 거부됩니다. 이 호출이 반환하는 필드는 Sume 웹훅이 도착하지 않나요?에서 설명합니다.

curl -X POST https://api.sume.com/v1/webhooks/test-deliveries \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "webhook_url": "https://example.com/your-tester-url" }'

테스터에는 무엇이 표시되나요?

JSON 본문과 Sume 서명 헤더가 담긴 POST가 표시됩니다. 아래 예시처럼 테스트 본문은 작고, 자신이 Job이나 실행이 아니라고 분명히 밝힙니다. 실제 전달에도 같은 헤더가 실리며, payload에는 실행 영수증이나 Job 결과가 담깁니다.

Sume의 웹훅 (영문), Run 웹훅 (영문), 실행과 결과 (영문) 문서 기준, 2026-09-27 확인.
부분표시되는 값의미
content-typeapplication/json본문이 JSON임
x-sume-webhook-timestamp1785000000 같은 Unix 초본문과 함께 서명됨
x-sume-webhook-signaturesume-v1=<hex><timestamp>.<raw_body>에 대한 HMAC-SHA256. 시크릿 교체 중에는 쉼표로 구분된 항목 두 개
x-sume-webhook-secret-fingerprinthex 문자 12개현재 서명 시크릿의 지문. 시크릿과 달리 공유해도 안전함
본문의 eventwebhook.test실제 전달에서는 format.run.terminal, job.completed 등
본문의 request_idreq_wh_test_…실행 전달에서는 실행 ID와 같으며 중복 제거 키
{
  "event": "webhook.test",
  "request_id": "req_wh_test_…",
  "payload": {
    "ok": true,
    "message": "Sume webhook test. Not a job or Format run."
  }
}

실제 웹훅 페이로드는 어떻게 캡처하나요?

테스터의 URL을 웹훅 URL로 지정해 실행이나 Job을 하나 만드세요. Format 실행에서는 communication.webhook_url, POST /v1/videos에서는 callback_url입니다. Sume는 실행이 완료되거나 실패할 때 실행 영수증을 한 번 POST하며, 취소되거나 건너뛴 실행에는 보내지 않습니다. 기존 실행을 나중에 테스터로 향하게 할 수는 없습니다. 다시 보내기(Redeliver)는 다른 URL로 보내지 않기 때문입니다.

  • 실행 전달의 payload는 영수증이며, GET /v1/format-runs/{run_id}의 data와 바이트 단위로 같습니다. 따라서 키로 실행을 읽으면 테스터 없이도 같은 객체를 볼 수 있습니다.
  • 1 MiB를 넘는 영수증은 payload: null과, 어디서 가져오면 되는지 알려 주는 오류를 담아 도착합니다.

웹훅 테스터에서 서명 검증도 테스트할 수 있나요?

테스터 안에서는 할 수 없습니다. 테스터는 여러분의 서명 시크릿을 갖고 있지 않으며, 절대 가져서도 안 됩니다. 테스터로는 바이트를 캡처하고, 그 바이트에 여러분의 검증기를 실행하세요.

  • 보기 좋게 다시 포맷한 화면이 아니라 원본 본문을 바이트 그대로 복사하고, 타임스탬프와 서명 헤더도 함께 복사하세요. 다시 직렬화한 본문은 검증되지 않습니다. 키 순서와 공백도 서명 대상의 일부이기 때문입니다.
  • Sume가 무난한 기본값으로 보는 오 분의 재전송 허용 시간을 기준으로 하면, 캡처한 전달은 금방 기한이 지납니다. @sume-com/sdk의 verifyWebhook은 toleranceSeconds가 0이면 타임스탬프 확인을 건너뛰니, 이 설정은 오프라인 테스트에만 쓰세요.
  • 테스터의 응답은 테스터가 무엇으로 응답했는지만 보여 줍니다. 어떤 2xx든 전달된 것으로 인정되고 3xx는 실패한 시도이므로, 운영에 들어가기 전에 테스트 보내기(Send test)를 실제 엔드포인트로 보내 보세요.

공개 테스터로 실제 페이로드를 보내도 안전한가요?

그곳으로 보내는 것은 무엇이든 공개된 것으로 취급하세요.

  • 실제 영수증에는 만료되지 않고 가진 사람이면 누구나 열 수 있는 media.sume.com URL이 담기므로, 테스트용 콘텐츠만 캡처하세요.
  • 웹훅 URL과 함께 만든 실행은 종료 상태에 도달하면 언제든 그 URL로 POST할 수 있으므로, 테스트가 끝나면 테스터 URL을 더 이상 쓰지 마세요.
  • API 키나 서명 시크릿을 테스터에 절대 붙여 넣지 마세요. Sume 문서는 키를 신뢰할 수 있는 서버에만 두라고 안내합니다. 공유해도 안전한 것은 지문입니다.

출처

관련 글

개발자 카테고리의 다른 글

개발자 글 전체 보기

작성자 Sume