Skip to main content

TNZ REST API Helper Library for Python

Project description

tnzapi

Documentation

The documentation for the TNZ API can be found here.

Versions

tnzapi uses a modified version of Semantic Versioning for all changes. See this document for details.

Supported Python Versions

This library supports the following Python implementations:

  • Python 3.9
  • Python 3.10
  • Python 3.11

Installation

Install from PyPi using pip, a package manager for Python.

pip install tnzapi

Don't have pip installed? Try installing it, by running this from the command line:

$ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python

python setup.py install

You may need to run the above commands with sudo.

Getting Started

Getting started with the TNZ API couldn't be easier. Create a Client and you're ready to go.

API Credentials

The TNZAPI needs your TNZ API credentials (TNZ Auth Tokens). You can either pass these directly to the constructor (see the code below) or via environment variables.

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken = "[Your Auth Token]"
)

Send Message

Send SMS/Email/Voice/Fax through tnzapi-python library.

Send SMS

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Messaging.SMS.SendMessage(
    Reference="Test",
    MessageText = "Test SMS Message click [[Reply]] to opt out",
    Recipients = ["+64211231234"],
)

print(response)

Send an Email

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Messaging.Email.SendMessage(
    EmailSubject = "Test Email",
    Recipients = [
        "recipient@example.com"
    ],
    MessagePlain = "Hi world!"
)

print(response)

Send a Fax Document

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Messaging.Fax.SendMessage(
    Recipients = "+6491232345",
    Attachments = ["C:\\Document.pdf"]
)

print(response)

Make a Call - Text-to-Speech (TTS)

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Messaging.TTS.SendMessage(
    Recipients = ["+64211232345"],
    Reference = "Voice Test - 64211232345",
    MessageToPeople = "Hi there!",
    Keypads = [
        Keypad(
            Tone=1,
            Play="You pressed 1",
            RouteNumber="+6491232345"
        )
    ]
)

print(response)

Make a Call - Upload MP3 / Wav File

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Messaging.Voice.SendMessage(
    Recipients = ["+64211232345"],
    Reference = "Voice Test - 64211232345",
    MessageToPeople = "C:\\file1.wav",
    MessageToAnswerPhones = "C:\\file2.wav",
    Keypads = [
        Keypad(
            Tone=1,
            RouteNumber="+6491232345",
            PlayFile="C:\\file3.wav"
        )
    ]
)

print(response)

Reports

Retrieve your message status using tnzapi-python library.

Reports - Get Message Status

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Reports.Status.Poll(
    MessageID="ID123456"
)

print(response)

Reports - Get SMS Reply

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

request = client.Reports.SMSReply.Poll(
    MessageID="ID123456"
)

print(response)

Reports - Get SMS Received List

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Reports.SMSReceived.Poll(
    #TimePeriod = 1440
    DateFrom="2023-07-01 00:00:00",
    DateTo="2023-08-01 00:00:00"
)

print(response)

Actions

Amend your message using tnzapi-python library.

Actions - Abort Pending/Delayed Job

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Actions.Abort.SendRequest(
    MessageID="ID123456"
)

print(response)

Actions - Resubmit Failed Job

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Actions.Resubmit.SendRequest(
    MessageID="ID123456",
    SendTime="2023-07-10T09:00"    #optional
)

print(response)

Actions - Reschedule DELAYED Job

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Actions.Reschedule.SendRequest(
    MessageID="ID123456",
    SendTime=datetime.now()
)

print(response)

Actions - Set Number of Operators on TTS/Voice Job

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

request = client.Set.Pacing(
    MessageID="ID123456",
    NumberOfOperators=10
)

print(response)

Addressbook - Contacts

Manage your contacts using tnzapi-python library.

Contacts - List

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Addressbook.Contact.List(
    RecordsPerPage=10,
    Page=1
)

print(response)

Contacts - Detail

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Addressbook.Contact.Detail(
    ContactID="[Contact ID]"
)

print(response)

Contacts - Create

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Addressbook.Contact.Create(
    Title="Mr",
    Company="TNZ Group",
    FirstName="First",
    LastName="Last",
    MobilePhone="+642122223333",
    ViewPublic="Account",
    EditPublid="Account"
)

print(response)

Contacts - Update

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Addressbook.Contact.Update(
    ContactID="[Contact ID]",
    Attention="Test Attention"
)

print(response)

Contacts - Delete

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Addressbook.Contact.Delete(
    ContactID="[Contact ID]"
)

print(response)

Addressbook - Contact Group

Manage your contact group relationship using tnzapi-python library.

Contact Group - List

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Addressbook.ContactGroup.List(
    RecordsPerPage=10,
    Page=1,
    ContactID="[Contact ID]"
)

print(response)

Contact Group - Detail

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Addressbook.ContactGroup.Detail(
    ContactID="[Contact ID]",
    GroupCode="[Group Code]"
)

print(response)

Contact Group - Create

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Addressbook.ContactGroup.Create(
    ContactID="[Contact ID]",
    GroupCode="[Group Code]"
)

print(response)

Contact Group - Delete

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Addressbook.ContactGroup.Delete(
    ContactID="[Contact ID]",
    GroupCode="[Group Code]"
)

print(response)

Addressbook - Group

Manage your group using tnzapi-python library.

Group - List

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Addressbook.Group.List(
    RecordsPerPage=10,
    Page=1
)

print(response)

Group - Detail

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Addressbook.Group.Detail(
    GroupCode="[Group Code]"
)

print(response)

Group - Create

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Addressbook.Group.Create(
    GroupCode="[Group Code]",
    GroupName="[Group Name]"
)

print(response)

Group - Update

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Addressbook.Group.Update(
    GroupCode="[Group Code]",
    GroupName="[Group Name]"
)

print(response)

Group - Delete

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Addressbook.Group.Delete(
    GroupCode="[Group Code]"
)

print(response)

Addressbook - Group Contact

Manage your group contact relationship using tnzapi-python library.

Group Contact - List

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Addressbook.GroupContact.List(
    RecordsPerPage=10,
    Page=1,
    GroupCode="[Group Code]"
)

print(response)

Group Contact - Detail

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Addressbook.GroupContact.Detail(
    GroupCode="[Group Code]",
    ContactID="[Contact ID]"
)

print(response)

Group Contact - Create

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Addressbook.GroupContact.Create(
    GroupCode="[Group Code]",
    ContactID="[Contact ID]"
)

print(response)

Group Contact - Delete

from tnzapi import TNZAPI

client = TNZAPI(
    AuthToken="[Your Auth Token]"
)

response = client.Addressbook.GroupContact.Delete(
    GroupCode="[Group Code]",
    ContactID="[Contact ID]"
)

print(response)

Getting help

If you need help installing or using the library, please check the TNZ Contact if you don't find an answer to your question.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tnzapi-2.3.0.0.tar.gz (8.0 kB view details)

Uploaded Source

File details

Details for the file tnzapi-2.3.0.0.tar.gz.

File metadata

  • Download URL: tnzapi-2.3.0.0.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.1

File hashes

Hashes for tnzapi-2.3.0.0.tar.gz
Algorithm Hash digest
SHA256 a51c6b664bc47f98b2451422f4214e05bf8373a07647e16afa64666ae645cb50
MD5 d5de5b9b93d5725f2b6e88d3155de7bd
BLAKE2b-256 6b26e057813c784ee6d6cff707df814129a0e1c903f007043cd68a84933e68f6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page