
Security News
Deno 2.6 + Socket: Supply Chain Defense In Your CLI
Deno 2.6 introduces deno audit with a new --socket flag that plugs directly into Socket to bring supply chain security checks into the Deno CLI.
tnzapi
Advanced tools
The documentation for the TNZ API can be found here.
tnzapi uses a modified version of Semantic Versioning for all changes. See this document for details.
This library supports the following Python implementations:
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 with the TNZ API couldn't be easier. Create a
Client and you're ready to go.
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 SMS/Email/Voice/Fax through tnzapi library.
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)
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)
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Messaging.Fax.SendMessage(
Recipients = "+6491232345",
Attachments = ["C:\\Document.pdf"]
)
print(response)
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)
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)
Retrieve your message status using tnzapi library.
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Reports.Status.Poll(
MessageID="ID123456"
)
print(response)
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
request = client.Reports.SMSReply.Poll(
MessageID="ID123456"
)
print(response)
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)
Amend your message using tnzapi library.
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Actions.Abort.SendRequest(
MessageID="ID123456"
)
print(response)
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)
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Actions.Reschedule.SendRequest(
MessageID="ID123456",
SendTime=datetime.now()
)
print(response)
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
request = client.Set.Pacing(
MessageID="ID123456",
NumberOfOperators=10
)
print(response)
Manage your contacts using tnzapi library.
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Addressbook.Contact.List(
RecordsPerPage=10,
Page=1
)
print(response)
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Addressbook.Contact.Search(
Attention="Joe",
RecordsPerPage=10,
Page=1
)
print(response)
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Addressbook.Contact.Detail(
ContactID="[Contact ID]"
)
print(response)
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)
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Addressbook.Contact.Update(
ContactID="[Contact ID]",
Attention="Test Attention"
)
print(response)
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Addressbook.Contact.Delete(
ContactID="[Contact ID]"
)
print(response)
Manage your contact group relationship using tnzapi library.
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Addressbook.ContactGroup.List(
RecordsPerPage=10,
Page=1,
ContactID="[Contact ID]"
)
print(response)
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Addressbook.ContactGroup.Detail(
ContactID="[Contact ID]",
GroupCode="[Group Code]"
)
print(response)
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Addressbook.ContactGroup.Create(
ContactID="[Contact ID]",
GroupCode="[Group Code]"
)
print(response)
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Addressbook.ContactGroup.Delete(
ContactID="[Contact ID]",
GroupCode="[Group Code]"
)
print(response)
Manage your group using tnzapi library.
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Addressbook.Group.List(
RecordsPerPage=10,
Page=1
)
print(response)
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Addressbook.Group.Detail(
GroupCode="[Group Code]"
)
print(response)
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Addressbook.Group.Create(
GroupCode="[Group Code]",
GroupName="[Group Name]"
)
print(response)
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Addressbook.Group.Update(
GroupCode="[Group Code]",
GroupName="[Group Name]"
)
print(response)
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Addressbook.Group.Delete(
GroupCode="[Group Code]"
)
print(response)
Manage your group contact relationship using tnzapi library.
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Addressbook.GroupContact.List(
RecordsPerPage=10,
Page=1,
GroupCode="[Group Code]"
)
print(response)
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Addressbook.GroupContact.Detail(
GroupCode="[Group Code]",
ContactID="[Contact ID]"
)
print(response)
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Addressbook.GroupContact.Create(
GroupCode="[Group Code]",
ContactID="[Contact ID]"
)
print(response)
from tnzapi import TNZAPI
client = TNZAPI(
AuthToken="[Your Auth Token]"
)
response = client.Addressbook.GroupContact.Delete(
GroupCode="[Group Code]",
ContactID="[Contact ID]"
)
print(response)
If you need help installing or using the library, please check the TNZ Contact if you don't find an answer to your question.
FAQs
TNZ REST API Helper Library for Python
We found that tnzapi demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Deno 2.6 introduces deno audit with a new --socket flag that plugs directly into Socket to bring supply chain security checks into the Deno CLI.

Security News
New DoS and source code exposure bugs in React Server Components and Next.js: what’s affected and how to update safely.

Security News
Socket CEO Feross Aboukhadijeh joins Software Engineering Daily to discuss modern software supply chain attacks and rising AI-driven security risks.