Skip to main content

Python SDK for Direct7 Platform REST API

Project description

Direct7 Python SDK

Python SDK to seamlessly incorporate communication features into your Python applications via the Direct7 REST API. This SDK empowers you to effortlessly initiate SMS,Whatsapp, Slack, Viber messages and 2 factor authentication features.

Documentation

The documentation for the Direct7 REST API can be found here Direct7 API Reference.

Installation

The SDK is available on PyPI and can be installed using pip:

pip install direct7

Usage

To get started you need to have an active Direct7 account, If you haven't yet registered, please proceed to Sign up

Authentication

In order to initiate API requests, create a client object using your Direct7 API token. To obtain an API token, kindly visit the following link: https://app.d7networks.com/api-tokens.

Examples

SMS

Send SMS

from direct7 import Client

client = Client(api_token="Your API token")

client.sms.send_messages(
        {"recipients": ["+9199XXXXXXXX"], "content": "Greetings from D7 API", "unicode": False},
        originator="Sender",
        report_url="https://the_url_to_receive_delivery_report.com",
        schedule_time='2024-02-05T09:48:42+0000',
        )

Send an Unicode SMS

from direct7 import Client

client = Client(api_token="Your API token")

client.sms.send_messages(
        {"recipients": ["+9199XXXXXXXX"],"content": "مرحبا بالعالم!", "unicode": True},
        originator="Sender",
        report_url="https://the_url_to_receive_delivery_report.com",
        )

Check SMS Request Status

from direct7 import Client

client = Client(api_token="Your API token")

# request_id is the id returned in the response of send_message
client.sms.get_status(request_id="0012c7f5-2ba5-49db-8901-4ee9be6dc8d1")

Verify

Send OTP

from direct7 import Client

client = Client(api_token="Your API token")

client.verify.send_otp(originator="SignOTP", recipient="+97150900XXXX", content = "Greetings from D7 API, your mobile verification code is: {}", expiry = 600, data_coding = "text")

Re-Send OTP

from direct7 import Client

client = Client(api_token="Your API token")

client.verify.resend_otp(otp_id="0012c7f5-2ba5-49db-8901-4ee9be6dc8d1")

Verify OTP

from direct7 import Client

client = Client(api_token="Your API token")

client.verify.verify_otp(otp_id="0012c7f5-2ba5-49db-8901-4ee9be6dc8d1", otp_code="1425")

Check Verify Request Status

from direct7 import Client

client = Client(api_token="Your API token")

# otp_id is the id returned in the response of send_otp
client.verify.get_status(otp_id="0012c7f5-2ba5-49db-8901-4ee9be6dc8d1")

Whatsapp

Send Whatsapp Free-form Message (Location Details)

from direct7 import Client

client = Client(api_token="Your API token")

client.whatsapp.send_whatsapp_freeform_message(originator="91906152XXXX",
                                               recipient="91906112XXXX",
                                                message_type="LOCATION", latitude="12.93803129081362",
                                                longitude="77.61088653615994",
                                                name="Mobile Pvt Ltd", address="30, Hosur Rd, 7th Block, Koramangala, Bengaluru, Karnataka 560095")

Send Whatsapp Templated Message.

from direct7 import Client

client = Client(api_token="Your API token")

client.whatsapp.send_whatsapp_templated_message(originator="91906152XXXX", recipient="91906112XXXX", template_id="monthly_promotion", language= "en", body_parameter_values={"0": "promotion"})

Send Whatsapp Interactive Message.

from direct7 import Client

client = Client(api_token="Your API token")

parameters = {
    "display_text": "Visit Alpha",
    "url": "https://www.luckyshrub.com?clickID=kqDGWd24Q5TRwoEQTICY7W1JKoXvaZOXWAS7h1P76s0R7Paec4"
}
    
response_send_messages = client.whatsapp.send_whatsapp_interactive_message(originator="+91906152XXXX",
                                                                           recipient="91906112XXXX",
                                                                           interactive_type="cta_url",
                                                                           header_type="text",
                                                                           header_text="Payment$ for D7 Whatsapp Service",
                                                                           body_text="Direct7 Networks is a messaging service provider that specializes in helping organizations efficiently communicate with their customers.",
                                                                           footer_text="Thank You",
                                                                           parameters=parameters)

