Send acknowledgements (HKQTG)
FinTS 3.0 defines an acknowledge workflow (C.9.4, "Empfangsquittung"):
By sending this segment, the customer acknowledges they have
correctly received a bank response. The acknowledgement always
relates to the direclty preceding bank response.
Optionally, the acknowledgement can be supplemented by a code
("Quittungscode", e.g. a hash value), which allows the bank to draw
addtional conclusion about the job to be acknowledged.
In practice, this means you can mark documents in the inbox of a
banking web client as "read", and prevent your bank from sending
you printed documents by post.
FinTS defines acknwoledgement only for a subset of jobs
- HIEKA "Quittungscode"
BPD HIEKAS "Parameter Kontoauszug":"Quittierung benoetig"
- HIECA "Quittungscode"
BPD HIEKAS "Parameter Kontoauszug camt":"Quittierung benoetig"
- HIEKP "Quittungscode"
BPD HIEKPS "Parameter Kontoauszug PDF":"Quittierung benoetig"
- HIKAA "Quittungscode"
BPD HIKAA "Postfach Nachricht abrufen":"Quittierung (fallweise)
This commit adds some generic handling, and fully enables acknowledgment
for HIEKA and HIEKP, i.e. AB_Transaction_CommandGetEStatements.
Users can enable acknowledgement with a new CLI option for the request
$ aqbanking-cli -P /tmp/pinfile request --estatements -a 1234567 -c est.ctx --fromdate=20200101 --docnumber=10 --acknowledge
or they enable it via API by
Disclaimer: I don't understand the spec in how "preceding response" is
supposed to be interpreted for multi-segment responses and if the optional
acknowledge code was not sent by the bank. Seems the spec leaves some doubt
there, it could mean
- ack all segments from the preceding multi-segment response
- ack only the first segment from the preceding multi-segment response
- ack only the last segement
- ... whatever, you get it
Therefore I'm only implementing cases where an acknowledgement code was
given, because it allows to definitely identify the segment we mean.