VoiceRouter

gladia-webhook

Voice Router SDK - Webhook Normalization / gladia-webhook

gladia-webhook

Classes

GladiaWebhookHandler

Gladia webhook handler

Handles webhook callbacks from Gladia API:

  • transcription.success - Job completed successfully (includes full transcript)
  • transcription.error - Job failed with error

Example

import { GladiaWebhookHandler } from '@meeting-baas/sdk';

const handler = new GladiaWebhookHandler();

// Validate webhook
const validation = handler.validate(req.body);
if (!validation.valid) {
  return res.status(400).json({ error: validation.error });
}

// Parse webhook
const event = handler.parse(req.body);
console.log('Event type:', event.eventType);
console.log('Job ID:', event.data?.id);

if (event.eventType === 'transcription.completed') {
  console.log('Transcript:', event.data?.text);
  console.log('Utterances:', event.data?.utterances);
}

Extends

Constructors

Constructor

new GladiaWebhookHandler(): GladiaWebhookHandler

Returns

GladiaWebhookHandler

Inherited from

BaseWebhookHandler.constructor

Methods

createErrorEvent()

protected createErrorEvent(payload, errorMessage): UnifiedWebhookEvent

Helper method to create error response

Parameters
ParameterType
payloadunknown
errorMessagestring
Returns

UnifiedWebhookEvent

Inherited from

BaseWebhookHandler.createErrorEvent

mapUtterance()

private mapUtterance(utterance): Utterance

Convert Gladia UtteranceDTO to unified Utterance type

Parameters
ParameterType
utteranceUtteranceDTO
Returns

Utterance

mapWord()

private mapWord(w): Word

Convert Gladia WordDTO to unified Word type

Parameters
ParameterType
wWordDTO
Returns

Word

matches()

matches(payload, _options?): boolean

Check if payload matches Gladia webhook format

Gladia callbacks have the structure:

  • { id, event: "transcription.success", payload: TranscriptionResultDTO, custom_metadata? }
  • { id, event: "transcription.error", error: ErrorDTO, custom_metadata? }
Parameters
ParameterType
payloadunknown
_options?{ queryParams?: Record<string, string>; userAgent?: string; }
_options.queryParams?Record<string, string>
_options.userAgent?string
Returns

boolean

Overrides

BaseWebhookHandler.matches

parse()

parse(payload, _options?): UnifiedWebhookEvent

Parse Gladia webhook payload to unified format

Parameters
ParameterType
payloadunknown
_options?{ queryParams?: Record<string, string>; }
_options.queryParams?Record<string, string>
Returns

UnifiedWebhookEvent

Overrides

BaseWebhookHandler.parse

validate()

validate(payload, options?): WebhookValidation

Validate webhook payload structure

Checks if payload has required fields and correct types

Parameters
ParameterTypeDescription
payloadunknownRaw webhook payload
options?{ queryParams?: Record<string, string>; userAgent?: string; }Optional context (query params, headers, etc.)
options.queryParams?Record<string, string>-
options.userAgent?string-
Returns

WebhookValidation

Validation result with details

Inherited from

BaseWebhookHandler.validate

verify()

verify(): boolean

Verify Gladia webhook signature

Note: As of the current API version, Gladia does not provide webhook signature verification. This method is a placeholder for future implementation.

Returns

boolean

Always returns true (no verification available)

Overrides

BaseWebhookHandler.verify

Properties

provider

readonly provider: TranscriptionProvider = "gladia"

Provider name

Overrides

BaseWebhookHandler.provider

Functions

createGladiaWebhookHandler()

createGladiaWebhookHandler(): GladiaWebhookHandler

Factory function to create a Gladia webhook handler

Returns

GladiaWebhookHandler

On this page