Error Reporting lets you receive near real-time notifications when playback errors occur on end-user devices. This feature complements push logs, which can take minutes or hours to deliver data, by sending error details to your own HTTP endpoint within moments of detection.
You can use these notifications to monitor content delivery health, identify misconfigured playback URLs, or detect authentication issues before they impact large audiences.
Use Cases
| Scenario | Benefit |
|---|---|
| Invalid playback URLs or signatures | Detect broken or expired playback URLs before users report playback issues. |
| Authentication or token failures | Get immediate feedback when tokens or keys fail validation. |
| Real-time health monitoring | Integrate with dashboards or alerting systems for rapid response to content access problems. |
How It Works
- You configure an HTTP endpoint (callback URL) in the CMS.
- When Uplynk detects a playback-related error associated with your account, it sends an HTTP POST to your callback URL.
- The body of the POST is a JSON object containing details of the error.
- Your server must respond with HTTP 200 OK to acknowledge receipt.
If your endpoint does not return a 200 response, Uplynk may temporarily stop delivering error reports.
Example: Error Reporting Request
Configured URL:
http://myserver.com:9999/callback/path?name=xyz&p1=ok
Example request:
POST /callback/path?name=xyz?p1=ok HTTP/1.1
Host: myserver.com:9999
Accept-Encoding: identity
Content-Length: 295
Content-Type: application/x-www-form-urlencoded
Connection: close
User-Agent: Python-urllib/2.7JSON payload:
{
"code": 400,
"msg": "Invalid auth token",
"url": "https://content.uplynk.com/735c56ea4014685bca74c0a375236cc5/",
"ip": "65.123.22.1",
"owner": "735c56ea4014685bca74c0a375236cc5",
"subtype": "web",
"timestamp": 1356015370,
"ua": "Mozilla/5.001 (windows; U; NT4.0; en-US; rv:1.0) Gecko/25250101"
}Example: Response from Your Server
HTTP/1.0 200 OK
Content-Length: 0
Connection: closeNo response body is required.
JSON Field Reference
Field | Type | Description |
|---|---|---|
owner | string | The user ID for which the error is reported. |
subtype | string | System component or area where the error occurred. Currently always "web". |
url | string | The playback URL that triggered the error. |
ip | string | The client IP address that initiated the request. |
code | integer | HTTP response error code (e.g., 404). |
ua | string | User-Agent header from the client request. |
msg | string | Short description of the error cause. |
timestamp | integer | UTC Unix timestamp (seconds since epoch) when the error occurred. |
How to Enable Error Reporting
- Log in to the CMS.
- Click the gear icon (⚙️) at the top of the screen.
- Select the Error Reporting subtab.
- Enter your callback URL.
- Use Test Settings to confirm connectivity.
- Click Save once the test passes.
Notes and Policies
- Best-effort delivery: Error reporting is throttled under high volume. Some messages may be dropped; retries are not attempted.
- Temporary backoff: If Uplynk cannot reach your endpoint, pending messages are discarded, and the system may pause delivery for up to 2 minutes.
- Configuration delay: URL changes (adding, editing, or removing) can take up to 2 minutes to propagate.
- Account detection: Errors are only reported when the system can map the issue to your account. For example, https://content.uplynk.com/bad.m3u8 will fail to play, but won’t generate a report because it cannot be linked to a specific owner.
