Skip to main content

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

  1. Requirements
  2. Installation
  3. Initialization
  4. Usage
  5. Debugging
  6. Support
  7. Contribution Guidelines
  8. License

Requirements

  1. Termii API Keys
  2. 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_key using 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.

  • payload
    • api_key (optional)
    • country_code
    • sender_id
    • message
    • channel
    • message_type
    • phonebook_id
    • campaign_type
    • schedule_sms_status
    • schedule_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 history
  • 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.

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 contacts
  • 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_id, payload):

Create new contact in the specified phonebook

  • phonebook_id: phone book id to create contact on.
  • payload
    • api_key (optional)
    • phone_number
    • country_code
    • email_address
    • first_name
    • last_name
    • company

.create_bulk(phonebook_id, payload):

Create bulk of new contacts in the specified phonebook

  • phonebook_id: phone book id to create contact on.
  • payload
    • api_key (optional)
    • contact_file
    • country_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 status
  • country_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

  • payload
    • api_key (0ptional)
    • to
    • from
    • sms
    • type
    • channel
    • media (Optional Dict)
      • url
      • caption

.send_bulk(payload):

Send bulk sms on termii api

  • payload
    • api_key (0ptional)
    • to
    • from
    • sms
    • type
    • channel

.send_auto_message(payload):

Send single sms on termii api with auto generated numbers

  • payload
    • api_key (0ptional)
    • to
    • from

.send_template_message(payload):

Set a template for the one-time-passwords (pins) sent to their customers via whatsapp or sms.

  • payload
    • api_key (0ptional)
    • phone_number
    • device_id
    • template_id
    • data

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_name
  • description (optional)

.update(phonebook_id, phonebook_name)

Update existing phonebook

  • phonebook_id: Phonebook ID to update
  • phonebook_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: CompanyName
  • usecase: 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.

  • payload
    • api_key (Optional)
    • phone_number
    • code

.email_token(payload)

Send one-time-passwords from your application through our email channel to an email address.

  • payload
    • api_key (Optional)
    • email_address
    • code
    • email_configuration_id

.in_app(payload)

Returns OTP codes in JSON format which can be used within any web or mobile app.

  • payload
    • api_key (Optional)
    • phone_number
    • pin_attempts
    • pin_time_to_live
    • pin_length

.send(payload)

Send one-time-passwords (OTP) across any available messaging channel on Termii

  • payload
    • api_key (Optional)
    • message_type
    • to
    • from
    • channel
    • pin_attempts
    • pin_time_to_live
    • pin_length
    • pin_placeholder
    • message_text

.verify(payload)

Check status of tokens sent to customers.

  • payload
    • api_key (Optional)
    • pin_id
    • pin

.voice_token(payload)

Generate and trigger one-time passwords (OTP) through the voice channel to a phone number.

  • payload
    • api_key (Optional)
    • phone_number
    • pin_attempts
    • pin_time_to_live
    • pin_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)

Source distribution for termii-client 1.0.0
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)

Table of built distributions (wheels) for termii-client 1.0.0
File Interpreter ABI Platform Actions
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.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page