SIMUB

SIMUB activation API

Integrate SIMUB SMS and temporary mail activations with documented authentication, lifecycle, error handling and safe server-side examples.

Authentication and endpoint choice

Protected requests use the API key associated with your verified SIMUB account. Send it only over HTTPS and keep it in a server-side secret store or environment variable; never embed it in client code, a public repository or a screenshot. The SMSHub-compatible handler receives action as a parameter, while SIMUB SMS routes put it in the path. Choose one interface and parse its documented response format.

  • Use /stubs/handler_api.php for an existing SMSHub-style client that sends action, api_key and action-specific parameters.
  • Use /api/sms/{action} when a direct SIMUB SMS route better fits your server application.
  • Use the dedicated /api/mail endpoints for temporary mail; SMS activation identifiers and mail identifiers are separate.

Discover services, countries, prices and balance first

Call getBalance for available funds, getServices or getServicesList for current service codes, and getCountries for supported country codes. Choose getPrices, getPricesV2 or getPricesV3 for the response shape your integration expects. Catalogs, counts and prices are provider snapshots: cache them briefly, display the returned price when relevant and revalidate before purchase. Never invent a code from a visible label.

Core SMS activation lifecycle

A purchase and a status check are different operations. Persist the activation identifier immediately so an application timeout does not lose a reserved number.

  • Select a documented service and country, inspect current price and stock, then call getNumber, getNumberV2 or getNumberV3 once.
  • Parse ACCESS_NUMBER:ID:NUMBER or the documented JSON equivalent and store the activation ID with your internal request reference.
  • Poll getStatus with that ID. STATUS_WAIT_CODE means the request is still waiting; STATUS_OK:CODE contains a received code.
  • Use setStatus only for a transition allowed by the reference: 1 ready, 3 request another SMS, 6 complete or 8 cancel. Do not reuse the number for another service.

Statuses, errors and uncertain requests

SMSHub-compatible actions can return text tokens, while newer routes may return JSON. Correct or rotate a BAD_KEY credential instead of retrying. BAD_SERVICE means an action or service is unsupported. NO_BALANCE requires funding; NO_NUMBERS means no matching offer is currently available; BAD_STATUS marks an invalid transition. After a timeout, reset or server error on getNumber, reconcile through the stored activation or status before purchasing again. A blind retry can create a duplicate reservation.

Temporäre E-Mail-Aktivierung

Für E-Mail-Aktivierungen gelten separate Routen und JSON-Antworten. Rufen Sie getPriceRests, getPrices oder getRests für Dienste, Domains, Preise und Bestand auf. Speichern Sie nach getActivation die zurückgegebene mailId. Verwenden Sie getStatus für den Status und getCode für einen empfangenen Code. setStatus und requestRefund müssen dem aktuellen Status und den veröffentlichten Regeln entsprechen. Eine temporäre Mailbox ist kein dauerhaftes Postfach oder sicherer Wiederherstellungsweg.

Sichere Anfragebeispiele

Die folgenden Platzhalter sind absichtlich keine echten Zugangsdaten. Ersetzen Sie sie nur in Ihrer geschützten Serverumgebung. Die curl-Beispiele übergeben kodierte Parameter getrennt, statt sie manuell zu einer URL zusammenzufügen.

  • Kontostand: curl --get 'https://api.simub.com/stubs/handler_api.php' --data-urlencode 'api_key=YOUR_API_KEY' --data-urlencode 'action=getBalance'
  • Reservieren: curl --get 'https://api.simub.com/stubs/handler_api.php' --data-urlencode 'api_key=YOUR_API_KEY' --data-urlencode 'action=getNumber' --data-urlencode 'service=tg' --data-urlencode 'country=0'
  • SMS-Status lesen: curl --get 'https://api.simub.com/stubs/handler_api.php' --data-urlencode 'api_key=YOUR_API_KEY' --data-urlencode 'action=getStatus' --data-urlencode 'id=ACTIVATION_ID'
  • E-Mail-Status lesen: curl --get 'https://simub.com/api/mail/getStatus' --data-urlencode 'api_key=YOUR_API_KEY' --data-urlencode 'id=MAIL_ACTIVATION_ID'

Zuverlässigkeit, Sicherheit und verantwortungsvolle Nutzung

Setzen Sie endliche Timeouts, verwenden Sie begrenztes exponentielles Backoff bei Statusabfragen und stoppen Sie bei einem Endstatus. Entfernen Sie api_key, Telefonnummern, Adressen und empfangene Codes aus Protokollen. Validieren Sie Antworten und begrenzen Sie gleichzeitige Käufe. Bestand, Netze und Filter ändern sich; weder Verfügbarkeit noch Codezustellung sind garantiert.

Häufig gestellte Fragen

Wo soll ich meinen SIMUB-API-Schlüssel speichern?

In einem serverseitigen Secret-Manager oder einer geschützten Umgebungsvariable. Beschränken Sie den Zugriff und schreiben Sie den Schlüssel nie in Logs oder Clientcode.

Wie oft soll getStatus aufgerufen werden?

Fragen Sie in einem moderaten Intervall mit begrenztem Backoff ab und stoppen Sie bei einer endgültigen Antwort.

Garantiert eine erfolgreiche Reservierung einen SMS-Code?

Nein. Sie bestätigt nur die Zuweisung der Nummer; die Zustellung hängt von externen Netzen und Plattformregeln ab.

Kann ich getNumber nach einem Timeout wiederholen?

Prüfen Sie zuerst anhand gespeicherter IDs, Historie oder Status, ob bereits eine Aktivierung erstellt wurde, um doppelte Kosten zu vermeiden.