Skip to main content

VKYC Generic Webhook

This document outlines the details of the Video KYC Generic Webhook events.

Events Triggering the Webhook

The webhook is triggered on any of the following video-kyc events:

  • When a customer schedules a Video KYC call : VCIP_CUSTOMER_SCHEDULED
  • When a customer is assigned to an agent : VCIP_CUSTOMER_ASSIGNED
  • When the agent notifies the customer : VCIP_CUSTOMER_NOTIFIED
  • When the call is started : VCIP_CALL_STARTED
  • When the call is completed (approved or declined) : VCIP_CALL_COMPLETED
  • When the call is ended (incomplete) : VCIP_CALL_ENDED

You may subscribe to any one or more of the events above, based on your requirements.

Webhook Payload

The following JSON code snippet demonstrates the Payload received from the Webhook:

{
"appId": "<app_id>",
"transactionId": "<transaction_id>",
"eventDetails": { /* Event-specific details */ },
"eventVersion": "1.0.0",
"eventType": "<event_type>",
"eventTime": "<timestamp>",
"eventId": "trn:vkyc:<uuid>"
}

Payload Details

The following table provides the details of the parameters returned in the Webhook's Payload:

Parameter Type Description
appId string The unique application ID
transactionId string The unique identifier for the VKYC transaction
eventDetails object Additional details specific to the event. Will be null when not applicable
eventVersion string The version of the event payload. This will be constant: 1.0.0
eventType string The type of event subscribed to and triggered
eventTime string The timestamp of when the event was generated
eventId string The unique identifier for the webhook event

eventDetails Object Structure

The structure of the eventDetails object depends on the specific event type. The following sections outline the possible formats for eventDetails based on each event.

VCIP_CUSTOMER_SCHEDULED
{
"start_time": "<start_time_of_the_scheduled_slot>",
"end_time": "<end_time_of_the_scheduled_slot>"
}
VCIP_CUSTOMER_ASSIGNED
"eventDetails": null
VCIP_CUSTOMER_ASSIGNED
"eventDetails": null
VCIP_CALL_STARTED
{
"agentId": <agent Id | agent Email> //string ( agentId would be there if useAgentId is set in the client-config)
}
VCIP_CALL_COMPLETED
{
"status":"APPROVED|DECLINED", // string
"reason": <reason> | null // string (null if approved reason is not present)
"agentId": <agent Id | agent Email> //string ( agentId would be there if useAgentId is set in the client-config)
}
VCIP_CALL_ENDED
{
"status":"INCOMPLETE", // string
"reason": <reason> // string
"agentId": <agent Id | agent Email> //string ( agentId would be there if useAgentId is set in the client-config)
}
Was this helpful?
Ask AIBeta
Hi! How can I help?
Ask me anything about HyperVerge products, APIs, and SDKs.
Try asking: