Unmarshal Smart Notifications
⚡️Get Notified. Instantly! 🔔Never Miss Critical Alerts
The Smart Notification service from Unmarshal is a multi-chain feature that can be integrated on Ethereum, Binance Smart Chain, Polygon, Ziliqa and XDC Network.
🔄 Revive User Engagement
Unmarshal Smart Notification will always allow dApp owners to keep in touch with their users discreetly, providing timely helpful updates and relevant information like wallet transaction updates and trending crypto pairs, wallet balances updates, price changes and so on. They also provide a great way of getting users to engage in new promotions or features.
💬 Unmarshal Smart Notification API
The Smart Notification features a lot of aspects that can help you with your user retention. dApps can connect to the API through the cloud-based platform Firebase to send messages and notifications to users across devices.
👉 Get Notifications for
Wallet Transactions
Protocol Positions
Trending Pairs
New Token Listings
🤖 Our Smart Notification service also helps you build bots on instant messaging applications on Telegram and Slack, allowing applications to seamlessly connect with users in more than one way.
👉To start using our Smart Notification Service, please get in touch with us at partnership@unmarshal.io along with your Firebase credentials.
API KEY❗️
To get API-key / Auth-token please visit console.unmarshal.io
Subscribe for webhook Notification
POST
https://notify.unmarshal.com/v1/webhook/subscribe
This endpoint allows subscription for webhook Notification.
Example: Subscribe for webhook Notification
https://notify.unmarshal.com/v1/webhook/subscribe
with all body parameters
or
curl --location --request POST 'https://notify.unmarshal.com/v1/webhook/subscribe' \
--header 'x-api-key: REPLACE_WITH_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"url": "https://webhook.site/2b3d7ad6-339d-4722-bec0-69b184f19a27",
"wallet_ids": ["0x47ef8edf-replace-with-address-cb5ff99b13"]
}'
Headers
Name | Type | Description |
---|---|---|
x-api-key | string | Valid api-key |
Request Body
Name | Type | Description |
---|---|---|
wallet_ids | array | list of wallet ids that needs to get notification |
url | string | Webhook URL which accepts post request with below payload |
Webhook call request payload
Subscribe for Firebase Notification
POST
https://notify.unmarshal.com/v1/firebase/subscribe
This endpoint allows subscription for Firebase Notification.
Example: Subscribe for Firebase Notification
http://notify.unmarshal.com/v1/firebase/subscribe
with all body parameters
or
curl --location --request POST 'https://notify.unmarshal.com/v1/firebase/subscribe' --header 'x-api-key: REPLACE_WITH_API_KEY' --header 'Content-Type: application/json' --data-raw '{"fcm_token": "FCM_TOKEN","device_id": "device_id","wallet_ids": ["0x47ef8edf-replace-with-address-cb5ff99b13"]}'
Headers
Name | Type | Description |
---|---|---|
x-api-key* | string | Valid api-key |
Request Body
Name | Type | Description |
---|---|---|
fcm_token* | string | Fcm Token |
wallet_ids* | array | list of valid wallet ids which needs to get notification |
device_id* | string | Device Id |
Unsubscribe
POST
https://notify.unmarshal.com/v1/:address/unsubscribe
This endpoint allows to unsubscribe all subscriptions for a given address
Path Parameters
Name | Type | Description |
---|---|---|
address | string | Address which needs to get unsubscribed |
Query Parameters
Name | Type | Description |
---|---|---|
webhookURL | string | If provided, we'll unsubscribe only for given address and web-hook URL. |
fcmToken | string | If provided, we'll unsubscribe only for given address and FCM token. |
Headers
Name | Type | Description |
---|---|---|
x-api-key | string | Valid api-key |
Bulk Unsubscribe Firebase Notification
POST
https://notify.unmarshal.com/v1/subscriptions/firebase/unsubscribe
This endpoint allows to unsubscribe Firebase Notification subscriptions for a given set of addresses
Headers
Name | Type | Description |
---|---|---|
x-api-key | String | Valid api-key |
Request Body
Name | Type | Description |
---|---|---|
device_id* | String | Device address requesting unsubscribe |
addresses* | Array[String] | Array of addresses to be unsubscribed |
Bulk Unsubscribe Webhook Notification
POST
https://notify.unmarshal.com/v1/subscriptions/webhook/unsubscribe
This endpoint allows to unsubscribe Webhook Notification subscriptions for a given set of addresses
Headers
Name | Type | Description |
---|---|---|
x-api-key | String | Valid api-key |
Request Body
Name | Type | Description |
---|---|---|
webhook_url* | String | Webhook url requesting unsubscribe |
addresses* | Array[String] | Array of addresses to be unsubscribed |
Unsubscribe Firebase Notifications based on device id
POST
https://notify.unmarshal.com/v1/subscriptions/firebase/devices/:deviceId/unsubscribe
This endpoint allows to unsubscribe firebase notifications for all addresses subscribed from a device
Path Parameters
Name | Type | Description |
---|---|---|
device_id* | String | Device for which firebase notifications are to be unsubscribed |
Headers
Name | Type | Description |
---|---|---|
x-api-key | String | Valid api-key |
List subscriptions
GET
https://notify.unmarshal.com/v1/subscriptions
This endpoint allows to list subscriptions
Query Parameters
Name | Type | Description |
---|---|---|
pageSize | string | |
page | string | |
address | string | Can be added to list subscriptions of a given address |
device_id | string | Can be added to list subscriptions of a given device id |
Headers
Name | Type | Description |
---|---|---|
x-api-key | string | Valid api-key |
List notification receipts
GET
https://notify.unmarshal.com/v1/receipts
This API allows to list notification receipts
Query Parameters
Name | Type | Description |
---|---|---|
device_id | String | Can be added to list notification receipts of a given device id |
transactionHash | String | Can be added to list notification receipts of a given transaction hash |
Headers
Name | Type | Description |
---|---|---|
x-api-key | String | Valid api-key |
Conditional notification
USDT value-based filter
POST
https://notify.unmarshal.com/v1/:notificationType/subscribe
This endpoint helps to apply a filter based on transaction value (in USDT)
Webhook subscription example request
curl --location --request POST 'https://notify.unmarshal.com/v1/webhook/subscribe'\
--header 'x-api-key: REPLACE_WITH_API_KEY'\
--header 'Content-Type: application/json'\
--data-raw '{
"url": "https://webhook.site/2b3d7ad6-339d-4722-bec0-69b184f19a27",
"filter_meta_data": { "value": "1", "operator": "GreaterThanOrEqualTo" },
"filter_type": "USDTValueBasedFilter",
"wallet_ids": [ "0x47ef8edf-replace-with-address-cb5ff99b13" ]
}'
Firebase subscription example request
curl --location --request POST 'https://notify.unmarshal.com/v1/firebase/subscribe' \
--header 'x-api-key: REPLACE_WITH_API_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
"fcm_token": "FCM_TOKEN","device_id": "DEVICE_ID",
"filter_meta_data": { "value": "1", "operator": "GreaterThanOrEqualTo" },
"filter_type": "USDTValueBasedFilter",
"wallet_ids": [ "0x47ef8edf-replace-with-address-cb5ff99b13" ]
}'
Path Parameters
Name | Type | Description |
---|---|---|
notificationType | string | Can be webhook or firebase |
Query Parameters
Name | Type | Description |
---|---|---|
x-api-key* | string | Valid API key |
Request Body
Name | Type | Description |
---|---|---|
operator* | string | Can be GreaterThanOrEqualTo / LessThanOrEqualTo / EqualTo |
filter_type* | string | USDTValueBasedFilter |
filter_meta_data* | string | Required to capture metadata related to filter |
wallet_ids* | string | List of wallet ids that needs to get notification |
url/(fcm_token and device_id)* | string | Webhook URL / FCM Token |
Firebase Server Configuration
Configure firebase server credentials
POST
https://notify.unmarshal.com/v1/firebase/credentials
Configure firebase server credentials example request
https://notify.unmarshal.com/v1/firebase/credentials
with credentials as body parameter
curl --location --request POST 'https://notify.unmarshal.com/v1/firebase/credentials'
--header 'x-api-key: REPLACE WITH API KEY'
--header 'Content-Type: application/json'
--data-raw ‘{
"type": REPLACE WITH TYPE,
"project_id": REPLACE WITH PROJECT ID,
"private_key_id": REPLACE WITH PRIVATE KEY ID,
"private_key": REPLACE WITH PRIVATE KEY,
"client_email": REPLACE WITH CLIENT EMAIL,
"client_id": REPLACE WITH CLIENT ID,
"auth_uri": REPLACE WITH AUTH URI,
"token_uri": REPLACE WITH TOKEN URI,
"auth_provider_x509_cert_url": REPLACE WITH AUTH PROVIDER CERTIFICATE URL,
"client_x509_cert_url": REPLACE WITH CLIENT CERTIFICATE URL
}'
Headers
Name | Type | Description |
---|---|---|
x-api-key | String | Valid api key |
Request Body
Name | Type | Description |
---|---|---|
type | String | Account type |
project_id | String | Project ID |
private_key_id | String | Private key ID |
private_key | String | Private key |
client_email | String | Client mail ID |
client_id | String | Client ID |
auth_uri | String | Authentication URI |
token_uri | String | Token URI |
auth_provider_x509_cert_url | String | Authentication provider certificate URL |
client_x509_cert_url | String | Client certificate URL |
Steps to get firebase server credentials
For users with firebase credentials: Navigate to https://console.firebase.google.com/project/{replace with project-id}/settings/serviceaccounts/adminsdk
For users without firebase credentials:
Navigate to https://console.firebase.google.com/
Choose project
Go to project settings
Choose Service Account
Click on Generate new private key
Copy contents on downloaded json file
Last updated