Skip to main content

Python sdk for Infobip's API

Project description

Infobip API Python SDK

Version Python Workflow Release Licence Lines

Python client for Infobip's API channels.


📡 Supported channels

More channels to be added in the near future.

ℹ️ General Info

For infobip-api-python-sdk versioning we use Semantic Versioning scheme.

Python 3.6 is minimum supported version by this library.

🔐 Authentication

Currently, infobip-api-python-sdk only supports API Key authentication, and the key needs to be passed during client creation. This will most likely change with future versions, once more authentication methods are included.

📦 Installation

To install infobip SDK you will need to run:

pip install infobip-api-python-sdk

Details of the package can be found here

🚀 Usage

Code Example

To use the package you'll need an Infobip account. If you don't already have one, you can create a free trial account here.

In this example we will show how to send WhatsApp text message. Similar can be done for other channels. First step is to import necessary channel, in this case WhatsApp channel.

from infobip_channels.whatsapp.channel import WhatsAppChannel

Now you can create instance of WhatsAppChannel with your base_url and api_key.

c = WhatsAppChannel.from_auth_params({
    "base_url": "<your_base_url>",
    "api_key": "<your_api_key>"
})

After that you can access all the methods from WhatsAppChannel. To send text message you can use send_text_message method and add correct payload:

response = c.send_text_message(
    {
      "from": "<WhatsApp sender number from your Infobib account>",
      "to": "<Number that will receive WhatsApp message>",
      "messageId": "a28dd97c-1ffb-4fcf-99f1-0b557ed381da",
      "content": {
        "text": "Some text"
      },
      "callbackData": "Callback data",
      "notifyUrl": "https://www.example.com/whatsapp"
    }
)

🧪 Testing

To run tests position yourself in the project's root while your virtual environment is active and run:

python -m pytest

✅ Enable pre-commit hooks

To enable pre-commit hooks run:

pip install -r requirements/dev.txt

You will need to install pre-commit hooks Using homebrew:

brew install pre-commit

Using conda (via conda-forge):

conda install -c conda-forge pre-commit

To check installation run:

pre-commit --version

If installation was successful you will see version number. You can find the Pre-commit configuration in .pre-commit-config.yaml. Install the git hook scripts:

pre-commit install

Run against all files:

pre-commit run --all-files

If setup was successful pre-commit will run on every commit. Every time you clone a project that uses pre-commit, running pre-commit install should be the first thing you do.

⚖️ License

This library is distributed under the MIT license found in the License.

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

infobip-api-python-sdk-2.3.0.tar.gz (35.5 kB view hashes)

Uploaded Source

Built Distribution

infobip_api_python_sdk-2.3.0-py3-none-any.whl (74.7 kB view hashes)

Uploaded Python 3

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