Data Structures
Notify Subscription
{
"topic": string,
"account": string,
"relay": {
"protocol": string,
"data": string
},
"metadata": Metadata,
"scope": Record<string, NotifyNotificationType>,
"expiry": number,
"unreadNotificationCount": number,
}
Notify Notification
{
// ID of the notification
id: string,
// Unix ms timestamp when the notification was sent
sent_at: number,
// Notification type which matches the scope of notify subscription
type: string,
// Short message used in the title of the notification
title: string,
// Long messages used in the body of the notification
body: string,
// Image URL used to display with the notification. If null, the app's icon from Notify Config is used instead
icon: string | null,
// Redirect URL for call-to-action related to notification. If null, there is no link
url: string | null,
// If the notification was read or not
is_read: boolean,
}
Notify Message
{
// ID of the notification
id: string,
// Unix ms timestamp when the notification was sent
sent_at: number,
// Notification type which matches the scope of notify subscription
type: string,
// Short message used in the title of the notification
title: string,
// Long messages used in the body of the notification
body: string,
// Image URL used to display with the notification. If empty, the app's icon from Notify Config is used instead
icon: string,
// Redirect URL for call-to-action related to notification. If empty, there is no link
url: string,
// If the notification was read or not
is_read: boolean,
}
Notify Notification Record
{
"id": string,
"topic": string,
"publishedAt": Int64,
"message": NotifyNotification
}
Notify Server Subscriptions
NotifyServerSubscription[]
NotifyServerSubscription
:
{
appDomain: string, // App domain that the subscription refers to
appAuthenticationKey: string, // did:key encoded ed25519 app authentication key
symKey: string, // Symetric key used for notify topic. sha256 to get notify topic to manage the subscription and call wc_notifySubscriptionUpdate and wc_notifySubscriptionDelete
account: Account, // CAIP-10 account
scope: string[], // Array of notification types enabled for this subscription
expiry: number, // Unix timestamp of expiration
unreadNotificationCount: number, // Number of unread notifications
}
Notify Registration Params
NotifyRegistrationParams
{
payload: Cacao.Payload,
privateIdentityKey: string,
}
Notify Notification Type
NotifyNotificationType
{
"description": string,
"id": string,
"enabled": boolean,
"name": string,
"imageUrls": {
"sm": string,
"md": string,
"lg": string,
}
}