HstockPlus

Ваш API ключ

Загрузка...

Test API

Select an action, fill in parameters, and send a request. When logged in, your API key is loaded automatically.

Updates automatically when you change action or parameters.

curl -X POST "https://hstockplus.com/api/v2" \
  --data-urlencode "key=YOUR_API_KEY" \
  --data-urlencode "action=categories"

API эндпоинт

https://hstockplus.com/api/v2

Все запросы API должны отправляться через HTTP POST на эту конечную точку.

Optional language (lang)

Optional. Target language code. Use one of the supported codes listed below. When set and not en, translatable fields are returned in that language. If a translation is not available yet, the API returns English.

Supported language codes

zhesfrdejakoptpt-BRruarhiviurbn-BDen(default — omit lang or use en)

Use these exact values for the lang parameter. Alias: jp is accepted as ja.

Supported on read actions: categories, subcategory_info, services, products, inventory ((subproduct names)), sms_projects, and sms_countries. Omit lang or use en for English.

category and subcategory filter parameters on services/products always use canonical English names, even when lang is set.

curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=services" \
  -d "lang=zh"

Get Categories

Get all categories and each category's subcategories. Use these values to filter the Services List by category or subcategory.

ParameterDescriptionRequired
keyYour API keyYes
actioncategoriesYes
langOptional language code. See supported codes in Optional language (lang) above.No

Пример запроса:

curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=categories" \
  -d "lang=zh"

Пример ответа:

{
  "categories": [
    {
      "category": "Instagram",
      "subcategories": ["Followers", "Comments", "Likes"]
    },
    {
      "category": "Email Accounts",
      "subcategories": ["Gmail", "Outlook"]
    }
  ]
}

Subcategory Info

Get subcategory details by subcategoryId, including the parent category. Use subcategoryId from Products List rows.

ParameterDescriptionRequired
keyYour API keyYes
actionsubcategory_infoYes
subcategoryIdSubcategory ID from Products ListYes
langOptional language code. See supported codes in Optional language (lang) above.No

Пример запроса:

curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=subcategory_info" \
  -d "subcategoryId=674a1f77bcf86cd799439099" \
  -d "lang=zh"

Пример ответа:

{
  "subcategoryId": "674a1f77bcf86cd799439099",
  "name": "Gmail",
  "slug": "gmail",
  "imageUrl": "https://example.com/uploads/subcategories/gmail.webp",
  "description": "Verified Gmail accounts",
  "category": {
    "categoryId": "674a1f77bcf86cd799439088",
    "name": "Email Accounts",
    "slug": "email-accounts"
  }
}

Shops List

List active shops with basic info, product count, and review ratings. Shop names are masked for privacy.

ParameterDescriptionRequired
keyYour API keyYes
actionshopsYes
pagePage number (default 1).No
limitItems per page (default 20).No

Пример запроса:

curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=shops"

With pagination:

curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=shops" \
  -d "page=1" \
  -d "limit=20"

Products List

List marketplace products only (no SMM services). Same fields as product rows in Services List, including id (product entity id), service (friendly service number), description and imageUrl. Optional productIds returns only those products (friendly service numbers from the list and/or product entity ids, comma-separated or JSON array, max 100).

ParameterDescriptionRequired
keyYour API keyYes
actionproductsYes
pagePage number (default 1). Used when limit > 0.No
limitItems per page (default 0 = return all).No
categoryFilter by category name (from Get Categories). Returns only products in this category.No
subcategoryFilter by subcategory name (from Get Categories). Returns only products in this subcategory.No
shopIdFilter by shop ID (from Shops List). Returns only that shop's products.No
productIdsOptional list of product IDs (service numbers and/or entity ids). Comma-separated, JSON array, or repeated fields. Returns only those products (max 100).No
isRecommendedOptional. Set true to return only products with isRecommended === true.No
langOptional language code. See supported codes in Optional language (lang) above.No

Пример запроса:

curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=products"

Filter by product IDs:

curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=products" \
  -d "productIds=2,5,9"

With pagination:

curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=products" \
  -d "page=1" \
  -d "limit=50"

