API protokol za rad sa SMS-Activate
API je protokol između vašeg softvera i našeg servera
API je potreban za automatizaciju procesa prijema sms, otp i pva na vašoj strani
Naš API je u potpunosti kompatibilan sa sajtovima konkurencije
Svi zahtevi moraju ići na https://api.sms-activate.ai/stubs/handler_api.php
POST ili GET zahtev.
Svi zahtevi moraju sadržati API ključ u obliku api_key GET parametra
Preuzmite implementaciju protokola u php-u Preuzmite gotovu implementaciju protokola u PythonuAktivacioni API
Parametri:
$api_key - API ključ
$country * - broj zemlje pogledajte tabelu
$operator * brojevi mobilnih operatera, možete navesti nekoliko brojeva odvojenih zarezima (dostupno samo za:
** dostupno za $country = 0, $country = 1, $country = 2
ODGOVOR:
Odgovor servisa biće u JSON formatu, primer:
{"vk_0":76,"ok_0":139,"wa_0":90,"vi_0":223,"tg_0":158,"wb_0":106,"go_0":182,"av_0":244,"av_1":211,"fb_0":107}
Gde je pre crte ime servisa, a nakon oznake da li je potrebno uključiti preusmeravanje. 0 - ne. 1 - da.
Parametri:
$api_key - API ključ
$service * - Servis pogledajte tabelu
* opcioni parametar. Ako nije naveden, podrazumevano će biti prikazane najpopularnije zemlje za sve servise.
$freePrice * - opcioni parametar. Ako je naveden true, količina i cena biće prikazani prema Free Price
ODGOVOR:
Odgovor servisa biće u JSON formatu, primer:
{
0: {
"country: 0,
"count": 43575,
"price": 15.00,
"retail_price": 30.00
}, ...
}
$freePrice = true:
{
0: {
"country: 0,
"count": 43575,
"price": 15.00,
"retail_price": 30.00,
"freePriceMap": {
"15.00": 43242,
"18.00": 333
}
}, ...
}
Zahtev za stanje sa cashback nalogom:
* vraća stanje uzimajući u obzir akumulirani cashback, ako je štiklirana opcija 'Troši cashback na aktivaciju' u podešavanjima cashback naloga
Parametri:
$api_key - API ključ
ODGOVOR:
ACCESS_BALANCE: 'stanje na nalogu'
MOGUĆE GREŠKE:
BAD_KEY - nevažeći API ključ
ERROR_SQL - greška SQL servera
* vraća sve operatore dostupne za prosleđenu zemlju; ako zemlja nije prosleđena, vratiće sve operatore dostupne za svaku zemlju
Parametri:
$api_key - API ključ
$country - kod zemlje
ODGOVOR:
Odgovor servisa biće u JSON formatu:
{"status":"success", "countryOperators": {
"Country1Code": ["operator1Name","operator2Name","operator3Name", ...],
"Country2Code": ["operator1Name","operator2Name","operator3Name", ...],
...
}}
Primer:
{"status":"success", "countryOperators": {
"0": ["beeline","megafon","mts", ...],
"1": ["life","mts","kyivstar","utel" ...],
...
}}
* unutar 'countryOperators' - ključ će biti kod zemlje
MOGUĆE GREŠKE:
BAD_KEY - nevažeći API ključ
ERROR_SQL - greška SQL servera
OPERATORS_NOT_FOUND - zapisi nisu pronađeni (npr. prosleđena nepostojeća zemlja)
Parametri:
$api_key - API ključ
ODGOVOR:
Odgovor servisa biće u JSON formatu:
{"status":"success", "activeActivations": [
{
"activationId" : "635468021",
"serviceCode" : "vk",
"phoneNumber" : "79********1",
"activationCost" : "12.50",
"activationStatus" : "4",
"smsCode" : ["CODE"],
"smsText" : "[Your CODE registration code]",
"activationTime" : "2022-06-01 16:59:16",
"discount" : "0.00",
"repeated" : "0",
"countryCode" : "0",
"countryName" : "Russia",
"canGetAnotherSms" : "1",
}]
MOGUĆE GREŠKE:
BAD_KEY - nevažeći API ključ
ERROR_SQL - greška SQL servera
NO_ACTIVATIONS - zapisi nisu pronađeni (nema aktivnih aktivacija)
Parametri:
$api_key - API ključ
$service - servis za poručivanje pogledajte tabelu
$forward * - da li je potrebno zatražiti broj sa preusmeravanjem
* opcioni parametar, prihvata 0 (ne izvršavaj, podrazumevano), 1 (izvrši)
$maxPrice * - maksimalna cena po kojoj ste spremni da kupite broj putem Free Price
* opcioni parametar; ako nije naveden, kupovina će se izvršiti po redovnoj ceni
$phoneException * - isključivanje prefiksa za ruske brojeve. Unesite razdvojeno zarezom. Format zapisa: kod zemlje i 3 do 6 cifara maske (npr. 7918, 7900111). Podrazumevana vrednost je vrednost navedena u nalogu.
$operator* je mobilni operater broja, možete navesti nekoliko njih odvojenih zarezom (dostupno samo za **)
$activationType - tip aktivacije: 0 - sa SMS-om (podrazumevano), 1 - sa brojem, 2 - sa glasovnim pozivom
$language - jezik parsiranja (obavezno za aktivaciju putem glasovnog poziva) pogledajte tabelu
$userId * - ID korisnika kojeg treba blokirati zbog loše statistike aktivacija, ali nalog samog preprodavca nije pogođen.
* opciono polje
** dostupno za $country = 0, $country = 1, $country = 2
$ref - prosledite ID referale.
$country - broj zemlje pogledajte tabelu
$useCashBack* - prihvata logičku vrednost; ako je parametar 'true', kupovina broja će se izvršiti korišćenjem kešbeka. Kada potrošite sredstva na kešbek balansu, sve naredne kupovine će se vršiti sa glavnog balansa. VAŽNO je zapamtiti da će sve naredne kupovine prvo koristiti kešbek, a zatim glavni balans (čak i ako nakon toga prosledite parametar 'false').
* opcioni parametar, prihvata 'true'
Korišćenjem API-ja za dobijanje broja, slažete se sa pravila projekta pravila projekta
MOGUĆE GREŠKE:
WRONG_MAX_PRICE:$min- navedena maksimalna cena je manja od dozvoljene
$min - minimalna dozvoljena cena
BAD_ACTION - neispravna radnja
BAD_SERVICE - neispravan naziv usluge
BAD_KEY - nevažeći API ključ
ERROR_SQL - greška SQL servera
BANNED:'YYYY-m-d H-i-s' - vreme za koje je nalog blokiran
WRONG_EXCEPTION_PHONE - neispravni prefiksi za isključivanje
NO_BALANCE_FORWARD - nema dovoljno sredstava za kupovinu preusmeravanja poziva
CHANNELS_LIMIT - nalog blokiran
NO_NUMBERS - nema dostupnih brojeva
Ako pokušate da dobijete broj određenog operatera koji ne posluje u izabranoj zemlji ili koji ne podržava izabranu uslugu, biće vraćen broj prvog operatera koji odgovara parametrima zahteva
metod radi slično kao metod getNumber, prihvata iste parametre i dodatne opisane u nastavku, ali vraća dodatne informacije o aktivaciji
Parametri:
$orderId- ID aktivacije iz sistema preprodavca. Prilikom kupovine, ovi podaci se upoređuju sa ID-jem aktivacije i preprodavcem u našem sistemu. Na taj način želimo da postignemo idempotentnost (isti zahtev neće biti obrađen ponovo).
ODGOVOR:
Ako je zahtev uspešan, odgovor će biti u sledećem formatu:
{
"activationId": 635468024,
"phoneNumber": "79584******",
"activationCost": "12.50",
"countryCode": "0",
"canGetAnotherSms": "1",
"activationTime": "2022-06-01 17:30:57",
"activationOperator": "mtt"
}
Ako pokušate da dobijete broj određenog operatera koji ne posluje u izabranoj zemlji ili koji ne podržava izabranu uslugu, biće vraćen broj prvog operatera koji odgovara parametrima zahteva
MOGUĆE GREŠKE:
ORDER_ALREADY_EXISTS- porudžbina je već kreirana
Kada primite SMS na broj, ako ste omogućili funkciju Webhooks u podešavanjima, poslaćemo informacije o SMS-u na adrese koje ste naveli koristeći POST zahtev
ODGOVOR:
Format odgovora biće sledeći:
{
"activationId": 635468024,
"service": "go",
"text": "Your sms text",
"code": "Your sms code",
"country": 0,
"receivedAt": "2022-06-01 17:30:57",
}
Prilikom slanja zahteva, čekaćemo odgovor od vaše skripte sa HTTP statusom 200. Ako vaša skripta ne odgovori, ponovo ćemo slati zahtev u roku od 2 sata, ali ne više od 8 puta.
Ovu funkcionalnost možete omogućiti u podešavanjima profila
Parametri:
$api_key - API ključ
$service - servis za poručivanje pogledajte tabelu
$forward * - da li je potrebno zatražiti broj sa preusmeravanjem
* opcioni parametar, znakovi za prosleđivanje su razdvojeni zarezima, broj cifara za prosleđivanje mora odgovarati broju servisa prosleđenih u parametru $service. Dozvoljeno je proslediti samo 1 servis sa preusmeravanjem, na primer "0,1,0,0" - tačno, "0,1,1,0" - netačno. Prihvata 0 (ne izvršavaj, podrazumevano), 1 (izvrši)
$operator * - mobilni operater broja, možete navesti nekoliko brojeva razdvojenih zarezima (dostupno samo za **):
$ref - prosledite ID referale.
$country - broj zemlje pogledajte tabelu
Korišćenjem API-ja za dobijanje broja, slažete se sa pravila projekta pravila projekta
ODGOVOR:
NO_NUMBERS - nema dostupnih brojeva
NO_BALANCE - stanje je potrošeno
{{'phone':phone,'activation':activation,'service':service},
{'phone':phone,'activation':activation,'service':service}}, gde (phone - ID operacije, activation - Broj telefona, service - Servis)
MOGUĆE GREŠKE:
BAD_ACTION - neispravna radnja
BAD_SERVICE - neispravan naziv usluge
BAD_KEY - nevažeći API ključ
ERROR_SQL - greška SQL servera
BANNED:'YYYY-m-d H-i-s' - vreme za koje je nalog blokiran
Parametri:
$api_key - API ključ
$id - ID aktivacije
$forward * - broj telefona na koji želite da prosledite
* potrebno samo ako je parametar prosleđen sa getNumber forward=1.
$status - status aktivacije
1 - obaveštavanje o dostupnosti broja (SMS poslat na broj)
3 - zatraži još jedan kod (besplatno)
6 - završi aktivaciju *
8 - prijavi da je broj već korišćen i otkaži aktivaciju
* ako je postojao status 'kod primljen' - označava ga kao uspešno i završava, ako je bio 'priprema' - briše i označava grešku, ako je bio status 'čekanje ponovnog pokušaja' - prenosi aktivaciju na SMS na čekanju
** Nije moguće promeniti status aktivacije za koju je izabran metod verifikacije pozivom ako je broj već stigao
Jednostavna logika hronologije rada sa API-jem:
Dobijanje broja korišćenjem metode getNumber, nakon čega su dostupne sledeće radnje:
8 - otkaži aktivaciju (ako vam broj ne odgovara)
1 - obavesti da je SMS poslat (opciono)
Za aktivaciju sa statusom 1:
8 - otkaži aktivaciju
Neposredno nakon prijema koda:
3 - zatraži još jedan SMS
6 - potvrdi SMS kod i završi aktivaciju
Za aktivaciju sa statusom 3:
6 - potvrdi SMS kod i završi aktivaciju
ODGOVOR:
ACCESS_READY - spremnost brojeva potvrđena
ACCESS_RETRY_GET - čekanje na novi SMS
ACCESS_ACTIVATION - usluga je uspešno aktivirana
ACCESS_CANCEL - aktivacija otkazana
MOGUĆE GREŠKE:
EARLY_CANCEL_DENIED - nije dozvoljeno otkazivanje broja u prvih 2 minuta
ERROR_SQL - greška SQL servera
NO_ACTIVATION - ID aktivacije ne postoji
BAD_SERVICE - neispravan naziv usluge
BAD_STATUS - netačan status
BAD_KEY - nevažeći API ključ
BAD_ACTION - neispravna radnja
WRONG_ACTIVATION_ID - pogrešan ID ili ID nije broj.
Parametri:
$api_key - API ključ
$id - ID aktivacije
ODGOVOR:
STATUS_WAIT_CODE - čekanje na SMS
STATUS_WAIT_RETRY: 'prošlost, nepodudaran kod' - čekanje na razjašnjenje koda
STATUS_WAIT_RESEND - čekanje na ponovno slanje SMS-a *
* softver mora pritisnuti dugme za ponovno slanje SMS-a i promeniti status na 6
STATUS_CANCEL - aktivacija otkazana
STATUS_OK: 'kod aktivacije' - kod primljen
MOGUĆE GREŠKE:
NO_ACTIVATION - ID aktivacije ne postoji
ERROR_SQL - greška SQL servera
BAD_KEY - nevažeći API ključ
BAD_ACTION - neispravna radnja
Parametri:
$api_key - API ključ
$id - ID aktivacije
ODGOVOR:
Format odgovora biće sledeći:
{
"verificationType": 2,
"sms": {
"dateTime": "0000-00-00 00:00:00",
"code": "code",
"text": "sms text",
},
"call": {
"from": "phone",
"text": "voice text",
"dateTime": "0000-00-00 00:00:00",
"url": "voice file url",
"parsingCount": 1,
}
}
STATUS_CANCEL - aktivacija otkazana
MOGUĆE GREŠKE:
NO_ACTIVATION - ID aktivacije ne postoji
ERROR_SQL - greška SQL servera
BAD_KEY - nevažeći API ključ
BAD_ACTION - neispravna radnja
Parametri:
$api_key - API ključ
$start - vremenska oznaka u Unix Timestamp formatu (opciono) - od kog datuma uzeti u obzir aktivacije
$end - vremenska oznaka u Unix Timestamp formatu (opciono) - do kog datuma uzeti u obzir aktivacije
$offset - pomeraj prvog elementa vraćenog u odgovoru. Podrazumevana vrednost je 0
$limit - maksimalan broj vraćenih zapisa. Maksimalno je 100. Podrazumevana vrednost je 50.
ODGOVOR:
Format odgovora biće sledeći:
[{
"id": 635468024,
"date": "2022-11-12 15:58:39",
"phone": "79918529716",
"sms": "sms":"["Your sms code"]",
"cost": 100 //Если активация не завершена, то cost = 0,
"status": "4",
}]
MOGUĆE GREŠKE:
ERROR_SQL - greška SQL servera
BAD_KEY - nevažeći API ključ
BAD_ACTION - neispravna radnja
Parametri:
$api_key - API ključ
$service - naziv usluge
ODGOVOR:
Format odgovora biće sledeći:
[{
"country": 0,
"share": 50 - // (Purchases of the chosen service by country as a percentage of the total quantity of purchases at our service),
"rate": 50 - // (% of successful activations among the total number of activations by the country)
}]
MOGUĆE GREŠKE:
ERROR_SQL - greška SQL servera
BAD_KEY - nevažeći API ključ
WRONG_SERVICE - netačna usluga
BAD_ACTION - neispravna radnja
Parametri:
$api_key - API ključ
$id - ID aktivacije
ODGOVOR:
Odgovor servisa biće u JSON formatu, primer:
{"status":"2","phone":false}
MOGUĆI STATUSI:
2 - nova aktivacija
3 - uspešno završeno
4 - otkazano
5 - vraćeno
MOGUĆE GREŠKE:
BAD_KEY - nevažeći API ključ
NEVAŽEĆI_ID_AKTIVACIJE - Nevažeći ID aktivacije
Parametri:
$api_key - API ključ
$serviceKratko ime usluge (Opciono, podrazumevano sve usluge) pogledajte tabelu
$countryNaziv koda države (Opciono, podrazumevano sve države) pogledajte tabelu
ODGOVOR:
JSON - objekat u formatu
{"Država":{"Usluga":{"cena":Cena,"broj":Broj}}}
Parametri:
$api_key - API ključ
$serviceKratko ime usluge (Opciono, podrazumevano sve usluge) pogledajte tabelu
ODGOVOR:
JSON - objekat u formatu
{"Usluga":{"Država":{"količina":Količina,"cena":"Cena"}}}
Parametri:
$api_key - API ključ
ODGOVOR:
JSON - objekat u formatu {{'Страна':{'id':0,'rus':"Россия","eng:"Russia","chn":"俄罗斯","visible":1,"retry":1,"rent":1,"multiService":1}},
gde (
id : ID države;
rus : naziv države na ruskom;
eng : naziv države na engleskom;
chn : naziv države na kineskom;
visible : 0 - država nije prikazana na sajtu, 1 - prikazana je;
retry : 0 - ponovni SMS NIJE dostupan, 1 - dostupan je;
rent : 0 - država se ne iznajmljuje, 1 - iznajmljuje se;
multiService : 0 - država NIJE dostupna za multiservis, 1 - dostupna je.)
Parametri:
$api_key- API ključ
$country *- ID države. Ako ste prosledili državu, vraćamo usluge koje imaju cenu za odabranu državu
$lang *- koji jezik koristiti za prikaz `name`. Moguće vrednosti: 'ru', 'en', 'es', 'cn'. Podrazumevano je 'en'
* opciona parametar
ODGOVOR:
JSON - objekat u formatu { "status": "success", "services": [ { "code": "aoo", "name": "Pegasus Airlines" } ] }
Nakon što primite prvi SMS za prosleđene brojeve, možete kupiti druge povezane usluge kao što su Yula, Yandex, Avito ili bilo koju drugu
Cena dodatne usluge iznosi samo 5p
Parametri:
$api_key - API ključ
$service - za kratko ime usluge pogledajte tabelu pogledajte tabelu
$id - ID nadređene aktivacije
ODGOVOR:
DODATNO:$id:$telefon - nova aktivacija je uspešno kreirana. Gde je ID ID dodatne aktivacije, a telefon je broj telefona
MOGUĆE GREŠKE:
POGREŠNA_DODATNA_USLUGA - Nevažeća dodatna usluga (dozvoljene su samo usluge za prosleđivanje)
WRONG_ACTIVATION_ID - Netačan ID nadređene aktivacije
POGREŠNA_BEZBEDNOST - došlo je do greške pri pokušaju slanja ID-a aktivacije bez preusmeravanja, ili završene/neaktivne aktivacije
PONOVI_DODATNU_USLUGU - greška se javlja pri pokušaju ponovne porudžbine već kupljene usluge NO_BALANCE - Nedovoljno sredstava
ERROR_SQL- greška u bazi podataka, kontaktirajte korisničku podršku
Ako ste uspešno aktivirali broj, možete to uraditi ponovo.
Cena dodatne aktivacije zavisi od države i usluge. Tačnu cenu možete dobiti sa .
Parametri:
$api_key - API ključ
$activationId - ID nadređene aktivacije
ODGOVOR:
PRISTUP_BROJU:$id:$telefon - nova aktivacija je uspešno kreirana. Gde je $id ID dodatne aktivacije, a $telefon je broj telefona
MOGUĆE GREŠKE:
OBNOVA_AKTIVACIJE_NIJE_MOGUĆA- broj nije dostupan za dodatnu aktivaciju
WRONG_ACTIVATION_ID - Netačan ID nadređene aktivacije
ERROR_SQL- greška u bazi podataka, kontaktirajte korisničku podršku
NOVA_AKTIVACIJA_NEMOGUĆA- nije moguće izvršiti dodatnu aktivaciju
NO_BALANCE - nema novca na nalogu
Možete proveriti dostupnost broja za dodatnu aktivaciju i saznati njegovu cenu
Parametri:
$api_key - API ključ
$activationId - ID nadređene aktivacije
ODGOVOR:
JSON - objekat u formatu {'status': 'success', 'cost':200,"service":"tw","phone":777777777,"country":14},
MOGUĆE GREŠKE:
OBNOVA_AKTIVACIJE_NIJE_MOGUĆA- broj nije dostupan za dodatnu aktivaciju
WRONG_ACTIVATION_ID - Netačan ID nadređene aktivacije
SIM_OFFLINE - SIM kartica je van mreže
Parametri:
$api_keyapi ključ
$id - ID aktivacije
$newLang - novi jezik za parsiranje pogledajte tabelu
ODGOVOR:
Format odgovora biće sledeći:
{
"result": "OK"
}
STATUS_CANCEL - aktivacija otkazana
NO_CALL- poziv nije primljen
PARSE_COUNT_EXCEED- ograničenje broja pokušaja parsiranja (maksimalno 4)
MOGUĆE GREŠKE:
WRONG_ACTIVATION_ID - nevažeći ID, aktivacija ne postoji
ERROR_SQL - greška SQL servera
BAD_KEY - nevažeći API ključ
BAD_ACTION - neispravna radnja
API za iznajmljivanje
Parametri:
$api_key - API ključ
$time* - vreme iznajmljivanja (podrazumevano: 4 sata)
$operator* - mobilni operater broja, možete navesti više njih odvojenih zarezima (podrazumevano: Bilo koji)
$country* - zemlja (podrazumevano: Rusija)
$incomingCall * - ako je prosleđeno "true"dobijte broj koji podržava funkciju prijema poziva
ODGOVOR:
Odgovor servisa biće u JSON formatu, primer:
{ "countries": { "0": 0 }, "operators": { "0": "aiva", "1": "any", "2": "beeline", ... "16": "yota" }, "services": { "full": { "cost": 42.93, "quant": 20 }, "vk": { "cost": 21.95, "quant": 20 }, "ok": { "cost": 7.68, "quant": 55 }, "ot": { "cost": 5.2, "quant": 42 } } }
MOGUĆE GREŠKE:
BAD_KEY - nevažeći API ključ
OUT_OF_STOCK - brojevi za tu zemlju nisu dostupni
Parametri:
$api_key - API ključ
$service - usluga za koju treba da dobijete broj
$time* - vreme iznajmljivanja u satima (podrazumevano: 4 sata). Sledeći dostupni vremenski period je 12 sati, zatim 24 sata. Kada zahtevate iznajmljivanje na dan ili više, morate proslediti: 24, 48, 72, itd.
$operator* - mobilni operater broja, možete navesti više njih odvojenih zarezima (podrazumevano: Bilo koji)
$country* - zemlja (podrazumevano: Rusija)
$url * - link za webhook (podrazumevano se ne uzima u obzir)
$incomingCall * - ako je prosleđeno "true"dobijte broj koji podržava funkciju prijema poziva
* opcion parametar. Ako nije naveden, koristiće se podrazumevani parametar.
ODGOVOR:
Odgovor servisa biće u JSON formatu, primer:
{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564" } }
MOGUĆE GREŠKE:
BAD_KEY - nevažeći API ključ
Odgovor u JSON formatu:
{ "status": "error", "message": "*possible_answer*" }
Mogući odgovori u polju "message":
BAD_SERVICE - usluga nije navedena ili je naziv netačan
NO_BALANCE - nema novca na nalogu
NO_NUMBERS - nema dostupnih brojeva
ACCOUNT_INACTIVE - nema dostupnih brojeva
SERVER_ERROR - greška na serveru
CHANNELS_LIMIT - nalog blokiran
Parametri:
$api_key - API ključ
$id - ID iznajmljivanja primljen u odgovoru prilikom poručivanja broja
$page* - broj stranice sa koje počinje izbor (numeracija stranica počinje od 0, od novijih ka starijim; podrazumevano je 0)
$size* - veličina stranice (podrazumevano 10)
* opcion parametar. Ako nije naveden, koristiće se podrazumevani parametar.
ODGOVOR:
Odgovor servisa biće u JSON formatu, primer:
{ "status": "success", "quantity": "2", "values": { "0": { "phoneFrom": "79180230628", "text": "5", "service": "ot", "date": "2020-01-30 14:31:58" }, "1": { "phoneFrom": "79180230628", "text": "4", "service": "ot", "date": "2020-01-30 14:04:16" } } }
* uspešno samo kada postoji SMS (polje 'quantity' > 0).
MOGUĆE GREŠKE:
BAD_KEY - nevažeći API ključ
Odgovor u JSON formatu:
{ "status": "error", "message": "*possible_answer*" } Mogući odgovori u polju "message": NO_ID_RENT - ID iznajmljivanja nije naveden INVALID_PHONE - broj nije iznajmljen od strane vas (nevažeći ID zakupa) STATUS_FINISH - zakup plaćen i završen STATUS_CANCEL - zakup otkazan uz povrat sredstava STATUS_WAIT_CODE - čekanje na prvi SMS STATUS_REVOKE - Broj je blokiran, vaša sredstva su vraćena
Parametri:
$api_key - API ključ
$id - ID iznajmljivanja primljen u odgovoru prilikom poručivanja broja
$status - kod za promenu statusa (broj)
Status može biti:
ODGOVOR:
Odgovor servisa biće u JSON formatu:
{ "status": "success" }
MOGUĆE GREŠKE:
BAD_KEY - nevažeći API ključ
Odgovor u JSON formatu:
{ "status": "error", "message": "*possible_answer*" }
Mogući odgovori u polju "message":
NO_ID_RENT - ID iznajmljivanja nije naveden
INCORECT_STATUS - status nedostaje ili je nepravilno naveden
CANT_CANCEL - nije moguće otkazati zakup (prošlo je više od 20 min.)
INVALID_PHONE - broj nije iznajmljen od strane vas (nevažeći ID zakupa)
ALREADY_FINISH - zakup je već završen
ALREADY_CANCEL - zakup je već otkazan
SERVER_ERROR - greška na serveru
👉Pažnja! Ova metoda prikazuje samo poslednjih 10 brojeva. Ako vam treba više brojeva, koristite getRentStatus metodu za proveru statusa.
Parametri:
$api_key - API ključ
ODGOVOR:
Odgovor servisa biće u JSON formatu:
{ "status": "success", "values": { "0": { "id": "12345", "phone": "79181234567" }, "1": { "id": "12345", "phone": "79181234568" } } }
MOGUĆE GREŠKE:
BAD_KEY - nevažeći API ključ
BAD_ACTION - neispravna radnja
Odgovor u JSON formatu:
{ "status": "error", "message": "*possible_answer*" }
Mogući odgovori u polju "message":
NO_NUMBERS - nema iznajmljenih brojeva
SERVER_ERROR - greška na serveru
Parametri:
$api_key - API ključ
$id - ID zakupa
$rent_time- vreme zakupa (podrazumevano: 4 sata)
ODGOVOR:
Odgovor servisa biće u JSON formatu:
{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564"} }
Kada se završeni zakup produži, on će biti ponovo naručen i dobićete novi ID
MOGUĆE GREŠKE:
BAD_KEY - nevažeći API ključ
BAD_ACTION - neispravna radnja
SERVER_ERROR - greška na serveru
Odgovor u JSON formatu:
{ "status": "error", "message": "*possible_answer*", "info": "*details*" }
Mogući odgovori u polju "message":
NO_ID_RENT - nema ID-a zakupa
INVALID_TIME - pogrešno vreme. Dostupno vreme je od 4 do 1344 sata
MAX_HOURS_EXCEED - Prekoračeno je maksimalno dostupno vreme
max - maksimalno dostupno vreme
INVALID_PHONE - neispravan ID zakupa
RENT_DIE - iznajmljivanje se ne može produžiti jer je broj istekao
NO_BALANCE - nedovoljno sredstava
CHANNELS_LIMIT - nalog blokiran
* ova metoda je dostupna samo za iznajmljivanje kod MTT operatera.
Parametri:
$api_key - API ključ
$id - ID zakupa
$rent_time - vreme iznajmljivanja
ODGOVOR:
Odgovor servisa biće u JSON formatu:
{ "status": "success", "price": 6.33 }
MOGUĆE GREŠKE:
BAD_KEY - nevažeći API ključ
BAD_ACTION - neispravna radnja
SERVER_ERROR - greška na serveru
Odgovor u JSON formatu:
{ "status": "error", "message": "*possible_answer*" }
Mogući odgovori u polju "message":
NO_ID_RENT - nema ID-a zakupa
INVALID_PHONE - neispravan ID zakupa
INVALID_TIME - nepravilno podešavanje vremena
RENT_DIE - iznajmljivanje se ne može produžiti jer je broj istekao
MAX_HOURS_EXCEED - Prekoračeno je maksimalno dostupno vreme
max - maksimalno dostupno vreme
CHANNELS_LIMIT - nalog blokiran
API JAVA
Uključite biblioteku u Maven
<artifactId>SMSActivateApi</artifactId>
<version>1.0</version>
</zavisnost>
Primer registracije možete videti na linku ka MavenRepository
Uvezite glavnu klasu za interakciju sa SMS-Activate API-jem.
Za korišćenje biblioteke potreban vam je API ključ, koji možete dobiti na ovoj stranici i putem linka ispod.
SMS-Activate API ključDa biste dobili trenutni balans na svom nalogu, koristite metod getBalance... Ako vas zanima kešbek pored balansa, pozovite metod getBalanceAndCashBack.
Metod getBalanceAndCashBack vraća objekat klaseSMSActivateGetBalanceAndCashBack.
Parametri:
NONE
TIP POVRATNE VREDNOSTI:
BigDecimal
Parametri:
NONE
TIP POVRATNE VREDNOSTI:
Parametri:
countryId(Integer) - identifikator države.
service(String) - kratki naziv usluge.
forward*(boolean) - da li se traži broj sa prosleđivanjem poziva.
operatorSet*(Skup) - skup operatera.
phoneException*(Skup) - isključujući prefikse samo za Rusiju, skup brojeva od 3 do 6 cifara (7918,7900111).
* opciono polje. Ako ništa nije navedeno, podrazumevana količina će biti dodeljena prema podešavanju u profilu.
TIP POVRATNE VREDNOSTI:
Parametri:
countryId(Integer) - identifikator države.
operatorSet*(Skup) - skup operatera koji su dostupni za uslugu
TIP POVRATNE VREDNOSTI:
Parametri:
id(Integer) - identifikator aktivacije
service(String) - kratki naziv usluge.
Umesto identifikatora aktivacije, možete proslediti primljeni objekat klase SMSActivateActivation nakon korišćenja metoda getNumber ili jednu od aktivacija nakon upotrebe getMultiServiceNumber.
TIP POVRATNE VREDNOSTI:
Parametri:
countryId(Integer) - identifikator države.
serviceMap(Skup) - skup usluga za koje je kupljena aktivacija
multiForwardList(Lista) - lista usluga sa dostupnim preusmeravanjem poziva
operatorSet(Skup) - skup operatera.
TIP POVRATNE VREDNOSTI:
Parametri:
NONE
TIP POVRATNE VREDNOSTI:
Parametri:
countryId(Integer) - identifikator države.
service(String) - kratki naziv usluge.
TIP POVRATNE VREDNOSTI:
Parametri:
countryId(Integer) - identifikator države.
TIP POVRATNE VREDNOSTI:
Parametri:
activationId(Integer) - identifikator aktivacije
Umesto identifikatora aktivacije, možete proslediti primljeni objekat klase SMSActivateActivation nakon korišćenja metoda getNumber ili jednu od aktivacija nakon upotrebe getMultiServiceNumber.
TIP POVRATNE VREDNOSTI:
Parametri:
id(Integer) - identifikator aktivacije
status(SMSActivateClientStatus) - status koji treba postaviti za aktivaciju
Umesto identifikatora aktivacije, možete proslediti primljeni objekat klase SMSActivateActivation nakon korišćenja metoda getNumber ili jednu od aktivacija nakon upotrebe getMultiServiceNumber.
TIP POVRATNE VREDNOSTI:
Parametri:
NONE
TIP POVRATNE VREDNOSTI:
Parametri:
activationId(Integer) - identifikator aktivacije
Umesto identifikatora aktivacije, možete proslediti primljeni objekat klase SMSActivateActivation nakon korišćenja metoda getNumber ili jednu od aktivacija nakon upotrebe getMultiServiceNumber.
TIP POVRATNE VREDNOSTI:
Algoritam za dobijanje celokupnog teksta SMS poruke uz aktivaciju
Dobijanje broja korišćenjem metode getNumber, nakon čega su dostupne sledeće radnje:
CANCEL - 8 - Otkaži aktivaciju (ako vam broj ne odgovara)
MESSAGE_WAS_SENT - Obaveštava da je SMS poslat (Obavezno za primanje punog teksta SMS-a)
Nakon obaveznog podešavanja statusa MESSAGE_WAS_SENT, podesite promenljivu za prijem SMS-a koristeći metod waitSMS sa parametrima aktivacije i vremenom čekanja na SMS.
Nakon prijema SMS-a, možete ga preuzeti koristeći metod getFullSMS, a zatim prikazati pun tekst koristeći metod getText().
Nakon toga, možete postaviti aktivacije na sledeće statuse:
Za aktivaciju sa statusom MESSAGE_WAS_SENT:
CANCEL - Otkaži aktivaciju
Neposredno nakon prijema koda:
REQUEST_ONE_MORE_CODE - Zatraži još jedan SMS
FINISH - Potvrdi SMS kod i završi aktivaciju
Za aktivaciju sa statusom REQUEST_ONE_MORE_CODE:
FINISH - Potvrdi SMS kod i završi aktivaciju
Parametri:
countryId(Integer) - identifikator države.
service(String) - kratki naziv usluge.
hours(Integer)* - vreme zakupa
operator(String)* - naziv mobilnog operatera
urlWebhook(String)* - link za webhook (Podrazumevano se ne razmatra)
Šta je webHook?* opcion parameter. Ako nije naveden, podrazumevana vrednost će biti
TIP POVRATNE VREDNOSTI:
Parametri:
countryId(Integer) - identifikator države.
operatorSet(Skup) - skup mobilnih operatera
hours(Integer)* - vreme zakupa
* opcion parameter. Ako nije naveden, podrazumevana vrednost će biti
TIP POVRATNE VREDNOSTI:
Parametri:
rentId(Integer) - identifikator iznajmljenog broja
Umesto rentId, možete proslediti rezultujući objekat klase SMSActivateRentActivation nakon korišćenja metoda getRentNumber
TIP POVRATNE VREDNOSTI:
Email API
Opis API statusa
3 - Čekanje
4 - Otkazano
5 - Uspešno
OPIS:
Strože pridržavanje principa REST API-ja i povećan broj gmail.com sandučića za registraciju Telegram naloga.
Parametri:
$api_key - API ključ
$site- Sajt za koji vam je potrebna e-mail adresa
ODGOVOR:
Odgovor servisa biće u JSON formatu, primer:
{
"status":"OK",
"response":{
"zones":[
{
"name":"info",
"cost":2.5
},
...
],
"popular":[
{
"name":"mail.ru",
"cost":6,
"count":159008
},
...
]
}
}
MOGUĆE GREŠKE:
BAD_SITE- Sajt nije naveden
BAD_KEY - nevažeći API ključ
BAD_ACTION - neispravna radnja
Parametri:
$api_key - API ključ
$site - sajta za koji vam je potrebna e-mail adresa
$mail_type - tip e-maila: popularni domeni ili zone (1 - zone 2 - popularni)
$mail_domain - izabrana zona ili domen
ODGOVOR:
Odgovor servisa biće u JSON formatu, primer:
{
"status":"OK",
"response":{"email":"[email protected]","id":241}
}
MOGUĆE GREŠKE:
BAD_KEY - nevažeći API ključ
BAD_ACTION - neispravna radnja
MAIL_TYPE_ERROR - ne postoji takav domen za navedeni sajt
CHANNELS_LIMIT - nalog blokiran
Parametri:
$api_key - API ključ
$id- ID e-pošte za koju je potrebna ponovna aktivacija
ODGOVOR:
Odgovor servisa biće u JSON formatu, primer:
{
"status": "OK",
"response": {
"email": "[email protected]",
"id": 360
}
}
MOGUĆE GREŠKE:
BAD_KEY - nevažeći API ključ
BAD_ACTION - neispravna radnja
BLOCKED_SITE - blokirani veb-sajt
BAD_BALANCE - nedovoljno sredstava
ACTIVATION_NOT_FOUND - aktivacija nije pronađena
CHANNELS_LIMIT - nalog blokiran
Parametri:
$api_key - API ključ
$page- broj stranice
$per_page- broj kupovina po stranici
$search- traka za pretragu
$sort- smer sortiranja (desc, asc)
ODGOVOR:
Odgovor servisa biće u JSON formatu, primer:
{
"status":"OK",
"response":{
"list":[
{
"id":"241",
"site":"apple.com",
"email":"[email protected]",
"status":"3",
"value":null,
"cost":"6.00",
"date":"2023-10-06 14:24:13",
"full_message":""
}
],
"pages":1,
"count":1
}
}
Parametri:
$api_key - API ključ
$id- ID kupovine
ODGOVOR:
Odgovor servisa biće u JSON formatu, primer:
{
"status":"OK",
"response":true
}
MOGUĆE GREŠKE:
EARLY_CANCEL_DENIED - Ne možete otkazati e-poštu u prvih 2 minuta.
Parametri:
$api_key - API ključ
$id- ID kupljene e-adrese, vraća se nakon kupovine e-adrese
ODGOVOR:
Odgovor servisa biće u JSON formatu, primer:
{
"status":"OK",
"response":{
"value":"Содержания письма"
}
}
API partnerski softver
Parametri:
$api_key - API ključ
$id- ID softvera koji treba da kupite
ODGOVOR:
Odgovor servisa biće u JSON formatu, primer:
{
"status": "success",
"key": "F5qrzFoY6afj3zrEq7SeMplbx",
"manual": "Software download link:"
}
MOGUĆE GREŠKE:
BAD_DATA - Neispravan ID ili ID nije broj
BAD_ACTION - nevažeća radnja ili prodavac nije verifikovan.
<?php
include_once ("smsactivateApi.php");//Inclusion of a class in a project
$sms = new SMSActivate($API_KEY);//Create class instance SMSActivate
$freeSlots = $sms->getNumbersStatus(0, 'tele2');//Get the number of available numbers for the country of Russia and the tele2 operator
echo "Номеров Вконтакте: " . $freeSlots['vk']."\n";//Show for Vk
echo "Номеров Whatsapp: " . $freeSlots['wa']."\n";//Show for whatsapp
var_dump($freeSlots); //Show all services with quantity
$array=$activate->getTopCountriesByService(); //Get an array whose elements contain information for each country
$balance = $sms->getBalance();//Get balance
echo "On the account " . $balance." rub.\n";//Show balance
$balance = $sms->getBalanceAndCashBack();//Request a balance with cashback account
echo "On the account " . $balance." rub.\n";//Request a balance with cashback account
$operators = $sms->getOperators();
//Get operators for all countries
if (in_array('mts', $operators['countryOperators'][0])) {
//check if 'mts' is available for Russia
//perform an action
}
if (in_array('chinamobile', $operators['countryOperators'][3])) {
//check if 'chinamobile' is available for China
//perform an action
}
$activations = $sms->getActiveActivations();
$number = $sms->getNumber('ok',0, 0, 'tele2');//Get Odnoklassniki number without forwarding
echo "Activation № " . $number['id']. "Phone ". $number['number'] \n";//Show id and activation number
$result = $sms->getNumber('vk', 0 , 1);
if (!is_array($result)) {
echo 'Ошибка: ' . $result . '\n';//If an error occurs, a string will be returned, if successful, an array will be returned.
} else {
echo 'Id: ' . $result['id'] ."\n";
echo 'Номер: ' . $result['number'] ."\n";
}
$result = $sms->getNumberV2('vk', 0 , 1);
$number = $sms->getMultiServiceNumber('ok,vk,vi,av','0,0,0,1', 0, 'tele2');//Get a number for services Odnoklassniki, Vkontakte, Viber without call forwarding and Avito with call forwarding
foreach ($number as $value) {
echo "Activation № " . $value['activation']. " for service ". $value['service'] ."\n";
}
echo "Number " . $value['phone'] ."\n";//Show activation id and number
$status = $sms->setStatus($number['id'], 3);//Change activation status by id (get 1 more code)
$status = $sms->getStatus($number['id']);//Get activation status by id
if (is_array($status) {
echo "статус : " . $status['status'];//Can be STATUS_OK or STATUS_WAIT_RETRY, otherwise a line with error text will be returned
echo "код: " . $status['code'];
} else {
echo $status ."\n";
}
$incomingCall = $sms->getIncomingCallStatus($id);//Get activation data by call
echo $incomingCall['phone'] //Show incoming number
$prices = $sms->getPrices(1, 'vk');//Get the current price for the service
echo "Price for VK (Ukraine) : " .$prices[1]['vk']['cost']." rub. quantity: ". $prices[1]['vk']['count'];//Show the result
$countries = $sms->getCountries();//Get a list of all countries
$additional = $sms->getAdditionalService('fx', $id);//Get additional activation for PGbonus service based on id activation
echo "Activation no.: " . $additional[id] . " Telephone: " . $additional[number];//Show the result
$getAvailableRentNumbers = $sms->getRentServicesAndCountries('2');//Request available countries for rent and services (for 2 hours for all operators)
echo "Full rental - Cost:" . $getAvailableRentNumbers['services']['full']['cost'] . " Quant :" .$getAvailableRentNumbers['services']['full']['quant'] ." \n"; //Display full price information
foreach( $getAvailableRentNumbers['operators'] as $value) {
echo " Operator " . $value ."\n"; }//List operators
$getRentNumber = $sms->getRentNumber('vk','10','0','yota');//Get a number for rent for Vkontakte for 10 hours, operator 'Yota', country - Russia
if ($getRentNumber['status'] === 'success'){
echo "The rental was successful! Your phone number is: " . $getRentNumber['phone']['number']." \nRent expiration : ". $getRentNumber['phone']['endDate']." \nId numbers :" .$getRentNumber['phone']['id'] ; }//Display rental information
else
echo "Error code : " . $getRentNumber['message'];
$getRentStatus = $sms->getRentStatus($getRentNumber['phone']['id']);//Get the rent status with id from the received number
if ($getRentStatus['status'] == 'success'){
foreach( $getRentStatus['values']as $index => $value) {
echo " Message " . $index .": from the number - " . $value['phoneFrom'] . " Service - " . $value ['service'] . "message text - " . $value['text'] . "Date - " . $value['date']; } }//display a list of messages received while renting a phone
else
echo "Error code : " . $getRentStatus['message'];
$setRentStatus = $sms->setRentStatus($getRentNumber['phone']['id'],1);//Set rental status 'finish' with id from received number
if ($setRentStatus['status'] == 'success')
echo " Status change was successful! ";
else
echo "Error code : " . $setRentStatus['message'];
$getRentList = $sms->getRentList();//Get a list of currently rented numbers
if (getRentList['status'] == 'success')
foreach( $getRentList['values'] as $value) {
echo " ID " . $value["id"] . " Number " . $value["phone"] ."\n"; }//List numbers
else
echo "Error code : " . $getRentList['message'];
$result = $sms->continueRentNumber($id);//Extend the lease of activation id for 4 hours (by default)
if ($result['status'] == 'success') {
echo "Number: " . $result['phone']['number']"//Display number
echo "id: " . $result['phone']['id']"//Display activation id
echo "The lease is valid until: " . $result['phone']['endDate']"//Display the date and time of the end of the lease
} else {
echo "Error code : " . $result['msg'];
}
$result = $sms->getContinueRentPriceNumber($id, 12);//Get the cost of renewing the lease to activate the id for 12 hours
if ($result['status'] == 'success') {
echo " Renewal cost " . $result['price'];//Withdraw the cost
} else {
echo "Error code: " . $result['message']; //Display error code
}
from sms-activate.sbs import SMSActivateAPI
# SMSActivateAPI Contains all basic tools for working with the SMSActivate API
sa = SMSActivateAPI(API_KEY)
sa.debug_mode = True
# Used for debugging. When debug_mode is active, all responses from the server and class will be output to the console
print(sa.version())
# Returns the current version of the library
status = sa.getNumbersStatus(country=0, operator='tele2')
try:
print(status['vk_0']) # 274789
except:
print(status['message']) # Error text
result = sa.getTopCountriesByService('vk')
try:
print(result[0]['count']) # 2350
except:
print(result['message']) # Error text
balance = sa.getBalance() # {'balance': '100.00'}
try:
print(balance['balance']) # 100.00
except:
print(balance['message']) # Error text
balance = sa.getBalanceAndCashBack() # {'balance': '100.00'}
try:
print(balance['balance']) # 100.00
except:
print(balance['message']) # Error text
operators = sa.getOperators(country=0)
try:
print(operators['countryOperators']['0'])
except:
print(operators['error']) # Error status
activations = sa.getActiveActivations()
try:
print(activations['activeActivations'])
except:
print(activations['error']) # Error status
number = sa.getNumber(service='vk', operator='tele2', country=0, verification="true") # {'activation_id': 000000000, 'phone': 79999999999}
try:
print(number['phone']) # 79999999999
except:
print(number['message']) # Error text
number = sa.getNumberV2(service='vk', country=0)
try:
print(number['phoneNumber']) # 79999999999
except:
print(number['message']) # Error text
multinumber = sa.getMultiServiceNumber(service='fb,ig', operator='tele2', country=0) # [{'phone': '79999999999', 'activation': 000000000, 'service': 'fb'}, {'phone': '79999999999', 'activation': 000000001, 'service': 'ig'}]
try:
print(multinumber[0]['phone']) # 79999999999
except:
print(multinumber['message']) # Error text
status = sa.setStatus(id=000000000, status=1) # ACCESS_READY
try:
print(status) # ACCESS_READY
except:
print(status['message']) # Error text
status = sa.getStatus(id=000000000) # STATUS_WAIT_CODE
try:
print(sa.activationStatus(status)) # {'status': 'STATUS_WAIT_CODE', 'message': 'Ожидание смс'}
except:
print(status['message']) # Error text
status = sa.getIncomingCallStatus(id=000000000)
try:
print(status['status']) # 2
except:
print(status['message']) # Error text
prices = sa.getPrices(service='fb', country=0)
try:
print(prices['0']) # {'fb': {'cost': 9, 'count': 27934}}
except:
print(prices['message']) # Error text
countries = sa.getCountries()
try:
print(countries['0']['eng']) # Russia
except:
print(countries['message']) # Error text
service = sa.getAdditionalService(id=000000000, service='ig')
try:
print(service['phone']) # 79999999999
except:
print(service['message']) # Error text
service = sa.getRentServicesAndCountries(time=4, operator='tele2', country=0)
try:
print(service['services']['full']['cost']) # 100.00
except:
print(service['message']) # Error text
rent = sa.getRentNumber(service='ig', time=4, operator='tele2', country=0)
try:
print(rent['phone']['number']) # 79999999999
except:
print(rent['message']) # Error text
status = sa.getRentStatus(000000000)
try:
print(status['values']['0']['text']) # SMS
except:
print(status['message']) # Error text
status = sa.setRentStatus(id=000000000, status=1)
try:
print(status['status']) # success
except:
print(status['message']) # Error text
rent = sa.getRentList()
try:
print(rent['values']['0']['phone']) # 79999999999
except:
print(rent['message']) # Error text
rent = sa.continueRentNumber(id=000000000, time=4)
try:
print(rent['phone']['number']) # 79999999999
except:
print(rent['message']) # Error text
rent = sa.getContinueRentPriceNumber(000000000)
try:
print(status['price']) # 4.00
except:
print(status['message']) # Error text
import ru.sms_activate.SMSActivateApi;//Inclusion of a class in a project
SMSActivateApi smsActivateApi = new SMSActivate("API_KEY");//Create an instance of the SMSActivate class
BigDecimal balance = smsActivateApi.getBalance();//Get the current account balance
System.out.println("Balance: "+ balance)//Withdraw the received balance
SMSActivateGetBalanceAndCashbackResponse smsActivateGetBalanceAndCashbackResponse = smsActivateApi.getBalanceAndCashback();//Get current balance and cashback
System.out.println("Cashback + balance: "+ smsActivateGetBalanceAndCashbackResponse.getBalanceAndCashback());//Withdraw the amount of balance and cashback
SMSActivateActivation activation=smsActivateApi.getNumber(0,"vk")//Get activation for the Vkontakte service in Russia
System.out.println(activation);//Withdraw the received activation
SMSActivateGetNumbersStatusResponse smsActivateGetNumbersStatusResponse= smsActivateApi.getNumberStatus(0,null);//Get information about available services for Russia
SMSActivateServiceInfo go = smsActivateGetNumbersStatusResponse.getSMSActivateServiceInfoByShortName("go");//Getting information about numbers for the Google service
System.out.println("Short name service: " + go.getShortName();//Get the short name of the service
System.out.println("count phone numbers: "+ go.getCountPhoneNumber();//Get the number of numbers for the service
System.out.println(""Forwarding is available: "+ go.isForward() ? "yes" : "no"//Find out if the service has a redirect
SMSActivateActivation activation=smsActivateApi.getNumbersStatus(0,"ot",true);//Activations
smsActivateApi.setStatus(activation, SMSActivateClientStatus.MESSAGE_WAS_SENT);//Setting the MESSAGE_WAS_SENT status after sending SMS for the number
SMSActivateActivation childActivation =smsActivateApi.getAdditionalService(activation,"av");//Requesting a new activation for an additional service
System.out.println(childActivation);//Displaying information about additional activation
Set<String>operatorSet= new HashSet<>();
operatorSet.add("mts");//Adding an MTS operator to the set of operators
Map<String,Boolean>serviceMap= new HashMap<>();
serviceMap.put("av",false);//Adding the Avito service to the list of services (specify true if you need a service with redirection)
SMSActivateGetMultiServiceNumberResponse multiServiceNumberResponse=smsActivateApi.getMultiServiceNumber(0, serviceMap, operatorSet);//Getting activation for multiple services
multiServiceNumberResponse.getSMSActivateActivationList().forEach(activation->{
System.out.println("Id: " + activation.getId());
System.out.println("Number: " + activation.getNumber());
System.out.println("Service name: " + activation.getShortName());
}
//Displaying information about received activations
SMSActivateGetPricesResponse smsActivateGetPricesResponse=smsActivateApi.getPricesByCountryIdAndServiceShortName(0, "vk");//Obtaining a list of prices for Russia on the Vkontakte service. For a complete list of prices, use the getAllPrices () method;
SMSActivateGetPriceInfo vk=smsActivateGetPricesResponse.getPriceInfo(0, "vk");//Getting information about the Vkontakte service for Russia
System.out.println(">>> Cost: "+ vk.getCost());//Get a price for the service
System.out.println(">>> count phone numbers: " + vk.getCountPhoneNumbers());//Get the number of numbers for the service
SMSActivateActivation activation=smsActivateApi.getNumber(0,"vk")//Get activation for the Vkontakte service in Russia
System.out.println(activation);//Withdraw the received activation
SMSActivateGetStatusResponse getResponse = smsActivateApi.getStatus(activation);//Getting a status for activation
System.out.println(getResponse.getSMSActivateGetStatus());//Displaying information about the activation status
smsActivateApi.setStatus(activation, SMSActivateClientStatus.MESSAGE_WAS_SENT);//Setting the MESSAGE_WAS_SENT status after receiving SMS for the number
smsActivateApi.setStatus(activation, SMSActivateClientStatus.FINISH);//Setting the FINISH status after receiving SMS for the number
SMSActivateGetCountriesResponse smsActivateGetCountriesResponse =smsActivateApi.getCountries();//Getting a list of countries with information
SMSActivateCountryInfo countryInfo = smsActivateGetCountriesResponse.get(0)//Getting information about the first country on the list
System.out.println("Russian name: "+countryInfo.getRussianName();//Display the Russian name of the country
System.out.println("English name: "+countryInfo.getEnglishName();//Display the Russian name of the country
System.out.println("Support multi-service: "+ countryInfo.isSupportMultiService() ? "yes" : "no"//Show if the country supports multi-services
SMSActivateActivation activation=smsActivateApi.getNumber(0,"vk")//Get activation for the Vkontakte service in Russia
smsActivateApi.setStatus(activation, SMSActivateClientStatus.MESSAGE_WAS_SENT);//Setting the MESSAGE_WAS_SENT status after sending SMS for the number
String code=smsActivateApi.waitSms(activation,2)//Set receiving sms within 2 minutes
if(code == null) {
smsActivateApi.setStatus(activation, SMSActivateClientStatus.CANCEL);//Setting the CANCEL status if sms has not arrived
}
else{
SMSActivateGetFullSmsResponse smsActivateGetFullSmsResponse=smsActivateApi.getFullSms(activation)//Receiving sms text
System.out.println("Full SMS: "+smsActivateGetFullSmsResponse.getText());//SMS text output
}
SMSActivateRentActivation rentActivation= smsActivateApi.getRentNumber(0, "vk", 6);//Getting a number with rent
System.out.println(">> ID: "+rentActivation.getId());//Activation ID withdrawal
System.out.println(">> Number: "+rentActivation.getId());//Displaying the activation number
System.out.println(">> End date: "+rentActivation.getId());//Displaying the activation expiration date
SMSActivateGetRentServicesAndCountriesResponse smsActivateGetRentServicesAndCountriesResponse= smsActivateApi.getRentServicesAndCountries(0, null, 4);//Obtaining information on services and countries that support rental
smsActivateGetRentServicesAndCountriesResponse.getAllRentServices().forEach((serviceShortName, smsActivateRentService)->{
System.out.println("Service shortname: " + serviceShortName);
System.out.println(" count phone numbers: " + smsActivateRentService.getCountPhoneNumbers());
System.out.println(">> Cost: " + smsActivateRentService.getCost());
}
//Displaying information about received services
SMSActivateRentActivation rentActivation= smsActivateApi.getRentNumber(0, "vk");//Getting a number with rent
SMSActivateGetRentStatusResponse smsActivateGetRentStatusResponse= smsActivateApi.getRentStatus(rentActivation);//Getting activation status
System.out.println(">> Count sms: "+ smsActivateGetRentStatusResponse.getCountSms());//Displaying the number of sms on the rented number





















































