Sync 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 enthusiasts. 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 22 May 2025.
- PyPl - https://pypi.org/project/synkvaksms/
- Github - https://github.com/lolkofka/synkvaksms
- Requirements: Python >= 3.10
Features
- 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.10+
Library Installation
- Install via pip:
pip install synkvaksms - Download sources -
git clone https://github.com/lolkofka/synkvaksms
Getting Started
first steps (best practic)
from synkvaksms import Vaksms
def main():
client = Vaksms('TOKEN') # use vaksms.com domain (not work in russia)
client = Vaksms('TOKEN', base_url='https://moresms.net') # work in russia
number = client.get_number('ya')
print(number.tel) # 79995554433
# recieve smscode
sms_code = number.wait_sms_code(timeout=300, per_attempt=5) # do not indicate timeout and per_attempt
print(sms_code) #1234
# set status
number.set_status('end')
# bad - ban number
# end - cancel number
# send - new sms
main()
Get user balance
from synkvaksms import Vaksms
def main():
client = Vaksms('TOKEN') # use vaksms.com domain (not work in russia)
client = Vaksms('TOKEN', base_url='https://moresms.net') # work in russia
balances = client.get_balance()
print(balances) # balance = 100.0
main()
Get number count
from synkvaksms import Vaksms
def main():
client = Vaksms('TOKEN') # use vaksms.com domain (not work in russia)
client = Vaksms('TOKEN', base_url='https://moresms.net') # work in russia
data = client.get_count_number('cp')
print(data) # service='cp' count=4663 price=18.0
main()
Get country list
from synkvaksms import Vaksms
def main():
client = Vaksms('TOKEN') # use vaksms.com domain (not work in russia)
client = Vaksms('TOKEN', base_url='https://moresms.net') # work in russia
data = 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'])... ]
main()
Get number
from synkvaksms import Vaksms
def main():
client = Vaksms('TOKEN') # use vaksms.com domain (not work in russia)
client = Vaksms('TOKEN', base_url='https://moresms.net') # work in russia
data = client.get_number('ya')
# An exclusive function for obtaining the lifetime of a number
# all known services whose lifetime differs from the standard 20 minutes
# are included in the library database as of 10/02/2024
# also work with "rent=True" parameter
print(data.lifetime) # 1200 lifetime from date of purchase
print(data.lives_up_to) # 1727823949 unix time of death
print(data) # tel=79296068469 service='ya' idNum='1725546315697382' lifetime=1200 lives_up_to=1727823949
main()
Recieve smscode
from synkvaksms import Vaksms
def main():
client = Vaksms('TOKEN') # use vaksms.com domain (not work in russia)
client = Vaksms('TOKEN', base_url='https://moresms.net') # work in russia
data = client.get_sms_code('1725546315697382') # 1725546315697382 is number id (idNum)
print(data) # smsCode='1234'
main()
request a new sms
from synkvaksms import Vaksms
def main():
client = Vaksms('TOKEN') # use vaksms.com domain (not work in russia)
client = Vaksms('TOKEN', base_url='https://moresms.net') # work in russia
data = client.set_status('1725546315697382', 'send') # 1725546315697382 is number id (idNum)
print(data) # ready
main()
get service full name, service info, service icons
this method not in official vaksms documentation
from synkvaksms import Vaksms
def main():
client = Vaksms('TOKEN') # use vaksms.com domain (not work in russia)
client = Vaksms('TOKEN', base_url='https://moresms.net') # work in russia
data = 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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file synkvaksms-1.0.0.tar.gz.
File metadata
- Download URL: synkvaksms-1.0.0.tar.gz
- Upload date:
- Size: 32.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e557638e53937407564d098bd7a478a43fc64130f8d260f04d1b29a3d5fbe874
|
|
| MD5 |
bf5d13fa2ed33bb8fcd42003b9089d56
|
|
| BLAKE2b-256 |
0dd910e3aebd450f6e1d6aac6eaea0557716d8b04819133c4fa5ba9e945aaa6d
|
File details
Details for the file synkvaksms-1.0.0-py3-none-any.whl.
File metadata
- Download URL: synkvaksms-1.0.0-py3-none-any.whl
- Upload date:
- Size: 34.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc5614909e498d25cbe84d895f612b29c86dbb367e7c4bc7c3ab722afbd24216
|
|
| MD5 |
6fd59c7303fde27abc42de597df8041a
|
|
| BLAKE2b-256 |
3359873517ff251eaa24991f3a3216633845f8bb68aebc432fb7e41883a62936
|