Generate Notification Request
π₯ Generate Notification Request API β Request Parameters
The generateRVN
API expects a JSON request body with the following structure and attributes.
Refer to this section while forming your API call.
π Endpoint
POST https://REL-ID-VERIFY-SERVER:VERIFY-PORT/generateRVN.htm
π Authentication
Use one of the following in the request headers:
- Basic Auth:
Authorization: Basic <base64-encoded-credentials>
- OAuth2 Token:
Authorization: Bearer <access_token>
π Mandatory Parameters
Parameter | Type | Description |
---|---|---|
msg_id | string | Unique message ID for this notification, typically the transaction ID. |
enterprise_id | string | Enterprise ID assigned by REL-ID admin (from Gateway Manager). |
user_id | string | REL-ID user ID to whom the notification should be sent. |
expires_in | int | Validity period (in seconds) for this notification. Must be β₯ 15. |
msg | array of objects | Transactional messages in various languages, each with: lng , subject , message , and label . |
notification_msg | object | Message shown in device tray via FCM/APNS. Avoid sensitive content. |
actions | array of objects | List of action buttons with their label, action text, and authlevel . |
π§© Optional Parameters
Parameter | Type | Description |
---|---|---|
| string | Type of user identifier. Options: |
| string | Webhook URL to receive async status update from REL-ID. |
| boolean | Enable/disable digital signing of user response (default: true). |
object | Define OTP and workflow behavior (e.g. JWT generation). | |
| string | Message mode. Values: In case of OTP, REL-ID server generates the OTP, replaces the OTP value in the$$OTP$$ placeholder in the msg.message and sends the REL-ID notification toUser.In case of TWO-WAY, the provided content is sent in the notification as is to user. |
π§ Structure: msg
(Multilingual Content)
msg
(Multilingual Content)"msg": [
{
"lng": "English",
"subject": "Login Attempt",
"message": "You are attempting to login to Netbanking Retail",
"label": {
"Accept": "Approve",
"Reject": "Disapprove"
}
}
]
π label
in msg
label
in msg
The label
object inside msg
defines the localized button labels that the user sees for each action in that language.
- It must have a one-to-one mapping with the
label
values defined in theactions
array. - The keys in
msg.label
must exactly match thelabel
fields in theactions
array. - The values are the display names for each action in the selected language.
The number oflabel
entries in each language must match the number of definedactions
.
π Structure: actions
actions
"actions": [
{
"label": "Accept",
"action": "Approved",
"authlevel": "1"
},
{
"label": "Reject",
"action": "Disapproved",
"authlevel": "0"
}
]
label
: Internal identifier used for mapping withmsg.label
action
: Response text sent back inaction_response
authlevel
: Level of authentication required (0β4)--0
: No auth--1
: Password--3
: Device LDA--4
: Server Biometric- Stepup Authentication for Actions
π¬ Structure: notification_msg
notification_msg
"notification_msg": {
"message": "You have a login attempt to review",
"subject": "Login Notification"
}
Field | Type | Description |
---|---|---|
message | string | The main text to be shown in the push notification tray (e.g., "You have a login notification" ). |
subject | string | The title or header of the notification shown above the message. Also appears in the tray (e.g., "Login Notification" ). |
π‘ Best Practices
- Keep both
message
andsubject
short and meaningful. - Do not include user identifiers, transaction amounts, or account numbers.
- Think of this as a "doorbell" to get the user's attention, not the full message.
The actual transaction details will be securely fetched and shown inside the REL-ID app, not in thisnotification_msg
.
βοΈ controls
(OTP & Workflow Config)
controls
(OTP & Workflow Config)
These parameters define exactly how your notification behaves, looks, and how the user interacts with it.
π Generate Notification Request Samples
This guide provides sample request bodies for generating two types of REL-IDverify push notifications:
- β Approve/Reject Login Request
- π’ OTP-based Transaction Approval
π Endpoint
POST https://REL-ID-VERIFY-SERVER:VERIFY-PORT/generateRVN.htm
π€ Request Headers
Header | Value | Required |
---|---|---|
Authorization | Basic / Bearer Token | β |
Content-Type | application/json | β |
π½ Approve/Reject Login Request
Click to expand sample JSON
{
"msg_id": "txn-login-20250515",
"enterprise_id": "YOUR_ENTERPRISE_ID",
"user_id": "testuser",
"expires_in": 180,
"notification_msg": {
"message": "Login attempt detected",
"subject": "Login Verification"
},
"msg": [
{
"lng": "English",
"subject": "Login Attempt",
"message": "You are attempting to login to your account. Do you approve?",
"label": {
"Approve": "Approve",
"Reject": "Reject"
}
}
],
"actions": [
{
"label": "Approve",
"action": "Approved",
"authlevel": "1"
},
{
"label": "Reject",
"action": "Rejected",
"authlevel": "0"
}
]
}
π½ OTP-based Transaction Approval Request
Click to expand sample JSON
{
"msg_id": "txn-otp-20250515",
"enterprise_id": "YOUR_ENTERPRISE_ID",
"user_id": "testuser",
"msg_type": "OTP",
"expires_in": 180,
"notification_msg": {
"message": "Transaction requires your approval",
"subject": "Approve Transaction"
},
"msg": [
{
"lng": "English",
"subject": "Approve Transaction",
"message": "Use OTP $$OTP$$ to approve your transaction of βΉ5,000",
"label": {
"Submit": "Submit"
}
}
],
"actions": [
{
"label": "Submit",
"action": "OTP_SUBMITTED",
"authlevel": "0"
}
],
"controls": {
"otp": {
"attempts": 3,
"hash_spec": "sha256",
"otp_spec": "N-6"
}
}
}
Updated 3 months ago