Filter by category or subcategory:

curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=products" \
  -d "category=Accounts-Email"
# Or filter by subcategory:
curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=products" \
  -d "subcategory=Gmail"

Recommended products only:

curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=products" \
  -d "isRecommended=true"

Список услуг

Get all available services with optional pagination. Each row includes id (entity id), service (friendly service number), stock, and entityType (smm or product). Optional entityType returns only product or only smm rows. Optional category and subcategory parameters return only services in that category or subcategory (values from the Get Categories API). Optional shopId returns only products and services for that shop (use shopId from Shops List). Optional productIds returns only matching marketplace products (SMM services are omitted when productIds is set).

ParameterDescriptionRequired
keyYour API keyYes
actionservicesYes
pagePage number (default 1). Used when limit > 0.No
limitItems per page (default 0 = return all).No
categoryFilter by category name (from Get Categories). Returns only services in this category.No
subcategoryFilter by subcategory name (from Get Categories). Returns only services in this subcategory.No
shopIdFilter by shop ID (from Shops List). Returns only that shop's products and SMM services.No
entityTypeOptional filter: product or smm. Returns only marketplace products or only SMM services.No
productIdsOptional list of product IDs (service numbers and/or entity ids). Comma-separated, JSON array, or repeated fields. Returns only those products; SMM rows are omitted.No
langOptional language code. See supported codes in Optional language (lang) above.No

Пример запроса:

curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=services" \
  -d "lang=zh"

With pagination:

curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=services" \
  -d "page=1" \
  -d "limit=50"

Filter by category or subcategory:

curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=services" \
  -d "category=Instagram"
# Or filter by subcategory:
curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=services" \
  -d "subcategory=Followers"

Filter by entity type:

curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=services" \
  -d "entityType=product"

Пример ответа:

{
  "services": [
    {
      "id": "507f1f77bcf86cd799439011",
      "service": 1,
      "name": "Instagram Followers",
      "type": "Default",
      "category": "Instagram",
      "rate": "0.50",
      "min": 100,
      "max": 10000,
      "refill": true,
      "cancel": false,
      "stock": 10000,
      "entityType": "smm",
      "autoDelivery": true
    },
    {
      "id": "507f1f77bcf86cd799439012",
      "service": 2,
      "name": "Gmail Account - USA",
      "type": "Default",
      "category": "Accounts-Email",
      "rate": "25.00",
      "min": 1,
      "max": 50,
      "refill": false,
      "cancel": false,
      "stock": 50,
      "entityType": "product",
      "autoDelivery": true,
      "description": "Verified Gmail account with recovery email",
      "imageUrl": "https://example.com/uploads/products/gmail.webp",
      "isRecommended": true,
      "subcategoryId": "674a1f77bcf86cd799439099"
    }
  ],
  "total": 150,
  "page": 1,
  "limit": 50,
  "total_pages": 3
}

Each row includes id (entity id) and service (friendly service number for orders), stock, entityType (smm or product), and autoDelivery. Product rows also include description, imageUrl, isRecommended, and subcategoryId. When limit is 0 or omitted, all services are returned and page/limit equal total.

Check Inventory

Get current stock and availability for a service by its ID (same ID as in the services list). For marketplace products, the JSON includes subproducts: an array of active variants, each with subproductId, name, and stock (display stock for that variant).

ParameterDescriptionRequired
keyYour API keyYes
actioninventoryYes
serviceService ID (from services list)Yes
langOptional language code. See supported codes in Optional language (lang) above.No

Пример запроса:

curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=inventory" \
  -d "service=23501"

Example Response (SMM):

{
  "service": 1,
  "stock": 10000,
  "available": true,
  "rate": "0.5000",
  "entityType": "smm",
  "autoDelivery": true
}

Example Response (product):

{
  "service": 23501,
  "stock": 42,
  "available": true,
  "rate": "25.0000",
  "min": 1,
  "max": 42,
  "entityType": "product",
  "autoDelivery": true,
  "subproducts": [
    { "subproductId": "674a1f77bcf86cd799439011", "name": "1 Month", "stock": 42 },
    { "subproductId": "674a1f77bcf86cd799439012", "name": "3 Months", "stock": 0 }
  ]
}

