Production API Documentation v2.0
Last Updated: August 5, 2025
✅ ACTIVE System is operational and accepting orders
Base URL: https://bestproviderhub.com
https://bestproviderhub.com/webhook/order
Setting | Value | Important Notes |
---|---|---|
Webhook URL | https://bestproviderhub.com/webhook/order |
Use HTTPS, not HTTP |
Method | POST |
Must be POST |
Content-Type | application/json |
Required header |
API Key Header Name | X-Webhook-Token |
⚠️ Case-sensitive! Not x-webhook-token |
API Key Value | [Contact Admin for API Key] |
Must match exactly - get from system administrator |
{ "order_id": "PP123456", "service_id": 101, "quantity": 1000, "link": "https://www.instagram.com/p/ABC123/", "remarks": "Optional notes", "delay_days": 2 // Optional: delay order by 2 days }
❌ WRONG: x-webhook-token: your-token
❌ WRONG: webhook-token: your-token
❌ WRONG: api-key: your-token
✅ CORRECT: X-Webhook-Token: your-token
Note: The header name is case-sensitive!
The token in Perfect Panel must EXACTLY match the token in your .env file
Common mistakes:
If IP whitelist is enabled, Perfect Panel's server IP must be added
Symptoms: Works from your local machine but not from Perfect Panel
Some Perfect Panel versions might send headers differently:
Authorization
header insteadTo get your webhook token (API key):
X-Webhook-Token
headerService ID | Service Name | Description | Status |
---|---|---|---|
101 |
Instagram Followers | High quality Instagram followers | Active |
102 |
Instagram Likes | Real Instagram likes | Active |
103 |
Facebook Page Likes | Facebook page followers | Active |
104 |
YouTube Views | YouTube video views | Active |
Note: Use the exact Service ID number when sending orders. Contact administrator for additional service IDs or custom services.
Field | Type | Description | Example |
---|---|---|---|
order_id |
string | Unique order ID from Perfect Panel | "PP123456" |
service_id |
number | Service ID (must exist in system) | 101 |
quantity |
number | Order quantity | 1000 |
link |
string | Target URL (Instagram, Facebook, etc.) | "https://instagram.com/username" |
Field | Type | Description | Example |
---|---|---|---|
remarks |
string | Additional notes (max 1000 chars) | "Rush order" |
delay_days |
number | Delay order by N days (1-3) | 2 |
customer_username |
string | Customer identifier (optional) | "john_doe" |
Webhook URL: https://bestproviderhub.com/webhook/order
Method: POST
Headers:
Content-Type: application/json
X-Webhook-Token: [your API key from administrator]
Body Format: JSON
Timeout: 30000ms
Code | Status | Description | Action Required |
---|---|---|---|
200 |
Success | Order accepted and queued | None |
400 |
Bad Request | Invalid data format or missing fields | Check request format |
401 |
Unauthorized | Invalid webhook token | Check token and header name |
403 |
Forbidden | IP not whitelisted | Add IP to whitelist |
429 |
Too Many Requests | Rate limit exceeded | Slow down request rate |
500 |
Server Error | Internal error | Contact support |
X-Webhook-Token
# Test with correct header curl -X POST https://bestproviderhub.com/webhook/order \ -H "Content-Type: application/json" \ -H "X-Webhook-Token: your-api-key-here" \ -d '{"order_id":"TEST001","service_id":101,"quantity":100,"link":"https://instagram.com/test"}'