Webhooks
Certain events can be received on your backend using webhooks, which allows for asynchronous requests to be returned to your backend without requiring the user session to be active. These can be enabled by contacting the StoryXpress team directly.
Note: These Webhooks are only available for
recordersdk-v3.3.0and higher
The following webhooks are available, with sample payloads -
  onUploadFinish        // video fully uploaded and processed
  onTranscriptionFinish // onTranscription call completed
  onGendocFinished // Doc generation call completed
  onGenVoiceScriptFinish // Voice scripit completed
  onGeneratedVoiceFinished // voicer over generation completed
  getGenVideoFinished // Generated video finished
Webhook Parameters​
onUploadFinish Payload
Structure:
{
  "billed": 0,
  "client_id": "your client ID",
  "created_at": "2018-01-01T00:00:00.000Z",
  "location": {
    "bucket": "your bucket name",
    "path": "your path",
    "region": "your bucket region"
  },
  "urls": {
    "main": "https://your-bucket.s3.amazonaws.com/your-video-path"
  },
  "metadata": null,
  "source": 3,
  "status": 200,
  "updated_at": "2018-01-01T00:00:00.000Z",
  "user_id": "your user ID",
  "video_id": "your video ID"
}
Type: object
onTranscriptionFinish Payload
Structure:
{
  "audio_url": "https://storage.googleapis.com.....",
  "created_on": "2024-06-27T08:06:20.000Z",
  "deleted": 0,
  "duration": 10560,
  "text_response": "{\"stt\":{\"data\":{\"results\":[{\"alternatives\":.....................}",
  "id": "1719475608",
  "language": "en-US",
  "status": 200,
  "transcript_url": "https://storage.googleapis.com.....",
  "video_id": "lxwzcq5bcoikci0x7",
  "updated_on": "2024-06-27T08:06:20.000Z",
  "client_id": "your client ID",
  "user_id": "your user ID",
}
Type: object
onGendocFinished Payload
Structure:
{
  "created_on": "2024-06-27T08:06:20.000Z",
  "deleted": 0,
  "status": 200,
  "video_id": "lxwzcq5bcoikci0x7",
  "client_id": "your client ID",
  "user_id": "your user ID",
  "data": [
    {
      "Descriptive Text": "Click on the first element on the page.",
      "UserAction": "Click",
      "timestamp": 2008
    },
    {
      "Descriptive Text": "Click on the element that says \"Embrace the future of the video express bye\".",
      "UserAction": "Click",
      "timestamp": 8468
    }
  ]
}
Type: object
onGenVoiceScriptFinish Payload
Structure:
{
  "created_on": "2024-06-27T08:06:20.000Z",
  "deleted": 0,
  "status": 200,
  "video_id": "lxwzcq5bcoikci0x7",
  "client_id": "your client ID",
  "user_id": "your user ID",
  "data": {
    "step_0": "Okay, so first things first, I need to head over to the Installation Page. That's where I'll find all the instructions for setting up the StoryXpress Record",
    "step_1": "Once I've got that sorted, I'll check out the Additional Helpers Page. They've got some extra resources and tools there that might make recording even easie"
  }
}
Type: object
onGeneratedVoiceFinished Payload
Structure:
{
  "created_on": "2024-06-27T08:06:20.000Z",
  "deleted": 0,
  "status": 200,
  "video_id": "lxwzcq5bcoikci0x7",
  "client_id": "your client ID",
  "user_id": "your user ID",
  "voiceover_url":"https://storage.googleapis.com/.../en-US-Neural2-C-voiceover.mp3"
}
Type: object
getGenVideoFinished Payload
Structure:
{
  "created_on": "2024-06-27T08:06:20.000Z",
  "deleted": 0,
  "status": 200,
  "video_id": "lxwzcq5bcoikci0x7",
  "client_id": "your client ID",
  "user_id": "your user ID",
  "video_url": "https://storage.googleapis.com/.....flyer.mp4",
  "voice": "en-US-Neural2-C"
}
Type: object