Response includes rate (per unit, same string format as the services list), entityType (smm or product), and autoDelivery (true = auto-delivery, false = supplier fulfills manually). For product services, min and max match the primary subproduct row in the services list; if that subproduct cannot fulfill your add order, the platform may select another subproduct and charge its unit price. The subproducts array lists every active variant with display stock; SMM inventory responses omit subproducts.

Добавить заказ

Place a standard order with link and quantity. Link: for SMM services (e.g. followers, likes) — required, use the URL to the content (e.g. Instagram post); for product orders (e.g. accounts) — optional, if empty the system uses your account email for delivery.

ParameterDescriptionRequired
keyYour API keyYes
actionaddYes
serviceService IDYes
linkLink: For SMM orders (e.g. followers, likes, comments): required — URL or link to the content (e.g. Instagram post URL). For product orders (e.g. accounts): optional — delivery email or reference; if empty, the system uses your account email.No
quantityQuantity to orderYes

Пример запроса:

curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=add" \
  -d "service=1" \
  -d "link=https://instagram.com/username" \
  -d "quantity=1000"

Пример ответа:

{
  "order": 23501
}

Статус заказа

Получить статус заказа.

ParameterDescription
keyYour API key
actionstatus
orderOrder ID

Пример запроса:

curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=status" \
  -d "order=23501"

Пример ответа:

{
  "status": "In progress",
  "charge": "5.00",
  "start_count": 1000,
  "remains": 500,
  "currency": "USD",
  "autoDelivery": true
}

For product orders (e.g. accounts), when the order is fully or partially delivered, the response includes an "accounts" array with the delivered account credentials (one string per account). For partial delivery, only the accounts delivered so far are returned.

autoDelivery: true if the order is fulfilled automatically (e.g. SMM, auto/inventory products); false if the supplier must fulfill manually (may take some time).

Example Response (product order with accounts delivered):

{
  "status": "Completed",
  "charge": "10.00",
  "start_count": 5,
  "remains": 0,
  "currency": "USD",
  "entityType": "product",
  "autoDelivery": true,
  "accounts": [
    "user1:pass1",
    "user2:pass2"
  ]
}

Возможные статусы:

PendingIn progressCompletedPartialCanceled

Create cancel

Cancel one or more orders (PerfectPanel-compatible batch format). Each eligible order is refunded to your balance.

All of the following must be true. Use allowcancel to check eligibility without processing a refund.

  • Early cancel: platform feature enabled (admin setting).
  • Early cancel: productType is auto or inventory (SMM auto services typically use productType auto).
  • Early cancel: payment status is completed or partial.
  • Early cancel: order status is pending, processing, or error (provider errors appear as in progress).
  • Early cancel: no external_id (order not yet sent to an external supplier or provider).
  • Early cancel: at least N minutes since payment completion (auto_order_early_refund_minutes, default 30).
  • Early cancel: customer has not already used early self-refund on this order.
  • Early cancel: order is not fully delivered (partial delivery yields a proportional refund for the undelivered portion).
  • Early cancel: refundable amount remains (refundedAmount is less than order total).
  • Early cancel: no active dispute on the order.
  • Early cancel: no supplier withdrawal in requested or completed status.

Partial delivery yields a proportional partial refund; delivered accounts are kept.

ParameterDescription
keyYour API key
actioncancel
ordersOrder IDs (separated by a comma, up to 100 IDs)

Пример запроса:

curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=cancel" \
  -d "orders=23501,23502"

Пример ответа:

[
  {
    "order": 23501,
    "cancel": 1
  },
  {
    "order": 23502,
    "cancel": {
      "error": "Incorrect order ID"
    }
  }
]

Allow cancel

Check whether one or more orders can be cancelled right now (same eligibility rules as cancel, but no refund is processed). Use before calling cancel to avoid failed requests. Supports batch order IDs (comma-separated, up to 100).

