API weryfikacji SMS
Kupuj numery i odczytuj kody SMS za pomocą prostych żądań HTTP GET lub POST. Odpowiedzi używają formatu tekstowego popularnych narzędzi do aktywacji SMS, wywołania prywatnych numerów odpowiadają w JSON.
Wprowadzenie
- Adres
- https://snscodes.com/stubs/handler_api.php
- Uwierzytelnianie
- Parametr api_key. Utwórz klucz na stronie API w swoim koncie; jest wyświetlany tylko raz.
- Limit zapytań
- 300 zapytań na minutę na klucz
- Pieniądze
- Ceny i saldo w dolarach amerykańskich, pobierane z tego samego salda co na stronie internetowej.
curl "https://snscodes.com/stubs/handler_api.php?api_key=$KEY&action=getNumber&service=telegram&country=us" # ACCESS_NUMBER:N-7KQ2M9XWD4:14155550123 curl "https://snscodes.com/stubs/handler_api.php?api_key=$KEY&action=getStatus&id=N-7KQ2M9XWD4" # STATUS_OK:482913
import time, requests
BASE = "https://snscodes.com/stubs/handler_api.php"
KEY = "YOUR_KEY"
r = requests.get(BASE, params={"api_key": KEY, "action": "getNumber", "service": "telegram", "country": "us"}).text
_, num_id, phone = r.split(":")
print("number", phone)
while True:
s = requests.get(BASE, params={"api_key": KEY, "action": "getStatus", "id": num_id}).text
if s.startswith("STATUS_OK"):
print("code", s.split(":")[1]); break
if s == "STATUS_CANCEL":
break
time.sleep(5)const BASE = "https://snscodes.com/stubs/handler_api.php";
const KEY = process.env.SNSCODES_KEY;
const call = async (q) => (await fetch(BASE + "?" + new URLSearchParams({ api_key: KEY, ...q }))).text();
const [, id, phone] = (await call({ action: "getNumber", service: "telegram", country: "us" })).split(":");
console.log("number", phone);
for (;;) {
const s = await call({ action: "getStatus", id });
if (s.startsWith("STATUS_OK")) { console.log("code", s.split(":")[1]); break; }
if (s === "STATUS_CANCEL") break;
await new Promise((r) => setTimeout(r, 5000));
}Pobierz saldo action=getBalance
Zwraca saldo Twojego konta w dolarach amerykańskich.
ACCESS_BALANCE:42.50
BAD_KEYKlucz jest brakujący lub błędny.
Ceny kodów action=getPrices
Ceny za kod według kraju i usługi. Oba filtry są opcjonalne.
| Parametr | Wymagany | Opis |
|---|---|---|
| service | nie | Kod usługi, na przykład telegram |
| country | nie | us, gb lub au |
{"us":{"telegram":{"cost":3,"count":100}}}Kup numer do kodu action=getNumber
Kupuje jeden numer dla jednej aplikacji. Cena jest pobierana z Twojego salda natychmiast i zwracana, jeśli kod nie przyjdzie w ciągu 20 minut.
| Parametr | Wymagany | Opis |
|---|---|---|
| service | tak | Kod usługi z getPrices |
| country | tak | us, gb lub au |
ACCESS_NUMBER:N-7KQ2M9XWD4:14155550123
BAD_SERVICENieznany kod usługi.BAD_COUNTRYTa usługa nie jest sprzedawana dla tego kraju.NO_BALANCENiewystarczające saldo. Nic nie jest pobierane.NO_NUMBERSBrak dostępnych numerów w tej chwili. Nic nie jest pobierane.NO_ACTIVATIONSMasz już 20 otwartych numerów do kodów.
Odczytaj kod action=getStatus
Sprawdzaj co 5 do 10 sekund, aż kod przyjdzie.
| Parametr | Wymagany | Opis |
|---|---|---|
| id | tak | Id z getNumber |
STATUS_OK:482913
STATUS_WAIT_CODEBrak SMS-a.STATUS_WAIT_RETRY:482913Oczekiwanie na kolejny kod; ostatni jest wyświetlany.STATUS_CANCELAnulowane lub zwrócone.NO_ACTIVATIONNieznane id.
Anuluj, spróbuj ponownie lub zakończ action=setStatus
status=8 anuluje numer bez kodu (pełny zwrot), status=3 prosi o kolejny kod na tym samym numerze, status=6 kończy go.
| Parametr | Wymagany | Opis |
|---|---|---|
| id | tak | Id z getNumber |
| status | tak | 8, 3 lub 6 |
ACCESS_CANCEL
EARLY_CANCEL_DENIEDKod już przybył; zakończ zamiast anulować.ACCESS_RETRY_GETOczekiwanie na kolejny kod.ACCESS_ACTIVATIONZakończone.
Ceny numerów prywatnych action=getRentPrices
Cena za cały okres według kraju i okresu. Zwraca JSON.
| Parametr | Wymagany | Opis |
|---|---|---|
| country | nie | Dwuliterowy kod kraju |
{"us":{"sixMonths":35.99,"twelveMonths":59.99}}Kup prywatny numer action=getRentNumber
Kupuje prywatny numer na określony okres. Zwraca JSON.
| Parametr | Wymagany | Opis |
|---|---|---|
| country | tak | Dwuliterowy kod kraju |
| period | tak | oneMonth, threeMonths, sixMonths, twelveMonths, twoYears lub threeYears |
{"status":"success","id":"N-3HV8QZ2K5M","phone":"14155550123","until":"2027-05-02T10:00:00.000Z"}BAD_PERIODOkres nie jest sprzedawany dla tego kraju.NO_BALANCENiewystarczające saldo.
Odczytaj SMS-y prywatnego numeru action=getRentStatus
Wszystkie SMS-y otrzymane przez prywatny numer do tej pory. Zwraca JSON.
| Parametr | Wymagany | Opis |
|---|---|---|
| id | tak | Id z getRentNumber |
{"status":"success","state":"active","messages":[{"code":"482913","text":"Your code is 482913","from":"Telegram","at":"..."}]}Anuluj prywatny numer action=setRentStatus
status=2 anuluje prywatny numer z pełnym zwrotem kosztów, jeśli nie dotarł żaden SMS i numer ma mniej niż 20 minut.
| Parametr | Wymagany | Opis |
|---|---|---|
| id | tak | Id z getRentNumber |
| status | tak | 2 |
{"status":"success"}EARLY_CANCEL_DENIEDSMS dotarł lub minęło 20 minut.