Explore Knowledge Base

System Notifications

03. 01. 2025

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
Sincerely, SDK.Finance customer support – sdkfinance@support.tech.

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:

  1. KYC_IDENTIFICATION_STATUS_CHANGE – Notification after update organization status to review required
    for example in some cases by calling:
  2. patch: ${api.stableVersion}/profiles/{userId}
  3. PROFILE_UPDATE_REQUIRED – Notification after event received for Reset identification of profile for example in some cases by calling:
  4. post: ${api.stableVersion}/profile-documents/identifier
  5. 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

  1. ACCOUNT_BLOCKED – Notification after user was locked or blocked by aml

API

patch: /v1/users/{userId}

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


In the case of an erroneous request, please ignore this email.
Sincerely, SDK.Finance support –  support@sdkfinance.tech.

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:
Dear user! With your wallet 710664919642 redeem 10.00 USD .Balans your wallet is 23 645.30 USD. Date and time of the operation 15:17 08.11.2023

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} - &nbsp;<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} &copy; ${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} - &nbsp;<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} &copy; ${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} &copy; ${dto.companyName}.</td>

             <td style="text-align:right"></td>
           </tr>
         </table>
         </body>
         </html>