All of the following must be true. Use allowcancel to check eligibility without processing a refund.

  • Early cancel: platform feature enabled (admin setting).
  • Early cancel: productType is auto or inventory (SMM auto services typically use productType auto).
  • Early cancel: payment status is completed or partial.
  • Early cancel: order status is pending, processing, or error (provider errors appear as in progress).
  • Early cancel: no external_id (order not yet sent to an external supplier or provider).
  • Early cancel: at least N minutes since payment completion (auto_order_early_refund_minutes, default 30).
  • Early cancel: customer has not already used early self-refund on this order.
  • Early cancel: order is not fully delivered (partial delivery yields a proportional refund for the undelivered portion).
  • Early cancel: refundable amount remains (refundedAmount is less than order total).
  • Early cancel: no active dispute on the order.
  • Early cancel: no supplier withdrawal in requested or completed status.

When allowcancel is 1, the response includes refundAmount (the amount cancel would refund).

ParameterDescription
keyYour API key
actionallowcancel
ordersOrder IDs (separated by a comma, up to 100 IDs)

Пример запроса:

curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=allowcancel" \
  -d "orders=23501,23502"

Пример ответа:

[
  {
    "order": 23501,
    "allowcancel": 1,
    "refundAmount": 5.00
  },
  {
    "order": 23502,
    "allowcancel": 0,
    "error": "Early auto refund is not available for this order",
    "reason": "BEFORE_MIN_WAIT",
    "eligibleAfter": "2026-06-23T12:30:00.000Z"
  }
]

Баланс

Получить ваш текущий баланс.

ParameterDescription
keyYour API key
actionbalance

Пример запроса:

curl -X POST https://hstockplus.com/api/v2 \
  -d "key=YOUR_API_KEY" \
  -d "action=balance"

Пример ответа:

{
  "balance": "100.00",
  "currency": "USD"
}

SMS Verification API

Dedicated endpoints for SMS verification services.

1. Get SMS Projects

Action: sms_projects

ParameterDescription
keyYour API key
actionsms_projects
countryOptional. Filter by country ID (e.g. 'us', 'gb')
langOptional language code. See supported codes in Optional language (lang) above.
[
  {
    "project_id": "65f...",
    "name": "OpenAI / ChatGPT",
    "price": "0.5000",
    "country_id": "us",
    "country_title": "United States"
  }
]

2. Get SMS Countries

Action: sms_countries

ParameterDescription
keyYour API key
actionsms_countries
langOptional language code. See supported codes in Optional language (lang) above.
[
  {
    "country_code": "us",
    "country_name": "United States"
  },
  {
    "country_code": "gb",
    "country_name": "United Kingdom"
  }
]

3. Create SMS Order

Action: add_sms

ParameterDescriptionRequired
keyYour API key
actionadd_sms
project_idProject ID from sms_projectsYes
quantityNumber of numbers (1-10)No (Default 1)
countryCountry code (e.g. 'us')No
phonePhone number to reuseNo
{
  "orders": [
    {
      "order": 12345,
      "phone": "+1234567890",
      "country": "us",
      "status": "active"
    }
  ]
}

4. Get SMS Code

Action: sms_code

ParameterDescription
keyYour API key
actionsms_code
orderOrder ID
{
  "status": "completed",
  "code": "123456",
  "sms_content": "Your verification code is 123456"
}
// OR
{
  "status": "waiting",
  "message": "Waiting for code"
}

5. Get SMS Order Status

Action: sms_status

ParameterDescription
keyYour API key
actionsms_status
orderOrder ID
{
  "status": "code_received",
  "phone": "+1234567890",
  "code": "123456",
  "charge": "0.5000",
  "currency": "USD",
  "expires_at": "2023-01-01T12:00:00.000Z"
}

Ответы об ошибках

Общие ответы об ошибках, с которыми вы можете столкнуться.

{"error": "Invalid API key"}
{"error": "Invalid action"}
{"error": "Service ID is required"}
{"error": "Insufficient balance"}
{"error": "Order not found"}
{"error": "Service not found"}

Нужна помощь? Свяжитесь с нами: support@hstockplus.net

Поддерживаемые способы оплаты

Supported payment methods