Loading HstockPlus
Chọn một hành động, điền tham số và gửi yêu cầu. Khi đã đăng nhập, khóa API của bạn sẽ được tải tự động.
Tự động cập nhật khi bạn thay đổi hành động hoặc tham số.
curl -X POST "https://hstockplus.net/api/v2" \
--data-urlencode "key=YOUR_API_KEY" \
--data-urlencode "action=categories"https://hstockplus.net/api/v2Tất cả yêu cầu API nên được gửi qua HTTP POST đến điểm cuối này.
Giới hạn được tính theo từng khóa API — chỉ hai thao tác danh sách bên dưới bị giới hạn
| Hành động | Giới hạn |
|---|---|
| services | 1 call every 2 seconds, up to 3 calls in a row |
| products | 1 call per second, up to 3 calls in a row |
| inventory | Không giới hạn |
| Tất cả thao tác khác (add, status, balance …) | Không giới hạn |
A limited call still returns HTTP 200, with the error below. retry_after_ms is how many milliseconds to wait before the next call. A key that keeps calling while limited (about 20 limited calls in one minute) is paused for 60 seconds.
{"error": "Rate limit exceeded", "retry_after_ms": 1400}To check price and stock of many products, call products once with productIds (up to 100 per call) instead of one services call per product. For the stock of each option of one product, use inventory.
QUAN TRỌNG — URL hình ảnh sản phẩm (imageUrl)
Khi Media CDN được bật, các trường imageUrl trong phản hồi Danh sách dịch vụ, Danh sách sản phẩm và Thông tin danh mục con sẽ sử dụng tên miền CDN (https://cdn.hstockplus.org/...). Sử dụng trực tiếp các URL tuyệt đối này trong ứng dụng của bạn — không thay thế bằng hstockplus.com hoặc hstockplus.net.
https://cdn.hstockplus.org/uploads/products/gmail.webpTùy chọn. Mã ngôn ngữ đích. Sử dụng một trong các mã được hỗ trợ được liệt kê bên dưới. Khi được thiết lập và không phải là en, các trường có thể dịch sẽ được trả về bằng ngôn ngữ đó. Nếu bản dịch chưa có sẵn, API sẽ trả về tiếng Anh.
Các mã ngôn ngữ được hỗ trợ
en(mặc định — bỏ qua ngôn ngữ hoặc sử dụng en)zhdejapt-BRurbn-BDDùng đúng các giá trị này cho tham số lang; bí danh jp được hiểu là ja
Được hỗ trợ trên các hành động đọc: categories, subcategory_info, services, products, inventory ((tên sản phẩm phụ)), sms_projects, và sms_countries. Bỏ qua lang hoặc dùng en cho tiếng Anh.
Các tham số bộ lọc danh mục và danh mục con trên dịch vụ/sản phẩm luôn sử dụng tên tiếng Anh chuẩn, ngay cả khi lang được thiết lập.
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services" \
-d "lang=zh"Lấy tất cả danh mục và danh mục con của từng danh mục. Sử dụng các giá trị này để lọc Danh sách Dịch vụ theo danh mục hoặc danh mục con.
| Tham số | Mô tả | Bắt buộc |
|---|---|---|
| key | Khóa API của bạn | Có |
| action | categories | Có |
| lang | Mã ngôn ngữ tùy chọn; xem các mã được hỗ trợ ở mục Ngôn ngữ tùy chọn (lang) phía trên | No |
curl -X POST https://hstockplus.net/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"]
}
]
}Lấy thông tin chi tiết danh mục con theo subcategoryId, bao gồm cả danh mục cha. Sử dụng subcategoryId từ các hàng trong Danh sách Sản phẩm.
| Tham số | Mô tả | Bắt buộc |
|---|---|---|
| key | Khóa API của bạn | Có |
| action | subcategory_info | Có |
| subcategoryId | ID danh mục con từ Danh sách sản phẩm | Có |
| lang | Mã ngôn ngữ tùy chọn; xem các mã được hỗ trợ ở mục Ngôn ngữ tùy chọn (lang) phía trên | No |
curl -X POST https://hstockplus.net/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"
}
}Liệt kê các cửa hàng đang hoạt động kèm thông tin cơ bản, số lượng sản phẩm và đánh giá xếp hạng. Tên cửa hàng được ẩn danh để bảo vệ quyền riêng tư.
| Tham số | Mô tả | Bắt buộc |
|---|---|---|
| key | Khóa API của bạn | Có |
| action | shops | Có |
| page | Page number (default 1). | No |
| limit | Items per page (default 20). | No |
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=shops"Với phân trang:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=shops" \
-d "page=1" \
-d "limit=20"Liệt kê mã giảm giá của mọi cửa hàng có thể dùng ngay lúc này, kèm điều kiện của từng mã. Truyền mã vào coupon của action=add. Các mã chỉ dành riêng cho tài khoản của bạn (ví dụ báo giá sỉ từ một ticket) cũng được liệt kê và đánh dấu private.
| Tham số | Mô tả | Bắt buộc |
|---|---|---|
| key | Khóa API của bạn | Có |
| action | coupons | Có |
| shop | Chỉ mã giảm giá của cửa hàng này (shopId từ action=shops). | No |
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=coupons"{
"coupons": [
{
"code": "SAVE10",
"type": "percentage",
"value": 10,
"shopId": "6650a1f77bcf86cd79943901",
"shopSlug": "example-shop",
"shopName": "Example Shop",
"appliesTo": "shop",
"minPurchase": 20,
"remainingUses": 87,
"expiresAt": "2026-11-30T23:59:59.000Z"
},
{
"code": "BULK500",
"type": "percentage",
"value": 5,
"shopId": "6650a1f77bcf86cd79943901",
"shopSlug": "example-shop",
"shopName": "Example Shop",
"appliesTo": "services",
"services": [110469, 110470],
"minQuantity": 100,
"quantityTiers": [
{ "minQuantity": 100, "value": 5 },
{ "minQuantity": 500, "value": 12 }
],
"maxUsesPerUser": 1,
"remainingUses": 40
}
],
"total": 2
}| Trường | Ý nghĩa |
|---|---|
| type / value | percentage: giá trị là phần trăm giảm. fixed: giá trị là số USD giảm trên đơn hàng. Với quantityTiers, giá trị là bậc thấp nhất. |
| appliesTo | shop: bất kỳ sản phẩm nào của cửa hàng này. services: chỉ các sản phẩm có số dịch vụ nằm trong services. Mã giảm giá của cửa hàng không áp dụng cho dịch vụ tăng trưởng (SMM). |
| minPurchase | Tổng đơn hàng trước khi giảm giá phải đạt ít nhất số USD này. |
| minQuantity | Số lượng đặt hàng phải ít nhất bằng mức này. |
| quantityTiers | Mua số lượng càng lớn thì mức giảm giá càng cao; áp dụng bậc cao nhất mà số lượng của bạn đạt tới. |
| maxDiscount | Số USD tối đa mã giảm cho một đơn hàng (chỉ khi có giới hạn). |
| maxUsesPerUser | Số lần một tài khoản có thể dùng mã (chỉ khi có giới hạn). |
| remainingUses | Số lượt dùng còn lại trên tất cả người mua. |
| expiresAt | Mã ngừng hoạt động sau thời điểm này (bỏ qua khi không hết hạn). |
| private | true khi mã chỉ được tạo cho riêng tài khoản của bạn. |
Mã giảm giá được trừ vào số tiền còn lại sau khi áp dụng chiết khấu đại lý. Các trường tùy chọn sẽ được lược bỏ khi mã không có điều kiện tương ứng.
Chỉ liệt kê sản phẩm marketplace (không có dịch vụ SMM). Các trường giống như hàng sản phẩm trong Danh sách Dịch vụ, bao gồm id (id thực thể sản phẩm), service (số dịch vụ thân thiện), description và imageUrl. productIds tùy chọn chỉ trả về các sản phẩm đó (số dịch vụ thân thiện từ danh sách và/hoặc id thực thể sản phẩm, phân tách bằng dấu phẩy hoặc mảng JSON, tối đa 100). sort=sold tùy chọn sắp xếp kết quả theo số lượng đơn hàng đã thanh toán giảm dần (sản phẩm bán chạy nhất trước).
| Tham số | Mô tả | Bắt buộc |
|---|---|---|
| key | Khóa API của bạn | Có |
| action | products | Có |
| page | Page number (default 1). Used when limit > 0. | No |
| limit | Items per page (default 0 = return all). | No |
| category | Lọc theo tên danh mục (từ Lấy danh mục). Chỉ trả về sản phẩm thuộc danh mục này. | No |
| subcategory | Lọc theo tên danh mục con (từ Lấy danh mục). Chỉ trả về sản phẩm thuộc danh mục con này. | No |
| shopId | Lọc theo ID cửa hàng (từ Danh sách cửa hàng), chỉ trả về sản phẩm của cửa hàng đó. | 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 | Tùy chọn: đặt true để chỉ trả về sản phẩm có isRecommended === true | No |
| sort | Tùy chọn. sold = sắp xếp theo số lượng đơn hàng đã thanh toán giảm dần (sản phẩm bán chạy nhất trước). Bỏ qua để giữ thứ tự bộ nhớ đệm mặc định. | No |
| lang | Mã ngôn ngữ tùy chọn; xem các mã được hỗ trợ ở mục Ngôn ngữ tùy chọn (lang) phía trên | No |
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products"Lọc theo ID sản phẩm:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products" \
-d "productIds=2,5,9"Với phân trang:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products" \
-d "page=1" \
-d "limit=50"Lọc theo danh mục hoặc danh mục con:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products" \
-d "category=Accounts-Email"
# Or filter by subcategory:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products" \
-d "subcategory=Gmail"Sản phẩm bán chạy nhất trong một danh mục con:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products" \
-d "subcategory=Twitter/X" \
-d "sort=sold" \
-d "page=1" \
-d "limit=10"Chỉ các sản phẩm được đề xuất:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products" \
-d "isRecommended=true"Lấy tất cả dịch vụ có sẵn với phân trang tùy chọn. Mỗi hàng bao gồm id (id thực thể), service (số dịch vụ thân thiện), stock (tồn kho) và entityType (smm hoặc product). Tham số entityType tùy chọn chỉ trả về hàng product hoặc smm. Tham số danh mục và danh mục con tùy chọn chỉ trả về dịch vụ trong danh mục hoặc danh mục con đó (giá trị từ API Lấy Danh mục). Tham số shopId tùy chọn chỉ trả về sản phẩm và dịch vụ cho cửa hàng đó (sử dụng shopId từ Danh sách Cửa hàng). Tham số productIds tùy chọn chỉ trả về các hàng phù hợp (số dịch vụ thân thiện và/hoặc id thực thể; khớp với hàng sản phẩm hoặc smm). Sử dụng action=products để chỉ lọc sản phẩm.
| Tham số | Mô tả | Bắt buộc |
|---|---|---|
| key | Khóa API của bạn | Có |
| action | services | Có |
| page | Page number (default 1). Used when limit > 0. | No |
| limit | Items per page (default 0 = return all). | No |
| category | Lọc theo tên danh mục (từ Lấy danh mục). Chỉ trả về dịch vụ thuộc danh mục này. | No |
| subcategory | Lọc theo tên danh mục con (từ Lấy danh mục). Chỉ trả về dịch vụ thuộc danh mục con này. | No |
| shopId | Lọc theo ID cửa hàng (từ Danh sách cửa hàng). Chỉ trả về sản phẩm và dịch vụ SMM của cửa hàng đó. | No |
| entityType | Bộ lọc tùy chọn: sản phẩm hoặc smm. Chỉ trả về sản phẩm trên thị trường hoặc chỉ dịch vụ SMM. | No |
| productIds | Danh sách ID tùy chọn (số dịch vụ thân thiện và/hoặc ID thực thể). Phân tách bằng dấu phẩy, mảng JSON hoặc các trường lặp lại. Trả về các dòng sản phẩm hoặc smm tương ứng. Dùng action=products nếu chỉ cần sản phẩm. | No |
| lang | Mã ngôn ngữ tùy chọn; xem các mã được hỗ trợ ở mục Ngôn ngữ tùy chọn (lang) phía trên | No |
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services" \
-d "lang=zh"Với phân trang:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services" \
-d "page=1" \
-d "limit=50"Lọc theo danh mục hoặc danh mục con:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services" \
-d "category=Instagram"
# Or filter by subcategory:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services" \
-d "subcategory=Followers"Lọc theo loại thực thể:
curl -X POST https://hstockplus.net/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",
"sold": 5300,
"sellerRating": 4.0,
"sellerReviewCount": 30,
"returningBuyerRate": 0.52,
"warrantyHours": 12
}
],
"total": 150,
"page": 1,
"limit": 50,
"total_pages": 3
}Mỗi hàng bao gồm id (mã thực thể) và service (số dịch vụ thân thiện cho đơn hàng), stock, entityType (smm hoặc product), và autoDelivery. Các hàng sản phẩm cũng bao gồm description, imageUrl, isRecommended, và subcategoryId. Khi limit là 0 hoặc bị bỏ qua, tất cả dịch vụ được trả về và page/limit bằng tổng số.
Các dòng sản phẩm còn mang những số liệu hiển thị trên trang sản phẩm: service là số sản phẩm (#48071 trên trang), sellerRating và sellerReviewCount là điểm sao của người bán và số lượt đánh giá, returningBuyerRate là tỷ lệ người mua quay lại của người bán (0.52 = 52%), sold là số lượng đã bán, và warrantyHours là thời hạn hậu mãi tính bằng giờ kể từ lúc giao hàng (0 = không có hậu mãi). sellerRating, sellerReviewCount và returningBuyerRate sẽ bị lược bỏ khi người bán chưa có đánh giá hoặc có quá ít người mua.
Lấy tồn kho hiện tại và tình trạng còn hàng của một dịch vụ theo ID (cùng ID với trong danh sách dịch vụ). Với sản phẩm trên marketplace, JSON bao gồm subproducts: một mảng các biến thể đang hoạt động, mỗi biến thể có subproductId, name, stock (tồn kho hiển thị của biến thể đó) cùng giá và giới hạn đặt hàng riêng: available, rate, min, max, và packs cho các tùy chọn bán theo gói cố định.
| Tham số | Mô tả | Bắt buộc |
|---|---|---|
| key | Khóa API của bạn | Có |
| action | inventory | Có |
| service | ID dịch vụ (từ danh sách dịch vụ) | Có |
| lang | Mã ngôn ngữ tùy chọn; xem các mã được hỗ trợ ở mục Ngôn ngữ tùy chọn (lang) phía trên | No |
curl -X POST https://hstockplus.net/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, "available": true, "rate": "25.0000", "min": 1, "max": 42 },
{ "subproductId": "674a1f77bcf86cd799439012", "name": "3 Months", "stock": 0, "available": false, "rate": "60.0000", "min": 1, "max": 0 },
{
"subproductId": "674a1f77bcf86cd799439013", "name": "Pack", "stock": 500, "available": true, "rate": "0.0190", "min": 100, "max": 100,
"packs": [
{ "quantity": 100, "price": "1.9000", "discountPercent": 5 },
{ "quantity": 500, "price": "9.0000", "discountPercent": 10 }
]
}
],
"warrantyHours": 24
}Phản hồi bao gồm tỷ lệ (trên mỗi đơn vị, cùng định dạng chuỗi như danh sách dịch vụ), entityType (smm hoặc product) và autoDelivery (true = tự động giao hàng, false = nhà cung cấp thực hiện thủ công). Đối với dịch vụ sản phẩm, min và max khớp với hàng sản phẩm phụ chính trong danh sách dịch vụ; nếu sản phẩm phụ đó không thể đáp ứng đơn đặt hàng của bạn, nền tảng có thể chọn một sản phẩm phụ khác và tính giá đơn vị của nó. Mảng subproducts liệt kê mọi biến thể đang hoạt động với tồn kho hiển thị; phản hồi tồn kho SMM bỏ qua subproducts.
Mỗi subproduct có rate, min và max riêng: đó là đơn giá và khoảng số lượng mà add tính phí khi bạn truyền subproductId đó, trước mọi chiết khấu đại lý trên tài khoản của bạn. Với các tùy chọn bán theo gói cố định, packs liệt kê từng gói còn hàng (quantity, total price, discountPercent) và bạn phải đặt đúng một trong các số lượng đó; khi ấy rate, min và max mô tả gói nhỏ nhất.
warrantyHours (products only) is the product's after-sales window in hours counted from delivery, the same figure as in the services list; 0 means no after-sales.
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. For products with multiple options (Select Option on the website), pass subproductId (from action=inventory) to choose which option to order — otherwise the default option is used.
| Tham số | Mô tả | Bắt buộc |
|---|---|---|
| key | Khóa API của bạn | Có |
| action | add | Có |
| service | Mã dịch vụ | Có |
| link | Link: Với đơn SMM (ví dụ followers, likes, comments): bắt buộc — URL hoặc liên kết tới nội dung (ví dụ URL bài đăng Instagram). Với đơn sản phẩm (ví dụ tài khoản): tùy chọn — email nhận hàng hoặc mã tham chiếu; nếu để trống, hệ thống dùng email tài khoản của bạn. | No |
| quantity | Số lượng cần đặt | Có |
| subproductId | Chỉ dành cho sản phẩm: chọn một tùy chọn cụ thể (biến thể Select Option) thay vì mặc định — dùng giá trị subproductId do action=inventory trả về cho dịch vụ này. Tùy chọn; không dùng cho dịch vụ tăng trưởng/SMM. | No |
| coupon | Mã giảm giá (lấy từ action=coupons hoặc trang cửa hàng). Tùy chọn. Mã được áp dụng cộng thêm vào mọi chiết khấu đại lý, với cùng điều kiện như khi thanh toán trên website; nếu không thể dùng mã, đơn hàng sẽ không được đặt và thông báo lỗi sẽ nêu lý do. | No |
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=1" \
-d "link=https://instagram.com/username" \
-d "quantity=1000"
# Product with multiple options: pick the subproductId from action=inventory
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=110469" \
-d "quantity=1" \
-d "subproductId=674a1f77bcf86cd799439012"
# With a coupon code from action=coupons
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=add" \
-d "service=110469" \
-d "quantity=10" \
-d "coupon=SAVE10"{
"order": 23501,
"entityType": "product",
"charge": "22.5000",
"couponDiscount": "2.5000",
"warrantyHours": 24
}charge is what was taken from your balance. couponDiscount is present only when a coupon was applied. warrantyHours (products only) is the after-sales window in hours counted from delivery, 0 = no after-sales; action=status returns the exact end time as warranty_expires_at.
Lấy trạng thái của một đơn hàng.
| Tham số | Mô tả |
|---|---|
| key | Khóa API của bạn |
| action | status |
| order | Mã đơn hàng |
curl -X POST https://hstockplus.net/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
}Đối với đơn hàng sản phẩm (ví dụ: tài khoản), khi đơn hàng được giao toàn bộ hoặc một phần, phản hồi bao gồm một mảng "accounts" chứa thông tin đăng nhập tài khoản đã giao (một chuỗi cho mỗi tài khoản). Đối với giao hàng một phần, chỉ các tài khoản đã giao cho đến thời điểm đó được trả về.
autoDelivery: true nếu đơn hàng được xử lý tự động (ví dụ: SMM, sản phẩm tự động/tồn kho); false nếu nhà cung cấp phải xử lý thủ công (có thể mất một thời gian).
{
"status": "Completed",
"charge": "10.00",
"start_count": 5,
"remains": 0,
"currency": "USD",
"entityType": "product",
"autoDelivery": true,
"accounts": [
"user1:pass1",
"user2:pass2"
]
}Đơn hàng đã hoàn tiền trả về Canceled, đơn hàng hoàn tiền một phần trả về Partial. Khi có bất kỳ khoản tiền nào được hoàn, phản hồi còn kèm "refunded" cho biết số tiền đã hoàn bằng USD.
Một số sản phẩm (ví dụ tài khoản Telegram kèm tệp lưu phiên) được giao dưới dạng tệp ZIP thay cho hoặc bên cạnh thông tin đăng nhập dạng văn bản. Khi đó phản hồi có mảng "files". Mỗi tệp là một mục đã giao. Tải tệp bằng action=order_file.
{
"status": "Completed",
"charge": "12.00",
"start_count": 0,
"remains": 0,
"currency": "USD",
"entityType": "product",
"autoDelivery": false,
"files": [
{
"id": "66e6b2f0c3a1d2e4f5a6b7c8",
"name": "sessions-001.zip",
"size": 482113,
"uploaded_at": "2026-09-15T08:30:00.000Z"
}
]
}Tải xuống một tệp giao hàng (ZIP) của đơn hàng. Khi thành công, nội dung phản hồi chính là tệp (Content-Type: application/zip); khi thất bại, phản hồi là JSON có trường "error".
| Tham số | Mô tả |
|---|---|
| key | Khóa API của bạn |
| action | order_file |
| order | Mã đơn hàng |
| file | ID tệp lấy từ mảng "files" của action=status |
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=order_file" \
-d "order=23501" \
-d "file=66e6b2f0c3a1d2e4f5a6b7c8" \
-o sessions-001.zip{
"error": "File not found"
}Hãy kiểm tra header Content-Type trước khi lưu: application/zip là tệp, application/json là lỗi.
Hủy một hoặc nhiều đơn hàng (định dạng batch tương thích với PerfectPanel). Mỗi đơn hàng đủ điều kiện sẽ được hoàn tiền vào số dư của bạn.
Tất cả những điều sau đây phải đúng. Sử dụng allowcancel để kiểm tra điều kiện đủ mà không cần xử lý hoàn tiền.
Giao hàng một phần sẽ được hoàn tiền tương ứng; các tài khoản đã giao vẫn được giữ lại.
| Tham số | Mô tả |
|---|---|
| key | Khóa API của bạn |
| action | cancel |
| orders | ID đơn hàng (cách nhau bằng dấu phẩy, tối đa 100 ID) |
curl -X POST https://hstockplus.net/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"
}
}
]Kiểm tra xem một hoặc nhiều đơn hàng có thể bị hủy ngay bây giờ không (cùng quy tắc đủ điều kiện như hủy, nhưng không xử lý hoàn tiền). Sử dụng trước khi gọi hủy để tránh các yêu cầu thất bại. Hỗ trợ ID đơn hàng hàng loạt (cách nhau bằng dấu phẩy, tối đa 100).
Tất cả những điều sau đây phải đúng. Sử dụng allowcancel để kiểm tra điều kiện đủ mà không cần xử lý hoàn tiền.
Khi allowcancel là 1, phản hồi sẽ bao gồm refundAmount (số tiền sẽ được hoàn lại khi hủy).
| Tham số | Mô tả |
|---|---|
| key | Khóa API của bạn |
| action | allowcancel |
| orders | ID đơn hàng (cách nhau bằng dấu phẩy, tối đa 100 ID) |
curl -X POST https://hstockplus.net/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"
}
]Lấy số dư hiện tại của bạn.
| Tham số | Mô tả |
|---|---|
| key | Khóa API của bạn |
| action | balance |
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=balance"{
"balance": "100.00",
"currency": "USD"
}Số lượng đơn hàng và tổng tiền trong một khoảng ngày, dùng để đối soát. Tính cùng các đơn hàng như trang Đơn hàng của bạn.
| Tham số | Mô tả |
|---|---|
| key | Khóa API của bạn |
| action | orders_summary |
| date_from | Tùy chọn — ngày đầu tiên, YYYY-MM-DD, bao gồm |
| date_to | Tùy chọn — ngày cuối cùng, YYYY-MM-DD, bao gồm |
| tz | Optional. Your timezone, as minutes east of UTC (480 for UTC+8) or +08:00. Days start at midnight in this timezone. Default UTC. |
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=orders_summary" \
-d "date_from=2026-10-31" \
-d "date_to=2026-10-31" \
-d "tz=480"{
"date_from": "2026-10-30T16:00:00.000Z",
"date_to": "2026-10-31T16:00:00.000Z",
"orders": 126,
"refunded_orders": 3,
"gross": "412.5000",
"refunded": "6.2000",
"net": "406.3000",
"currency": "USD"
}date_from and date_to echo the range as UTC instants (date_to is exclusive). Only paid orders are counted; unpaid and failed orders are ignored. orders is the number of paid orders, gross is what you paid, refunded is what came back to you, net = gross - refunded. Call at most once every 2 seconds.
Các điểm cuối chuyên dụng cho dịch vụ xác minh SMS.
Đơn SMS có ID đơn hàng riêng. Dùng sms_code, sms_status và sms_cancel với chúng; status, cancel và allowcancel chỉ dành cho đơn sản phẩm và đơn SMM.
Action: sms_projects
| Tham số | Mô tả |
|---|---|
| key | Khóa API của bạn |
| action | sms_projects |
| country | Tùy chọn. Lọc theo ID quốc gia (ví dụ 'us', 'gb') |
| lang | Mã ngôn ngữ tùy chọn; xem các mã được hỗ trợ ở mục Ngôn ngữ tùy chọn (lang) phía trên |
[
{
"project_id": "65f...",
"name": "OpenAI / ChatGPT",
"price": "0.5000",
"country_id": "us",
"country_title": "United States"
}
]Action: sms_countries
| Tham số | Mô tả |
|---|---|
| key | Khóa API của bạn |
| action | sms_countries |
| lang | Mã ngôn ngữ tùy chọn; xem các mã được hỗ trợ ở mục Ngôn ngữ tùy chọn (lang) phía trên |
[
{
"country_code": "+1",
"country_name": "United States"
},
{
"country_code": "+44",
"country_name": "United Kingdom"
}
]Action: add_sms
| Tham số | Mô tả | Bắt buộc |
|---|---|---|
| key | Khóa API của bạn | |
| action | add_sms | |
| project_id | ID dự án từ sms_projects | Có |
| quantity | Number of numbers (1-10) | No (Default 1) |
| country | Country: ISO code (e.g. 'us') or dial code from sms_countries (e.g. '+1') | No |
| phone | Số điện thoại cần dùng lại | No |
{
"orders": [
{
"order": 12345,
"phone": "4055123415",
"dial_code": "+1",
"phone_full": "+14055123415",
"country": "US",
"expires_at": "2026-01-01T12:15:00.000Z",
"status": "active"
}
]
}Action: sms_code
| Tham số | Mô tả |
|---|---|
| key | Khóa API của bạn |
| action | sms_code |
| order | Mã đơn hàng |
{
"status": "completed",
"code": "123456",
"sms_content": "Your verification code is 123456"
}
// OR
{
"status": "waiting",
"message": "Waiting for code"
}
// OR, once expires_at has passed without a code (call sms_cancel for a refund)
{
"status": "expired",
"message": "No code arrived before the number expired. Call action=sms_cancel for a refund."
}Action: sms_status
| Tham số | Mô tả |
|---|---|
| key | Khóa API của bạn |
| action | sms_status |
| order | Mã đơn hàng |
{
"status": "code_received",
"phone": "4055123415",
"dial_code": "+1",
"phone_full": "+14055123415",
"code": "123456",
"charge": "0.5000",
"currency": "USD",
"refunded": false,
"expires_at": "2026-01-01T12:15:00.000Z"
}
// status: phone_acquired | code_received | expired | releasedAction: sms_cancel
Giải phóng số điện thoại. Nếu chưa nhận được mã, toàn bộ khoản phí được hoàn về số dư của bạn, kể cả sau khi số đã hết hạn. Không thể hủy các đơn đã nhận được mã.
| Tham số | Mô tả |
|---|---|
| key | Khóa API của bạn |
| action | sms_cancel |
| order | ID đơn hàng từ add_sms |
{
"order": 12345,
"status": "cancelled",
"refunded": true,
"refund_amount": "0.5000",
"currency": "USD"
}
// OR
{
"error": "Verification code already received, cannot release"
}Các phản hồi lỗi phổ biến bạn có thể gặp phải.
{"error": "Invalid API key"}{"error": "Invalid action"}{"error": "Service ID is required"}{"error": "Insufficient balance"}{"error": "Order not found"}{"error": "Service not found"}Cần trợ giúp? Liên hệ với chúng tôi tại support@hstockplus.com