Loading HstockPlus
Выберите действие, заполните параметры и отправьте запрос. Если вы авторизованы, ваш API-ключ загружается автоматически.
Автоматически обновляется при изменении действия или параметров.
curl -X POST "https://hstockplus.net/api/v2" \
--data-urlencode "key=YOUR_API_KEY" \
--data-urlencode "action=categories"https://hstockplus.net/api/v2Все запросы API должны отправляться через HTTP POST на эту конечную точку.
ВАЖНО — URL-адреса изображений товаров (imageUrl)
Когда Media CDN включён, поля imageUrl в ответах Services List, Products List и Subcategory Info используют домен CDN (https://cdn.hstockplus.org/...). Используйте эти абсолютные URL напрямую в вашем приложении — не заменяйте их на hstockplus.com или hstockplus.net.
https://cdn.hstockplus.org/uploads/products/gmail.webpНеобязательно. Код целевого языка. Используйте один из поддерживаемых кодов, перечисленных ниже. Если указан и не равен en, переводимые поля возвращаются на этом языке. Если перевод ещё недоступен, API возвращает английский.
Поддерживаемые коды языков
en(default — опустите lang или используйте en)zhdejapt-BRurbn-BDИспользуйте эти значения для параметра lang; алиас jp принимается как ja
Поддерживается для операций чтения: categories, subcategory_info, services, products, inventory ((названия подпродуктов)), sms_projects, и sms_countries. Пропустите lang или используйте en для английского.
Параметры фильтрации категорий и подкатегорий для услуг/товаров всегда используют канонические английские названия, даже если установлен язык.
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services" \
-d "lang=zh"Получить все категории и подкатегории каждой категории. Используйте эти значения для фильтрации списка услуг по категории или подкатегории.
| Параметр | Описание | Требуется |
|---|---|---|
| key | Ваш API-ключ | Да |
| action | categories | Да |
| lang | Необязательный код языка — поддерживаемые коды указаны выше в «Язык (lang)» | 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"]
}
]
}Получить детали подкатегории по subcategoryId, включая родительскую категорию. Используйте subcategoryId из строк списка продуктов.
| Параметр | Описание | Требуется |
|---|---|---|
| key | Ваш API-ключ | Да |
| action | subcategory_info | Да |
| subcategoryId | Идентификатор подкатегории из списка продуктов | Да |
| lang | Необязательный код языка — поддерживаемые коды указаны выше в «Язык (lang)» | 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"
}
}Список активных магазинов с основной информацией, количеством товаров и оценками отзывов. Названия магазинов скрыты для конфиденциальности.
| Параметр | Описание | Требуется |
|---|---|---|
| key | Ваш API-ключ | Да |
| action | shops | Да |
| 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"С пагинацией:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=shops" \
-d "page=1" \
-d "limit=20"Список купонов всех магазинов, которые можно использовать прямо сейчас, с условиями каждого. Передайте код как coupon в action=add. Коды, созданные только для вашего аккаунта (например, оптовое предложение из тикета), включены и помечены как private.
| Параметр | Описание | Требуется |
|---|---|---|
| key | Ваш API-ключ | Да |
| action | coupons | Да |
| shop | Только купоны этого магазина (shopId из 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
}| Поле | Значение |
|---|---|
| type / value | percentage: значение — скидка в процентах. fixed: значение — скидка на заказ в USD. При наличии quantityTiers значение — это самый низкий уровень. |
| appliesTo | shop: любой товар этого магазина. services: только товары, номера которых перечислены в services. Купоны магазина не действуют на услуги роста (SMM). |
| minPurchase | Сумма заказа до скидок должна быть не меньше этого количества USD. |
| minQuantity | Количество в заказе должно быть не меньше этого значения. |
| quantityTiers | Чем больше количество, тем выше скидка; применяется самый высокий уровень, которого достигает ваше количество. |
| maxDiscount | Максимум в USD, который купон снимает с одного заказа (только если задан предел). |
| maxUsesPerUser | Сколько раз один аккаунт может использовать код (только если есть лимит). |
| remainingUses | Осталось использований среди всех покупателей. |
| expiresAt | Код перестаёт действовать по истечении этого времени (опускается, если срока нет). |
| private | true, если код создан только для вашего аккаунта. |
Купон вычитается из суммы, оставшейся после скидки реселлера. Необязательные поля опускаются, если у купона нет соответствующего условия.
Список только товаров маркетплейса (без SMM-услуг). Те же поля, что и в строках товаров в списке услуг, включая id (идентификатор сущности товара), service (дружественный номер услуги), description и imageUrl. Необязательный параметр productIds возвращает только указанные товары (дружественные номера услуг из списка и/или идентификаторы сущностей товаров, разделенные запятыми или JSON-массивом, макс. 100). Необязательный параметр sort=sold сортирует результаты по убыванию количества оплаченных заказов (сначала самые продаваемые).
| Параметр | Описание | Требуется |
|---|---|---|
| key | Ваш API-ключ | Да |
| action | products | Да |
| page | Page number (default 1). Used when limit > 0. | No |
| limit | Items per page (default 0 = return all). | No |
| category | Фильтр по названию категории (из Get Categories). Возвращает только товары этой категории. | No |
| subcategory | Фильтр по названию подкатегории (из Get Categories). Возвращает только товары этой подкатегории. | No |
| shopId | Фильтр по ID магазина (из Shops List) — только товары этого магазина | 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 | Необязательно – укажите true, чтобы вернуть только товары с isRecommended === true | No |
| sort | Необязательно. sold = сортировка по убыванию количества оплаченных заказов (сначала самые продаваемые). Оставьте пустым для сохранения порядка кэша по умолчанию. | No |
| lang | Необязательный код языка — поддерживаемые коды указаны выше в «Язык (lang)» | No |
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products"Фильтр по ID товаров:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products" \
-d "productIds=2,5,9"С пагинацией:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products" \
-d "page=1" \
-d "limit=50"Фильтр по категории или подкатегории:
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"Самые продаваемые в подкатегории:
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"Только рекомендуемые товары:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products" \
-d "isRecommended=true"Получить все доступные услуги с опциональной пагинацией. Каждая строка содержит id (идентификатор сущности), service (дружественный номер услуги), stock и entityType (smm или product). Опциональный параметр entityType возвращает только строки product или только smm. Опциональные параметры category и subcategory возвращают только услуги в указанной категории или подкатегории (значения из API Get Categories). Опциональный параметр shopId возвращает только товары и услуги для указанного магазина (используйте shopId из Shops List). Опциональный параметр productIds возвращает только соответствующие строки (дружественные номера услуг и/или идентификаторы сущностей; совпадает со строками product или smm). Используйте action=products для фильтрации только товаров.
| Параметр | Описание | Требуется |
|---|---|---|
| key | Ваш API-ключ | Да |
| action | services | Да |
| page | Page number (default 1). Used when limit > 0. | No |
| limit | Items per page (default 0 = return all). | No |
| category | Фильтр по названию категории (из Get Categories). Возвращает только услуги этой категории. | No |
| subcategory | Фильтр по названию подкатегории (из Get Categories). Возвращает только услуги этой подкатегории. | No |
| shopId | Фильтр по ID магазина (из Shops List). Возвращает только товары и SMM-услуги этого магазина. | No |
| entityType | Необязательный фильтр: товары или SMM. Возвращает только товары маркетплейса или только SMM-услуги. | No |
| productIds | Необязательный список ID (удобные номера услуг и/или ID сущностей). Через запятую, JSON-массивом или повторяющимися полями. Возвращает подходящие строки товаров или SMM. Для одних только товаров используйте action=products. | No |
| lang | Необязательный код языка — поддерживаемые коды указаны выше в «Язык (lang)» | No |
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services" \
-d "lang=zh"С пагинацией:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services" \
-d "page=1" \
-d "limit=50"Фильтр по категории или подкатегории:
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"Фильтр по типу сущности:
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
}Каждая строка включает id (идентификатор сущности) и service (понятный номер услуги для заказов), stock, entityType (smm или product), а также autoDelivery. Строки товаров также содержат description, imageUrl, isRecommended и subcategoryId. Если limit равен 0 или опущен, возвращаются все услуги, а page/limit равны общему количеству.
Строки товаров также содержат данные со страницы товара: service — номер товара (#48071 на странице), sellerRating и sellerReviewCount — звёздный рейтинг продавца и число отзывов о нём, returningBuyerRate — доля повторных покупателей продавца (0.52 = 52%), sold — число проданных единиц, warrantyHours — срок послепродажной поддержки в часах с момента доставки (0 = без поддержки). sellerRating, sellerReviewCount и returningBuyerRate опускаются, если у продавца нет рейтинга или слишком мало покупателей.
Возвращает текущий запас и доступность услуги по её ID (тот же ID, что и в списке услуг). Для товаров маркетплейса в JSON есть subproducts: массив активных вариантов, у каждого subproductId, name, stock (отображаемый запас варианта) и собственные цена и лимиты заказа: available, rate, min, max, а для вариантов, продаваемых фиксированными пакетами, ещё и packs.
| Параметр | Описание | Требуется |
|---|---|---|
| key | Ваш API-ключ | Да |
| action | inventory | Да |
| service | ID услуги (из списка услуг) | Да |
| lang | Необязательный код языка — поддерживаемые коды указаны выше в «Язык (lang)» | 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
}Ответ включает rate (за единицу, в том же строковом формате, что и список услуг), entityType (smm или product) и autoDelivery (true = автоматическая доставка, false = поставщик выполняет вручную). Для услуг типа product значения min и max соответствуют основной строке подпродукта в списке услуг; если этот подпродукт не может выполнить ваш дополнительный заказ, платформа может выбрать другой подпродукт и взимать его цену за единицу. Массив subproducts содержит список всех активных вариантов с отображаемым остатком; ответы по инвентаризации SMM не включают subproducts.
У каждого подтовара свои rate, min и max: это цена за единицу и диапазон количества, по которым add списывает средства при передаче этого subproductId, до учёта скидки реселлера на вашем аккаунте. Для вариантов, продаваемых фиксированными пакетами, packs перечисляет каждый пакет в наличии (quantity, общая цена, discountPercent), и заказывать нужно одно из этих количеств; rate, min и max при этом описывают самый маленький пакет.
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.
| Параметр | Описание | Требуется |
|---|---|---|
| key | Ваш API-ключ | Да |
| action | add | Да |
| service | Идентификатор услуги | Да |
| link | Link: для SMM-заказов (подписчики, лайки, комментарии и т. д.) обязательно — URL или ссылка на контент (например, на пост в Instagram). Для заказов товаров (например, аккаунтов) необязательно — email для доставки или пометка; если пусто, система использует email вашего аккаунта. | No |
| quantity | Количество для заказа | Да |
| subproductId | Только для товаров: выбор конкретной опции (варианта Select Option) вместо опции по умолчанию — используйте значение subproductId, полученное из action=inventory для этой услуги. Необязательно; для услуг роста/SMM не используется. | No |
| coupon | Код купона (из action=coupons или со страницы магазина). Необязательно. Применяется поверх любой скидки реселлера, на тех же условиях, что и при оформлении заказа на сайте; если код использовать нельзя, заказ не создаётся, а в ошибке указана причина. | 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.
Получить статус заказа.
| Параметр | Описание |
|---|---|
| key | Ваш API-ключ |
| action | status |
| order | Идентификатор заказа |
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
}Для заказов на продукты (например, аккаунты), когда заказ полностью или частично выполнен, ответ включает массив "accounts" с данными для доставленных аккаунтов (одна строка на аккаунт). При частичной доставке возвращаются только аккаунты, доставленные на данный момент.
autoDelivery: true, если заказ выполняется автоматически (например, SMM, товары с авто/инвентаризацией); false, если поставщик должен выполнить вручную (может занять некоторое время).
{
"status": "Completed",
"charge": "10.00",
"start_count": 5,
"remains": 0,
"currency": "USD",
"entityType": "product",
"autoDelivery": true,
"accounts": [
"user1:pass1",
"user2:pass2"
]
}Возвращённый заказ получает статус Canceled, частично возвращённый — Partial. Если были возвращены деньги, в ответе также есть поле "refunded" с суммой возврата в USD.
Некоторые товары (например, аккаунты Telegram с архивами сессий) доставляются ZIP-файлами вместо текстовых данных или вместе с ними. Тогда в ответе есть массив "files". Каждый файл — это один доставленный элемент. Скачать файл можно через 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"
}
]
}Скачивает один файл доставки (ZIP) вашего заказа. При успехе тело ответа — сам файл (Content-Type: application/zip); при ошибке — JSON с полем "error".
| Параметр | Описание |
|---|---|
| key | Ваш API-ключ |
| action | order_file |
| order | Идентификатор заказа |
| file | ID файла из массива "files" в ответе 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"
}Перед сохранением проверьте заголовок Content-Type: application/zip означает файл, application/json — ошибку.
Отменить один или несколько заказов (пакетный формат, совместимый с PerfectPanel). Каждый подходящий заказ возмещается на ваш баланс.
Все перечисленные ниже условия должны быть выполнены. Используйте allowcancel для проверки возможности отмены без обработки возврата.
Частичная выдача приводит к пропорциональному частичному возврату; выданные аккаунты сохраняются.
| Параметр | Описание |
|---|---|
| key | Ваш API-ключ |
| action | cancel |
| orders | ID заказов (через запятую, до 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"
}
}
]Проверить, можно ли отменить один или несколько заказов прямо сейчас (те же правила допуска, что и для отмены, но без обработки возврата). Используйте перед вызовом cancel, чтобы избежать неудачных запросов. Поддерживает пакетные ID заказов (через запятую, до 100).
Все перечисленные ниже условия должны быть выполнены. Используйте allowcancel для проверки возможности отмены без обработки возврата.
Когда allowcancel равен 1, ответ включает refundAmount (сумму, которую вернула бы отмена).
| Параметр | Описание |
|---|---|
| key | Ваш API-ключ |
| action | allowcancel |
| orders | ID заказов (через запятую, до 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"
}
]Получите ваш текущий баланс.
| Параметр | Описание |
|---|---|
| key | Ваш API-ключ |
| action | balance |
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=balance"{
"balance": "100.00",
"currency": "USD"
}Выделенные конечные точки для услуг SMS-верификации.
У SMS-заказов собственные ID. Для них используйте sms_code, sms_status и sms_cancel; status, cancel и allowcancel работают только с заказами товаров и SMM.
Action: sms_projects
| Параметр | Описание |
|---|---|
| key | Ваш API-ключ |
| action | sms_projects |
| country | Необязательно. Фильтр по ID страны (например 'us', 'gb') |
| lang | Необязательный код языка — поддерживаемые коды указаны выше в «Язык (lang)» |
[
{
"project_id": "65f...",
"name": "OpenAI / ChatGPT",
"price": "0.5000",
"country_id": "us",
"country_title": "United States"
}
]Action: sms_countries
| Параметр | Описание |
|---|---|
| key | Ваш API-ключ |
| action | sms_countries |
| lang | Необязательный код языка — поддерживаемые коды указаны выше в «Язык (lang)» |
[
{
"country_code": "+1",
"country_name": "United States"
},
{
"country_code": "+44",
"country_name": "United Kingdom"
}
]Action: add_sms
| Параметр | Описание | Требуется |
|---|---|---|
| key | Ваш API-ключ | |
| action | add_sms | |
| project_id | ID проекта из sms_projects | Да |
| 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 | Номер телефона для повторного использования | 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
| Параметр | Описание |
|---|---|
| key | Ваш API-ключ |
| action | sms_code |
| order | Идентификатор заказа |
{
"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
| Параметр | Описание |
|---|---|
| key | Ваш API-ключ |
| action | sms_status |
| order | Идентификатор заказа |
{
"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
Освобождает номер. Если код не пришёл, на баланс возвращается вся сумма, в том числе после истечения срока номера. Заказы, по которым код уже получен, отменить нельзя.
| Параметр | Описание |
|---|---|
| key | Ваш API-ключ |
| action | sms_cancel |
| order | ID заказа из add_sms |
{
"order": 12345,
"status": "cancelled",
"refunded": true,
"refund_amount": "0.5000",
"currency": "USD"
}
// OR
{
"error": "Verification code already received, cannot release"
}Распространенные сообщения об ошибках, с которыми вы можете столкнуться.
{"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.com