Reseller Platform Integration Guide
This guide provides step-by-step instructions for building a reseller platform that integrates with our API. We'll cover the entire workflow from customer signup to proxy usage.
System Architecture
A typical reseller platform has these components:
Your Infrastructure:
- Customer Dashboard - Where your customers manage their proxies
- Admin Dashboard - Where you manage your reseller account
- Database - Stores customer information and usage data
- API Server - Your backend that communicates with our API
Evomi Infrastructure:
- Evomi Reseller API - Handles all account and balance operations
- Proxy Servers - Process the actual proxy connections
How They Connect:
- Customer Dashboard and Admin Dashboard connect to your API Server
- Your API Server stores/retrieves data from your Database
- Your API Server communicates with Evomi Reseller API
- Evomi Reseller API controls access to Proxy Servers
- Customers connect directly to Proxy Servers when using proxies
YOUR INFRASTRUCTURE EVOMI INFRASTRUCTURE
┌────────────────────┐ ┌─────────────────────┐
│ Customer Dashboard ├─┐ │ │
└────────────────────┘ │ │ │
│ │ │
┌────────────────────┐ │ ┌────────┐ │ ┌────────────────┐ │
│ Admin Dashboard ├─┼──►│ API ├───┼─►│ Evomi Reseller │ │
└────────────────────┘ │ │ Server │◄──┼──┤ API │ │
│ └───┬────┘ │ └────────┬───────┘ │
Customer connection │ │ │ │ │
to use proxies │ ┌───▼────┐ │ ┌────────▼───────┐ │
┌──────────────┼───┤Database│ │ │ Proxy Servers │ │
│ │ └────────┘ │ └────────┬───────┘ │
│ │ │ │ │
└──────────────┼────────────────┼───────────┘ │
│ │ │
└────────────────┘ │
│
│
│
└─────────────────────┘
Setting Up Your Reseller Platform
1. API Integration Points
You need to integrate these key API endpoints:
Initial Setup
- Get Reseller Info:
/v2/reseller/my_info
- Get Proxy Settings:
/v2/reseller/proxy_settings
Customer Management
- Create Subuser:
/v2/reseller/subusers
- List Subusers:
/v2/reseller/subusers
- Get Subuser Details:
/v2/reseller/subusers/{username}
Balance Management
- Add Balance:
/v2/reseller/subusers/{username}/balance
- Get Usage History:
/v2/reseller/subusers/{username}/usage
Implementation Workflow
Step 1: Customer Registration Flow
When a new customer signs up:
- Customer submits registration form on your platform
- You wait until the customer pays for any proxy product
- Your platform calls Evomi API to create a subuser 3.5 Make sure you store the subuser username, not the password
- Evomi API confirms the subuser is created
- Your platform displays the password to the subuser on demand
- Your platform confirms to the customer their account is ready
Step 2: Adding Balance to Customer Accounts
When a customer purchases proxy balance:
- Customer purchases 5GB of residential proxies on your platform
- Your platform processes the payment
- Your platform calls Evomi API to add 5GB to the customer's balance
- Evomi API confirms the balance has been added
- Your platform can show the balance to the customer because the subuser api reflects the new balance
Step 3: Generating and Displaying Proxies
When a customer wants to use proxies:
Phase 1: Getting Proxy Information
- Customer requests to view/use proxies on your platform
- Your platform constructs the proxy strings using their credentials
- Your platform displays the proxy credentials to the customer
Phase 2: Using the Proxies 4. Later, the customer connects to Evomi Servers using the proxy credentials
- Evomi Servers validate the credentials
- Evomi Servers provide the proxy service
- A proxy connection is established for the customer
Example Code - Generating Proxy Strings
// Function to generate proxy strings for a customer
function generateProxyStrings(customer, productType, format = 'url') {
// Get the correct endpoint and ports based on product type
const config = {
residential: { endpoint: 'rp.evomi.com', httpPort: 1000, socksPort: 1002 },
datacenter: { endpoint: 'dcp.evomi.com', httpPort: 2000, socksPort: 2002 },
mobile: { endpoint: 'mp.evomi.com', httpPort: 3000, socksPort: 3002 }
};
const { endpoint, httpPort, socksPort } = config[productType];
// Generate the proxy strings
const httpProxy = `${customer.evomi_username}:${customer.evomi_password}@${endpoint}:${httpPort}`;
const socksProxy = `${customer.evomi_username}:${customer.evomi_password}@${endpoint}:${socksPort}`;
return {
http: httpProxy,
socks: socksProxy
};
}
Advanced: Custom Domain Setup (CNAME Configuration)
For white label solutions, you can set up your own proxy domain:
- Create a subdomain (e.g.,
proxies.yourdomain.com
) - Set up a CNAME record pointing to our proxy endpoint:
proxies.yourdomain.com -> rp.evomi.com
- Your customers can then use:
username:[email protected]:1000
This will route through our infrastructure while maintaining your branding.
Troubleshooting Common Integration Issues
Authentication Failures
- Ensure proper API key is used
Balance Issues
- Confirm balance was added successfully via API
- Check if customer has sufficient balance for their usage
Connection Problems
- Verify endpoint and port combinations are correct
- Ensure password parameters are formatted correctly