Skip to main content

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 TierPoints Earned
Premium100 points
Standard50 points
Accessory10 points

Receipt Review Status

Each submitted receipt moves through these statuses:

StatusDescriptionActor
pendingReceipt submitted, awaiting reviewDealer
approvedReceipt verified, points awardedAdmin
rejectedReceipt invalid or missing informationAdmin
flaggedDuplicate or suspicious submission under reviewSystem

Dealer Registration Flow

  1. Dealer submits registration request via POST /register-request
  2. Admin reviews in dashboard or via GET /admin/registrations
  3. Admin approves via POST /admin/registrations
  4. Dealer receives credentials and can start submitting receipts

Related