System Notifications
User Profile Notification (to User)
Subject | Event | Content |
Your status has been changed | POST /v1/profiles/{userId}/approve | We are glad to inform you that your documents have been tested, and your status in sdk5-spring system changed to “Identified.” Your opportunities for using sdk5-spring systems have become more advanced. |
Please update following details in your profile | POST /v1/profiles/{userId}/reset
provide fields in the request |
Dear user!
Hi, please update in profile next fields:
Thank you. In the case of an erroneous request, please ignore this email |
Reset identification request approved | POST /v1/profiles/{userId}/reset-identification-requests/{reqId}/approve | Dear user!
Hi, your reset identification request approved In the case of an erroneous request, please ignore this email Sincerely, SDK.Finance customer support – sdkfinance@support.tech. |
Account was blocked | PATCH /v1/users/{userId}
provide paramType: active paramValue: true without reason |
Dear user!
Your account was blocked by customer support In the case of an erroneous request, please ignore this email Sincerely, SDK.Finance customer support – support@sdk?nance.tech. |
Notice of Account Termination Due to AML Compliance | API PATCH/v1/users/{userId} provide:
paramType: active paramValue: true reason: aml |
Dear [Customer’s Name],
Following a review, we regret to inform you that your account with [Application Name] has been terminated due to compliance with our Anti-Money Laundering (AML) policy. To facilitate the closure, please provide your bank details for the transfer of any remaining balance under your name. This process may take up to 30 working days. For further assistance, contact our customer support team at [Customer Support Contact Email]. Sincerely, [Service User First and Last Name] [Service User Role] [Application Name] Compliance Team |
Password recovery | By Owner POST /v1/password/recovery
|
Dear user!
To confirm the password recovery sdk5-spring please go to: local.sdk.finance. If you have ability to use short code, this is it: 1111 In the case of an erroneous request, please ignore this email Sincerely, SDK.Finance customer support – sdkfinance@support.tech. |
New password | By Administrator POST /v1/profiles/{userId}/reset-password | Dear user! A new password sEpV]3uC has been generated for you In the case of an erroneous request, please ignore this email Sincerely, SDK.Finance customer support – support@sdkfinance.tech |
You have successfully registered | By Administrator POST /v1/users | Dear user!
Log in to your account, click on the link local.sdk.finance Login: scananesto@mailinator.com In the case of an erroneous request, please ignore this email Sincerely, SDK.Finance customer support – sdkfinance@support.tech. |
Confirm registration | User self registration POST /v1/registration | Dear user!
To register in the system sdk5-spring please go to: local.sdk.finance. If you have ability to use short code, this is it: 1111 In the case of an erroneous request, please ignore this email Sincerely, SDK.Finance customer support – sdkfinance@support.tech. |
Request for Additional Documentation for Account Review Under AML Compliance | PATCH /v1/profiles/{userId}
provide notify: true and { “status”: “review_required”, “requiredDocuments”: “invoice” }
|
Dear [Customer’s Name],
We are writing to inform you that your account with [Appliication Name] is currently under review due to matches found in our watchlists, as part of our Anti-Money Laundering (AML) compliance procedures. To facilitate this review, we kindly request additional documentation from you. Please upload the required documents through our secure portal at your earliest convenience to ensure timely completion of the review process. If you have any questions or concerns, please reach out to our customer support team at [Customer Support Contact Email]. Required Documents: [list of required document that Compliance manager provide during user identification status change] Thank you for your cooperation and understanding. Sincerely, [Compliance Name] [Service User Role] [Application Name] Team |
Notification settings
APIs to setup notifications:
PATCH /my/security-settings
PATCH /profiles/{userId}/security-settings
New notification settings were introduced with the following event types notificationEventType:
- KYC_IDENTIFICATION_STATUS_CHANGE – Notification after update organization status to review required
for example in some cases by calling: - patch: ${api.stableVersion}/profiles/{userId}
- PROFILE_UPDATE_REQUIRED – Notification after event received for Reset identification of profile for example in some cases by calling:
- post: ${api.stableVersion}/profile-documents/identifier
- RESET_IDENTIFICATION_REQUEST_APPROVED – Notification after event received for approval of reset identification request
API
post: ${api.stableVersion}/profiles/{userId}/reset-identification-requests/{reqId}/approve
- ACCOUNT_BLOCKED – Notification after user was locked or blocked by aml
API
patch: /v1/users/{userId}
- PASSWORD_RECOVERED – Notification after password recovery was confirmed
APIs
post: ${api.stableVersion}/password/recovery/confirm
or
patch: /v1/profiles/my/password
Invoice notification (to Customer)
Subject | Event | Content |
Invoice created | POST {{host}}/invoices?sendPaymentLink=true | “Dear customer,
an invoice was created for you by the [invoice.merchantName] for the amount of [invoice.currency.symbol] [invoice.totalPrice]. To pay, please follow the link [payment link] or you scan QR code [QR code] ” |
User Profile Notification (to Compliance)
Subject | Event | Content | To role |
New Document uploaded for review | POST /v1/profile-documents | Dear user! User with user id: 9c674dd4-18d1-479d-bbf3-b28f404333c8 uploaded a new document. In the case of an erroneous request, please ignore this email Sincerely, SDK.Finance customer support – support@sdkfinance.tech. |
Head of Compliance
Compliance Manager Compliance Specialist |
Reset identification request created | POST /v1/profiles/my/reset-identification | One client create reset identification request | Head of Compliance
Compliance Specialist |
User registration notification | User self registration POST /v1/registration | User with login: [userLogin] and user ID [userId] is registered. | Head of Compliance
Compliance Manager |
Sanctions list match detected | If user match by First and Last Name was detected while sanctions list checks performed via OpenSanctions integration. | Sanctions list match detected for user [firsName lastName] with user ID [userId]. Compliance manager review required.
Sincerely, SDK.Finance support – sdkfinance@support.tech |
Compliance Manager |
System notification (to Service user)
Subject | Event | Content | To role |
Asset [asset name] reconciliation remainder | Every time the scheduled date is reached the System generates a new reconciliation record with calculated periods (due to the selected frequency) in the status “Not started” and sends the email notification remainder to the responsible user. | Dear team member! The scheduled reconsolidation period for the [asset name] asset is closed.Please reconcile the liquidity amount of the [asset name] for the period [reconciliation period].
|
Service role with appropriate permission. To email of the user who set the frequency of the reconciliation process as “email to” for notification sending. |
Transaction Notification
NOTIFICATIONS IS ON (Email)
User receives a notification about operations:
Operation | Message |
Top up via cash desk | Dear user! Your wallet 952591334823 was charged in the amount of 1.00 USD .Balans your wallet is 8 694.00 USD. Date and time of the operation 15:14 08.11.2023 |
Withdrawal via cash desk | <p>You just created application for withdrawal of 10.00 USD from the wallet <b>710664919642</b> through the company’s cash register.</p><p>Company’s cash register: <b>{3}</b></p><p>Code of your request: <b>{4}</b></p><p>After considering the response to the application will be sent to your e-mail.If the answer does not come within 24 hours, contact to support.</p><p>You can also go to the cashier and make a request in person.</p>
message: |
Top up via provider | Dear user! Your wallet 710664919642 was charged in the amount of 13.00 USD .Balans your wallet is 23 655.30 USD. Date and time of the operation 15:21 08.11.2023 |
Withdrawal via provider | Dear user! With your wallet 112270912516 redeem 7.00 TST .Balans your wallet is 665.55 TST. Date and time of the operation 15:24 08.11.2023 |
Invoice | Paid invoice 420265976562 of 2.00 EUR. |
Transfer | Dear user! On your wallet 757856420586 was executed transfer witn the wallet 321535295751. The amount transfer 10.00 EUR.Date operations 15:32 08.11.2023. |
NOTIFICATIONS IS OFF
User receives a notification about transactions:
Operation | Message |
Top up via cash desk | TOPUP 1.00 EUR 757856420586 BALANCE 999 999 996 220.15 EUR 08:03 09.11.2023 |
Transfer | RECEIVED TRANSFER 10.00 EUR TO 757856420586 FROM 321535295751 08:13 09.11.2023 |
Support email is configured here:
notifications:
email:
support:
from: '24na7_support@mailinator.com'
template-html: |
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
</head>
<body>
<table style="font-family:'Tahoma';color:#878787;font-size:16px;padding:45px 35px 30px">
<tr>
<td colspan="2">
<img src="${applicationLogo}" style="height:25px;">
</td>
</tr>
<tr>
<td colspan="2" style="padding:20px 0 10px 0">${dto.greeting}</td>
</tr>
<tr>
<td>${dto.message}</td>
</tr>
<tr>
<td colspan="2" style="padding:20px 0 0 0">${dto.ignoreMessage}</td>
</tr>
<tr>
<td colspan="2" style="padding:20px 0">${dto.sign} - <a
href="mailto:${dto.support}" style="color:#3ab549;">${dto.support}</a>.
</td>
</tr>
<tr>
<td colspan="2" style="border-top:1px solid;padding:4px 0 10px;color:#c6c6c6"></td>
</tr>
<tr>
<td style="font-size:12px;color:#c6c6c6;padding-right:30px">${dto.year} © ${dto.companyName}.</td>
<td style="text-align:right"></td>
</tr>
</table>
</body>
</html>
link-settings:
- notification-type: CREATE_REGISTRATION_REQUEST
link: '' # add suffix '/confirm-by-otp'
link-message-text: ''
- notification-type: REGISTRATION_RESEND_OTP_CODE
link: '' # add suffix '/confirm-by-otp'
link-message-text: ''
- notification-type: SIGN_UP_SUCCESSFUL
link: ''
link-message-text: ''
- notification-type: PASSWORD_CONFIRMATION
link: '' # add suffix '/recover-password'
link-message-text: ''
- notification-type: PASSWORD_RECOVERY_RESEND_OTP_CODE
link: '' # add suffix '/recover-password'
link-message-text: ''
- notification-type: LOGIN_CONFIRMATION
link: '' # add suffix '/confirm-by-otp'
link-message-text: ''
- notification-type: LOGIN_RESEND_OTP_CODE
link: '' # add suffix '/confirm-by-otp'
link-message-text: ''
- notification-type: TRANSACTION_CONFIRMATION
link: ''
link-message-text: ''
- notification-type: PIN_BAN_REMOVAL_CONFIRMATION
link: '' # add suffix '/confirm-by-otp'
link-message-text: ''
- notification-type: PROFILE_VALIDATE_CONTACT_CONFIRMATION
link: '' # add suffix '/confirm-by-otp'
link-message-text: ''
- notification-type: PROFILE_VALIDATE_CONTACT_RESEND_OTP_CODE
link: '' # add suffix '/confirm-by-otp'
link-message-text: ''
- notification-type: PROCESS_CONFIRMATION_SETTINGS_CREATE_REQUEST_TO_UPDATE
link: ''
link-message-text: ''
- notification-type: MERCHANT_PAYMENT_RESEND_OTP
link: ''
link-message-text: ''
- notification-type: MERCHANT_INVOICE_CREATE_REGISTRATION_INVITATION_REQUEST
link: ''
link-message-text: ''
The message body for emails represents in variable ${dto.message} and the values of different variables can be overridden via i18n API for bundles with key`s prefix: notification..
New email template file
The email templates were extracted in a new separate file application-notification-email-template.yaml
notifications:
email:
html-templates:
- name: 'default-template'
value: >-
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
</head>
<body>
<table style="font-family:'Tahoma';color:#878787;font-size:16px;padding:45px 35px 30px">
<tr>
<td colspan="2">
<img src="${applicationLogo}" style="height:25px;">
</td>
</tr>
<tr>
<td colspan="2" style="padding:20px 0 10px 0">${dto.greeting}</td>
</tr>
<tr>
<td>${dto.message}</td>
</tr>
<tr>
<td colspan="2" style="padding:20px 0 0 0">${dto.ignoreMessage}</td>
</tr>
<tr>
<td colspan="2" style="padding:20px 0">${dto.sign} - <a
href="mailto:${dto.support}" style="color:#3ab549;">${dto.support}</a>.
</td>
</tr>
<tr>
<td colspan="2" style="border-top:1px solid;padding:4px 0 10px;color:#c6c6c6"></td>
</tr>
<tr>
<td style="font-size:12px;color:#c6c6c6;padding-right:30px">${dto.year} © ${dto.companyName}.</td>
<td style="text-align:right"></td>
</tr>
</table>
</body>
</html>
- name: 'all-in-one-template'
value: >-
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
</head>
<body>
<table style="font-family:'Tahoma';color:#878787;font-size:16px;padding:45px 35px 30px">
<tr>
<td colspan="2">
<img src="${applicationLogo}" style="height:25px;">
</td>
</tr>
<tr>
<td>${dto.message}</td>
</tr>
<tr>
<td colspan="2" style="border-top:1px solid;padding:4px 0 10px;color:#c6c6c6"></td>
</tr>
<tr>
<td style="font-size:12px;color:#c6c6c6;padding-right:30px">${dto.year} © ${dto.companyName}.</td>
<td style="text-align:right"></td>
</tr>
</table>
</body>
</html>