Loading HstockPlus
Wähle eine Aktion aus, fülle die Parameter aus und sende eine Anfrage. Wenn du eingeloggt bist, wird dein API-Schlüssel automatisch geladen.
Wird automatisch aktualisiert, wenn Sie Aktion oder Parameter ändern.
curl -X POST "https://hstockplus.net/api/v2" \
--data-urlencode "key=YOUR_API_KEY" \
--data-urlencode "action=categories"https://hstockplus.net/api/v2Alle API-Anfragen sollten über HTTP POST an diesen Endpunkt gesendet werden.
Limits werden pro API-Key gezählt — nur die beiden Listenaktionen unten sind begrenzt
| Aktion | Limit |
|---|---|
| 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 | Kein Limit |
| Alle anderen Aktionen (add, status, balance …) | Kein Limit |
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.
WICHTIG — Produktbild-URLs (imageUrl)
Wenn Media CDN aktiviert ist, verwenden die Felder imageUrl in den Antworten von Services List, Products List und Subcategory Info die CDN-Domain (https://cdn.hstockplus.org/...). Verwenden Sie diese absoluten URLs direkt in Ihrer App – ersetzen Sie sie nicht durch hstockplus.com oder hstockplus.net.
https://cdn.hstockplus.org/uploads/products/gmail.webpOptional. Zielsprachencode. Verwenden Sie einen der unten aufgeführten unterstützten Codes. Wenn gesetzt und nicht en, werden übersetzbare Felder in dieser Sprache zurückgegeben. Falls eine Übersetzung noch nicht verfügbar ist, gibt die API Englisch zurück.
Unterstützte Sprachcodes
en(Standardmäßig — Sprache weglassen oder „en“ verwenden)zhdejapt-BRurbn-BDde
Unterstützt bei Leseaktionen: categories, subcategory_info, services, products, inventory ((Unterproduktnamen)), sms_projects, und sms_countries. Verwende "lang" nicht oder nutze "en" für Englisch.
Die Filterparameter für Kategorien und Unterkategorien bei Dienstleistungen/Produkten verwenden immer die kanonischen englischen Bezeichnungen, selbst wenn die Sprache (lang) festgelegt ist.
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services" \
-d "lang=zh"Rufe alle Kategorien und deren Unterkategorien ab. Verwende diese Werte, um die Dienstleistungsliste nach Kategorie oder Unterkategorie zu filtern.
| Parameter | Beschreibung | Erforderlich |
|---|---|---|
| key | Ihr API-Schlüssel | Ja |
| action | categories | Ja |
| lang | de | 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"]
}
]
}Rufen Sie die Details der Unterkategorie anhand der subcategoryId ab, einschließlich der übergeordneten Kategorie. Verwenden Sie die subcategoryId aus den Zeilen der Produktliste.
| Parameter | Beschreibung | Erforderlich |
|---|---|---|
| key | Ihr API-Schlüssel | Ja |
| action | subcategory_info | Ja |
| subcategoryId | Produktlisten-Unterkategorie-ID | Ja |
| lang | de | 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"
}
}Liste der aktiven Shops mit grundlegenden Informationen, Produktanzahl und Bewertungen. Die Shop-Namen sind aus Datenschutzgründen anonymisiert.
| Parameter | Beschreibung | Erforderlich |
|---|---|---|
| key | Ihr API-Schlüssel | Ja |
| action | shops | Ja |
| 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"Mit Paginierung:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=shops" \
-d "page=1" \
-d "limit=20"Listet die Gutscheincodes aller Shops auf, die jetzt verwendet werden können, mit den jeweils nötigen Bedingungen. Übergeben Sie einen Code als coupon an action=add. Codes, die nur für Ihren Account erstellt wurden (z. B. ein Mengenpreis-Angebot aus einem Ticket), sind enthalten und als private markiert.
| Parameter | Beschreibung | Erforderlich |
|---|---|---|
| key | Ihr API-Schlüssel | Ja |
| action | coupons | Ja |
| shop | Nur die Gutscheine dieses Shops (shopId aus 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
}| Feld | Bedeutung |
|---|---|
| type / value | percentage: value ist der Prozentabzug. fixed: value ist der Abzug in USD von der Bestellung. Mit quantityTiers ist value die niedrigste Staffel. |
| appliesTo | shop: jedes Produkt dieses Shops. services: nur die Produkte, deren Service-Nummern in services aufgeführt sind. Shop-Gutscheine gelten nicht für Growth-Services (SMM). |
| minPurchase | Die Bestellsumme vor Rabatten muss mindestens so viele USD betragen. |
| minQuantity | Die Bestellmenge muss mindestens so groß sein. |
| quantityTiers | Je größer die Menge, desto höher der Rabatt; es gilt die höchste Staffel, die Ihre Menge erreicht. |
| maxDiscount | Höchstbetrag in USD, den der Gutschein bei einer Bestellung abzieht (nur bei Begrenzung). |
| maxUsesPerUser | Wie oft ein Account den Code verwenden darf (nur bei Begrenzung). |
| remainingUses | Verbleibende Verwendungen bei allen Käufern zusammen. |
| expiresAt | Nach diesem Zeitpunkt funktioniert der Code nicht mehr (entfällt, wenn er nicht abläuft). |
| private | true, wenn der Code nur für Ihren Account erstellt wurde. |
Ein Gutschein wird von dem Betrag abgezogen, der nach Ihrem Wiederverkäufer-Rabatt übrig bleibt. Optionale Felder entfallen, wenn der Gutschein keine entsprechende Bedingung hat.
Nur Marktplatzprodukte auflisten (keine SMM-Dienste). Gleiche Felder wie Produktzeilen in der Dienstleistungsliste, einschließlich id (Produktentitäts-ID), service (freundliche Dienstnummer), description und imageUrl. Optional productIds gibt nur diese Produkte zurück (freundliche Dienstnummern aus der Liste und/oder Produktentitäts-IDs, kommagetrennt oder als JSON-Array, max. 100). Optional sort=sold sortiert Ergebnisse nach bezahlten Bestelleinheiten absteigend (Bestseller zuerst).
| Parameter | Beschreibung | Erforderlich |
|---|---|---|
| key | Ihr API-Schlüssel | Ja |
| action | products | Ja |
| page | Page number (default 1). Used when limit > 0. | No |
| limit | Items per page (default 0 = return all). | No |
| category | Nach Kategoriename filtern (aus Get Categories). Gibt nur Produkte dieser Kategorie zurück. | No |
| subcategory | Nach Unterkategoriename filtern (aus Get Categories). Gibt nur Produkte dieser Unterkategorie zurück. | No |
| shopId | Nach Shop-ID filtern (aus Shops List) — gibt nur die Produkte dieses Shops zurück | 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 | Optional – auf true setzen, um nur Produkte mit isRecommended === true zurückzugeben | No |
| sort | Optional. sold = absteigend nach bezahlten Bestelleinheiten sortieren (Bestseller zuerst). Auslassen, um die Standard-Cache-Reihenfolge beizubehalten. | No |
| lang | de | No |
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products"Nach Produkt-IDs filtern:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products" \
-d "productIds=2,5,9"Mit Paginierung:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products" \
-d "page=1" \
-d "limit=50"Nach Kategorie oder Unterkategorie filtern:
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"Bestseller in einer Unterkategorie:
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"Nur empfohlene Produkte:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=products" \
-d "isRecommended=true"Rufen Sie alle verfügbaren Dienste mit optionaler Paginierung ab. Jede Zeile enthält id (Entitäts-ID), service (freundliche Dienstnummer), stock und entityType (smm oder product). Optionaler entityType-Parameter gibt nur Produkt- oder nur SMM-Zeilen zurück. Optionale Kategorie- und Unterkategorie-Parameter geben nur Dienste in dieser Kategorie oder Unterkategorie zurück (Werte aus der Get Categories API). Optionaler shopId-Parameter gibt nur Produkte und Dienste für diesen Shop zurück (verwenden Sie shopId aus der Shops List). Optionaler productIds-Parameter gibt nur übereinstimmende Zeilen zurück (freundliche Dienstnummern und/oder Entitäts-IDs; stimmt mit Produkt- oder SMM-Zeilen überein). Verwenden Sie action=products, um nur Produkte zu filtern.
| Parameter | Beschreibung | Erforderlich |
|---|---|---|
| key | Ihr API-Schlüssel | Ja |
| action | services | Ja |
| page | Page number (default 1). Used when limit > 0. | No |
| limit | Items per page (default 0 = return all). | No |
| category | Nach Kategoriename filtern (aus Get Categories). Gibt nur Services dieser Kategorie zurück. | No |
| subcategory | Nach Unterkategoriename filtern (aus Get Categories). Gibt nur Services dieser Unterkategorie zurück. | No |
| shopId | Nach Shop-ID filtern (aus Shops List). Gibt nur die Produkte und SMM-Services dieses Shops zurück. | No |
| entityType | Optionaler Filter: Produkt oder SMM. Gibt nur Marktplatzprodukte oder nur SMM-Dienste zurück. | No |
| productIds | Optionale Liste von IDs (Service-Nummern und/oder Entitäts-IDs). Kommagetrennt, als JSON-Array oder als wiederholte Felder. Gibt passende Produkt- oder SMM-Zeilen zurück. Verwenden Sie action=products, wenn Sie nur Produkte möchten. | No |
| lang | de | No |
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services" \
-d "lang=zh"Mit Paginierung:
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=services" \
-d "page=1" \
-d "limit=50"Nach Kategorie oder Unterkategorie filtern:
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"Nach Entitätstyp filtern:
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
}Jede Zeile enthält id (Entitäts-ID) und service (benutzerfreundliche Servicenummer für Bestellungen), stock, entityType (smm oder product) sowie autoDelivery. Produktzeilen enthalten zusätzlich description, imageUrl, isRecommended und subcategoryId. Wenn limit 0 ist oder weggelassen wird, werden alle Dienste zurückgegeben und page/limit entsprechen der Gesamtzahl.
Produktzeilen enthalten auch die Werte der Produktseite: service ist die Produktnummer (#48071 auf der Seite), sellerRating und sellerReviewCount sind die Sternebewertung des Verkäufers und die Anzahl seiner Bewertungen, returningBuyerRate ist der Anteil wiederkehrender Käufer des Verkäufers (0.52 = 52 %), sold ist die Zahl verkaufter Einheiten und warrantyHours ist das Kundendienstfenster in Stunden ab Lieferung (0 = kein Kundendienst). sellerRating, sellerReviewCount und returningBuyerRate entfallen, wenn der Verkäufer keine Bewertung oder zu wenige Käufer hat.
Ruft den aktuellen Bestand und die Verfügbarkeit eines Services anhand seiner ID ab (dieselbe ID wie in der Service-Liste). Bei Marketplace-Produkten enthält das JSON subproducts: ein Array aktiver Varianten, jeweils mit subproductId, name, stock (angezeigter Bestand dieser Variante) sowie eigenem Preis und eigenen Bestelllimits: available, rate, min, max und packs für Optionen, die in festen Paketen verkauft werden.
| Parameter | Beschreibung | Erforderlich |
|---|---|---|
| key | Ihr API-Schlüssel | Ja |
| action | inventory | Ja |
| service | Service-ID (aus der Service-Liste) | Ja |
| lang | de | 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
}Die Antwort enthält den Preis (pro Einheit, gleiches Zeichenfolgenformat wie die Dienstleistungsliste), den Entitätstyp (smm oder product) und autoDelivery (true = automatische Lieferung, false = Lieferant erfüllt manuell). Bei Produktdienstleistungen stimmen min und max mit der primären Unterproduktzeile in der Dienstleistungsliste überein; falls dieses Unterprodukt Ihre Bestellung nicht erfüllen kann, kann die Plattform ein anderes Unterprodukt auswählen und dessen Einheitspreis berechnen. Das Unterprodukt-Array listet jede aktive Variante mit Anzeigebestand auf; SMM-Bestandsantworten enthalten keine Unterprodukte.
Jedes Unterprodukt hat seinen eigenen rate, min und max: Das sind der Stückpreis und der Mengenbereich, die beim Hinzufügen gelten, wenn Sie diese subproductId übergeben, vor jedem Wiederverkäufer-Rabatt auf Ihrem Konto. Bei Optionen, die in festen Paketen verkauft werden, listet packs jedes vorrätige Paket auf (quantity, Gesamtpreis, discountPercent), und Sie müssen eine dieser Mengen bestellen; rate, min und max beschreiben dann das kleinste Paket.
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.
| Parameter | Beschreibung | Erforderlich |
|---|---|---|
| key | Ihr API-Schlüssel | Ja |
| action | add | Ja |
| service | Dienst-ID | Ja |
| link | Link: Bei SMM-Bestellungen (z. B. Follower, Likes, Kommentare) erforderlich — URL oder Link zum Inhalt (z. B. Instagram-Beitrags-URL). Bei Produktbestellungen (z. B. Accounts) optional — Liefer-E-Mail oder Referenz; bleibt das Feld leer, verwendet das System die E-Mail Ihres Accounts. | No |
| quantity | Bestellmenge | Ja |
| subproductId | Nur Produkte: eine bestimmte Option (Select-Option-Variante) statt der Standardoption wählen — verwenden Sie den subproductId-Wert, den action=inventory für diesen Service zurückgibt. Optional; nicht für Growth-/SMM-Services. | No |
| coupon | Gutscheincode (aus action=coupons oder von einer Shopseite). Optional. Er wird zusätzlich zu jedem Wiederverkäufer-Rabatt angewendet, mit denselben Bedingungen wie beim Checkout auf der Website; lässt sich der Code nicht verwenden, wird die Bestellung nicht aufgegeben und der Fehler nennt den Grund. | 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.
Den Status einer Bestellung abrufen.
| Parameter | Beschreibung |
|---|---|
| key | Ihr API-Schlüssel |
| action | status |
| order | Bestell-ID |
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
}Bei Produktbestellungen (z.B. Konten) enthält die Antwort, wenn die Bestellung vollständig oder teilweise ausgeliefert wurde, ein "accounts"-Array mit den Zugangsdaten der gelieferten Konten (ein String pro Konto). Bei Teillieferung werden nur die bisher gelieferten Konten zurückgegeben.
autoDelivery: true, wenn die Bestellung automatisch ausgeführt wird (z. B. SMM, Auto-/Bestandsprodukte); false, wenn der Lieferant manuell ausführen muss (kann einige Zeit in Anspruch nehmen).
{
"status": "Completed",
"charge": "10.00",
"start_count": 5,
"remains": 0,
"currency": "USD",
"entityType": "product",
"autoDelivery": true,
"accounts": [
"user1:pass1",
"user2:pass2"
]
}Eine erstattete Bestellung liefert Canceled, eine teilweise erstattete Bestellung liefert Partial. Wurde Geld erstattet, enthält die Antwort zusätzlich "refunded" mit dem erstatteten Betrag in USD.
Manche Produkte (zum Beispiel Telegram-Accounts mit Sitzungsarchiven) werden statt oder zusätzlich zu Zugangsdaten im Textformat als ZIP-Dateien geliefert. Die Antwort enthält dann ein Array "files". Jede Datei ist ein geliefertes Element. Laden Sie eine Datei mit action=order_file herunter.
{
"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"
}
]
}Lädt eine Lieferdatei (ZIP) Ihrer Bestellung herunter. Bei Erfolg ist der Antworttext die Datei selbst (Content-Type: application/zip); bei einem Fehler ist es JSON mit einem Feld "error".
| Parameter | Beschreibung |
|---|---|
| key | Ihr API-Schlüssel |
| action | order_file |
| order | Bestell-ID |
| file | Datei-ID aus dem Array "files" von 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"
}Prüfen Sie vor dem Speichern den Content-Type-Header: application/zip bedeutet die Datei, application/json bedeutet einen Fehler.
Einen oder mehrere Aufträge stornieren (PerfectPanel-kompatibles Batch-Format). Jeder berechtigte Auftrag wird dir auf dein Guthaben erstattet.
Alle folgenden Punkte müssen zutreffen. Verwende allowcancel, um die Berechtigung zu prüfen, ohne eine Rückerstattung zu verarbeiten.
Bei Teillieferung erfolgt eine anteilige Teilrückerstattung; gelieferte Konten bleiben erhalten.
| Parameter | Beschreibung |
|---|---|
| key | Ihr API-Schlüssel |
| action | cancel |
| orders | Bestell-IDs (durch Komma getrennt, bis zu 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"
}
}
]Prüfen, ob eine oder mehrere Bestellungen sofort storniert werden können (gleiche Berechtigungsregeln wie bei Stornierung, jedoch wird keine Rückerstattung verarbeitet). Vor dem Aufruf von "Stornierung erstellen" verwenden, um fehlgeschlagene Anfragen zu vermeiden. Unterstützt Batch-Bestell-IDs (durch Komma getrennt, bis zu 100).
Alle folgenden Punkte müssen zutreffen. Verwende allowcancel, um die Berechtigung zu prüfen, ohne eine Rückerstattung zu verarbeiten.
Wenn allowcancel auf 1 gesetzt ist, enthält die Antwort refundAmount (der Betrag, den die Stornierung erstatten würde).
| Parameter | Beschreibung |
|---|---|
| key | Ihr API-Schlüssel |
| action | allowcancel |
| orders | Bestell-IDs (durch Komma getrennt, bis zu 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"
}
]Holen Sie sich Ihr aktuelles Guthaben.
| Parameter | Beschreibung |
|---|---|
| key | Ihr API-Schlüssel |
| action | balance |
curl -X POST https://hstockplus.net/api/v2 \
-d "key=YOUR_API_KEY" \
-d "action=balance"{
"balance": "100.00",
"currency": "USD"
}Anzahl und Summen der Bestellungen in einem Zeitraum, zum Abgleich. Zählt dieselben Bestellungen wie die Seite „Ihre Bestellungen“.
| Parameter | Beschreibung |
|---|---|
| key | Ihr API-Schlüssel |
| action | orders_summary |
| date_from | Optional — erster Tag, YYYY-MM-DD, einschließlich |
| date_to | Optional — letzter Tag, YYYY-MM-DD, einschließlich |
| 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.
Dedizierte Endpunkte für SMS-Verifizierungsdienste.
SMS-Bestellungen haben eigene Bestell-IDs. Verwenden Sie dafür sms_code, sms_status und sms_cancel; status, cancel und allowcancel gelten nur für Produkt- und SMM-Bestellungen.
Action: sms_projects
| Parameter | Beschreibung |
|---|---|
| key | Ihr API-Schlüssel |
| action | sms_projects |
| country | Optional. Nach Länder-ID filtern (z. B. 'us', 'gb') |
| lang | de |
[
{
"project_id": "65f...",
"name": "OpenAI / ChatGPT",
"price": "0.5000",
"country_id": "us",
"country_title": "United States"
}
]Action: sms_countries
| Parameter | Beschreibung |
|---|---|
| key | Ihr API-Schlüssel |
| action | sms_countries |
| lang | de |
[
{
"country_code": "+1",
"country_name": "United States"
},
{
"country_code": "+44",
"country_name": "United Kingdom"
}
]Action: add_sms
| Parameter | Beschreibung | Erforderlich |
|---|---|---|
| key | Ihr API-Schlüssel | |
| action | add_sms | |
| project_id | Projekt-ID aus sms_projects | Ja |
| 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 | Telefonnummer zur Wiederverwendung | 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
| Parameter | Beschreibung |
|---|---|
| key | Ihr API-Schlüssel |
| action | sms_code |
| order | Bestell-ID |
{
"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
| Parameter | Beschreibung |
|---|---|
| key | Ihr API-Schlüssel |
| action | sms_status |
| order | Bestell-ID |
{
"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
Gibt die Nummer frei. Wurde kein Code empfangen, wird der volle Betrag Ihrem Guthaben erstattet, auch nachdem die Nummer abgelaufen ist. Bestellungen, die bereits einen Code erhalten haben, können nicht storniert werden.
| Parameter | Beschreibung |
|---|---|
| key | Ihr API-Schlüssel |
| action | sms_cancel |
| order | Bestell-ID aus add_sms |
{
"order": 12345,
"status": "cancelled",
"refunded": true,
"refund_amount": "0.5000",
"currency": "USD"
}
// OR
{
"error": "Verification code already received, cannot release"
}Häufige Fehlermeldungen, auf die Sie stoßen könnten.
{"error": "Invalid API key"}{"error": "Invalid action"}{"error": "Service ID is required"}{"error": "Insufficient balance"}{"error": "Order not found"}{"error": "Service not found"}Benötigen Sie Hilfe? Kontaktieren Sie uns unter support@hstockplus.com