PNotify

Notification gateway · Go + PostgreSQL

One request, every channel

Send once, reach people where they are: email, Telegram, a CalixOne chat message — or a PCall voice call that reads the message aloud. PNotify queues every delivery, retries what fails and tells you what arrived.

  • Email
  • Telegram
  • PCall message
  • PCall voice call
  • Idempotency-Key
4delivery routes from one request
6delivery states, from pending to delivered or dead
1Go binary and PostgreSQL — no extra queue
0half-rendered messages: a missing key is an error

What it does

Notifications you can trust to arrive

A queue, retries and status per recipient — instead of a script that fires and forgets.

Fan-out

One request, many recipients and channels; each recipient gets its own delivery to track.

Durable queue

Every delivery is stored in PostgreSQL before it is sent, so a crash or restart never loses a notification.

Smart retries

Temporary errors are retried with growing delays; permanent ones stop at once instead of hammering a provider.

Templates

Templates ship inside the binary. Missing data keys are an error, so nothing half-filled is ever sent.

PCall voice and chat

Reach people inside CalixOne: a chat message, or a call that rings the app and reads the message in a natural Vietnamese voice.

Idempotent

Send an Idempotency-Key and a retried request returns the original result instead of notifying twice.

All features

How it works

From API call to delivered

Every recipient moves through the same visible states.

  1. 1

    Send

    Your system calls POST /v1/notifications with a template, data and recipients. You get 202 back.

  2. 2

    Queue

    One delivery per recipient is stored as pending.

  3. 3

    Deliver

    A worker claims the delivery and hands it to the channel: sending, then sent.

  4. 4

    Confirm

    Channels that can confirm — PCall — report back by webhook: delivered or failed.

  5. 5

    Track

    GET /v1/notifications/{id} lists every delivery with its status; dead means PNotify gave up.

FAQ

Common questions

Will a notification ever be sent twice?

Delivery is at-least-once, so rarely yes. Use an Idempotency-Key to protect against your own retries; providers also get the delivery id.

What is PCall?

The voice and chat layer of CalixOne. PNotify appears there as a bot account that messages people and can ring them and read the notification aloud.

What if a channel is not configured?

It is not registered; deliveries for it end as dead with the reason “channel not configured”.

Can I try it?

PNotify is deployed per customer. Get in touch and we will set up a sandbox with you.

Make every alert reach someone

Tell us who needs to be notified, about what, and how quickly.

Get in touch