Skip to content

jacopo-j/HypeAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HypeAPI

Modulo Python non ufficiale per interagire con l'API delle carte HYPE e TIM Pay.

Lo scopo di questo modulo è quello di accedere programmaticamente ai movimenti delle proprie carte e ad altre informazioni utili per integrare i dati con altri servizi. Ad esempio è possibile scrivere un semplice script che possa inserire i movimenti effettuati con le carte su Firefly III per automatizzare e agevolare la gestione delle finanze personali.

Note

  • HYPE consente di utilizzare un solo dispositivo per volta. Effettuando il login con questo modulo si verrà disconnessi dall'applicazione e viceversa. Questo non vale per TIM Pay.
  • TIM Pay non richiede la verifica di un codice OTP via SMS.
  • Con TIM Pay non è possibile rinnovare il token di accesso senza effettuare nuovamente il login con le proprie credenziali (vedi esempio). Questo significa che la password deve essere salvata da qualche parte per poter utilizzare il modulo in modalità non interattiva.

Descrizione dei metodi disponibili

HYPE TIM Pay Descrizione
login(username, password, data_nascita=None) login(cellulare, username, password) Permette di effettuare il login con il proprio account
otp2fa(codice_otp) Non supportato Permette di autenticarsi utilizzando il codice OTP ricevuto via SMS
renew() Non supportato Permette di rinnovare il token di accesso
get_movements(limit=5) get_movements(limit=10, offset=0) Permette di ottenere i movimenti della propria carta
get_profile_info() Permette di ottenere informazioni sul proprio account
get_balance() Permette di visualizzare il saldo della propria carta
get_card_info() Permette di ottenere informazioni sulla propria carta

Esempi di utilizzo

HYPE

import banking
from hype import Hype
from getpass import getpass  # For interactive password input

h = Hype()
h.login("user@example.com", getpass(), "1970-01-01")

# Wait for OTP code to arrive via SMS

h.otp2fa(123456)

# You are now logged in

try:
    h.get_card_info()
except banking.Banking.AuthenticationFailure:
    # Token has expired
    h.renew()
    h.get_card_info()

TIM Pay

import banking
from timpay import TimPay
from getpass import getpass  # For interactive password input

t = TimPay()
t.login("3331234567", "user@example.com", getpass())

# You are now logged in

try:
    t.get_card_info()
except banking.Banking.AuthenticationFailure:
    # Token has expired
    t.login("3331234567", "user@example.com", getpass())
    t.get_card_info()

Disclaimer

I contenuti di questo repository sono a scopo informativo e frutto di ricerca personale. L'autore non è affiliato, associato, autorizzato, appoggiato da o in alcun modo legato con Banca Sella S.p.A., con TIM S.p.A. o con le società controllate da esse. Tutti i marchi registrati appartengono ai rispettivi proprietari.

Releases

No releases published

Packages

No packages published

Languages