The SDK for sendflare service written in Python.
- Python >= 3.7
Install via pip:
pip install sendflare-sdk-pythonOr install from source:
git clone https://github.com/sendflare/sendflare-sdk-python.git
cd sendflare-sdk-python
pip install -e .from sendflare_sdk import SendflareClient, SendEmailReq
client = SendflareClient('your-api-token')
req = SendEmailReq(
from_='test@example.com',
to='to@example.com',
subject='Hello',
body='Test email'
)
try:
response = client.send_email(req)
print(f"Email sent successfully: {response.success}")
except Exception as e:
print(f"Error: {e}")from sendflare_sdk import SendflareClient, SendEmailReq
client = SendflareClient('your-api-token')
req = SendEmailReq(
from_='sender@example.com',
to='recipient@example.com',
subject='Subject Here',
body='Email body content'
)
response = client.send_email(req)
if response.success:
print("Email sent successfully!")from sendflare_sdk import SendflareClient, ListContactReq
client = SendflareClient('your-api-token')
req = ListContactReq(
app_id='your-app-id',
page=1,
page_size=10
)
response = client.get_contact_list(req)
print(f"Total contacts: {response.total_count}")
for contact in response.data:
print(f"Email: {contact.email_address}")from sendflare_sdk import SendflareClient, SaveContactReq
client = SendflareClient('your-api-token')
req = SaveContactReq(
app_id='your-app-id',
email_address='john@example.com',
data={
'firstName': 'John',
'lastName': 'Doe',
'company': 'Acme Corp'
}
)
response = client.save_contact(req)
if response.success:
print("Contact saved successfully!")from sendflare_sdk import SendflareClient, DeleteContactReq
client = SendflareClient('your-api-token')
req = DeleteContactReq(
email_address='john@example.com',
app_id='your-app-id'
)
response = client.delete_contact(req)
if response.success:
print("Contact deleted successfully!")SendflareClient(token: str)Create a new Sendflare client instance.
Parameters:
token- Your Sendflare API token
send_email(req: SendEmailReq) -> SendEmailRespSend an email.
Parameters:
req- Send email request objectfrom_- Sender email addressto- Recipient email addresssubject- Email subjectbody- Email body content
Returns: SendEmailResp
Raises: Exception
get_contact_list(req: ListContactReq) -> ListContactRespGet contact list with pagination.
Parameters:
req- List contact request objectapp_id- Application IDpage- Page number (default: 1)page_size- Items per page (default: 10)
Returns: ListContactResp
Raises: Exception
save_contact(req: SaveContactReq) -> SaveContactRespCreate or update a contact.
Parameters:
req- Save contact request objectapp_id- Application IDemail_address- Contact email addressdata- Contact data (optional dict)
Returns: SaveContactResp
Raises: Exception
delete_contact(req: DeleteContactReq) -> DeleteContactRespDelete a contact.
Parameters:
req- Delete contact request objectemail_address- Contact email addressapp_id- Application ID
Returns: DeleteContactResp
Raises: Exception
SendEmailReq- Send email requestListContactReq- Get contact list requestSaveContactReq- Save contact requestDeleteContactReq- Delete contact requestPaginateReq- Pagination request (base class)
SendEmailResp- Send email responseListContactResp- Get contact list responseSaveContactResp- Save contact responseDeleteContactResp- Delete contact responseCommonResponse- Common response (base class)PaginateResp- Pagination response (base class)ContactItem- Contact information
Run tests with unittest:
python -m unittest discover testsOr with pytest (if installed):
pip install pytest
pytestAll API methods may raise exceptions. It's recommended to wrap calls in try-except blocks:
try:
response = client.send_email(req)
# Handle success
except Exception as e:
# Handle error
print(f"Sendflare API error: {e}")This SDK uses Python type hints for better IDE support and code clarity. All methods and classes are fully typed.
This SDK has no external dependencies and uses only Python standard library modules:
json- JSON encoding/decodingurllib- HTTP clientdataclasses- Data class supporttyping- Type hints
For more information, visit: https://docs.sendflare.com