Rewards Module
Run a B2B dealer incentive program with points accumulation, counter sales tracking, and product redemption.
Base URL: https://app.proign.com/[tenant]/rewards/api
Overview
The Rewards module helps you incentivize dealers and retailers:
- Dealers earn points for selling your products
- Counter sales are tracked via receipt submission
- Points can be redeemed for products via shopping cart
- W-9 tax compliance for US participants
Key Features
Counter Sales Tracking
Dealers submit proof of sales to earn points:
- Receipt Upload - Photo or PDF of sales receipts
- Product Matching - Automatic SKU recognition
- Point Calculation - Configurable rules per product
- Approval Workflow - Admin review and batch approval
Redemption
Dealers redeem accumulated points for products:
- Shopping Cart - Browse and select reward products
- Order Tracking - Track redemption shipments
- W-9 Compliance - Tax form collection for US participants
- Point History - Full transaction ledger per dealer
API Endpoints
Authentication
POST /api/[tenant]/auth/login # Dealer login
POST /api/[tenant]/auth/logout # Logout
Dealer Profile
GET /api/[tenant]/profile # Get dealer profile
PUT /api/[tenant]/profile # Update profile
GET /api/[tenant]/points # Get points balance
Receipts (Counter Sales)
GET /api/[tenant]/receipts # List submitted receipts
POST /api/[tenant]/receipts # Submit receipt for points
Products & Cart
GET /api/[tenant]/products # List redemption catalog
GET /api/[tenant]/products/[id] # Get product details
GET /api/[tenant]/cart # Get shopping cart
POST /api/[tenant]/cart # Add item to cart
PUT /api/[tenant]/cart # Update cart item
DELETE /api/[tenant]/cart # Remove from cart
POST /api/[tenant]/cart/checkout # Place redemption order
Orders
GET /api/[tenant]/orders # List redemption orders
POST /api/[tenant]/orders # Create order (internal)
Registration & Tax
GET /api/[tenant]/register-request # Check registration status
POST /api/[tenant]/register-request # Submit registration request
GET /api/[tenant]/tax/w9 # Get W-9 status
POST /api/[tenant]/tax/w9 # Submit W-9 form
Files
POST /api/[tenant]/files/upload # Upload receipt image
GET /api/[tenant]/files/[id] # Download file
Admin Endpoints
# Dealer Management (Admin only)
GET /api/[tenant]/admin/dealers # List all dealers
POST /api/[tenant]/admin/dealers # Create dealer
PUT /api/[tenant]/admin/dealers # Update dealer
DELETE /api/[tenant]/admin/dealers # Delete dealer
# Registration Review
GET /api/[tenant]/admin/registrations # List pending registrations
POST /api/[tenant]/admin/registrations # Approve/reject registration
# Settings
GET /api/[tenant]/admin/settings # Get settings
PUT /api/[tenant]/admin/settings # Update settings
Request Examples
Submit Receipt
POST /api/[tenant]/receipts
Content-Type: application/json
{
"file_id": "file_abc123",
"purchase_date": "2026-01-10",
"store_name": "Outdoor World",
"items": [
{ "product_sku": "GUN-001", "quantity": 1 }
],
"total_amount": 599.99
}Checkout Cart
POST /api/[tenant]/cart/checkout
Content-Type: application/json
{
"shipping_address": {
"name": "John Smith",
"street": "123 Main St",
"city": "Austin",
"state": "TX",
"zip": "78701"
}
}Points System
Configure points earned per product category:
| Product Tier | Points Earned |
|---|---|
| Premium | 100 points |
| Standard | 50 points |
| Accessory | 10 points |
Receipt Review Status
Each submitted receipt moves through these statuses:
| Status | Description | Actor |
|---|---|---|
pending | Receipt submitted, awaiting review | Dealer |
approved | Receipt verified, points awarded | Admin |
rejected | Receipt invalid or missing information | Admin |
flagged | Duplicate or suspicious submission under review | System |
Dealer Registration Flow
- Dealer submits registration request via
POST /register-request - Admin reviews in dashboard or via
GET /admin/registrations - Admin approves via
POST /admin/registrations - Dealer receives credentials and can start submitting receipts