github.com/vobiz-ai (no registry install), you construct the client with X-Auth-ID/X-Auth-Token headers instead of HTTP Basic, and a handful of method names differ (calls.create → calls.make_call, plus an explicit auth_id).
Client init & method-name mapping
| Plivo SDK (Python) | Vobiz SDK (Python) |
|---|---|
import plivo / plivo.RestClient(auth_id, auth_token) | from vobiz import Vobiz / Vobiz(api_key=auth_id, auth_token=…) |
new plivo.Client(authId, authToken) (Node) | new VobizClient({ apiKey, authToken }) (Node) |
client.calls.create(from_, to, answer_url=) | client.calls.make_call(auth_id, from_, to, answer_url=) |
client.calls.get(call_uuid) | client.live_calls.get_live_call(auth_id, call_uuid) |
client.calls.get_all() / .list() | client.live_calls.list_live_calls(auth_id) |
client.calls.delete(call_uuid) | client.live_calls.hangup_call(auth_id, call_uuid) |
client.calls.play(...) / .speak(...) / .send_digits(...) | client.play_audio.call(...) / client.speak_text.call(...) / client.dtmf.send_dtmf(...) |
client.calls.record(...) / .stop_record(...) | client.record_calls.start_recording(...) / .stop_recording(...) |
client.recordings.get / list / delete | client.recordings.get_recording / list_recordings / delete_recording |
client.applications.create / get / list / update / delete | client.applications.create_application / retrieve_application / list_applications / update_application / delete_application |
client.numbers.search / buy / list / delete | client.phone_numbers.list_inventory_numbers / purchase_from_inventory / list_numbers / unrent_number |
client.conferences.* / member ops | client.conference.* (member ops) + client.conference_members.mute_member / unmute_member |
client.endpoints.* | client.endpoints.* (+ first-class client.trunks.*) |
client.get_account() | client.account.retrieve_account() |
from plivo import plivoxml | from vobiz import vobizxml |
plivoxml.ResponseElement() / add_get_digits(...) / to_string() | vobizxml.ResponseElement() / add_gather(...) / to_string() |
client.cdr.* on Vobiz (Plivo folds completed-call lookups into calls.get). For the verb-by-verb XML mapping see Convert PlivoXML to VobizXML.
Before / after: client init + outbound call
The call parameters (from, to, answer_url, answer_method, etc.) carry over unchanged. What changes is the constructor, the method name, and the added auth_id.
Key differences & gotchas
- Install is git-clone, not registry. Clone
vobiz-ai/Vobiz-<Language>-SDKand install from the checkout (Go is the exception:go get github.com/vobiz-ai/Vobiz-Go-SDK). Pin to a tag/commit for reproducible builds. - Auth is headers, not Basic. Vobiz sends
api_keyasX-Auth-IDandauth_tokenasX-Auth-Token; the constructor keyword isapi_key=(Python) /apiKey:(Node), notauth_id. - Every account-scoped method takes an explicit
auth_id— Plivo infers it from the credential. - In-progress vs completed calls are split. Vobiz uses
live_callsfor in-progress calls andcdrfor completed-call records; Plivo’sclient.calls.*covers both. GatherusesexecutionTimeout, nevertimeout— the most common porting mistake.timeoutin VobizXML belongs only to<Dial>/<Number>(ring timeout).
What has no Vobiz equivalent
- No published packages (yet). There is nothing to
pip install/npm installfor Vobiz — CI that pulls from PyPI/npm must vendor or build from the cloned repo. - The
vobiz-plivo-compatshim is not shipped. A drop-in layer that keepsplivo.RestClient(...)working against Vobiz is planned but not yet available; follow the explicit method mapping above. - Plivo Messaging/SMS SDK surfaces have no Vobiz counterpart. Vobiz is voice-only —
client.messages.*and related SMS helpers do not map. - Advanced PlivoXML verbs (for example
<MultiPartyCall>) have no guaranteed builder method invobizxml. Review each and contact support.
Endpoint & SDK mapping
The full REST resource and method mapping, with the make-call contract.
Convert PlivoXML to VobizXML
Verb-by-verb XML mapping and the GetDigits/GetInput to Gather rename.