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
Metadata
Release files for termii-client 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| termii_client-1.0.0.tar.gz | 12.1 kB | Without provenance | Details for termii_client-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| termii_client-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for termii_client-1.0.0-py3-none-any.whl |
Total release size: 24.8 kB
Release files / termii_client-1.0.0.tar.gz
| Download URL | termii_client-1.0.0.tar.gz |
|---|---|
| Size | 12.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e8029091e6f00e33f13c873a8a8bb7b3e6144d134fd2d8371053d67b52f5a472
|
|
BLAKE2b-256 checksum How to use checksums |
d4c2b62a94e9de901b41e5e739732b316d1b5faf962bfda86d48fda377c6bc7d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.10.12
|
Release files / termii_client-1.0.0-py3-none-any.whl
| Download URL | termii_client-1.0.0-py3-none-any.whl |
|---|---|
| Size | 12.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4601d405b5bc785f9fdbacc03f07a38f722c7c2968c9d40172f7b182fa6361ba
|
|
BLAKE2b-256 checksum How to use checksums |
1f0643c5b412f67227742bbbcafb7264f38ec09d2e5e681eab52277627d6f602
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.10.12
|
Security for termii-client 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.