Skip to main content

Aftersale Module

Manage warranty registrations, claims, and post-purchase customer care with a branded self-service portal.

Base URL: https://app.proign.com/[tenant]/aftersale/api

Overview

The Aftersale module handles the complete post-purchase lifecycle:

  • Product warranty registration with serial number validation
  • Customer self-service portal for claims and status tracking
  • Warranty period management per product category
  • Claims processing with admin review workflow
  • Integration with Shopify for purchase verification
  • Integration with Inventory for returns processing

Key Features

Warranty Registration

Customers register their products for warranty coverage through a public-facing portal or QR code scan:

  1. Customer scans product QR code or visits the registration page
  2. Enters product serial number and purchase details
  3. System validates the serial number against known product database
  4. Optionally uploads proof of purchase (receipt photo)
  5. Receives warranty confirmation with coverage details and expiry

Warranty Periods

Configure warranty coverage per product category:

SettingDescription
Standard PeriodDefault warranty duration (e.g., 12 months from purchase)
Extended PeriodOptional extended coverage (e.g., 24 months with registration)
Coverage TypeFull replacement, repair, or limited coverage
TransferableWhether warranty transfers with product ownership

Claims Workflow

When a customer experiences an issue with a warranted product:

submitted → under_review → approved / denied → resolved
  1. Submit Claim — Customer describes the issue, uploads photos, and selects the warranted product
  2. Admin Review — Support team reviews the claim, verifies warranty status, and may request additional information
  3. Resolution — Claim is approved (replacement, repair, or refund) or denied with explanation
  4. Fulfillment — If approved, a replacement order or repair ticket is created in the appropriate module

Customer Portal

A branded self-service portal where customers can:

  • Register new products for warranty
  • View all registered products and warranty status
  • Submit warranty claims with photo evidence
  • Track claim status in real-time
  • Access product documentation and support resources
  • Update their contact information

Serial Number Validation

Configurable validation rules to ensure only legitimate products are registered:

  • Format Rules — Regex patterns for valid serial number formats (e.g., SN-[A-Z]{2}-[0-9]{6})
  • Uniqueness Check — Prevent duplicate registrations for the same serial
  • Product Lookup — Match serial to product SKU and category for automatic warranty period assignment
  • Shopify Verification — Cross-reference with Shopify order data to verify legitimate purchases

API Endpoints

Authentication

POST   /api/[tenant]/auth/login             # Customer login
POST   /api/[tenant]/auth/register          # Customer registration
GET    /api/[tenant]/auth/me                # Get current user
POST   /api/[tenant]/auth/logout            # Customer logout
POST   /api/[tenant]/auth/forgot-password   # Request password reset
POST   /api/[tenant]/auth/reset-password    # Reset with token

Warranties

POST   /api/p/[tenant]/warranties           # Register warranty (public)
GET    /api/[tenant]/warranties             # List customer warranties
GET    /api/[tenant]/warranties/[id]        # Get warranty details
GET    /api/[tenant]/admin/warranties       # List all warranties (admin)
PATCH  /api/[tenant]/admin/warranties/[id]  # Update warranty (admin)

Claims

POST   /api/[tenant]/claims                 # Submit claim
GET    /api/[tenant]/claims                 # List customer claims
GET    /api/[tenant]/claims/[id]            # Get claim details
GET    /api/[tenant]/admin/claims           # List all claims (admin)
PATCH  /api/[tenant]/admin/claims/[id]      # Review/resolve claim (admin)

Products & Configuration

GET    /api/[tenant]/products               # List products
GET    /api/config                          # Public configuration
GET    /api/health                          # Health check

Media

POST   /api/[tenant]/upload                 # Upload claim photos
GET    /api/[tenant]/media/[id]             # Get uploaded media

Request Examples

Register Warranty

POST /api/p/[tenant]/warranties
Content-Type: application/json

{
  "serial_number": "SN-CA-20250115",
  "purchase_date": "2026-01-15",
  "retailer": "Outdoor Pro Shop",
  "customer": {
    "email": "customer@example.com",
    "name": "John Smith",
    "phone": "+1-555-0123",
    "address": {
      "street": "123 Main St",
      "city": "Miami",
      "state": "FL",
      "zip": "33101"
    }
  }
}

// Response (201 Created)
{
  "data": {
    "id": "wty_abc123",
    "serial_number": "SN-CA-20250115",
    "product": {
      "name": "TP9 Elite SC",
      "category": "Handguns"
    },
    "warranty_start": "2026-01-15",
    "warranty_end": "2028-01-15",
    "coverage": "full_replacement",
    "status": "active"
  }
}

Submit Claim

POST /api/[tenant]/claims
Content-Type: application/json
Authorization: Bearer <customer-jwt>

{
  "warranty_id": "wty_abc123",
  "issue_type": "malfunction",
  "description": "Slide release is stiff and does not engage properly",
  "photos": ["media_xyz789"],
  "preferred_resolution": "repair"
}

// Response (201 Created)
{
  "data": {
    "id": "clm_def456",
    "warranty_id": "wty_abc123",
    "status": "submitted",
    "created_at": "2026-02-21T10:00:00Z"
  }
}

Resolve Claim (Admin)

PATCH /api/[tenant]/admin/claims/clm_def456
Content-Type: application/json
Authorization: Bearer <admin-jwt>

{
  "status": "approved",
  "resolution": "repair",
  "admin_notes": "Issue confirmed — forwarding to service center",
  "notify_customer": true
}

Configuration

  • Warranty Periods — Define default and extended periods per product category
  • Required Fields — Configure which fields are required during registration (phone, address, proof of purchase)
  • Serial Validation — Set regex patterns and product lookup rules
  • Claim Types — Define available issue types and resolution options
  • Notifications — Email templates for registration confirmation, claim updates, and resolution
  • Shopify Connection — Link Shopify store for purchase verification

Related