A module to send raccomandate, telegrammi and letters throught Italian Mail Service poste-online.
A simple and tipical example could be as simple as:
# Create a client for each type of letter
xol = poste.ROLClient(username=USERNAME, password=PASSWORD)
# Create a recipient and a Sender
recipient = poste.Destinatario(**RECIPIENT)
mittente = poste.Mittente(**MITTENTE)
# send a document and confirm
xol_submit = xol.submit('mydocument.pdf', recipient, mittente)
result = xol.confirm(xol_submit=xol_submit, autoconfirm=True)
Three different clients are available:
Test poste.xol.ROLSubmit
Client per invio di raccomandate
Anulla un invio La documentazione ufficiale chiede di aspettare 60 secondi circa
Parameters: |
|
---|
Conferma un invio già pre-confermato
Parameters: |
|
---|
Richiedi il documento submitto. RecuperaDCS nella documentazione ufficiale. Leggi le note in valorizza() per capire quando sono disponibili i dati
Parameters: |
|
---|
Il client richiede un identificativo che rappresenta la transazione che vuole iniziare.
Returns: | IDRichiesta |
---|
Return a dict mapping id_destinatari (set by us) with receipt_id (IdRicevuta) that is the recipient identification of the web service. Not used internally but needed to track invoice status.
Parameters: | XOLResponse – a response from a xol submit |
---|
Recupera lo stato di un ordine
Recupera lo stato di una richiesta
parse the error for simple cases
PreConferma un invio. Necessario per confermare.
Parameters: |
|
---|
Prima fase dell’invio di un documento ad un array di destinatari. Ogni operazione successiva relativa a questo ROL richiede che passi un tempo suff -intorno ai 60 secondi- che viene implementato nei metodi valorizza(), annulla(), get_documento(), confirm(), preconferma()
Parameters: |
|
---|---|
Returns: | lol_submit creato, con lol_submit.response la response ricevuta dal server |
Valida molti destinatari
Parameters: |
|
---|
Richiedi info relative al xol_submit - tempo minimo 35 secondi!! dall’invio La documentazione ufficiale chiede di aspettare 60 secondi circa
Questo result e il ServizioEnquiryResponse sono definiti a pag 45 result ha 2 attributi:
- Richiesta (IDRichiesta e GuidUtente originali
- StatoLavorazione (dove peschiamo lo stato che determina questo ciclo)
- TipoVisualizzazione (InCorso / Archivio)
- NumeroPagine (del documento submitto)
- Totale
- OggettoValorizzazione (dettaglio della valorizzazione)
- CEResult
Parameters: |
|
---|
Bases: poste.webservice.LOLClient
Client per l’invio di lettere
Recupera lo stato di un invio. Gli id non corretti vengono ignorati.
Returns: | Un dizionario le cui chiavi sono gli id (solo quelli validi, ovvero |
---|
corrispondenti a invii confermati) ed il valore un dizionario con chiave il numero di raccomandata e quanto ritornato:
{'fcf1f462-028d-46c3-aa44-36cb0267cfd6': {
'500000003510' : (StatoRichiesta){
StatoType = "00"
StatoDescrizione = "accettata online"
NumeroServizio = "500000003510"
DataEsito = 2012-02-28 17:46:36
}
}
La DataEsito è un datetime:
res['fd06df5a-df73-4d84-ad06-1eadf2b9234d'].DataEsito = datetime(...)
Il Numero di servizio è il numero della raccomandata. Gli stati possibili sono descritti nel cap 4.2.1.23:
:00: Accettata online (transitorio)
:01: Consegnato (definitivo)
:02: In giacenza (transitorio)
:03: In restituzione (definitivo)
:99: In lavorazione (transitorio)
Recupera lo stato di un invio. id non corretti vengno semplicemente ignorati.
Parameters: | lista_id – lista di IdRichiesta (lista di stringhe) |
---|---|
Returns: | Un dizionario le cui chiavi sono gli id (solo quelli validi, ovvero corrispondenti a invii confermati) ed i valori sono quanto ritornato |
Vedi get_stato_invii() per una descrizione del valore di ritorno
Recupera lo stato di un invio dal numero di raccomandata
Parameters: | id_list – list of certified mail number (Numeri raccomandata) |
---|---|
Returns: | a dict whose keys are the id (numero raccomandata) of id_list and the value is a StatoRichiesta. |
Vedi get_stato_invii() per una descrizione più approfondita del valore di ritorno
Prima fase dell’invio di un documento ad un array di destinatari. Ogni operazione successiva relativa a questo ROL richiede che passi un tempo suff -circa 60 secondi- che viene implementato nei metodi valorizza(), annulla(), get_documento(), confirm(), preconferma()
Parameters: |
|
---|---|
Returns: | poste.ROLSubmit creato, con rol_submit.response la response ricevuta dal server |
Submit una richiesta di validazione indirizzi
Parameters: |
|
---|
Array di Numeri di raccomandata
get an instance from web service, suitable for further processing
Array di destinatari. Es:
thunder = poste.Destinatario(**THUNDER_ADDR) test_addr = poste.Destinatario(**THUNDER_TEST) arr = poste.ArrayOfDestinatario((thunder, test_addr))
Un indirizzo
Un destinatario o un mittente deve avere definito un Indirizzo
Raccomandata OnLine. Oggetto che riunisce tutte le informazioni necessarie all’invio di una raccomandata. Può essere creato esplicitamente o implicitamente da una operazione di invio poste.RolClient.submit().
Quando un ROL viene inviato, viene valorizzata la variabile result con un oggetto che conserva tutte le informazioni ricevute dal servizio remoto, in particolare guid/id_richiesta necessari per fare il tracking della raccomandata con l’help desk delle poste e per richiedere ulteriori informazioni come la valorizzazione, la conferma o l’annullamento.
get an instance from web service, suitable for further processing
Ritona il guid (identificativo del server) di un invio di questo rol Ritorna None se non è stato fatto alcun invio
Ritona il guid (identificativo del server) di un invio di questo rol Ritorna None se non è stato fatto alcun invio
La risposta ottenuta dal server quando questo viene inviato. Valorizzato solo se il rol è stato inviato
Un errore sollevato dal servizio remoto di poste-online
Errore di validazione sollevato dal servizio poste-online
Errore di validazione del ricevente sollevato dal servizio poste-online
Errore di validazione sollevato dal servizio poste-online