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

AttributeTypeComment
messageTypeStringMessage type

There are 2 message types available:

TypeComment
SIMPLE_MESSAGEMessages of this type contain only text in the messageText element. Usually it will be only short message from bank.
MOVEMENT_MESSAGEMessages 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

AttributeTypeComment
messageIdLongUnique message ID
messageTextStringMessage text
messageTypeStringMessage type (see table above)
messageStatusStringMessage status indicating whether it was already
sent to client system
additionalAttributesAdditionalAttributeIoAdditional attributes for movement
messages;

AdditionalAttributeIo

additionalAttributes of messages of MOVEMENT_MESSAGE type may contain the following parameters:

NameValue
UPDATEDMovement ID
DELETEDMovement ID
DATEDate (yyyy-MM-dd)
ACCOUNT_IBANAccount IBAN number
ACCOUNT_CURRENCYAccount Currency
FROM_DATE1st date of the date range (yyyy-MM-dd)
TO_DATELast date of the date range (yyyy-MM-dd)

Postbox May Return 5 Subtypes Of Messages Of MOVEMENT_MESSAGE Type:

  1. 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).

  2. 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.

  3. 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).

  4. 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.

  5. 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

AttributeTypeComment
messageIdsLongPostbox 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

AttributeTypeComment
responseTextStringMessage 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>