Python library for Termii API
Project description
Termii Python Library.
Introduction
The python library provides easy access to Termii API for Python users. Accelerate development with our Python library by abstracting Termii API complexities and providing easy-to-use functions.
Please see the docs for the most up-to-date documentation of Termii API.
Available features include:
- Campaigns: send, list and history
- Contacts: list, create(single/bulk) and delete
- Insights: balance, history, search and status
- Messaging: sms(single/bulk), template api, number api
- Phonebooks: list, create, update and delete
- SenderID: list, request
- Token: voice_call, voice_token, email_token, send, in_app, verify
Table of Contents
Requirements
- Termii API Keys
- Supported Python versions: >3.8
Installation
To install this library (preferably in an active virtual environment) simply run
pip3 install termii_client
Initialization
Import entry class for this package from termii_client.
from termii_client import Termii
With this you have access to all the features this library has to offer.
To initialize the library simply create a Termii object, while supplying the api key, you can find one in your Termii dashboard.
termii = Termii("Your API Key")
Usage
This is a documentation for all components on termii_client
Note: For convenience, this library will automatically populate the field
api_keyusing the value specified during initialization. for every payload where it is required, but not provided.
termii.campaigns
This is used for handling all campaign related resources on termii.
Functions included are:
.send.list.history
.send(payload):
Send a campaign. The payload is a dictionary containing campaign information, optionally excluding api_key.
payloadapi_key (optional)country_codesender_idmessagechannelmessage_typephonebook_idcampaign_typeschedule_sms_statusschedule_time
.list(pagination_url)
Retrieve list of all campaigns.
pagination_url (optional): In order to transverse through pages (if any), simply pass the next or previous page url as the keyword argument pagination_url.
.history(campaign_id, pagination_url)
Retrieve history for specified campaign.
campaign_id: campaign id to retrieve it's historypagination_url (optional): In order to transverse through pages (if any), simply pass the next or previous page url as the keyword argument pagination_url.
termii.contacts
This is used for handling contacts in termii phonebooks.
Functions included are:
.list.create.create_bulk.delete
.list(phonebook_id, pagination_url):
Retrieve list of all contacts in the specified phonebook.
phonebook_id: phone book id to retrieve it's contactspagination_url (optional): In order to transverse through pages (if any), simply pass the next or previous page url as the keyword argument pagination_url.
.create(phonebook_id, payload):
Create new contact in the specified phonebook
phonebook_id: phone book id to create contact on.payloadapi_key (optional)phone_numbercountry_codeemail_addressfirst_namelast_namecompany
.create_bulk(phonebook_id, payload):
Create bulk of new contacts in the specified phonebook
phonebook_id: phone book id to create contact on.payloadapi_key (optional)contact_filecountry_code
.delete(contact_id):
Delete a specified contact
contact_id: id of contact to delete
termii.insights
This is used for handling resources related to insights
Functions included are:
.balance.history.search.status
.balance():
Retrieve termii account balance
.history(pagination_url):
Retrieve reports for messages sent across the sms, voice & whatsapp channels.
pagination_url (optional): In order to transverse through pages (if any), simply pass the next or previous page url as the keyword argument pagination_url.
.search(phone_number):
Verify phone numbers and automatically detect their status as well as current network.
phone_number: phone number to detect status and current network
.status(phone_number, country_code):
Verify if a number is fake or has ported to a new network.
phone_number: phone number to fake and ported statuscountry_code: phone number country code
termii.messaging
This is used for handling resources related to Messaging/SMS
Functions included are:
.send.send_bulk.send_auto_message.send_template_message
.send_single(payload):
Send single sms on termii api
payloadapi_key (0ptional)tofromsmstypechannelmedia (Optional Dict)urlcaption
.send_bulk(payload):
Send bulk sms on termii api
payloadapi_key (0ptional)tofromsmstypechannel
.send_auto_message(payload):
Send single sms on termii api with auto generated numbers
payloadapi_key (0ptional)tofrom
.send_template_message(payload):
Set a template for the one-time-passwords (pins) sent to their customers via whatsapp or sms.
payloadapi_key (0ptional)phone_numberdevice_idtemplate_iddata
termii.phonebooks
This is used for handling all phonebook related resources on termii.
Functions included are:
.list.create.update.delete
.list(pagination_url)
Retrieve list of all phonebooks
pagination_url (optional): In order to transverse through pages (if any), simply pass the next or previous page url as the keyword argument pagination_url.
.create(phonebook_name, description)
Retrieve list of all phonebooks
phonebook_namedescription (optional)
.update(phonebook_id, phonebook_name)
Update existing phonebook
phonebook_id: Phonebook ID to updatephonebook_name: New phonebook name
.delete(phonebook_id)
Delete existing phonebook
phonebook_id: Phonebook ID to delete
termii.sender_id
This is used for handling all phonebook related resources on termii.
Functions included are:
.list.request
.list(pagination_url)
Retrieve list of all sender ID's
pagination_url (optional): In order to transverse through pages (if any), simply pass the next or previous page url as the keyword argument pagination_url.
.request(sender_id, usecase, company)
Request for a sender id
sender_id: sender id being requested eg: CompanyNameusecase: a sample of the type of message to be sent.company: name of the company with the sender ID
termii.token
This is used for handling all phonebook related resources on termii.
Functions included are:
.voice_call.email_token.in_app.send.verify.voice_token
.voice_call(payload)
Send messages from your application through our voice channel to a phone number.
payloadapi_key (Optional)phone_numbercode
.email_token(payload)
Send one-time-passwords from your application through our email channel to an email address.
payloadapi_key (Optional)email_addresscodeemail_configuration_id
.in_app(payload)
Returns OTP codes in JSON format which can be used within any web or mobile app.
payloadapi_key (Optional)phone_numberpin_attemptspin_time_to_livepin_length
.send(payload)
Send one-time-passwords (OTP) across any available messaging channel on Termii
payloadapi_key (Optional)message_typetofromchannelpin_attemptspin_time_to_livepin_lengthpin_placeholdermessage_text
.verify(payload)
Check status of tokens sent to customers.
payloadapi_key (Optional)pin_idpin
.voice_token(payload)
Generate and trigger one-time passwords (OTP) through the voice channel to a phone number.
payloadapi_key (Optional)phone_numberpin_attemptspin_time_to_livepin_length
Debugging Errors
I understand that you may run into some errors while integrating this library. Please open discussion on any problems you may have about this library
For authorization and validation error responses, double-check your API keys and request. If you get a server error, kindly engage the Termii for support @+234-8137751523.
Support
For additional assistance using this library, feel free to reach out, i'll be looking forward to it.
You can also follow me on twitter and github and linkedin. 😊.
License
By contributing to this library, you agree that your contributions will be licensed under its MIT license.
Contribution guidelines
Read more about our community contribution guidelines here
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
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 termii_client-1.0.0.tar.gz.
File metadata
- Download URL: termii_client-1.0.0.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8029091e6f00e33f13c873a8a8bb7b3e6144d134fd2d8371053d67b52f5a472
|
|
| MD5 |
07094a5ce056dc042d031fb3c481a42a
|
|
| BLAKE2b-256 |
d4c2b62a94e9de901b41e5e739732b316d1b5faf962bfda86d48fda377c6bc7d
|
File details
Details for the file termii_client-1.0.0-py3-none-any.whl.
File metadata
- Download URL: termii_client-1.0.0-py3-none-any.whl
- Upload date:
- Size: 12.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4601d405b5bc785f9fdbacc03f07a38f722c7c2968c9d40172f7b182fa6361ba
|
|
| MD5 |
5b3c9033f70e43412d8d5d04e9de02fe
|
|
| BLAKE2b-256 |
1f0643c5b412f67227742bbbcafb7264f38ec09d2e5e681eab52277627d6f602
|