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
Inherited from
BaseWebhookHandler.constructor
Methods
createErrorEvent()
protectedcreateErrorEvent(payload,errorMessage):UnifiedWebhookEvent
Helper method to create error response
Parameters
| Parameter | Type |
|---|---|
payload | unknown |
errorMessage | string |
Returns
Inherited from
BaseWebhookHandler.createErrorEvent
mapUtterance()
privatemapUtterance(utterance):Utterance
Convert Gladia UtteranceDTO to unified Utterance type
Parameters
| Parameter | Type |
|---|---|
utterance | UtteranceDTO |
Returns
Utterance
mapWord()
privatemapWord(w):Word
Convert Gladia WordDTO to unified Word type
Parameters
| Parameter | Type |
|---|---|
w | WordDTO |
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
| Parameter | Type |
|---|---|
payload | unknown |
_options? | { queryParams?: Record<string, string>; userAgent?: string; } |
_options.queryParams? | Record<string, string> |
_options.userAgent? | string |
Returns
boolean
Overrides
parse()
parse(
payload,_options?):UnifiedWebhookEvent
Parse Gladia webhook payload to unified format
Parameters
| Parameter | Type |
|---|---|
payload | unknown |
_options? | { queryParams?: Record<string, string>; } |
_options.queryParams? | Record<string, string> |
Returns
Overrides
validate()
validate(
payload,options?):WebhookValidation
Validate webhook payload structure
Checks if payload has required fields and correct types
Parameters
| Parameter | Type | Description |
|---|---|---|
payload | unknown | Raw webhook payload |
options? | { queryParams?: Record<string, string>; userAgent?: string; } | Optional context (query params, headers, etc.) |
options.queryParams? | Record<string, string> | - |
options.userAgent? | string | - |
Returns
Validation result with details
Inherited from
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
Properties
provider
readonlyprovider:TranscriptionProvider="gladia"
Provider name
Overrides
Functions
createGladiaWebhookHandler()
createGladiaWebhookHandler():
GladiaWebhookHandler
Factory function to create a Gladia webhook handler