Plivo credentials and optional overrides.
Verify an incoming Plivo webhook request using HMAC-SHA256 (v3 scheme).
X-Plivo-Signature-V3-Nonce and X-Plivo-Signature-V3 headers.{fullRequestURL}{nonce}.
Note: the POST body is NOT included in the signed data (unlike Twilio).HMAC-SHA256(authToken, signedData).X-Plivo-Signature-V3 header.Raw webhook request context.
Verification result with valid: true if the signature matches.
Parse a Plivo webhook body into normalized NormalizedCallEvents.
Plivo sends most webhooks with URL-encoded bodies, but some callbacks
may arrive as JSON. This parser handles both formats by inspecting
whether the body starts with { (JSON) or not (form-encoded).
Plivo uses two naming conventions for the same fields:
CallUUID, CallStatus, Digits) in URL callbacks.call_uuid, call_status) in some API responses.
Both are checked for maximum compatibility.Raw webhook request context.
Parsed result containing zero or more normalized events.
Initiate an outbound call via the Plivo Call API.
POSTs a JSON body to /v1/Account/{authId}/Call/ with the caller, callee,
and answer URL. Returns the request_uuid as the provider call ID.
Call initiation parameters (from/to numbers, webhook URL).
Result containing the Plivo request_uuid on success.
Never throws; returns { success: false, error: '...' } on failure.
Hang up an active call using the Plivo Call DELETE endpoint.
Plivo uses HTTP DELETE to terminate a call (unlike Twilio's POST with
Status=completed or Telnyx's POST to /actions/hangup). This is a
RESTful convention where deleting the call resource ends the call.
Contains the Plivo call_uuid to hang up.
Speak text into a live call using the Plivo Speak API.
POSTs a JSON body to /v1/Account/{authId}/Call/{callUuid}/Speak/
with the text, voice (default 'WOMAN'), and language (default 'en-US').
TTS parameters (text, optional voice, call ID).
Readonly nameProvider identifier, always 'plivo'.
Plivo voice call provider.
Uses the Plivo REST API v1 for outbound call control and HMAC-SHA256 for inbound webhook signature verification (v3 signature scheme).
Example