Skip to main content
Pulses are webhook notifications that allow you to receive real-time HTTP POST requests when specific events occur in your Chariow store. Instead of constantly polling the API, Pulses push event data to your configured endpoint URL as soon as something happens, enabling you to build responsive integrations and automations.

How Pulses Work

1

Event Occurs

An event happens in your store (e.g., a sale is completed).
2

Pulse Triggered

Chariow sends an HTTP POST request to your configured endpoint.
3

Process the Event

Your server receives the payload and processes it.
4

Acknowledge Receipt

Your server returns a 2xx status code to confirm receipt.

Setting Up Pulses

You can configure Pulses in several ways:

Via Store Dashboard

  1. Go to AutomationPulses
  2. Click Add Pulse
  3. Enter your webhook endpoint URL (must be HTTPS)
  4. Select the events you want to receive
  5. Optionally select specific products (leave empty for all products)
  6. Save your Pulse
Your Pulse endpoint must be accessible via HTTPS. HTTP endpoints are not supported for security reasons.

Pulse Events

Pulses support the following events. When an event fires, the webhook payload contains an event field with the event value.

Sale Events

License Events

Affiliate Events

You can configure multiple events for a single Pulse URL. When any of the selected events occur, Chariow will send a webhook notification to your endpoint with the corresponding event value.

Pulse Payload

When a configured event occurs, Chariow sends an HTTP POST request to your webhook URL with event data in the request body. The exact payload structure depends on the event type.
Pulse payloads contain comprehensive event data, including details about the entity (sale, license, etc.), customer information, product details, and store context. The payload structure varies by event type to provide relevant information for each event.

Successful Sale Example

When a successful sale occurs, Chariow sends a webhook with the successful.sale event:

License Activated Example

When a license is activated, Chariow sends a webhook with the license.activated event:

Affiliate Joined Example

When a new affiliate joins your store, Chariow sends a webhook with the affiliate.joined event:
The exact payload structure may include additional fields depending on the event type and context. Always check the actual payload received at your endpoint for the complete data structure.

Handling Pulses

Basic Example (Node.js/Express)

PHP Example

Retry Policy

If your endpoint doesn’t respond with a 2xx status code, Chariow will retry the Pulse: After 5 failed attempts, the Pulse is marked as failed.
Ensure your Pulse endpoint responds quickly (within 30 seconds). Long-running processes should be handled asynchronously.

Best Practices

Return a 200 response immediately, then process the Pulse asynchronously to avoid timeouts:
Due to retry logic, Pulses may be sent multiple times. Implement idempotency by tracking processed events:
Always use HTTPS for your Pulse endpoint to ensure data is encrypted in transit. Chariow will reject HTTP endpoints for security reasons.
Monitor your Pulse endpoint for failures and errors. Check your store dashboard regularly for failed Pulse deliveries and investigate the root cause.
For high-volume stores, consider creating separate Pulses for different products to make processing more efficient and organised.

Testing Pulses

Use the Pulse testing feature in your dashboard:
  1. Go to AutomationPulses
  2. Click on your Pulse
  3. Click Send Test Event
  4. Select an event type
  5. Check your endpoint received the test payload
For local development, use a service like ngrok to expose your local server to the internet.

Managing Pulses via API

You can programmatically manage your Pulses using the Chariow Public API:

List All Pulses

Example List Response

Get a Specific Pulse

The response for a single pulse uses the same structure as each item in the list response.

Filter Pulses

You can filter pulses by URL or event type using the search parameter:
For complete API documentation, see the List Pulses and Get Pulse endpoints.

API Reference - List Pulses

View detailed API documentation

API Reference - Get Pulse

Get a specific pulse via API

Sales Guide

Learn about sale events

Licenses Guide

Learn about license events

Affiliates Guide

Learn about affiliate events