Loading HstockPlus
Selecione uma ação, preencha os parâmetros e envie uma solicitação. Quando estiver logado, sua chave de API é carregada automaticamente.
Atualiza automaticamente quando você altera a ação ou os parâmetros.
curl -X POST "https://hstockplus.net/api/v2" \
--data-urlencode "key=YOUR_API_KEY" \
--data-urlencode "action=categories"https://hstockplus.net/api/v2Todas as requisições da API devem ser enviadas via HTTP POST para este endpoint.
Limits are counted per API key. Only the two list actions below are limited.
| Ação | Limite |
|---|---|
| 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 | Sem limite |
| All other actions (add, status, balance, ...) | Sem limite |
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.
IMPORTANTE — URLs de imagens de produtos (imageUrl)
Quando o Media CDN estiver ativado, os campos imageUrl nas respostas de Lista de Serviços, Lista de Produtos e Informações de Subcategoria usarão o domínio CDN (https://cdn.hstockplus.org/...). Use essas URLs absolutas diretamente no seu aplicativo — não substitua por hstockplus.com ou hstockplus.net.
https://cdn.hstockplus.org/uploads/products/gmail.webpOpcional. Código do idioma de destino. Use um dos códigos suportados listados abaixo. Quando definido e diferente de en, os campos traduzíveis são retornados nesse idioma. Se uma tradução ainda não estiver disponível, a API retorna em inglês.
Códigos de idioma suportados
en(padrão — omita lang ou use en)zhdejapt-BRurbn-BDUse exatamente estes valores no parâmetro lang — alias: jp é aceito como ja.
Suportado em ações de leitura: categories, subcategory_info, services, products, inventory ((nomes de subprodutos)), sms_projects, e sms_countries. Omita lang ou use en para inglês.
Os parâmetros de filtro de categoria e subcategoria em serviços/produtos sempre usam nomes canônicos em inglês, mesmo quando lang está definido.
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services" \
-d "lang=zh"Obtenha todas as categorias e as subcategorias de cada categoria. Use esses valores para filtrar a Lista de Serviços por categoria ou subcategoria.
| Parâmetro | Descrição | Obrigatório |
|---|---|---|
| key | Sua chave de API | Sim |
| action | categories | Sim |
| lang | Código de idioma opcional — veja os códigos suportados em Idioma opcional (lang) acima. | 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"]
}
]
}Obter detalhes da subcategoria pelo subcategoryId, incluindo a categoria pai. Use o subcategoryId das linhas da Lista de Produtos.
| Parâmetro | Descrição | Obrigatório |
|---|---|---|
| key | Sua chave de API | Sim |
| action | subcategory_info | Sim |
| subcategoryId | ID da Subcategoria da Lista de Produtos | Sim |
| lang | Código de idioma opcional — veja os códigos suportados em Idioma opcional (lang) acima. | 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"
}
}Lista lojas ativas com informações básicas, contagem de produtos e avaliações. Os nomes das lojas são mascarados por privacidade.
| Parâmetro | Descrição | Obrigatório |
|---|---|---|
| key | Sua chave de API | Sim |
| action | shops | Sim |
| 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"Com paginação:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=shops" \
-d "page=1" \
-d "limit=20"Lista os cupons de todas as lojas que podem ser usados agora, com as condições de cada um. Passe um código como coupon em action=add. Cupons feitos só para a sua conta (por exemplo, uma cotação de preço por volume vinda de um ticket) estão incluídos e marcados como private.
| Parâmetro | Descrição | Obrigatório |
|---|---|---|
| key | Sua chave de API | Sim |
| action | coupons | Sim |
| shop | Somente cupons desta loja (shopId de 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
}| Campo | Significado |
|---|---|
| type / value | percentage: o valor é a porcentagem de desconto. fixed: o valor é o desconto em USD no pedido. Com quantityTiers, o valor é o da faixa mais baixa. |
| appliesTo | shop: qualquer produto desta loja. services: somente os produtos cujos números de serviço estão listados em services. Cupons de loja não se aplicam a serviços de crescimento (SMM). |
| minPurchase | O total do pedido antes dos descontos deve ser de pelo menos este valor em USD. |
| minQuantity | A quantidade do pedido deve ser no mínimo esta. |
| quantityTiers | Quanto maior a quantidade, maior o desconto; vale a faixa mais alta que a sua quantidade alcançar. |
| maxDiscount | O máximo em USD que o cupom desconta de um pedido (somente quando há limite). |
| maxUsesPerUser | Quantas vezes uma mesma conta pode usar o código (somente quando limitado). |
| remainingUses | Usos restantes somando todos os compradores. |
| expiresAt | O código deixa de funcionar depois deste horário (omitido quando não expira). |
| private | true quando o código foi feito somente para a sua conta. |
O cupom é abatido do valor que sobra depois do desconto de revendedor. Os campos opcionais são omitidos quando o cupom não tem essa condição.
Listar apenas produtos do marketplace (sem serviços SMM). Mesmos campos das linhas de produtos na Lista de Serviços, incluindo id (id da entidade do produto), service (número amigável do serviço), description e imageUrl. O campo opcional productIds retorna apenas esses produtos (números amigáveis de serviço da lista e/ou ids de entidade do produto, separados por vírgula ou array JSON, máximo 100). O campo opcional sort=sold ordena os resultados por unidades de pedidos pagos em ordem decrescente (mais vendidos primeiro).
| Parâmetro | Descrição | Obrigatório |
|---|---|---|
| key | Sua chave de API | Sim |
| action | products | Sim |
| page | Page number (default 1). Used when limit > 0. | No |
| limit | Items per page (default 0 = return all). | No |
| category | Filtra pelo nome da categoria (de Get Categories). Retorna apenas produtos dessa categoria. | No |
| subcategory | Filtra pelo nome da subcategoria (de Get Categories). Retorna apenas produtos dessa subcategoria. | No |
| shopId | Filtra pelo ID da loja (de Shops List); retorna apenas os produtos dessa loja | 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 – defina true para retornar apenas produtos com isRecommended === true | No |
| sort | Opcional. sold = ordenar por unidades pagas em ordem decrescente (mais vendidos primeiro). Omita para manter a ordem padrão do cache. | No |
| lang | Código de idioma opcional — veja os códigos suportados em Idioma opcional (lang) acima. | No |
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products"Filtrar por IDs de produto:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products" \
-d "productIds=2,5,9"Com paginação:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products" \
-d "page=1" \
-d "limit=50"Filtrar por categoria ou subcategoria:
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"Mais vendidos em uma subcategoria:
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"Apenas produtos recomendados:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products" \
-d "isRecommended=true"Obtenha todos os serviços disponíveis com paginação opcional. Cada linha inclui id (ID da entidade), service (número amigável do serviço), stock e entityType (smm ou product). O parâmetro opcional entityType retorna apenas linhas de product ou apenas de smm. Os parâmetros opcionais category e subcategory retornam apenas serviços nessa categoria ou subcategoria (valores da API Get Categories). O parâmetro opcional shopId retorna apenas produtos e serviços para essa loja (use o shopId da Shops List). O parâmetro opcional productIds retorna apenas as linhas correspondentes (números amigáveis do serviço e/ou IDs da entidade; corresponde a linhas de product ou smm). Use action=products para filtrar apenas produtos.
| Parâmetro | Descrição | Obrigatório |
|---|---|---|
| key | Sua chave de API | Sim |
| action | services | Sim |
| page | Page number (default 1). Used when limit > 0. | No |
| limit | Items per page (default 0 = return all). | No |
| category | Filtra pelo nome da categoria (de Get Categories). Retorna apenas serviços dessa categoria. | No |
| subcategory | Filtra pelo nome da subcategoria (de Get Categories). Retorna apenas serviços dessa subcategoria. | No |
| shopId | Filtra pelo ID da loja (de Shops List). Retorna apenas os produtos e serviços SMM dessa loja. | No |
| entityType | Filtro opcional: product ou smm. Retorna apenas produtos de marketplace ou apenas serviços SMM. | No |
| productIds | Lista opcional de IDs (números de serviço amigáveis e/ou IDs de entidade). Separados por vírgula, array JSON ou campos repetidos. Retorna as linhas de produto ou smm correspondentes. Use action=products somente para produtos. | No |
| lang | Código de idioma opcional — veja os códigos suportados em Idioma opcional (lang) acima. | No |
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services" \
-d "lang=zh"Com paginação:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services" \
-d "page=1" \
-d "limit=50"Filtrar por categoria ou subcategoria:
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"Filtrar por tipo de entidade:
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
}Cada linha inclui id (id da entidade) e service (número de serviço amigável para pedidos), stock, entityType (smm ou product) e autoDelivery. Linhas de produto também incluem description, imageUrl, isRecommended e subcategoryId. Quando limit é 0 ou omitido, todos os serviços são retornados e page/limit igualam o total.
As linhas de produto também trazem os números exibidos na página do produto: service é o número do produto (#48071 na página), sellerRating e sellerReviewCount são a nota em estrelas do vendedor e a quantidade de avaliações, returningBuyerRate é a parcela de compradores recorrentes do vendedor (0.52 = 52%), sold é a quantidade de unidades vendidas e warrantyHours é a janela de pós-venda em horas contadas a partir da entrega (0 = sem pós-venda). sellerRating, sellerReviewCount e returningBuyerRate são omitidos quando o vendedor não tem avaliação ou tem poucos compradores.
Obtém o estoque e a disponibilidade atuais de um serviço pelo ID (o mesmo ID da lista de serviços). Para produtos do marketplace, o JSON inclui subproducts: um array de variantes ativas, cada uma com subproductId, name, stock (estoque exibido dessa variante) e seu próprio preço e limites de pedido: available, rate, min, max e packs para opções vendidas em pacotes fixos.
| Parâmetro | Descrição | Obrigatório |
|---|---|---|
| key | Sua chave de API | Sim |
| action | inventory | Sim |
| service | ID do serviço (da lista de serviços) | Sim |
| lang | Código de idioma opcional — veja os códigos suportados em Idioma opcional (lang) acima. | 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
}A resposta inclui rate (por unidade, mesmo formato de string da lista de serviços), entityType (smm ou product) e autoDelivery (true = entrega automática, false = fornecedor atende manualmente). Para serviços de produto, min e max correspondem à linha do subproduto principal na lista de serviços; se esse subproduto não puder atender ao seu pedido de adição, a plataforma pode selecionar outro subproduto e cobrar seu preço unitário. A matriz subproducts lista todas as variantes ativas com estoque exibido; respostas de inventário SMM omitem subproducts.
Cada subproduto tem seu próprio rate, min e max: é o preço unitário e a faixa de quantidade que o add cobra quando você informa esse subproductId, antes de qualquer desconto de revendedor na sua conta. Para opções vendidas em pacotes fixos, packs lista cada pacote em estoque (quantity, total price, discountPercent) e você deve pedir uma dessas quantidades; rate, min e max passam a descrever o menor pacote.
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.
| Parâmetro | Descrição | Obrigatório |
|---|---|---|
| key | Sua chave de API | Sim |
| action | add | Sim |
| service | ID do Serviço | Sim |
| link | Link: para pedidos SMM (ex.: seguidores, curtidas, comentários): obrigatório — URL ou link do conteúdo (ex.: URL de uma publicação do Instagram). Para pedidos de produtos (ex.: contas): opcional — e-mail de entrega ou referência; se vazio, o sistema usa o e-mail da sua conta. | No |
| quantity | Quantidade a pedir | Sim |
| subproductId | Somente produtos: escolhe uma opção específica (variante Select Option) em vez da padrão — use o valor de subproductId retornado por action=inventory para este serviço. Opcional; não usado em serviços de crescimento/SMM. | No |
| coupon | Código do cupom (de action=coupons ou de uma página de loja). Opcional. Ele vale além de qualquer desconto de revendedor, com as mesmas condições do checkout no site; se o código não puder ser usado, o pedido não é feito e o erro explica o motivo. | 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.
Obtenha o status de um pedido.
| Parâmetro | Descrição |
|---|---|
| key | Sua chave de API |
| action | status |
| order | ID do Pedido |
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
}Para pedidos de produtos (ex.: contas), quando o pedido é entregue total ou parcialmente, a resposta inclui um array "accounts" com as credenciais das contas entregues (uma string por conta). Para entregas parciais, apenas as contas entregues até o momento são retornadas.
autoDelivery: true se o pedido for atendido automaticamente (ex.: SMM, produtos automáticos/de inventário); false se o fornecedor precisar atender manualmente (pode levar algum tempo).
{
"status": "Completed",
"charge": "10.00",
"start_count": 5,
"remains": 0,
"currency": "USD",
"entityType": "product",
"autoDelivery": true,
"accounts": [
"user1:pass1",
"user2:pass2"
]
}Um pedido reembolsado retorna Canceled, e um pedido parcialmente reembolsado retorna Partial. Quando algum valor foi reembolsado, a resposta também traz "refunded" com o valor reembolsado em USD.
Alguns produtos (por exemplo, contas do Telegram com arquivos de sessão) são entregues como arquivos ZIP em vez de, ou além de, credenciais em texto. A resposta então inclui um array "files". Cada arquivo é um item entregue. Baixe um arquivo com 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"
}
]
}Baixe um arquivo de entrega (ZIP) do seu pedido. Em caso de sucesso, o corpo da resposta é o próprio arquivo (Content-Type: application/zip); em caso de falha, é um JSON com o campo "error".
| Parâmetro | Descrição |
|---|---|
| key | Sua chave de API |
| action | order_file |
| order | ID do Pedido |
| file | ID do arquivo do array "files" de 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"
}Verifique o cabeçalho Content-Type antes de salvar: application/zip significa o arquivo, application/json significa um erro.
Cancelar um ou mais pedidos (formato de lote compatível com PerfectPanel). Cada pedido elegível é reembolsado no seu saldo.
Todas as condições a seguir devem ser verdadeiras. Use allowcancel para verificar a elegibilidade sem processar um reembolso.
Entrega parcial gera um reembolso parcial proporcional; as contas entregues são mantidas.
| Parâmetro | Descrição |
|---|---|
| key | Sua chave de API |
| action | cancel |
| orders | IDs de Pedidos (separados por vírgula, até 100 IDs) |
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"
}
}
]Verifique se um ou mais pedidos podem ser cancelados agora (mesmas regras de elegibilidade do cancelamento, mas sem processar reembolso). Use antes de chamar o cancelamento para evitar requisições com falha. Suporta IDs de pedidos em lote (separados por vírgula, até 100).
Todas as condições a seguir devem ser verdadeiras. Use allowcancel para verificar a elegibilidade sem processar um reembolso.
Quando allowcancel é 1, a resposta inclui refundAmount (o valor que o cancelamento reembolsaria).
| Parâmetro | Descrição |
|---|---|
| key | Sua chave de API |
| action | allowcancel |
| orders | IDs de Pedidos (separados por vírgula, até 100 IDs) |
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"
}
]Obtenha seu saldo atual.
| Parâmetro | Descrição |
|---|---|
| key | Sua chave de API |
| action | balance |
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=balance"{
"balance": "100.00",
"currency": "USD"
}Order count and totals for a date range, for reconciliation. Counts the same orders as the Your orders page.
| Parâmetro | Descrição |
|---|---|
| key | Sua chave de API |
| action | orders_summary |
| date_from | Optional. First day, YYYY-MM-DD, inclusive. |
| date_to | Optional. Last day, YYYY-MM-DD, inclusive. |
| 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.
Endpoints dedicados para serviços de verificação por SMS.
Os pedidos de SMS têm IDs próprios. Use sms_code, sms_status e sms_cancel com eles; status, cancel e allowcancel servem apenas para pedidos de produtos e SMM.
Action: sms_projects
| Parâmetro | Descrição |
|---|---|
| key | Sua chave de API |
| action | sms_projects |
| country | Opcional: filtra pelo ID do país (ex.: 'us', 'gb') |
| lang | Código de idioma opcional — veja os códigos suportados em Idioma opcional (lang) acima. |
[
{
"project_id": "65f...",
"name": "OpenAI / ChatGPT",
"price": "0.5000",
"country_id": "us",
"country_title": "United States"
}
]Action: sms_countries
| Parâmetro | Descrição |
|---|---|
| key | Sua chave de API |
| action | sms_countries |
| lang | Código de idioma opcional — veja os códigos suportados em Idioma opcional (lang) acima. |
[
{
"country_code": "+1",
"country_name": "United States"
},
{
"country_code": "+44",
"country_name": "United Kingdom"
}
]Action: add_sms
| Parâmetro | Descrição | Obrigatório |
|---|---|---|
| key | Sua chave de API | |
| action | add_sms | |
| project_id | ID do projeto de sms_projects | Sim |
| 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 | Número de telefone a reutilizar | 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
| Parâmetro | Descrição |
|---|---|
| key | Sua chave de API |
| action | sms_code |
| order | ID do Pedido |
{
"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
| Parâmetro | Descrição |
|---|---|
| key | Sua chave de API |
| action | sms_status |
| order | ID do Pedido |
{
"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
Libera o número. Se nenhum código foi recebido, o valor total é reembolsado ao seu saldo, inclusive depois que o número expirou. Pedidos que já receberam um código não podem ser cancelados.
| Parâmetro | Descrição |
|---|---|
| key | Sua chave de API |
| action | sms_cancel |
| order | ID do pedido de add_sms |
{
"order": 12345,
"status": "cancelled",
"refunded": true,
"refund_amount": "0.5000",
"currency": "USD"
}
// OR
{
"error": "Verification code already received, cannot release"
}Respostas de erro comuns que você pode encontrar.
{"error": "Invalid API key"}{"error": "Invalid action"}{"error": "Service ID is required"}{"error": "Insufficient balance"}{"error": "Order not found"}{"error": "Service not found"}Precisa de ajuda? Entre em contato conosco em support@hstockplus.com