46 lines
2.0 KiB
Markdown
46 lines
2.0 KiB
Markdown
# Samples Validation
|
|
|
|
Validated against:
|
|
- https://github.com/zoom/scribe-quickstart/
|
|
- official docs pages under `docs/ai-services/`
|
|
- AI Services OpenAPI inventory at `api-hub/ai-services/methods/endpoints.json`
|
|
- Zoom blog context:
|
|
- `introducing-zoom-ai-services`
|
|
- `voice-insights-modernize-customer-support-with-scribe`
|
|
|
|
## What the official quickstart confirms
|
|
|
|
- Node/Express proxy architecture is a valid implementation model.
|
|
- Fast mode can be proxied as multipart upload handling on your server even though the docs show JSON examples.
|
|
- Batch mode commonly injects AWS credentials into request payloads.
|
|
- Webhook verification uses `x-zm-signature` + `x-zm-request-timestamp` with HMAC-SHA256 and `sha256=` prefix.
|
|
- The quickstart uses `ZOOM_API_KEY` / `ZOOM_API_SECRET` naming.
|
|
|
|
## Useful implementation details from the sample
|
|
|
|
- `multer` memory storage is enough for a small fast-mode demo.
|
|
- Batch helper routes are naturally expressed as:
|
|
- `POST /batch/jobs`
|
|
- `GET /batch/jobs`
|
|
- `GET /batch/jobs/:jobId`
|
|
- `GET /batch/jobs/:jobId/files`
|
|
- `DELETE /batch/jobs/:jobId`
|
|
- It is practical to keep one `generateJWT()` helper and inject the bearer token per request.
|
|
|
|
## Caveats from the sample
|
|
|
|
- It assumes Node `>=24`, which is stricter than many deployment environments actually need. Verify your runtime before copying that constraint unchanged.
|
|
- It uses environment-injected AWS credentials. Production pipelines may prefer pre-signed URLs or short-lived STS credentials only.
|
|
- The sample is an app demo, not a complete production reference for job retry policy, durable queues, or transcript storage.
|
|
|
|
## What the blog posts add
|
|
|
|
- They reinforce the highest-value downstream use cases:
|
|
- post-call summaries
|
|
- ticket enrichment
|
|
- compliance/audit logging
|
|
- searchable archives
|
|
- customer-support QA workflows
|
|
- They are useful for scenario framing, but not as authoritative API surface documentation.
|
|
- Keep endpoint and request-shape decisions anchored to the AI Services docs and API Hub inventory, not the blog wording.
|