The notification system ensures users and integrators are promptly informed about important events, such as invoice status changes, approvals, payments, and governance actions. This reduces manual checking, improves workflow efficiency, and enables automated responses via webhooks.
To receive email alerts:
- Navigate to your account settings in the Invoice Liquidity Network frontend.
- Locate the "Notifications" section.
- Enter your email address and select the events you wish to be notified about (e.g., invoice approved, payment received).
- Save your preferences.
Screenshot: [Add screenshot from Issue #71 here]
To receive webhook notifications:
- Go to your account settings and open the "Notifications" section.
- Enter your webhook URL and select the events to subscribe to.
- Save your preferences.
Webhook notifications will POST a JSON payload to your URL for each event.
Each event type has a specific JSON schema. Example payloads:
{
"event": "invoice.approved",
"invoiceId": "inv_12345",
"amount": "1000.00",
"currency": "USD",
"approvedBy": "user_abc",
"timestamp": "2026-04-29T12:34:56Z"
}{
"event": "payment.received",
"invoiceId": "inv_12345",
"amount": "1000.00",
"currency": "USD",
"payer": "user_xyz",
"timestamp": "2026-04-29T13:00:00Z"
}Add additional event types as needed.
To self-host:
- Clone the repository and navigate to the notifications service directory.
- Set the required environment variables (see below).
- Run with Docker:
docker run -d \
-e RESEND_API_KEY=your_resend_key \
-e DATABASE_URL=your_db_url \
-p 3000:3000 \
nursca/invoice-liquidity-notifications:latest- The service will be available on port 3000.
Reference the actual method signatures from the SDK. Update this section after reviewing the SDK code.
RESEND_API_KEY: API key for sending emailsDATABASE_URL: Database connection stringWEBHOOK_SECRET: (optional) Secret for signing webhook payloads
- Email and webhook notifications are rate-limited to 10/minute per user.
- Delivery is retried up to 3 times on failure.
- Webhook payloads are signed if
WEBHOOK_SECRETis set.
For more details, see the SDK and service source code.