Webhooks and Events

Real time visibility for everything happening across your integration.

Keep your systems in sync without polling or custom infrastructure.

{ }
ruc.purchase.completed
vehicle.data.refreshed
billing.month.closed

Stay updated as events occur

RUC on Rails provides a structured set of webhook events so your platform can react instantly to changes in RUC transactions, vehicle data, billing cycles, and operational states. Instead of building your own schedulers or polling loops, you subscribe to the events you need and let your system respond automatically.

Instant updates

React to changes the moment they happen. No delays, no stale data.

Reliable delivery

Automatic retries with exponential backoff. Events are never lost.

Clean payloads

Consistent schema across all events. Parse once, handle everywhere.

What you can subscribe to

Each event is delivered with a consistent schema and timestamped metadata. Your platform can listen to any combination of these.

RUC transaction events

ruc.purchase.completed

Sent when NZTA issues or updates an official RUC licence.

ruc.purchase.failed

Sent when a RUC purchase cannot be completed.

ruc.purchase.pending

Used for long running or multi step transactions.

Vehicle data events

vehicle.data.refreshed

Triggered when new information becomes available from NZTA or partner data sources.

vehicle.status.updated

WOF, COF, rego, or finance data has changed.

Platform activity events

api.key.rotated

Key updated or revoked.

user.action.logged

Administrative changes inside the Partner Portal.

Billing events

billing.month.closed

Billing period finalised and invoice generated.

billing.usage.updated

Usage totals updated during the month.

Clean, predictable payloads

Each event is designed to be easy to parse and consistent across versions.

{
"id": "evt_12345",
"type": "ruc.purchase.completed",
"created_at": "2025-02-12T03:41:22Z",
"data": {
"transaction_id": "txn_93402",
"plate": "ABC123",
"distance": 1000,
"licence_id": "lic_90322",
"metadata": { ... }
}
}

Every field is intentional. No noise. No guesswork.

Why webhooks matter

Polling creates unnecessary load, stale data, and extra engineering work. Webhooks give you a real time, event driven integration that scales cleanly.

Update UI elements instantly
Trigger downstream workflows
Maintain accurate transaction records
Keep vehicle data fresh
Improve internal automation
Reduce round trips to your own backend

Setup in minutes

Configuring webhooks takes only a few steps. No custom infrastructure required.

Quick setup

1
Add a webhook endpoint in the Partner Portal
2
Select the events you want to receive
3
Verify the signing secret
4
Start receiving live updates

Built-in reliability

Automatic retries with exponential backoff
Signed payloads for verification
Event logs in the Partner Portal
Replay failed events on demand

If you have used Stripe webhooks, the experience will feel familiar.

Pricing

Webhook delivery is included as part of the core platform. There is no additional fee for events, retries, or delivery volume.

Start integrating with Webhooks and Events

Build a responsive, event driven workflow with minimal engineering effort.