Skip to main content

📞Unofficial Python API Wrapper of Ncell

NcellPy

Stars Issues Contributors

This is the unofficial python API wrapper of Ncell App.

⚠️ Disclaimer: This project is in no way affiliated with, authorized, maintained, sponsored or endorsed by Ncell or any of its affiliates or subsidiaries. This is an independent and unofficial API. Use at your own risk.

Installation

  • Install via PyPi

    pip install ncellapp
    
  • Install from the source

    git clone https://github.com/hemantapkh/ncellapp && cd ncellapp && python setup.py sdist && pip install dist/*
    

Note: You may need to change the pip to pip3 or python to python3 on the above command depending on your system.

Start guide

Quick Examples

1. Getting a Token

>>> from ncellapp import register

>>> reg = register('98140*****')
>>> reg.generateOtp()
<Response [OTP1000]>
>>> reg.validateOtp('569845')
<Response [OTP1000]>
>>> reg.token
'eyJt...'

2. Viewing the balance

>>> from ncellapp import ncell

>>> account = ncell(token='eyJtc...', autoRefresh=True)
>>> balance = account.balance()
>>> balance.content
{'queryBalanceResponse': {'smsBalanceList': [], 'dataBalanceList': [], 'creditBalanceDetail': {'expiryDate': 'Sep 12 2021 23:59:59', 'freeSmsCount': 10, 'tariffPlanRateOffNet': 0.0, 'balance': 4.89793, 'unBilledAmount': 0.0, 'tariffPlanName': 'Sajilo', 'lastLoanTakenDate': 'Mar 23 2021 08:22:54', 'lastRechargeDate': 'Apr 27 2021 00:36:58', 'loanAmount': 0.0, 'creditUom': 'Rs.', 'tariffPlanRateOnNet': 0.0}, 'msisdn': '98140*****', 'voiceBalanceList': [], 'paidMode': 'Prepaid'}}

3. Sending a free SMS

>>> sms = account.sendFreeSms(980799****, 'Hey there!, I am sending you an SMS with Python!')
>>> sms.content
{'sendFreeSMSResponse': {'description': 'Operation succeeded', 'status': 'success', 'statusCode': '0'}}
>>> sms.responseHeader
{'responseDesc': 'Success', 'requestId': '1626770987071NCELL968', 'responseDescDisplay': 'SMS1000', 'responseCode': '200', 'timestamp': '2021-07-20T14:34:47.12712'}

4. Manually refreshing the token and storing the refreshed token (Not recommended)

# This function will be executed after refreshing the token
>>>def storeToken(token):
...     with open('token','w') as f_in:
...         f_in.write(token)

# Creating an object of ncell which contains 'afterRefresh' and 'args' arguments.
# See the documentation for more information.
>>> ac = ncellapp.ncell(token=token, afterRefresh=[__name__, 'storeToken'], args=['__token__'])

# Token expired
>>> ac.balance()
<Response [LGN2001]>

# Manually refreshing the token
>>> ac.refreshToken()
<Response [OTP1000]>

# Viewing the balance after manually refreshing the token
>>> ac.balance()
<Response [BAL1000]>

5. Refreshing the token automatically and storing the refreshed Token (Recommended)

# This function will be executed after refreshing the token.
>>>def storeToken(token):
    with open('token','w') as f_in:
        f_in.write(token)

# Creating an object of ncell and setting autoRefresh=True. 
# See documentation for more information.
>>> ac = ncellapp.ncell(token=token, autoRefresh=True, afterRefresh=[__name__, 'storeToken'], args=['__token__'])

# Token will be refreshed and stored automatically if it expires
>>> ac.balace()
<Response [BAL1000]>

Detailed documentation

The documentation of ncellapp is available here.

Contributing

Any contributions you make are greatly appreciated.

For minor fix, you can directly create a pull request and for adding a new feature, let's first discuss about it.

Thanks to every contributors who have contributed in this project.

License

Distributed under the MIT License. See LICENSE for more information.


Author/Maintainer: Hemanta Pokharel

Release files for ncellapp 2.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ncellapp 2.0.2
File Size Uploaded
ncellapp-2.0.2.tar.gz 12.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ncellapp 2.0.2
File Interpreter ABI Platform
ncellapp-2.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 24.5 kB

Release files / ncellapp-2.0.2.tar.gz

Download URL ncellapp-2.0.2.tar.gz
Size 12.7 kB
Tags Source
SHA-256 checksum
How to use checksums
265efd409344f24d7817438b7ef3eed915212dd420e113e5f9d0ee7ac9ff531e
BLAKE2b-256 checksum
How to use checksums
6a5e13e5a68e36b77b30bbec185391dd545e91dda8a5ef0393c71118c33478d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release files / ncellapp-2.0.2-py3-none-any.whl

Download URL ncellapp-2.0.2-py3-none-any.whl
Size 11.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6c373cc0f5c8f01f0c6951d4e5226105865d4b7e23cf152f59cb32819a0abcfa
BLAKE2b-256 checksum
How to use checksums
b5ca56b0c5458c7067e477614a912816b285bcf5025ba31a2e57addb929e7e5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

2.0.2 This release

2 release files

2.0.1

1 release file

2.0.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page