Check Whatsapp Request Status

from direct7 import Client

client = Client(api_token="Your API token")

# request_id is the id returned in the response of send_message
client.whatsapp.get_status(request_id="0012c7f5-2ba5-49db-8901-4ee9be6dc8d1")

Whatsapp Read Receipt

from direct7 import Client

client = Client(api_token="Your API token")

# request_id is the id returned in the response of send_message
client.whatsapp.read_receipt(message_id="0012c7f5-2ba5-49db-8901-4ee9be6dc8d1")

Whatsapp User Initiated Media Download

from direct7 import Client

client = Client(api_token="Your API token")

# request_id is the id returned in the response of send_message
client.whatsapp.download_media(media_id="16554534343")

Number Lookup

Search Phone Number Details

from direct7 import Client

client = Client(api_token="Your API token")

client.number_lookup.search_number_details(recipient="+914257845XXXX")

Viber

Send Viber Message

from direct7 import Client

client = Client(api_token="Your API token")

client.viber.send_viber_message(recipients=["+97150900XXXX","+97845900XXX"], content="Greetings from D7 API", label="PROMOTION", originator="INFO2WAY", call_back_url="https://the_url_to_recieve_delivery_report.com")

Check Viber Request Status

from direct7 import Client

client = Client(api_token="Your API token")

# request_id is the id returned in the response of send_viber_message
client.viber.get_status(request_id="0012c7f5-2ba5-49db-8901-4ee9be6dc8d1")

Slack

Send Slack Message

from direct7 import Client

client = Client(api_token="Your API token")

client.slack.send_slack_message(content="Greetings from D7 API", work_space_name="WorkspaceName", channel_name="ChannelName", report_url="https://the_url_to_recieve_delivery_report.com")

Check Slack Request Status

from direct7 import Client

client = Client(api_token="Your API token")

# request_id is the id returned in the response of send_slack_message
client.slack.get_status(request_id="0012c7f5-2ba5-49db-8901-4ee9be6dc8d1")

FAQ

How do I get my API token?

You can get your API token from the Direct7 dashboard. If you don't have an account yet, you can create one for free.

Supported Python versions

The SDK supports Python 3.6 and higher.

Supported APIs

As of now, the SDK supports the following APIs:

API Supported?
SMS API
Verify API
Whatsapp API
Number Lookup API
Viber API
Slack API

How do I get started?

You can find the platform documentation @ Direct7 Docs.

How do I get help?

If you need help using the SDK, you can create an issue on GitHub or email to support@d7networks.com

Contributing

We welcome contributions to the Direct7 Python SDK. If you have any ideas for improvements or bug fixes, please feel free to create an issue on GitHub.

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

direct7-0.0.15.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

direct7-0.0.15-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file direct7-0.0.15.tar.gz.

File metadata

  • Download URL: direct7-0.0.15.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for direct7-0.0.15.tar.gz
Algorithm Hash digest
SHA256 01b6e6046e7bdcd603d1a0ee8fd35bc60a8ab88bbe719d1ce964bd4c63e337a2
MD5 6267a1fa6d935fc85307da01277511fe
BLAKE2b-256 a94f88a34f9a3ad87c6ac8dffc991dedeb6f63b3205a11f9d15f9ceaa1174911

See more details on using hashes here.

File details

Details for the file direct7-0.0.15-py3-none-any.whl.

File metadata

  • Download URL: direct7-0.0.15-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for direct7-0.0.15-py3-none-any.whl
Algorithm Hash digest
SHA256 c3e528771463a206709e45e14889319be4cd767a58a3518b66b01fbfd11cdca9
MD5 6bd7144f696724d53c54365fa5a30f81
BLAKE2b-256 c734bd9865a44893b50764ad57efc71055632f76657ca48edb51ca6d373212d1

See more details on using hashes here.

Supported by

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