1
|
#!/usr/bin/python3
|
2
|
|
3
|
import logging.config
|
4
|
import requests
|
5
|
import zeep
|
6
|
from zeep.transports import Transport
|
7
|
from zeep.wsse.username import UsernameToken
|
8
|
|
9
|
logging.config.dictConfig({
|
10
|
'version': 1,
|
11
|
'formatters': {
|
12
|
'verbose': {
|
13
|
'format': '%(name)s: %(message)s'
|
14
|
}
|
15
|
},
|
16
|
'handlers': {
|
17
|
'console': {
|
18
|
'level': 'DEBUG',
|
19
|
'class': 'logging.StreamHandler',
|
20
|
'formatter': 'verbose',
|
21
|
},
|
22
|
},
|
23
|
'loggers': {
|
24
|
'zeep.transports': {
|
25
|
'level': 'DEBUG',
|
26
|
'propagate': True,
|
27
|
'handlers': ['console'],
|
28
|
},
|
29
|
}
|
30
|
})
|
31
|
|
32
|
|
33
|
WSSE = UsernameToken('maelis-webservice', 'maelis-password')
|
34
|
WSDL_URL = 'https://demo-toulouse.sigec.fr/maelisws-toulouse/services/InvoiceService?wsdl'
|
35
|
|
36
|
|
37
|
session = requests.Session()
|
38
|
session.verify = False
|
39
|
transport = Transport(session=session)
|
40
|
client = zeep.Client(WSDL_URL, transport=transport, wsse=WSSE)
|
41
|
|
42
|
PersonBank = client.get_type('ns1:personBankBean')
|
43
|
|
44
|
# Si la RUM n'est pas fournie
|
45
|
# https://demo-toulouse.sigec.fr/maelisws-toulouse/doc/invoice.html#bean-String
|
46
|
# pourtant obligatoire ici.
|
47
|
|
48
|
personBank = PersonBank(
|
49
|
bankBIC='BDFEFR2T',
|
50
|
bankIBAN='FR7630001007941234567890185',
|
51
|
bankRUM='plop',
|
52
|
dateStart='2023-01-02',
|
53
|
bankAddress='75049 PARIS cedex 01', # la colonne "MAELIS"."H_PERSBANQ"."PB_DOMBNQ" (maximum : 24)
|
54
|
civility='plop', # la colonne "MAELIS"."H_PERSBANQ"."PB_TITULAIRE_CIV" (maximum : 8)
|
55
|
lastName='Ewing', #la colonne "MAELIS"."H_PERSBANQ"."PB_TITULAIRE_NOM" (maximum : 30)
|
56
|
firstName='John Ross ',
|
57
|
)
|
58
|
|
59
|
results = client.service.addDirectDebitOrder(
|
60
|
dossierNumber='196544', # 197247
|
61
|
numPerson='613955', # 617619
|
62
|
codeRegie=22,
|
63
|
bank=personBank
|
64
|
)
|
65
|
print(results)
|