Postbox Messages
Postbox messages
When a change in client account movements’ data occurs that the client should be informed about – the Postbox functionality comes in play, where the bank system will place messages containing information about the occurred changes. A client system can periodically request messages by using the getPostboxMessage functionality and after receiving the information should acknowledge the bank system that the messages were downloaded successfully. This allows the DBI channel to filter which messages the client has already received and which should be provided to him. The
The Bank system can remove unread and unacknowledged messages from Postbox after a predefined time period is expired.
In all requests of the Postbox interface the Nonce element in security header is not required!
GetPostboxMessagesRequestIo Object
Attribute | Type | Comment |
---|---|---|
messageType | String | Message type |
There are 2 message types available:
Type | Comment |
---|---|
SIMPLE_MESSAGE | Messages of this type contain only text in the messageText element. Usually it will be only short message from bank. |
MOVEMENT_MESSAGE | Messages of this type contain data about changes in movements data (e.g.: attributes of some movement were updated in the bank system, some movement was deleted in the bank system, etc.) |
Example 1: getPostboxMessage Request
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:myg="http://www.mygemini.com/schemas/mygemini"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<soapenv:Header>
<wsse:Security>
<wsse:UsernameToken>
<wsse:Username>USERNAME</wsse:Username>
<wsse:Password>PASSWORD</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<myg:GetPostboxMessagesRequestIo>
<myg:messageType>MOVEMENT_MESSAGE</myg:messageType>
</myg:GetPostboxMessagesRequestIo>
</soapenv:Body>
</soapenv:Envelope>
List Of Response Attributes In Get Messages From Postbox Web Service
Attribute | Type | Comment |
---|---|---|
messageId | Long | Unique message ID |
messageText | String | Message text |
messageType | String | Message type (see table above) |
messageStatus | String | Message status indicating whether it was already sent to client system |
additionalAttributes | AdditionalAttributeIo | Additional attributes for movement messages; |
AdditionalAttributeIo
additionalAttributes of messages of MOVEMENT_MESSAGE type may contain the following parameters:
Name | Value |
---|---|
UPDATED | Movement ID |
DELETED | Movement ID |
DATE | Date (yyyy-MM-dd) |
ACCOUNT_IBAN | Account IBAN number |
ACCOUNT_CURRENCY | Account Currency |
FROM_DATE | 1st date of the date range (yyyy-MM-dd) |
TO_DATE | Last date of the date range (yyyy-MM-dd) |
Postbox May Return 5 Subtypes Of Messages Of MOVEMENT_MESSAGE Type:
-
In case one or more attributes of some movement are updated in the bank system (e.g. some payment orders need to be authorized by bank employee; movement generated based on such payment order gets ‘Waiting for authorization’ status at first; and after bank employee authorizes the payment order, the movement gets ‘Authorized’ status and movement’s attribute ‘statusCode’ is updated) - the message will contain additionalAttributes like this:
<ns2:additionalAttributes> <ns2:name>UPDATED</ns2:name> <ns2:value>001157711468.1</ns2:value> </ns2:additionalAttributes>
Client system can redownload updated movement based on Movement ID - (see movementId filter in GetAccountMovements WS).
-
In case some movement is deleted in the bank system - the message will contain additionalAttributes like this:
<ns2:additionalAttributes> <ns2:name>DELETED</ns2:name> <ns2:value>001157711468.1</ns2:value> </ns2:additionalAttributes>
Client system can remove deleted movement from the own database based on Movement ID.
-
In case there is created a movement that has valueDate atribute earlier than the current date (e.g. valueDate is 2023-07-22, while current date is 2023-07-23) - the message will contain additionalAttributes like this:
<ns2:additionalAttributes> <ns2:name>CREATEDFOREARLIERDATE</ns2:name> <ns2:value>001157711468.1</ns2:value> </ns2:additionalAttributes>
Client system can redownload updated movement based on Movement ID - (see movementId filter in GetAccountMovements WS).
-
In case movement data of some account is updated for particular date - then the message will contain additionalAttributes like this:
<ns2:additionalAttributes> <ns2:name>DATE</ns2:name> <ns2:value>2014-02-22</ns2:value> </ns2:additionalAttributes> <ns2:additionalAttributes> <ns2:name>ACCOUNT_IBAN</ns2:name> <ns2:value>GE75TB0000000077720097</ns2:value> </ns2:additionalAttributes> <ns2:additionalAttributes> <ns2:name>ACCOUNT_CURRENCY</ns2:name> <ns2:value>GEL</ns2:value> </ns2:additionalAttributes>
This means that all movements that had matching accountNumber, amount.currency and valueDate, were deleted in the bank system and then account’s movement data for that date was recreated.
Client system can remove old data from the own database and redownload updated data using accountNumber, accountCurrencyCode, periodFrom, periodTo filters in GetAccountMovements WS. -
In case movement data of some account is updated for some date range - then the message will contain additionalAttributes like this:
<ns2:additionalAttributes> <ns2:name>FROM_DATE</ns2:name> <ns2:value>2014-02-22</ns2:value> </ns2:additionalAttributes> <ns2:additionalAttributes> <ns2:name>TO_DATE</ns2:name> <ns2:value>2014-02-23</ns2:value> </ns2:additionalAttributes> <ns2:additionalAttributes> <ns2:name>ACCOUNT_IBAN</ns2:name> <ns2:value>GE75TB0000000077720097</ns2:value> </ns2:additionalAttributes> <ns2:additionalAttributes> <ns2:name>ACCOUNT_CURRENCY</ns2:name> <ns2:value>GEL</ns2:value> </ns2:additionalAttributes>
This means that all movements that had matching accountNumber, amount.currency and valueDate, were deleted in the bank system and then account’s movement data for that date range was recreated.
Client system can remove old data from the own database and redownload updated data using accountNumber, accountCurrencyCode, periodFrom, periodTo filters in GetAccountMovements WS.
Example 2: getPostboxMessage Response
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns2="http://www.mygemini.com/schemas/mygemini">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns2:GetPostboxMessagesResponseIo
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ns2:messages>
<ns2:messageId>15401520</ns2:messageId>
<ns2:messageText>Movements were updated for the whole day.</ns2:messageText>
<ns2:messageType>MOVEMENT_MESSAGE</ns2:messageType>
<ns2:messageStatus>WAITING_FOR_ACKNOWLEDGE</ns2:messageStatus>
<ns2:additionalAttributes>
<ns2:name>DATE</ns2:name>
<ns2:value>2023-12-20</ns2:value>
</ns2:additionalAttributes>
<ns2:additionalAttributes>
<ns2:name>ACCOUNT_IBAN</ns2:name>
<ns2:value>GE48TB7044436080100017</ns2:value>
</ns2:additionalAttributes>
<ns2:additionalAttributes>
<ns2:name>ACCOUNT_CURRENCY</ns2:name>
<ns2:value>GEL</ns2:value>
</ns2:additionalAttributes>
</ns2:messages>
<ns2:messages>
<ns2:messageId>15401521</ns2:messageId>
<ns2:messageText>Movements were updated for the whole day.</ns2:messageText>
<ns2:messageType>MOVEMENT_MESSAGE</ns2:messageType>
<ns2:messageStatus>WAITING_FOR_ACKNOWLEDGE</ns2:messageStatus>
<ns2:additionalAttributes>
<ns2:name>DATE</ns2:name>
<ns2:value>2023-12-20</ns2:value>
</ns2:additionalAttributes>
<ns2:additionalAttributes>
<ns2:name>ACCOUNT_IBAN</ns2:name>
<ns2:value>GE48TB7044436080100017</ns2:value>
</ns2:additionalAttributes>
<ns2:additionalAttributes>
<ns2:name>ACCOUNT_CURRENCY</ns2:name>
<ns2:value>GEL</ns2:value>
</ns2:additionalAttributes>
</ns2:messages>
<ns2:messages>
<ns2:messageId>15391649</ns2:messageId>
<ns2:messageText>Movements were updated for the whole day.</ns2:messageText>
<ns2:messageType>MOVEMENT_MESSAGE</ns2:messageType>
<ns2:messageStatus>WAITING_FOR_ACKNOWLEDGE</ns2:messageStatus>
<ns2:additionalAttributes>
<ns2:name>DATE</ns2:name>
<ns2:value>2023-04-15</ns2:value>
</ns2:additionalAttributes>
<ns2:additionalAttributes>
<ns2:name>ACCOUNT_IBAN</ns2:name>
<ns2:value>GE82TB7044436180100003</ns2:value>
</ns2:additionalAttributes>
<ns2:additionalAttributes>
<ns2:name>ACCOUNT_CURRENCY</ns2:name>
<ns2:value>USD</ns2:value>
</ns2:additionalAttributes>
</ns2:messages>
</ns2:GetPostboxMessagesResponseIo>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
PostboxAcknowledgementRequestIo
Bank system will remove acknowledged messages from the Postbox and archive them.
List Of Request Attributes In Acknowledge Postbox Messages Web Service
Attribute | Type | Comment |
---|---|---|
messageIds | Long | Postbox message IDs |
Example 3: Postbox Acknowledgement Request
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:myg="http://www.mygemini.com/schemas/mygemini"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<soapenv:Header>
<wsse:Security>
<wsse:UsernameToken>
<wsse:Username>USERNAME</wsse:Username>
<wsse:Password>PASSWORD</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<myg:PostboxAcknowledgementRequestIo>
<myg:messageIds>15395510</myg:messageIds>
<myg:messageIds>15391641</myg:messageIds>
<myg:messageIds>15391640</myg:messageIds>
</myg:PostboxAcknowledgementRequestIo>
</soapenv:Body>
</soapenv:Envelope>
List Of Response Attributes In Acknowledge Postbox Messages Web Service
Attribute | Type | Comment |
---|---|---|
responseText | String | Message with acknowledgement result |
Example 4: Postbox Acknowledgement Response
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns2="http://www.mygemini.com/schemas/mygemini">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns2:PostboxAcknowledgementResponseIo
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ns2:responseText>All messages were acknowledged.</ns2:responseText>
</ns2:PostboxAcknowledgementResponseIo>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Updated about 1 month ago