Client API Reference
WhatsAppClient
- class whatsapp_sdk.WhatsAppClient(phone_number_id, access_token, app_secret=None, webhook_verify_token=None, base_url='https://graph.facebook.com', api_version='v23.0', timeout=30, max_retries=3, rate_limit=80)[source]
Bases:
objectMain WhatsApp Business API client.
This client provides access to all WhatsApp Business API services through a simple, synchronous interface.
Examples
# Initialize with direct parameters client = WhatsAppClient(
phone_number_id=”123456789”, access_token=”your_token”
)
# Initialize from environment client = WhatsAppClient.from_env()
# Send a message response = client.messages.send_text(
to=”+1234567890”, body=”Hello from WhatsApp SDK!”
)
- __init__(phone_number_id, access_token, app_secret=None, webhook_verify_token=None, base_url='https://graph.facebook.com', api_version='v23.0', timeout=30, max_retries=3, rate_limit=80)[source]
Initialize WhatsApp client.
- Parameters:
phone_number_id (str) – WhatsApp Business phone number ID
access_token (str) – Meta access token
app_secret (str | None) – App secret for webhook signature validation
webhook_verify_token (str | None) – Token for webhook verification
base_url (str) – API base URL (defaults to Meta’s URL)
api_version (str) – API version (defaults to v23.0)
timeout (int) – Request timeout in seconds
max_retries (int) – Maximum number of retries for failed requests
rate_limit (int) – Requests per second limit
- classmethod from_env()[source]
Create client from environment variables.
- Required environment variables:
WHATSAPP_PHONE_NUMBER_ID
WHATSAPP_ACCESS_TOKEN
- Optional environment variables:
WHATSAPP_APP_SECRET
WHATSAPP_WEBHOOK_VERIFY_TOKEN
WHATSAPP_API_VERSION
WHATSAPP_BASE_URL
WHATSAPP_TIMEOUT
WHATSAPP_MAX_RETRIES
WHATSAPP_RATE_LIMIT
- Returns:
WhatsAppClient instance configured from environment
- Raises:
ValueError – If required environment variables are missing
- Return type:
Example
# Set environment variables export WHATSAPP_PHONE_NUMBER_ID=”123456789” export WHATSAPP_ACCESS_TOKEN=”your_token”
# Create client client = WhatsAppClient.from_env()
- __init__(phone_number_id, access_token, app_secret=None, webhook_verify_token=None, base_url='https://graph.facebook.com', api_version='v23.0', timeout=30, max_retries=3, rate_limit=80)[source]
Initialize WhatsApp client.
- Parameters:
phone_number_id (str) – WhatsApp Business phone number ID
access_token (str) – Meta access token
app_secret (str | None) – App secret for webhook signature validation
webhook_verify_token (str | None) – Token for webhook verification
base_url (str) – API base URL (defaults to Meta’s URL)
api_version (str) – API version (defaults to v23.0)
timeout (int) – Request timeout in seconds
max_retries (int) – Maximum number of retries for failed requests
rate_limit (int) – Requests per second limit
- classmethod from_env()[source]
Create client from environment variables.
- Required environment variables:
WHATSAPP_PHONE_NUMBER_ID
WHATSAPP_ACCESS_TOKEN
- Optional environment variables:
WHATSAPP_APP_SECRET
WHATSAPP_WEBHOOK_VERIFY_TOKEN
WHATSAPP_API_VERSION
WHATSAPP_BASE_URL
WHATSAPP_TIMEOUT
WHATSAPP_MAX_RETRIES
WHATSAPP_RATE_LIMIT
- Returns:
WhatsAppClient instance configured from environment
- Raises:
ValueError – If required environment variables are missing
- Return type:
Example
# Set environment variables export WHATSAPP_PHONE_NUMBER_ID=”123456789” export WHATSAPP_ACCESS_TOKEN=”your_token”
# Create client client = WhatsAppClient.from_env()
Configuration
- class whatsapp_sdk.config.WhatsAppConfig(*, phone_number_id, access_token, app_secret=None, webhook_verify_token=None, base_url='https://graph.facebook.com', api_version='v23.0', timeout=30, max_retries=3, rate_limit=80)[source]
Bases:
BaseModelConfiguration for WhatsApp SDK.
Contains all settings needed to interact with the WhatsApp Business API.
- model_config: ClassVar[ConfigDict] = {'validate_assignment': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].