Selecciona una acción, completa los parámetros y envía una solicitud. Cuando hayas iniciado sesión, tu clave API se cargará automáticamente.
Se actualiza automáticamente cuando cambias la acción o los parámetros.
curl -X POST "https://hstockplus.com/api/v2" \
--data-urlencode "key=YOUR_API_KEY" \
--data-urlencode "action=categories"https://hstockplus.com/api/v2Todas las solicitudes de API deben enviarse mediante HTTP POST a este endpoint.
IMPORTANTE — URLs de imágenes de productos (imageUrl)
Cuando Media CDN está habilitado, los campos imageUrl en las respuestas de Lista de Servicios, Lista de Productos e Información de Subcategoría utilizan el dominio CDN (https://cdn.hstockplus.org/...). Use estas URLs absolutas directamente en su aplicación — no sustituya hstockplus.com ni hstockplus.net.
https://cdn.hstockplus.org/uploads/products/gmail.webpOpcional. Código de idioma de destino. Use uno de los códigos admitidos que se enumeran a continuación. Cuando se establece y no es "en", los campos traducibles se devuelven en ese idioma. Si una traducción aún no está disponible, la API devuelve inglés.
Códigos de idioma admitidos
zhesfrdejakoptpt-BRruarhiviurbn-BDen(default — omitir lang o usar en)Use these exact values for the lang parameter. Alias: jp is accepted as ja.
Compatible con acciones de lectura: categories, subcategory_info, services, products, inventory ((nombres de subproductos)), sms_projects, y sms_countries. Omit lang or use en for English.
Los parámetros de filtro de categoría y subcategoría en servicios/productos siempre utilizan nombres canónicos en inglés, incluso cuando lang está configurado.
curl -X POST https://hstockplus.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services" \
-d "lang=zh"Obtener todas las categorías y las subcategorías de cada categoría. Utilice estos valores para filtrar la Lista de Servicios por categoría o subcategoría.
| Parameter | Description | Required |
|---|---|---|
| key | Your API key | Yes |
| action | categories | Yes |
| lang | Código de idioma opcional. Consulte los códigos compatibles en Idioma opcional (lang) arriba. | 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"]
}
]
}Obtén detalles de subcategoría por subcategoryId, incluyendo la categoría padre. Usa subcategoryId de las filas de Products List.
| Parameter | Description | Required |
|---|---|---|
| key | Your API key | Yes |
| action | subcategory_info | Yes |
| subcategoryId | Subcategory ID from Products List | Yes |
| lang | Código de idioma opcional. Consulte los códigos compatibles en Idioma opcional (lang) arriba. | 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://cdn.hstockplus.org/uploads/subcategories/gmail.webp",
"description": "Verified Gmail accounts",
"category": {
"categoryId": "674a1f77bcf86cd799439088",
"name": "Email Accounts",
"slug": "email-accounts"
}
}Lista de tiendas activas con información básica, cantidad de productos y calificaciones de reseñas. Los nombres de las tiendas están ocultos por privacidad.
| Parameter | Description | Required |
|---|---|---|
| key | Your API key | Yes |
| action | shops | Yes |
| page | Page number (default 1). | No |
| limit | Items per page (default 20). | No |
curl -X POST https://hstockplus.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=shops"Con paginación:
curl -X POST https://hstockplus.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=shops" \
-d "page=1" \
-d "limit=20"Listar solo productos del marketplace (sin servicios SMM). Mismos campos que las filas de productos en la Lista de Servicios, incluyendo id (id de entidad de producto), service (número de servicio amigable), description e imageUrl. productIds opcional devuelve solo esos productos (números de servicio amigables de la lista y/o ids de entidad de producto, separados por comas o array JSON, máximo 100). sort=sold opcional ordena los resultados por unidades de pedido pagadas de forma descendente (más vendidos primero).
| Parameter | Description | Required |
|---|---|---|
| key | Your API key | Yes |
| action | products | Yes |
| page | Page number (default 1). Used when limit > 0. | No |
| limit | Items per page (default 0 = return all). | No |
| category | Filter by category name (from Get Categories). Returns only products in this category. | No |
| subcategory | Filter by subcategory name (from Get Categories). Returns only products in this subcategory. | No |
| shopId | Filter by shop ID (from Shops List). Returns only that shop's products. | No |
| productIds | Optional list of product IDs (service numbers and/or entity ids). Comma-separated, JSON array, or repeated fields. Returns only those products (max 100). | No |
| isRecommended | Opcional. Establece true para devolver solo productos con isRecommended === true. | No |
| sort | Opcional. sold = ordenar por unidades pagadas de forma descendente (los más vendidos primero). Omitir para mantener el orden predeterminado de caché. | No |
| lang | Código de idioma opcional. Consulte los códigos compatibles en Idioma opcional (lang) arriba. | No |
curl -X POST https://hstockplus.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products"Filtrar por IDs de producto:
curl -X POST https://hstockplus.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products" \
-d "productIds=2,5,9"Con paginación:
curl -X POST https://hstockplus.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products" \
-d "page=1" \
-d "limit=50"Filtrar por categoría o subcategoría:
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"Los más vendidos en una subcategoría:
curl -X POST https://hstockplus.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products" \
-d "subcategory=Twitter/X" \
-d "sort=sold" \
-d "page=1" \
-d "limit=10"Solo productos recomendados:
curl -X POST https://hstockplus.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products" \
-d "isRecommended=true"Obtén todos los servicios disponibles con paginación opcional. Cada fila incluye id (ID de entidad), service (número de servicio amigable), stock y entityType (smm o product). El parámetro opcional entityType devuelve solo filas de producto o solo filas smm. Los parámetros opcionales de categoría y subcategoría devuelven solo los servicios de esa categoría o subcategoría (valores de la API Obtener Categorías). El parámetro opcional shopId devuelve solo productos y servicios de esa tienda (usa shopId de la Lista de Tiendas). El parámetro opcional productIds devuelve solo las filas coincidentes (números de servicio amigables y/o IDs de entidad; coincide con filas de producto o smm). Usa action=products para filtrar solo productos.
| Parameter | Description | Required |
|---|---|---|
| key | Your API key | Yes |
| action | services | Yes |
| page | Page number (default 1). Used when limit > 0. | No |
| limit | Items per page (default 0 = return all). | No |
| category | Filter by category name (from Get Categories). Returns only services in this category. | No |
| subcategory | Filter by subcategory name (from Get Categories). Returns only services in this subcategory. | No |
| shopId | Filter by shop ID (from Shops List). Returns only that shop's products and SMM services. | No |
| entityType | Filtro opcional: producto o smm. Devuelve solo productos del marketplace o solo servicios de SMM. | No |
| productIds | Optional list of IDs (friendly service numbers and/or entity ids). Comma-separated, JSON array, or repeated fields. Returns matching product or smm rows. Use action=products for products only. | No |
| lang | Código de idioma opcional. Consulte los códigos compatibles en Idioma opcional (lang) arriba. | No |
curl -X POST https://hstockplus.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services" \
-d "lang=zh"Con paginación:
curl -X POST https://hstockplus.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services" \
-d "page=1" \
-d "limit=50"Filtrar por categoría o subcategoría:
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"Filtrar por tipo de entidad:
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://cdn.hstockplus.org/uploads/products/gmail.webp",
"isRecommended": true,
"subcategoryId": "674a1f77bcf86cd799439099"
}
],
"total": 150,
"page": 1,
"limit": 50,
"total_pages": 3
}Cada fila incluye id (ID de entidad) y service (número de servicio amigable para pedidos), stock, entityType (smm o product) y autoDelivery. Las filas de producto también incluyen description, imageUrl, isRecommended y subcategoryId. Cuando limit es 0 o se omite, se devuelven todos los servicios y page/limit equivalen al total.
Obtén el stock actual y la disponibilidad de un servicio por su ID (mismo ID que en la lista de servicios). Para productos de marketplace, el JSON incluye subproductos: un array de variantes activas, cada una con subproductId, nombre y stock (stock visible para esa variante).
| Parameter | Description | Required |
|---|---|---|
| key | Your API key | Yes |
| action | inventory | Yes |
| service | Service ID (from services list) | Yes |
| lang | Código de idioma opcional. Consulte los códigos compatibles en Idioma opcional (lang) arriba. | No |
curl -X POST https://hstockplus.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=inventory" \
-d "service=23501"{
"service": 1,
"stock": 10000,
"available": true,
"rate": "0.5000",
"entityType": "smm",
"autoDelivery": true
}{
"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 }
]
}La respuesta incluye rate (por unidad, mismo formato de cadena que la lista de servicios), entityType (smm o product) y autoDelivery (true = entrega automática, false = el proveedor completa manualmente). Para servicios de producto, min y max coinciden con la fila del subproducto principal en la lista de servicios; si ese subproducto no puede cumplir con tu pedido, la plataforma puede seleccionar otro subproducto y cobrar su precio unitario. El array subproducts lista cada variante activa con stock visible; las respuestas de inventario SMM omiten 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.
| Parameter | Description | Required |
|---|---|---|
| key | Your API key | Yes |
| action | add | Yes |
| service | Service ID | Yes |
| link | Link: 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 |
| quantity | Quantity to order | Yes |
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
}Obtener el estado de un pedido.
| Parameter | Description |
|---|---|
| key | Your API key |
| action | status |
| order | Order 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
}Para pedidos de productos (por ejemplo, cuentas), cuando el pedido se entrega total o parcialmente, la respuesta incluye un array "accounts" con las credenciales de las cuentas entregadas (una cadena por cuenta). Para entregas parciales, solo se devuelven las cuentas entregadas hasta el momento.
autoDelivery: true si el pedido se cumple automáticamente (por ejemplo, SMM, productos de inventario/automáticos); false si el proveedor debe cumplirlo manualmente (puede tomar algo de tiempo).
{
"status": "Completed",
"charge": "10.00",
"start_count": 5,
"remains": 0,
"currency": "USD",
"entityType": "product",
"autoDelivery": true,
"accounts": [
"user1:pass1",
"user2:pass2"
]
}Cancelar uno o más pedidos (formato de lote compatible con PerfectPanel). Cada pedido elegible se reembolsa a tu saldo.
Todo lo siguiente debe ser cierto. Usa allowcancel para verificar la elegibilidad sin procesar un reembolso.
La entrega parcial genera un reembolso parcial proporcional; las cuentas entregadas se conservan.
| Parameter | Description |
|---|---|
| key | Your API key |
| action | cancel |
| orders | IDs de pedidos (separados por coma, hasta 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"
}
}
]Verificar si uno o más pedidos pueden cancelarse en este momento (mismas reglas de elegibilidad que cancelar, pero no se procesa ningún reembolso). Úselo antes de llamar a cancelar para evitar solicitudes fallidas. Admite IDs de pedidos en lote (separados por coma, hasta 100).
Todo lo siguiente debe ser cierto. Usa allowcancel para verificar la elegibilidad sin procesar un reembolso.
Cuando allowcancel es 1, la respuesta incluye refundAmount (el monto que cancel devolvería).
| Parameter | Description |
|---|---|
| key | Your API key |
| action | allowcancel |
| orders | IDs de pedidos (separados por coma, hasta 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"
}
]Obtén tu saldo actual.
| Parameter | Description |
|---|---|
| key | Your API key |
| action | balance |
curl -X POST https://hstockplus.com/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=balance"{
"balance": "100.00",
"currency": "USD"
}Puntos de acceso dedicados para servicios de verificación por SMS.
Action: sms_projects
| Parameter | Description |
|---|---|
| key | Your API key |
| action | sms_projects |
| country | Optional. Filter by country ID (e.g. 'us', 'gb') |
| lang | Código de idioma opcional. Consulte los códigos compatibles en Idioma opcional (lang) arriba. |
[
{
"project_id": "65f...",
"name": "OpenAI / ChatGPT",
"price": "0.5000",
"country_id": "us",
"country_title": "United States"
}
]Action: sms_countries
| Parameter | Description |
|---|---|
| key | Your API key |
| action | sms_countries |
| lang | Código de idioma opcional. Consulte los códigos compatibles en Idioma opcional (lang) arriba. |
[
{
"country_code": "us",
"country_name": "United States"
},
{
"country_code": "gb",
"country_name": "United Kingdom"
}
]Action: add_sms
| Parameter | Description | Required |
|---|---|---|
| key | Your API key | |
| action | add_sms | |
| project_id | Project ID from sms_projects | Yes |
| quantity | Number of numbers (1-10) | No (Default 1) |
| country | Country code (e.g. 'us') | No |
| phone | Phone number to reuse | No |
{
"orders": [
{
"order": 12345,
"phone": "+1234567890",
"country": "us",
"status": "active"
}
]
}Action: sms_code
| Parameter | Description |
|---|---|
| key | Your API key |
| action | sms_code |
| order | Order ID |
{
"status": "completed",
"code": "123456",
"sms_content": "Your verification code is 123456"
}
// OR
{
"status": "waiting",
"message": "Waiting for code"
}Action: sms_status
| Parameter | Description |
|---|---|
| key | Your API key |
| action | sms_status |
| order | Order ID |
{
"status": "code_received",
"phone": "+1234567890",
"code": "123456",
"charge": "0.5000",
"currency": "USD",
"expires_at": "2023-01-01T12:00:00.000Z"
}Respuestas de error comunes que puedes encontrar.
{"error": "Invalid API key"}{"error": "Invalid action"}{"error": "Service ID is required"}{"error": "Insufficient balance"}{"error": "Order not found"}{"error": "Service not found"}¿Necesitas ayuda? Contáctanos en support@hstockplus.com
