Skip to Content
FeaturesAffiliate Program

Affiliate Program

Overview

The Affiliate Program lets Siyahfy vendors grow their customer base through referral-based marketing. Affiliates (partners, influencers, bloggers) sign up with OTP verification, receive a unique referral code, and earn commission on every sale they refer. The program has three portals: the Affiliate Portal for affiliates to track their earnings, the Vendor Panel for store owners to manage their affiliate settings, and the Admin Panel for Siyahfy platform administrators to oversee the entire program.

How It Works

Commission Structure

Vendors configure commission rules that determine how much affiliates earn:

SettingDescription
Commission RatePercentage or fixed amount per sale
Cookie DurationHow long the referral attribution lasts (e.g., 30 days)
Minimum PayoutMinimum balance before an affiliate can request a payout
Auto-approveWhether referrals are automatically approved or require manual review

Three-Portal Architecture

  1. Affiliate Portal — Public-facing portal where affiliates register, view their dashboard, track referrals, see earnings, and request payouts.
  2. Vendor Panel — Store owners configure commission rates, view affiliate performance, and manage their affiliate program settings.
  3. Admin Panel — Platform administrators oversee all affiliates, manage payouts, set vendor-specific commission overrides, and handle suspensions.

Key API Endpoints

Affiliate Portal

POST/api/affiliate/send-otp

Send OTP to affiliate's email for registration

POST/api/affiliate/verify-otp

Verify OTP during affiliate registration

POST/api/affiliate/register

Complete affiliate registration with profile details

GET/api/affiliate/meAuth Required

Get current affiliate's profile

GET/api/affiliate/dashboardAuth Required

Get affiliate dashboard stats (clicks, conversions, earnings, payout history)

GET/api/affiliate/referralsAuth Required

Get list of all referrals with status and commission details

GET/api/affiliate/payoutsAuth Required

Get affiliate's payout history

PUT/api/affiliate/update-referral-codeAuth Required

Update the affiliate's custom referral code

GET/api/affiliate/settings

Get public affiliate program settings (commission rate, terms)

Vendor Affiliate Management

GET/api/vendor/affiliate/checkAuth Required

Check if the vendor has enrolled in the affiliate program

POST/api/vendor/affiliate/enrollAuth Required

Enroll the vendor's store in the affiliate program

GET/api/vendor/affiliate/dashboardAuth Required

Get vendor's affiliate program dashboard (total referrals, revenue, commissions)

GET/api/vendor/affiliate/referralsAuth Required

Get all referrals for the vendor's store

GET/api/vendor/affiliate/payout-historyAuth Required

Get payout history for the vendor's affiliates

GET/api/vendor/affiliate/validate-code/:code

Validate a referral code at checkout

GET/api/vendor/affiliate/discount-eligibilityAuth Required

Check if a referral qualifies for a discount

GET/api/vendor/affiliate/referral-infoAuth Required

Get referral info for the current vendor (if they were referred)

Admin Affiliate Management

GET/api/admin/affiliate/settingsAuth Required

Get global affiliate program settings

POST/api/admin/affiliate/settingsAuth Required

Update global affiliate program settings (commission rate, cookie duration)

GET/api/admin/affiliate/listAuth Required

List all affiliates with search and filters

POST/api/admin/affiliate/suspend/:idAuth Required

Suspend an affiliate account

POST/api/admin/affiliate/activate/:idAuth Required

Reactivate a suspended affiliate account

GET/api/admin/affiliate/referralsAuth Required

Get all referrals across the platform

GET/api/admin/affiliate/pending-payoutsAuth Required

Get all pending payout requests

POST/api/admin/affiliate/mark-paid/:affiliate_idAuth Required

Mark a payout as completed for an affiliate

GET/api/admin/affiliate/payout-historyAuth Required

Get complete payout history

GET/api/admin/affiliate/statsAuth Required

Get overall affiliate program statistics

Vendor Commission Overrides

GET/api/admin/affiliate/vendor-commissionsAuth Required

Get vendor-specific commission override rules

POST/api/admin/affiliate/vendor-commissionAuth Required

Create a vendor-specific commission override

DELETE/api/admin/affiliate/vendor-commission/:idAuth Required

Delete a vendor commission override

GET/api/admin/affiliate/get-commission/:affiliate_idAuth Required

Get commission details for a specific affiliate

GET/api/admin/affiliate/affiliates-dropdownAuth Required

Get affiliates list for dropdown selection in admin forms

Database Tables

TablePurpose
affiliatesAffiliate accounts — name, email, referral code, status, bank details
affiliate_referralsReferral tracking — affiliate_id, order_id, commission amount, status
affiliate_payoutsPayout requests and history — amount, status, processed date
affiliate_settingsGlobal and per-vendor program settings (commission rate, cookie duration)
vendor_affiliate_commissionsVendor-specific commission overrides
  • Orders — Referral commissions are calculated from order data
  • Customers — Referred customers are tracked
  • Marketing — Affiliate links work alongside other marketing channels
  • Payments — Affiliate payouts processed through payment systems