Skip to main content

Webhooki

Webhooki pozwalają VoiceCheap powiadomić Twój serwer, gdy tylko coś się wydarzy, dzięki czemu możesz przestać odpytywać GET /v1/translate/{projectId}/status.
Dostarczenia są podejmowane raz. Nie ma jeszcze ponownych prób, więc zachowaj odpytywanie jako zabezpieczenie dla wszystkiego, czego nie możesz przegapić. Planowane są ponowne próby z wykładniczym wycofaniem.

Konfiguracja

  1. Otwórz stronie API na swoim koncie VoiceCheap.
  2. W sekcji Webhooki wybierz Generuj klucz podpisu. Klucz zaczyna się od whsec_ i jest wyświetlany raz — skopiuj go i zapisz na swoim serwerze.
  3. Wprowadź swój adres URL punktu końcowego i zapisz go. Musi on używać https.
To wszystko. Każdy projekt, który od tego momentu uruchomisz, będzie wysyłał zdarzenia do tego punktu końcowego.

Zastępowanie punktu końcowego dla każdego żądania

POST /v1/translate i POST /v1/projects akceptują opcjonalne pole webhookUrl, które zastępuje punkt końcowy konta tylko dla tego projektu. Jest to przydatne do wysyłania ruchu testowego gdzie indziej:
Klucz podpisu jest zawsze kluczem konta; zmienia się tylko miejsce docelowe.

Zdarzenia

Nie ma oddzielnego zdarzenia transkrypcji. Transkrypcja uruchamia się podczas tworzenia projektu, a projekt istnieje dopiero wtedy, gdy jego transkrypcja jest zapisana — więc project.created oznacza już, że transkrypcja jest gotowa do pobrania za pomocą POST /v1/projects/{projectId}/transcript.

Ładunek (Payload)

Każde dostarczenie to POST z treścią JSON:
Ładunek jest celowo ograniczony. Wywołaj REST API, aby uzyskać samą treść.

Weryfikacja podpisu

Każde dostarczenie zawiera te nagłówki: Podpis obejmuje <timestamp>.<raw body>, więc jest inny przy każdym dostarczeniu i dowodzi zarówno tego, że żądanie pochodzi od VoiceCheap, jak i tego, że treść nie została zmodyfikowana w trakcie przesyłania.
Zweryfikuj podpis przed zaufaniem dostarczeniu. Twój punkt końcowy jest publicznym adresem URL, a podpis jest tym, co odróżnia prawdziwe zdarzenie VoiceCheap od wszystkiego innego, co do niego dociera.

Odpowiadanie

Odpowiedz dowolnym statusem 2xx, aby potwierdzić odbiór. Odpowiedz w ciągu 10 sekund — najpierw potwierdź, a potem wykonaj pracę, zamiast przetwarzać przed wysłaniem odpowiedzi. Odpowiedź inna niż 2xx lub przekroczenie czasu jest rejestrowane jako nieudane dostarczenie i na razie nie jest ponawiane.

Rotacja klucza

Wybierz Rotuj na stronie API, aby wygenerować nowy klucz. Poprzedni przestaje działać natychmiast, więc wdróż nowy klucz na swój serwer zaraz po rotacji. Usunięcie webhooka usuwa zarówno punkt końcowy, jak i klucz, a dostarczanie zostaje zatrzymane.