All Projects → ii64 → Ovopy

ii64 / Ovopy

Licence: mit
Un-official OVO API Wrapper

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Ovopy

Ovoid
Un-Official OVO API Wrapper
Stars: ✭ 121 (+348.15%)
Mutual labels:  api, payment-gateway
Indian Courier Api
API to track parcel from various Indian Logistics Providers
Stars: ✭ 26 (-3.7%)
Mutual labels:  api
Swaddle
Automagically create API clients/wrappers in JavaScript
Stars: ✭ 23 (-14.81%)
Mutual labels:  api
Lor
a fast, minimalist web framework for lua based on OpenResty
Stars: ✭ 930 (+3344.44%)
Mutual labels:  api
Random Cat
Modul to get random cat images
Stars: ✭ 23 (-14.81%)
Mutual labels:  api
Platform Documentation
Core Platform API Documentation & Tutorials
Stars: ✭ 25 (-7.41%)
Mutual labels:  api
Forge Server Utils
Tools for accessing Autodesk Forge APIs from modern Node.js apps.
Stars: ✭ 23 (-14.81%)
Mutual labels:  api
Homer Api
HOMER 5: Back-End (API) DEPRICATED - use sipcapture/homer-app
Stars: ✭ 26 (-3.7%)
Mutual labels:  api
Offit
Simple but powerful API mocking library. Make mocks great again.
Stars: ✭ 25 (-7.41%)
Mutual labels:  api
Go Base
Go RESTful API Boilerplate with JWT Authentication backed by PostgreSQL
Stars: ✭ 928 (+3337.04%)
Mutual labels:  api
Neanderthal
Fast Clojure Matrix Library
Stars: ✭ 927 (+3333.33%)
Mutual labels:  api
Yet Another Rest Client
YARC (Yet Another REST Client) is an easy-to-use REST Client for Google Chrome.
Stars: ✭ 23 (-14.81%)
Mutual labels:  api
Django apistar
Django App to integrate API Star's routes and views into Django's ecossystem.
Stars: ✭ 25 (-7.41%)
Mutual labels:  api
Resolutejs
Finally get to retry during a Promise operation (works in modern browsers as well as nodejs), zero dependencies.
Stars: ✭ 23 (-14.81%)
Mutual labels:  api
Trumail
✉️ ✅ A Fast and Free Email Verification API written in Go
Stars: ✭ 937 (+3370.37%)
Mutual labels:  api
Geocoder
🌎 GoLang package that provides an easy way to use the Google Geocoding API
Stars: ✭ 23 (-14.81%)
Mutual labels:  api
Vk To Telegram
Utility to forward posts from VK through callback API to telegram channel or chat
Stars: ✭ 24 (-11.11%)
Mutual labels:  api
Lambda Api
Lightweight web framework for your serverless applications
Stars: ✭ 929 (+3340.74%)
Mutual labels:  api
Figma Transformer
A tiny utility library that makes the Figma API more human friendly.
Stars: ✭ 27 (+0%)
Mutual labels:  api
Ghreleases
Interact with the GitHub releases API.
Stars: ✭ 26 (-3.7%)
Mutual labels:  api

ovopy

BuildStatus Version 1.0.0 Supported python versions: 3.6 License Codacy Badge Donate

Un-official OVOid Python3 Client

Language: English Indonesia


Install

python3 setup.py install

Function status

Function Status
login2FA OK
verifyLogin2FA OK
loginSecurityCode OK
getBudget OK
getFrontModel OK
generateTrxId OK
transferOvoBalance Error: Invalid Model
logout OK
getUnreadNotification OK
getWalletTransaction OK

Tested on OVO v2.8.0 | 27/03/2019 | Python 3.6

Examples

Login

You can check at test.py.

WARNING: When you logged in at the first time, make sure you got the token, because OVO limits loggedin device

import ovopy
# By default, settings saved to local .json file, so when you attempted to login with phone number (again) it'll use token that saved on local .json file resolved by phone number. You can disable this feature by adding `save_auth=False` at OVO class argument.
# ovo = ovopy.OVO(save_auth=False)

ovo = ovopy.OVO()
# with phone_number
l2fa  = ovo.login('<phone_number>')
vl2fa = ovo.verifyLogin2FA(l2fa.refId, '<SMS Pincode>', '<phone_number>')
lsc   = ovo.loginSecurityCode('<6digit of security code>', vl2fa.updateAccessToken)

# with token
lwt  = ovo.login(token='<token here JWT>')

# Test now! :D
print(ovo.getFrontModel())

Account Information

Get account information

r = ovo.getFrontModel()
print(r) # resp: FrontResponse(...)

Budget Details

Get details of budget

r = ovo.getBudget()
print(r) # resp: BudgetResponse(budget=History(amount=0, categoryId=None, spending=0), totalSpending=0, cycleDate=1, summary=[...])

Transaction History

Get list of transactions history

r = ovo.getWalletTransaction(page=1, limit=1)
print(r) # resp: WalletTransactionResponse(...)

Balance Transfer

Currently, You can only transfer two times, for the 3rd one you'll need signature header. Please make pull request if you know how to reproduce the signature, Thank you.

rtrx = ovo.transferOvoBalance('<to_phone_number>', 10000, None)
print(rtrx) # resp: CustomerTransferResponse(...)

Notifications

# Get all notifications
rx = ovo.getAllNotification()
print(rx) # resp: NotificationAllRespone(notifications=[...])

# Get total unread notification
r = ovo.getUnreadNotification()
print(r)  # resp: NotificationUnreadResponse(Total=0)

Logout

Logout from client

r = ovo.logout()
print(r) # resp: LogoutResponse(httpStatus=200)

Errors

OVOUnexpectedError

An error occured from REST Endpoint caused by http code response is not 200, Most of them caused by invalid client payload

Other Programming Languages

Checkout also other Un-official OVO[id] Clients!

Repository Language
@lintangtimur/ovoid PHP
@anysz/ovopy Python

Author

Anysz / @Anysz

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].