Async VakSms api wrapper for python
Project description
VAKSMS API for Python 3
About
This library is a wrapper for the https://vak-sms.com/api/vak/ API from enthusiast. All methods are described and all types are explicitly defined. Methods that create requests to https://vak-sms.com/api/vak/ return a pydantic's models for each response. Please write about all problems related to the library to issues
API is up-to-date as of 05 September 2024.
- PyPl - https://pypi.org/project/aiovaksms/
- Github - https://github.com/lolkofka/aiovaksms/
- Requirements: Python >= 3.7
Features
- It's completely asynchronous
- You can use multiple clients to work with multiple users or shops
- All methods for working with API are implemented
- The library returns strictly typed for responses from APIs
- For each method, docstrings are used
- The library handle {type: error} responses and throws VakSmsBadRequest exception
- Modern, strict code for Python 3.7
Library Installation
- Install via pip:
pip install aiovaksms
- Download sources -
git clone https://github.com/lolkofka/aiovaksms/
Getting Started
Get user balance
import asyncio
from aiovaksms import VakSms
async def main():
client = VakSms('TOKEN') # use vaksms.com domen (not work in russia)
client = VakSms('TOKEN', base_urls=['moresms.net']) # work in russia
balances = await client.get_balance()
print(balances) # balance = 100.0
asyncio.run(main())
Get number count
import asyncio
from aiovaksms import VakSms
async def main():
client = VakSms('TOKEN') # use vaksms.com domen (not work in russia)
client = VakSms('TOKEN', base_urls=['moresms.net']) # work in russia
data = await client.get_count_number('cp')
print(data) # service='cp' count=4663 price=18.0
asyncio.run(main())
Get country list
import asyncio
from aiovaksms import VakSms
async def main():
client = VakSms('TOKEN') # use vaksms.com domen (not work in russia)
client = VakSms('TOKEN', base_urls=['moresms.net']) # work in russia
data = await client.get_country_list()
print(data) # [CountryOperator(countryName='Tajikistan', countryCode='tj', operatorList=['babilon mobile', 'beeline', 'megafon', 'tcell']), CountryOperator(countryName='Zimbabwe', countryCode='zw', operatorList=['econet', 'netone', 'telecel'])... ]
asyncio.run(main())
Get number
import asyncio
from aiovaksms import VakSms
async def main():
client = VakSms('TOKEN') # use vaksms.com domen (not work in russia)
client = VakSms('TOKEN', base_urls=['moresms.net']) # work in russia
data = await client.get_number('ya')
print(data) # tel=79296068469 service='ya' idNum='1725546315697382'
asyncio.run(main())
Recieve smscode
import asyncio
from aiovaksms import VakSms
async def main():
client = VakSms('TOKEN') # use vaksms.com domen (not work in russia)
client = VakSms('TOKEN', base_urls=['moresms.net']) # work in russia
data = await client.get_smscode('1725546315697382')
print(data) # smsCode='1234'
asyncio.run(main())
request a new sms
import asyncio
from aiovaksms import VakSms
async def main():
client = VakSms('TOKEN') # use vaksms.com domen (not work in russia)
client = VakSms('TOKEN', base_urls=['moresms.net']) # work in russia
data = await client.set_status('1725546315697382', 'send')
print(data) # ready
asyncio.run(main())
get service full name, service info, service icons
this method not in official vaksms documentation
import asyncio
from aiovaksms import VakSms
async def main():
client = VakSms('TOKEN') # use vaksms.com domen (not work in russia)
client = VakSms('TOKEN', base_urls=['moresms.net']) # work in russia
data = await client.get_count_number_list()
print(data) # {'mr': Service(name='VK - MailRu', icon='https://vak-sms.com/static/service/mr.png', info='Тут можно принять смс от сервисов VKGroup.Не забывайте проверять номера на занятость через восстановление. Подробнее в базе знаний - https://bit.ly/3M6tXup', cost=22.0, rent=False, quantity=41153, private=False), ... }
print(data['mr'].name) # VK - MailRu
asyncio.run(main())
Contact
- E-Mail - lolkofprog@gmail.com
- Telegram - @lolkof
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aiovaksms-1.1.0.tar.gz
(45.5 kB
view hashes)
Built Distribution
aiovaksms-1.1.0-py3-none-any.whl
(33.4 kB
view hashes)
Close
Hashes for aiovaksms-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 662399ddc2e12a0b0d7c7c4cae4478d50ea6610d74b8aca128af1d27ea151669 |
|
MD5 | cc0bf3bbdc045f7a36385280694c3f2a |
|
BLAKE2b-256 | 63cbb3dd58ffa35dc7b1e86dcc5070762474fbf7edbcb195c6564898bbcfb390 |