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 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 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 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 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 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 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 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.4.0.0.tar.gz (37.3 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: tnzapi-2.4.0.0.tar.gz
  • Upload date:
  • Size: 37.3 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.4.0.0.tar.gz
Algorithm Hash digest
SHA256 abcc796633fc5dc31532ab51ece6679554637152f7d24673567fb37b4f7b50f4
MD5 542f8ef05dddb492f3644cbee36d93f3
BLAKE2b-256 f132144a32b2181e21508e9ee9425f6a825e28450f5e8390f88d65d040f32c0d

See more details on using hashes here.

Supported by

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