Emalc

Search Documentation

Quickly jump to any guide, document, or section...

Delivery Telemetry & Replay Operations

Every webhook dispatch performed by Emalc is tracked in real-time. You can inspect delivery performance, troubleshoot HTTP errors, ping test events, and manually replay historical deliveries from the dashboard.


Delivery Log Inspection#

For every attempted HTTP push, Emalc logs the following metadata accessible in Settings -> Webhooks -> Delivery Logs:

Log FieldTypeDescription
deliveryIdstring (UUID)Unique identifier for the delivery attempt.
eventTypestringEvent stream type (e.g., email.delivered, contact.created).
statusCodenumberHTTP status code returned by your server (e.g. 200, 404, 500, 0 for network timeout).
requestDurationMsnumberLatency duration in milliseconds to execute the HTTPS POST.
errorMessagestring | nullError description if the network request timed out or failed.
responseBodystring | nullFirst 1,024 characters of the response body returned by your endpoint.
attemptnumberDelivery attempt count.
createdAtstring (ISO)Dispatch timestamp.

Endpoint Timeout & Failure Conditions#

  • HTTP Timeout: Emalc enforces a strict 5-second timeout (AbortSignal.timeout(5000)) per delivery attempt. If your server takes longer than 5 seconds to process the request, the connection is terminated and logged as 0 - Request Timed Out.
  • Successful Delivery Criteria: Any HTTP response code in the 2xx range (200 OK, 202 Accepted, 204 No Content) is treated as a successful delivery.
  • Failed Delivery Criteria: Any 4xx/5xx status code or network connection error is logged as a delivery failure.

💡 Best Practice: Acknowledge webhook requests immediately with an HTTP 200 OK status and offload heavy background processing to your internal task queue.


Manual Delivery Replay#

If your backend service experienced an outage or temporary deployment downtime, you can re-send any historical webhook payload directly from the dashboard:

  1. Navigate to Settings -> Webhooks.
  2. Select your endpoint and open the Deliveries slide-over panel.
  3. Locate the failed delivery row and click Replay Delivery.
  4. Emalc will immediately re-sign the payload with a fresh x-emalc-timestamp and x-emalc-signature header and post it to your URL.

Testing Webhook Endpoints#

Before enabling an endpoint in production, test connectivity directly from the Emalc Dashboard:

  1. Click Test Endpoint on any configured webhook row.
  2. Emalc dispatches a ping test payload to your server.
  3. The modal displays the returned HTTP status code, exact response latency in milliseconds, and the response body.