Pamela B2B Voice API SDK for Python
Project description
Pamela SDK for Python
Official SDK for the Pamela Voice API.
Installation
pip install pamela
Usage
Basic Example
from pamela import PamelaClient
client = PamelaClient(
api_key="pk_live_your_api_key_here",
base_url="https://api.thisispamela.com", # Optional
)
# Create a call
call = client.create_call(
to="+1234567890",
task="Order a large pizza for delivery",
locale="en-US",
)
print(f"Call created: {call['id']}")
# Get call status
status = client.get_call(call["id"])
print(f"Call status: {status['status']}")
Webhook Verification
from flask import Flask, request
from pamela import verify_webhook_signature
app = Flask(__name__)
WEBHOOK_SECRET = "your_webhook_secret"
@app.route("/webhooks/pamela", methods=["POST"])
def handle_webhook():
signature = request.headers.get("X-Pamela-Signature")
payload = request.json
if not verify_webhook_signature(payload, signature, WEBHOOK_SECRET):
return {"error": "Invalid signature"}, 401
# Handle webhook event
print(f"Webhook event: {payload['event']}")
print(f"Call ID: {payload['call_id']}")
return {"status": "ok"}, 200
Tool Webhook Handler
from flask import Flask, request
from pamela import verify_webhook_signature
app = Flask(__name__)
WEBHOOK_SECRET = "your_webhook_secret"
@app.route("/webhooks/pamela/tools", methods=["POST"])
def handle_tool_webhook():
signature = request.headers.get("X-Pamela-Signature")
payload = request.json
if not verify_webhook_signature(payload, signature, WEBHOOK_SECRET):
return {"error": "Invalid signature"}, 401
tool_name = payload["tool_name"]
arguments = payload["arguments"]
call_id = payload["call_id"]
correlation_id = payload["correlation_id"]
# Execute tool based on tool_name
if tool_name == "check_order_status":
order_id = arguments.get("order_id")
result = check_order_status(order_id)
return {"result": result}
return {"error": "Unknown tool"}, 400
API Reference
See the Pamela B2B API Documentation for full API reference.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
thisispamela-1.0.0.tar.gz
(6.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file thisispamela-1.0.0.tar.gz.
File metadata
- Download URL: thisispamela-1.0.0.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
816b50da31f1d26007b6696fc0ae27aa5ca94ae3382258de47e5f815ce2f8d61
|
|
| MD5 |
125bb08bf98beca403bce175933c21e1
|
|
| BLAKE2b-256 |
80ec8de825b5507e7ca0d70806646f6a24694996d31ed4032f428c81e3411b65
|
File details
Details for the file thisispamela-1.0.0-py3-none-any.whl.
File metadata
- Download URL: thisispamela-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a690ab096b54ab2f25eebfc3a3b79489ca35780859984af2c9d6cfd4700c95b
|
|
| MD5 |
6010d885b698a85e4ff6e7629d41d321
|
|
| BLAKE2b-256 |
6b30b791796003303def76c61ef8343cc94d506ae9a7132ff1137ca44fb4b6bb
|