Example

Rendering Notifications

On the client in the customer's dashboard.

import { NotificationMenu } from '@notifyr/sdk'; import { useEffect, useState } from 'react'; const Notifications = () => { const [clientSecret, setClientSecret] = useState(''); useEffect(() => { (async () => { const response = await fetch('https://my-app.com/get-client-secret'); const { clientSecret } = await resonse.json(); setClientSecret(clientSecret); })() }, []) return <NotificationMenu clientSecret={clientSecret} /> }

On the sever fetching the client secret.

export default async function handler(req, res) { // Add validation try { const response = await fetch(`https://notifyr.vercel.app/api/v1/generate-client-secret`, { method: 'POST', headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${process.env.NOTIFYR_API_KEY}`, }, body: JSON.stringify({ groupId: 'test_user@gmail.com', }), }); const result = await response.json(); res.status(200).json(result); } catch (e) { return res.status(500).json({ error: e }); } }

Sending Notifications

Send a notification on your sever when certain actions occur.

export default async function handler(req, res) { // Add validation try { const notifyr = new Notifyr(process.env.NOTIFYR_API_KEY); const response = await notifyr.sendNotification({ title, body, type, groupId, }); res.status(200).json(response); } catch (e) { return res.status(500).json({ error: e }); } }