API protokolas darbui su SMS-Activate
API yra protokolas tarp jūsų programinės įrangos ir mūsų serverio
API reikalingas automatizuoti SMS, OTP ir PVA gavimo procesą jūsų pusėje
Mūsų API yra visiškai suderinamas su konkurentų svetainėmis
Visos užklausos turi būti siunčiamos adresu https://api.sms-activate.ai/stubs/handler_api.php
POST arba GET užklausa.
Visose užklausose turi būti API raktas kaip „api_key“ GET parametras
Atsisiųsti protokolo įgyvendinimą PHP kalba Atsisiųsti paruoštą protokolo įgyvendinimą Python kalbaAktyvavimo API
Parametrai:
$api_key - API raktas
$country * - šalies numeris žr. lentelę
$operatorius * mobiliojo ryšio operatorių numeriai, galite nurodyti kelis numerius, atskirtus kableliais (galima tik:
** prieinama šalyje $country = 0, $country = 1, $country = 2
ATSAKYMAS:
Paslaugos atsakymas bus JSON formatu, pavyzdys:
{"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}
Kur brūkšnis žymi paslaugos pavadinimą, o po jo nurodoma, ar reikia peradresavimo. 0 – ne. 1 – taip.
Parametrai:
$api_key - API raktas
$service * - Paslauga žr. lentelę
* neprivalomas parametras. Jei nenurodytas, pagal numatytuosius nustatymus bus rodomos populiariausios šalys visoms paslaugoms.
$freePrice * - neprivalomas parametras. Jei pateiktas true, kiekis ir kaina bus pateikti pagal „Free Price“
ATSAKYMAS:
Paslaugos atsakymas bus JSON formatu, pavyzdys:
{
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
}
}, ...
}
Balanso užklausa su cashback sąskaita:
* grąžina balansą atsižvelgiant į sukauptą cashback, jei cashback sąskaitos nustatymuose pažymėtas langelis „Naudoti cashback aktyvacijai“
Parametrai:
$api_key - API raktas
ATSAKYMAS:
ACCESS_BALANCE: „sąskaitos balansas“
GALIMOS KLAIDOS:
BAD_KEY - neteisingas API raktas
ERROR_SQL - SQL serverio klaida
* grąžina visus operatorius, prieinamus nurodytai šaliai; jei šalis nenurodyta, grąžinami visi kiekvienai šaliai prieinami operatoriai
Parametrai:
$api_key - API raktas
$country - šalies kodas
ATSAKYMAS:
Paslaugos atsakymas bus JSON formatu:
{"status":"success", "countryOperators": {
"Country1Code": ["operator1Name","operator2Name","operator3Name", ...],
"Country2Code": ["operator1Name","operator2Name","operator3Name", ...],
...
}}
Pavyzdys:
{"status":"success", "countryOperators": {
"0": ["beeline","megafon","mts", ...],
"1": ["life","mts","kyivstar","utel" ...],
...
}}
* viduje „countryOperators“ raktas bus šalies kodas
GALIMOS KLAIDOS:
BAD_KEY - neteisingas API raktas
ERROR_SQL - SQL serverio klaida
OPERATORS_NOT_FOUND - įrašų nerasta (pvz., perduotas neegzistuojančios šalies kodas)
Parametrai:
$api_key - API raktas
ATSAKYMAS:
Paslaugos atsakymas bus 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",
}]
GALIMOS KLAIDOS:
BAD_KEY - neteisingas API raktas
ERROR_SQL - SQL serverio klaida
NO_ACTIVATIONS - įrašų nerasta (nėra aktyvių aktyvacijų)
Parametrai:
$api_key - API raktas
$service - paslauga užsakymui žr. lentelę
$forward * - ar reikia užsisakyti numerį su peradresavimu
* neprivalomas parametras, priima reikšmes 0 (nevykdyti, nustatyta pagal numatytuosius nustatymus), 1 (vykdyti)
$maxPrice * - didžiausia kaina, už kurią esate pasirengę įsigyti numerį naudojant „Free Price“
* neprivalomas parametras; jei nenurodytas, pirkimas bus vykdomas įprasta kaina
$phoneException * - rusiškų numerių priešdėlių išimtys. Įveskite atskirdami kableliais. Įrašo formatas: šalies kodas ir 3–6 maskės skaitmenys (pvz., 7918, 7900111). Numatytoji reikšmė yra ta, kuri nurodyta paskyroje.
$operator* yra mobiliojo ryšio operatorius, susietas su numeriu. Galite nurodyti kelis operatorius, atskirdami juos kableliais (galima tik **)
$activationType - aktyvacijos tipas: 0 – su SMS (numatytasis), 1 – su numeriu, 2 – su balso skambučiu
$language - analizės kalba (būtina aktyvuojant per balso skambutį) žr. lentelę
$userId * – naudotojo ID, kuriam taikomas draudimas dėl prastų aktyvacijos statistikų rodiklių, tačiau tai neturi įtakos pardavėjo paskyrai.
* neprivalomas laukas
** prieinama šalyje $country = 0, $country = 1, $country = 2
$ref - perduokite rekomendacijos ID.
$country - šalies numeris žr. lentelę
$useCashBack* – priima loginę reikšmę. Jei parametras nustatytas kaip „true“, numerio pirkimas bus vykdomas naudojant cashback lėšas. Pasibaigus cashback balanso lėšoms, visi vėlesni pirkimai bus atliekami iš pagrindinio balanso. SVARBU prisiminti, kad visi vėlesni pirkimai pirmiausia naudos cashback lėšas, o tik po to – pagrindinį balansą (net jei vėliau perduosite parametrą „false“).
* neprivalomas parametras, priima reikšmę „true“
Gaudami numerį per API, sutinkate su projekto taisyklės projekto taisyklės
GALIMOS KLAIDOS:
WRONG_MAX_PRICE:$min- nurodyta maksimali kaina yra mažesnė už leistiną
$min - minimali leistina kaina
BAD_ACTION - neteisingas veiksmas
BAD_SERVICE - neteisingas paslaugos pavadinimas
BAD_KEY - neteisingas API raktas
ERROR_SQL - SQL serverio klaida
BANNED:'YYYY-m-d H-i-s' – laikas, iki kurio paskyra yra užblokuota
WRONG_EXCEPTION_PHONE - neteisingi išimties priešdėliai
NO_BALANCE_FORWARD - nepakanka lėšų skambučių persiuntimo paslaugai įsigyti
CHANNELS_LIMIT - paskyra užblokuota
NO_NUMBERS - nėra numerių
Jei bandysite gauti konkretaus operatoriaus numerį, kuris neveikia pasirinktoje šalyje arba neturi pasirinktos paslaugos, bus grąžintas pirmojo operatoriaus, atitinkančio užklausos parametrus, numeris
metodas veikia panašiai kaip metodas getNumber, priima tuos pačius parametrus ir papildomus, aprašytus žemiau, bet grąžina papildomą aktyvacijos informaciją
Parametrai:
$orderId- aktyvacijos ID iš pardavėjo sistemos. Pirkimo metu šie duomenys lyginami su aktyvacijos ID ir pardavėju mūsų sistemoje. Taip siekiame idempotentiškumo (tas pats užsakymas nebus apdorotas dar kartą).
ATSAKYMAS:
Jei užklausa sėkminga, atsakymas bus tokio formato:
{
"activationId": 635468024,
"phoneNumber": "79584******",
"activationCost": "12.50",
"countryCode": "0",
"canGetAnotherSms": "1",
"activationTime": "2022-06-01 17:30:57",
"activationOperator": "mtt"
}
Jei bandysite gauti konkretaus operatoriaus numerį, kuris neveikia pasirinktoje šalyje arba neturi pasirinktos paslaugos, bus grąžintas pirmojo operatoriaus, atitinkančio užklausos parametrus, numeris
GALIMOS KLAIDOS:
ORDER_ALREADY_EXISTS- užsakymas jau sukurtas
Kai gausite SMS į numerį ir jūsų nustatymuose įjungta „Webhooks“ funkcija, mes išsiųsime informaciją apie SMS jūsų nurodytais adresais naudodami POST užklausą.
ATSAKYMAS:
Atsakymo formatas bus toks:
{
"activationId": 635468024,
"service": "go",
"text": "Your sms text",
"code": "Your sms code",
"country": 0,
"receivedAt": "2022-06-01 17:30:57",
}
Siunčiant užklausą, lauksime jūsų skripto atsakymo su HTTP statusu 200. Jei jūsų skriptas neatsakys, pakartosime užklausą per 2 valandas, bet ne daugiau kaip 8 kartus.
Šią funkciją galite įjungti profilio nustatymuose
Parametrai:
$api_key - API raktas
$service - paslauga užsakymui žr. lentelę
$forward * - ar reikia užsisakyti numerį su peradresavimu
* neprivalomas parametras; peradresavimo simboliai atskiriami kableliais, peradresuojamų skaitmenų skaičius turi sutapti su parametre perduotų paslaugų skaičiumi $service. Leidžiama perduoti tik 1 paslaugą su peradresavimu, pavyzdžiui, „0,1,0,0“ – teisingai, „0,1,1,0“ – neteisingai. Reikšmės: 0 (nevykdyti, numatytoji), 1 (vykdyti)
$operator * - numerio mobiliojo ryšio operatorius, galite nurodyti kelis numerius, atskirtus kableliais (galima tik **):
$ref - perduokite rekomendacijos ID.
$country - šalies numeris žr. lentelę
Gaudami numerį per API, sutinkate su projekto taisyklės projekto taisyklės
ATSAKYMAS:
NO_NUMBERS - nėra numerių
NO_BALANCE - baigėsi likutis
{{'phone':phone,'activation':activation,'service':service},
{'phone':phone,'activation':activation,'service':service}}, kur (phone – operacijos ID, activation – telefono numeris, service – paslauga)
GALIMOS KLAIDOS:
BAD_ACTION - neteisingas veiksmas
BAD_SERVICE - neteisingas paslaugos pavadinimas
BAD_KEY - neteisingas API raktas
ERROR_SQL - SQL serverio klaida
BANNED:'YYYY-m-d H-i-s' – laikas, iki kurio paskyra yra užblokuota
Parametrai:
$api_key - API raktas
$id - aktyvacijos ID
$forward * - telefono numeris, į kurį norite peradresuoti
* būtina tik tuo atveju, jei perduotas parametras getNumber forward=1.
$status - aktyvacijos būsena
1 - pranešti apie numerio prieinamumą (SMS išsiųstas į numerį)
3 - paprašyti dar vieno kodo (nemokamai)
6 - užbaigti aktyvaciją *
8 - pranešti, kad numeris jau panaudotas, ir atšaukti aktyvaciją
* jei buvo būsena „gautas kodas“ – žymi kaip sėkmingą ir užbaigia; jei buvo „ruošiamasi“ – ištrina ir žymi klaidą; jei buvo būsena „laukiama pakartojimo“ – perkelia aktyvaciją į laukiančių SMS sąrašą
** Negalima keisti aktyvacijos būsenos, jei pasirinktas patvirtinimo metodas skambučiu ir numeris jau gautas
Paprasta API darbo chronologijos logika:
Gavus numerį naudojant getNumber metodą, galimi šie veiksmai:
8 - atšaukti aktyvaciją (jei numeris jums netinka)
1 - informuoti, kad SMS išsiųstas (pasirinktinai)
Aktyvacijai, kurios būsena 1:
8 - atšaukti aktyvaciją
Iškart gavus kodą:
3 - paprašyti dar vieno SMS
6 - patvirtinti SMS kodą ir užbaigti aktyvaciją
Aktyvacijai, kurios būsena 3:
6 - patvirtinti SMS kodą ir užbaigti aktyvaciją
ATSAKYMAS:
ACCESS_READY - numerių paruoštumas patvirtintas
ACCESS_RETRY_GET - laukiama naujo SMS
ACCESS_ACTIVATION - paslauga sėkmingai aktyvuota
ACCESS_CANCEL - aktyvacija atšaukta
GALIMOS KLAIDOS:
EARLY_CANCEL_DENIED - draudžiama atšaukti numerį per pirmas 2 minutes
ERROR_SQL - SQL serverio klaida
NO_ACTIVATION - aktyvacijos ID neegzistuoja
BAD_SERVICE - neteisingas paslaugos pavadinimas
BAD_STATUS - neteisinga būsena
BAD_KEY - neteisingas API raktas
BAD_ACTION - neteisingas veiksmas
WRONG_ACTIVATION_ID - neteisingas ID arba ID nėra skaičius.
Parametrai:
$api_key - API raktas
$id - aktyvacijos ID
ATSAKYMAS:
STATUS_WAIT_CODE - laukiama SMS
STATUS_WAIT_RETRY: 'praeitis, neatitikęs kodas' - laukiama kodo patikslinimo
STATUS_WAIT_RESEND - laukiama pakartotinio SMS siuntimo *
* programinė įranga turi paspausti „išsiųsti SMS iš naujo“ ir pakeisti būseną į 6
STATUS_CANCEL - aktyvacija atšaukta
STATUS_OK: 'aktyvacijos kodas' - kodas gautas
GALIMOS KLAIDOS:
NO_ACTIVATION - aktyvacijos ID neegzistuoja
ERROR_SQL - SQL serverio klaida
BAD_KEY - neteisingas API raktas
BAD_ACTION - neteisingas veiksmas
Parametrai:
$api_key - API raktas
$id - aktyvacijos ID
ATSAKYMAS:
Atsakymo formatas bus toks:
{
"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 - aktyvacija atšaukta
GALIMOS KLAIDOS:
NO_ACTIVATION - aktyvacijos ID neegzistuoja
ERROR_SQL - SQL serverio klaida
BAD_KEY - neteisingas API raktas
BAD_ACTION - neteisingas veiksmas
Parametrai:
$api_key - API raktas
$start - laiko žyma Unix Timestamp formatu (pasirinktinai) - nuo kurios datos nagrinėti aktyvacijas
$end - laiko žyma Unix Timestamp formatu (pasirinktinai) - iki kurios datos nagrinėti aktyvacijas
$offset - pirmojo atsakyme grąžinto elemento poslinkis. Numatytoji reikšmė yra 0
$limit - didžiausias grąžinamų įrašų skaičius. Maksimalus – 100. Numatytoji reikšmė – 50.
ATSAKYMAS:
Atsakymo formatas bus toks:
[{
"id": 635468024,
"date": "2022-11-12 15:58:39",
"phone": "79918529716",
"sms": "sms":"["Your sms code"]",
"cost": 100 //Если активация не завершена, то cost = 0,
"status": "4",
}]
GALIMOS KLAIDOS:
ERROR_SQL - SQL serverio klaida
BAD_KEY - neteisingas API raktas
BAD_ACTION - neteisingas veiksmas
Parametrai:
$api_key - API raktas
$service - paslaugos pavadinimas
ATSAKYMAS:
Atsakymo formatas bus toks:
[{
"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)
}]
GALIMOS KLAIDOS:
ERROR_SQL - SQL serverio klaida
BAD_KEY - neteisingas API raktas
WRONG_SERVICE - neteisinga paslauga
BAD_ACTION - neteisingas veiksmas
Parametrai:
$api_key - API raktas
$id - aktyvacijos ID
ATSAKYMAS:
Paslaugos atsakymas bus JSON formatu, pavyzdys:
{"status":"2","phone":false}
GALIMOS BŪSENOS:
2 - nauja aktyvacija
3 - sėkmingai baigta
4 - atšaukta
5 - grąžinta
GALIMOS KLAIDOS:
BAD_KEY - neteisingas API raktas
NETEISINGAS_AKTYVACIJOS_ID - Neteisingas aktyvacijos ID
Parametrai:
$api_key - API raktas
$serviceTrumpas paslaugos pavadinimas (neprivaloma, pagal numatytuosius nustatymus – visos paslaugos) žr. lentelę
$countryŠalies kodo pavadinimas (neprivaloma, pagal numatytuosius nustatymus – visos šalys) žr. lentelę
ATSAKYMAS:
JSON – objektas formatu
{"Šalis":{"Paslauga":{"kaina":Kaina,"kiekis":Kiekis}}}
Parametrai:
$api_key - API raktas
$serviceTrumpas paslaugos pavadinimas (neprivaloma, pagal numatytuosius nustatymus – visos paslaugos) žr. lentelę
ATSAKYMAS:
JSON – objektas formatu
{"Paslauga":{"Šalis":{"kiekis":Kiekis,"kaina":"Kaina"}}}
Parametrai:
$api_key - API raktas
ATSAKYMAS:
JSON – objektas formatu {{'Страна':{'id':0,'rus':"Россия","eng:"Russia","chn":"俄罗斯","visible":1,"retry":1,"rent":1,"multiService":1}},
kur (
id : šalies ID;
rus : šalies pavadinimas rusų kalba;
eng : šalies pavadinimas anglų kalba;
chn : šalies pavadinimas kinų kalba;
visible : 0 – šalis nerodoma svetainėje, 1 – rodoma;
retry : 0 – pakartotinis SMS NEGALIMAS, 1 – galimas;
rent : 0 – šalis nuomojama ne, 1 – nuomojama;
multiService : 0 – šalis NETINKAMA daugiafunkcėms paslaugoms, 1 – tinkama.)
Parametrai:
$api_key- API raktas
$country *- Šalies ID. Jei nurodėte šalį, grąžiname paslaugas, kurios turi kainą pasirinktai šaliai
$lang *- kalba, naudojama pateikti `name`. Galimos reikšmės: 'ru', 'en', 'es', 'cn'. Numatytoji reikšmė – 'en'
* neprivalomas parametras
ATSAKYMAS:
JSON – objektas formatu { "status": "success", "services": [ { "code": "aoo", "name": "Pegasus Airlines" } ] }
Gavę pirmąjį SMS pranešimą peradresuotiems numeriams, galite įsigyti kitų susijusių paslaugų, tokių kaip Yula, Yandex, Avito ar bet kurių kitų
Papildomos paslaugos kaina yra tik 5p
Parametrai:
$api_key - API raktas
$service - trumpojo paslaugos pavadinimo ieškokite lentelėje žr. lentelę
$id - Tėvinės aktyvacijos ID
ATSAKYMAS:
PAPILDOMA:$id:$telefonas - nauja aktyvacija sėkmingai sukurta. Kur ID yra papildomos aktyvacijos ID, o telefonas – telefono numeris
GALIMOS KLAIDOS:
NETEISINGA_PAPILDOMA_PASLAUGA - Neteisinga papildoma paslauga (leidžiamos tik persiuntimo paslaugos)
WRONG_ACTIVATION_ID - Neteisingas tėvinės aktyvacijos ID
NETEISINGAS_SAUGUMAS - įvyko klaida bandant perduoti aktyvacijos ID be peradresavimo arba užbaigtą/neaktyvią aktyvaciją
KARTOTI_PAPILDOMĄ_PASLAUGĄ - klanka kyla bandant užsisakyti jau įsigytą paslaugą iš naujo NO_BALANCE – Nepakankamai lėšų
ERROR_SQL- duomenų bazės klaida, susisiekite su klientų aptarnavimo tarnyba
Jei sėkmingai atlikote aktyvaciją šiuo numeriu, galite tai padaryti dar kartą.
Papildomos aktyvacijos kaina nustatoma priklausomai nuo šalies ir paslaugos. Konkretią kainą galima sužinoti iš .
Parametrai:
$api_key - API raktas
$activationId - Tėvinės aktyvacijos ID
ATSAKYMAS:
PRIEIGA_PRIE_NUMERIO:$id:$telefonas - nauja aktyvacija sėkmingai sukurta. Kur $id yra papildomos aktyvacijos ID, o $phone – telefono numeris
GALIMOS KLAIDOS:
ATNAUJINTI_AKTYVACIJOS_NEGALIMA- numeris nėra prieinamas papildomai aktyvacijai
WRONG_ACTIVATION_ID - Neteisingas tėvinės aktyvacijos ID
ERROR_SQL- duomenų bazės klaida, susisiekite su klientų aptarnavimo tarnyba
NAUJA_AKTYVACIJA_NEĮMANOMA- neįmanoma atlikti papildomos aktyvacijos
NO_BALANCE - sąskaitoje nėra lėšų
Galite sužinoti, ar numeris yra prieinamas papildomai aktyvacijai, ir gauti jo kainą
Parametrai:
$api_key - API raktas
$activationId - Tėvinės aktyvacijos ID
ATSAKYMAS:
JSON – objektas formatu {'status': 'success', 'cost':200,"service":"tw","phone":777777777,"country":14},
GALIMOS KLAIDOS:
ATNAUJINTI_AKTYVACIJOS_NEGALIMA- numeris nėra prieinamas papildomai aktyvacijai
WRONG_ACTIVATION_ID - Neteisingas tėvinės aktyvacijos ID
SIM_KORTELE_ISJUNGTA - SIM kortelė išjungta
ATSAKYMAS:
Atsakymo formatas bus toks:
{
"result": "OK"
}
STATUS_CANCEL - aktyvacija atšaukta
SKAMBUČIO_NĖRA- skambutis negautas
PARSE_COUNT_EXCEED- viršytas analizės bandymų limitas (maksimaliai 4)
GALIMOS KLAIDOS:
WRONG_ACTIVATION_ID - neteisingas ID, aktyvacija neegzistuoja
ERROR_SQL - SQL serverio klaida
BAD_KEY - neteisingas API raktas
BAD_ACTION - neteisingas veiksmas
Nuomos API
Parametrai:
$api_key - API raktas
$time* - nuomos laikas (pagal nutylėjimą: 4 valandos)
$operator* - numerio mobiliojo ryšio operatorius, galite nurodyti kelis, atskirdami kableliais (pagal nutylėjimą: Bet kuris)
$country* - šalis (pagal nutylėjimą: Rusija)
$incomingCall * - jei persiųsta "true"gauti numerį, palaikantį skambučių priėmimo funkciją
ATSAKYMAS:
Paslaugos atsakymas bus JSON formatu, pavyzdys:
{ "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 } } }
GALIMOS KLAIDOS:
BAD_KEY - neteisingas API raktas
OUT_OF_STOCK - numeriai tai šaliai neprieinami
Parametrai:
$api_key - API raktas
$service - paslauga, kuriai reikia gauti numerį
$time* - nuomos laikas valandomis (pagal nutylėjimą: 4 valandos). Kitas galimas laikotarpis yra 12 valandų, tada 24 valandos. Užsakant nuomą dienai ar ilgiau, būtina nurodyti: 24, 48, 72 ir t. t.
$operator* - numerio mobiliojo ryšio operatorius, galite nurodyti kelis, atskirdami kableliais (pagal nutylėjimą: Bet kuris)
$country* - šalis (pagal nutylėjimą: Rusija)
$url * - nuoroda į webhook (pagal nutylėjimą nenagrinėjama)
$incomingCall * - jei persiųsta "true"gauti numerį, palaikantį skambučių priėmimo funkciją
* neprivalomas parametras. Jei nenurodytas, bus naudojamas numatytasis parametras.
ATSAKYMAS:
Paslaugos atsakymas bus JSON formatu, pavyzdys:
{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564" } }
GALIMOS KLAIDOS:
BAD_KEY - neteisingas API raktas
Atsakymas JSON formatu:
{ "status": "error", "message": "*galimas_atsakymas*" }
Galimi atsakymai lauke "message":
BAD_SERVICE - paslauga nenurodyta arba pavadinimas neteisingas
NO_BALANCE - sąskaitoje nėra lėšų
NO_NUMBERS - nėra numerių
ACCOUNT_INACTIVE - nėra numerių
SERVER_ERROR - serverio klaida
CHANNELS_LIMIT - paskyra užblokuota
Parametrai:
$api_key - API raktas
$id - Nuomos ID, gautas atsakyme užsakant numerį
$page* - puslapio numeris, nuo kurio pradedama atranka (puslapių numeracija prasideda nuo 0, nuo naujausių iki seniausių; pagal nutylėjimą 0)
$size* - puslapio dydis (pagal nutylėjimą 10)
* neprivalomas parametras. Jei nenurodytas, bus naudojamas numatytasis parametras.
ATSAKYMAS:
Paslaugos atsakymas bus JSON formatu, pavyzdys:
{ "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" } } }
* sėkminga tik tada, kai yra SMS (lauko 'quantity' reikšmė > 0).
GALIMOS KLAIDOS:
BAD_KEY - neteisingas API raktas
Atsakymas JSON formatu:
{ "status": "error", "message": "*galimas_atsakymas*" } Galimi atsakymai lauke "message": NO_ID_RENT - nenurodytas nuomos ID INVALID_PHONE - numeris nuomojamas ne jūsų (neteisingas nuomos ID) STATUS_FINISH - nuoma apmokėta ir užbaigta STATUS_CANCEL - nuoma atšaukta grąžinant lėšas STATUS_WAIT_CODE - laukiama pirmojo SMS STATUS_REVOKE - numeris užblokuotas, jūsų lėšos grąžintos
Parametrai:
$api_key - API raktas
$id - Nuomos ID, gautas atsakyme užsakant numerį
$status - būsenos keitimo kodas (numeris)
Būsena gali būti:
ATSAKYMAS:
Paslaugos atsakymas bus JSON formatu:
{ "status": "success" }
GALIMOS KLAIDOS:
BAD_KEY - neteisingas API raktas
Atsakymas JSON formatu:
{ "status": "error", "message": "*galimas_atsakymas*" }
Galimi atsakymai lauke "message":
NO_ID_RENT - nenurodytas nuomos ID
INCORECT_STATUS - trūksta arba neteisingai nurodyta būsena
CANT_CANCEL - neįmanoma atšaukti nuomos (praėjo daugiau nei 20 min.)
INVALID_PHONE - numeris nuomojamas ne jūsų (neteisingas nuomos ID)
ALREADY_FINISH - nuoma jau yra užbaigta
ALREADY_CANCEL - nuoma jau yra atšaukta
SERVER_ERROR - serverio klaida
👉Dėmesio! Šis metodas rodo tik paskutinius 10 numerių. Jei reikia daugiau numerių, naudokite getRentStatus metodą būsenoms patikrinti.
Parametrai:
$api_key - API raktas
ATSAKYMAS:
Paslaugos atsakymas bus JSON formatu:
{ "status": "success", "values": { "0": { "id": "12345", "phone": "79181234567" }, "1": { "id": "12345", "phone": "79181234568" } } }
GALIMOS KLAIDOS:
BAD_KEY - neteisingas API raktas
BAD_ACTION - neteisingas veiksmas
Atsakymas JSON formatu:
{ "status": "error", "message": "*galimas_atsakymas*" }
Galimi atsakymai lauke "message":
NO_NUMBERS - nėra nuomotų numerių
SERVER_ERROR - serverio klaida
Parametrai:
$api_key - API raktas
$id - nuomos id
$rent_time- nuomos laikas (pagal numatytuosius nustatymus: 4 valandos)
ATSAKYMAS:
Paslaugos atsakymas bus JSON formatu:
{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564"} }
Kai užbaigta nuoma pratęsiama, ji bus užsakoma iš naujo, bus suteiktas naujas id
GALIMOS KLAIDOS:
BAD_KEY - neteisingas API raktas
BAD_ACTION - neteisingas veiksmas
SERVER_ERROR - serverio klaida
Atsakymas JSON formatu:
{ "status": "error", "message": "*possible_answer*", "info": "*details*" }
Galimi atsakymai lauke "message":
NO_ID_RENT - nėra nuomos ID
INVALID_TIME - neteisingas laikas. Galimas valandų skaičius nuo 4 iki 1344
MAX_HOURS_EXCEED - Viršytas maksimalus galimas laikas
maks - maksimalus galimas laikas
INVALID_PHONE - neteisingas nuomos ID
RENT_DIE - nuomos pratęsti negalima, nes numerio galiojimo laikas pasibaigė
NO_BALANCE - nepakanka lėšų
CHANNELS_LIMIT - paskyra užblokuota
* šis metodas taikomas tik nuomai su MTT operatoriumi.
Parametrai:
$api_key - API raktas
$id - nuomos id
$rent_time - nuomos laikas
ATSAKYMAS:
Paslaugos atsakymas bus JSON formatu:
{ "status": "success", "price": 6.33 }
GALIMOS KLAIDOS:
BAD_KEY - neteisingas API raktas
BAD_ACTION - neteisingas veiksmas
SERVER_ERROR - serverio klaida
Atsakymas JSON formatu:
{ "status": "error", "message": "*galimas_atsakymas*" }
Galimi atsakymai lauke "message":
NO_ID_RENT - nėra nuomos ID
INVALID_PHONE - neteisingas nuomos ID
INVALID_TIME - neteisingas laiko nustatymas
RENT_DIE - nuomos pratęsti negalima, nes numerio galiojimo laikas pasibaigė
MAX_HOURS_EXCEED - Viršytas maksimalus galimas laikas
maks - maksimalus galimas laikas
CHANNELS_LIMIT - paskyra užblokuota
API JAVA
Įtraukite biblioteką į „Maven“
<artifactId>SMSActivateApi</artifactId>
<version>1.0</version>
</dependecy>
Registracijos pavyzdį galite peržiūrėti nuoroda į „MavenRepository“
Importuokite pagrindinę klasę sąveikai su SMS-Activate API.
Norint naudoti biblioteką, reikia API rakto; jį galite gauti šiame puslapyje ir pagal toliau pateiktą nuorodą.
SMS-Activate API raktasNorėdami sužinoti dabartinį savo paskyros likutį, naudokite metodą getBalance... Jei jus domina ne tik likutis, bet ir grąžinamų lėšų suma, iškvieskite metodą getBalanceAndCashBack.
Metodas getBalanceAndCashBack grąžina klasės objektąSMSActivateGetBalanceAndCashBack.
Parametrai:
NONE
GRĄŽINIMO TIPAS:
BigDecimal
Parametrai:
NONE
GRĄŽINIMO TIPAS:
Parametrai:
countryId(Integer) - šalies identifikatorius.
service(String) - trumpas paslaugos pavadinimas.
forward*(boolean) - ar prašyti numerio su skambučių persiuntimu.
operatorSet*(Aibė) - operatorių aibė.
phoneException*(Aibė) - išskyrus prefiksus tik Rusijai, numerių aibė nuo 3 iki 6 (7918,7900111).
* neprivalomas laukas. Jei nieko nenurodyta, numatytasis kiekis bus nustatytas pagal profilio nustatymus.
GRĄŽINIMO TIPAS:
Parametrai:
countryId(Integer) - šalies identifikatorius.
operatorSet*(Aibė) - operatorių, kurie yra pasiekiami šiai paslaugai, aibė
GRĄŽINIMO TIPAS:
Parametrai:
id(Sveikasis skaičius) - aktyvacijos identifikatorius
service(String) - trumpas paslaugos pavadinimas.
Vietoj aktyvacijos identifikatoriaus galite perduoti gautą klasės objektą SMSActivateActivation panaudojus metodą getNumber arba vieną iš aktyvacijų po panaudojimo getMultiServiceNumber.
GRĄŽINIMO TIPAS:
Parametrai:
countryId(Integer) - šalies identifikatorius.
serviceMap(Aibė) - paslaugų, kurių aktyvacija yra įsigyta, aibė
multiForwardList(Sąrašas) - paslaugų, kurioms galimas skambučio peradresavimas, sąrašas
operatorSet(Aibė) - operatorių aibė.
GRĄŽINIMO TIPAS:
Parametrai:
NONE
GRĄŽINIMO TIPAS:
Parametrai:
countryId(Integer) - šalies identifikatorius.
service(String) - trumpas paslaugos pavadinimas.
GRĄŽINIMO TIPAS:
Parametrai:
countryId(Integer) - šalies identifikatorius.
GRĄŽINIMO TIPAS:
Parametrai:
activationId(Sveikasis skaičius) - aktyvacijos identifikatorius
Vietoj aktyvacijos identifikatoriaus galite perduoti gautą klasės objektą SMSActivateActivation panaudojus metodą getNumber arba vieną iš aktyvacijų po panaudojimo getMultiServiceNumber.
GRĄŽINIMO TIPAS:
Parametrai:
id(Sveikasis skaičius) - aktyvacijos identifikatorius
status(SMSActivateClientStatus) - būsena, kuri turi būti nustatyta aktyvacijai
Vietoj aktyvacijos identifikatoriaus galite perduoti gautą klasės objektą SMSActivateActivation panaudojus metodą getNumber arba vieną iš aktyvacijų po panaudojimo getMultiServiceNumber.
GRĄŽINIMO TIPAS:
Parametrai:
NONE
GRĄŽINIMO TIPAS:
Parametrai:
activationId(Sveikasis skaičius) - aktyvacijos identifikatorius
Vietoj aktyvacijos identifikatoriaus galite perduoti gautą klasės objektą SMSActivateActivation panaudojus metodą getNumber arba vieną iš aktyvacijų po panaudojimo getMultiServiceNumber.
GRĄŽINIMO TIPAS:
Pilno SMS teksto gavimo su aktyvacija algoritmas
Gavus numerį naudojant getNumber metodą, galimi šie veiksmai:
CANCEL - 8 - Atšaukti aktyvaciją (jei numeris jums netinka)
MESSAGE_WAS_SENT – informuoja, kad SMS buvo išsiųstas (būtina norint gauti visą SMS tekstą)
Privalomai nustatę MESSAGE_WAS_SENT būseną, naudokite kintamąjį SMS gavimui per waitSMS metodą su aktyvacijos parametrais ir laukimo laiku.
Gavę SMS, galite jį gauti naudodami getFullSMS metodą, o tada atvaizduoti visą tekstą naudodami getText() metodą.
Po to galite nustatyti aktyvacijoms šias būsenas:
Norėdami aktyvuoti su MESSAGE_WAS_SENT būsena:
CANCEL – atšaukti aktyvaciją
Iškart gavus kodą:
REQUEST_ONE_MORE_CODE – prašyti dar vieno SMS
FINISH – patvirtinti SMS kodą ir užbaigti aktyvaciją
Norėdami aktyvuoti su REQUEST_ONE_MORE_CODE būsena:
FINISH – patvirtinti SMS kodą ir užbaigti aktyvaciją
Parametrai:
countryId(Integer) - šalies identifikatorius.
service(String) - trumpas paslaugos pavadinimas.
hours (sveikasis skaičius)* – nuomos laikas
operator (eilutė)* – mobiliojo operatoriaus pavadinimas
urlWebhook (eilutė)* – nuoroda webhook adresui (pagal numatytuosius nustatymus neatsižvelgiama)
Kas yra webHook?* neprivalomas parametras. Jei nenurodytas, bus naudojamas numatytasis
GRĄŽINIMO TIPAS:
Parametrai:
countryId(Integer) - šalies identifikatorius.
operatorSet(Aibė) - mobiliųjų operatorių rinkinys
hours (sveikasis skaičius)* – nuomos laikas
* neprivalomas parametras. Jei nenurodytas, bus naudojamas numatytasis
GRĄŽINIMO TIPAS:
Parametrai:
rentId (sveikasis skaičius) - nuomojamo numerio identifikatorius
Vietoj rentId galite perduoti gautą klasės objektą SMSActivateRentActivation panaudojus metodą getRentNumber
GRĄŽINIMO TIPAS:
El. pašto API
API būsenų aprašymas
3 – Laukiama
4 – Atšaukta
5 – Sėkminga
APRAŠYMAS:
Griežtesnis REST API principų laikymasis ir padidintas gmail.com pašto dėžučių skaičius Telegram paskyrų registracijai.
Parametrai:
$api_key - API raktas
$site- svetainė, kuriai jums reikia el. pašto
ATSAKYMAS:
Paslaugos atsakymas bus JSON formatu, pavyzdys:
{
"status":"OK",
"response":{
"zones":[
{
"name":"info",
"cost":2.5
},
...
],
"popular":[
{
"name":"mail.ru",
"cost":6,
"count":159008
},
...
]
}
}
GALIMOS KLAIDOS:
BAD_SITE- svetainė nenurodyta
BAD_KEY - neteisingas API raktas
BAD_ACTION - neteisingas veiksmas
Parametrai:
$api_key - API raktas
$site - svetainė, kuriai jums reikia el. pašto
$mail_type - pašto tipas: populiarūs domenai arba zonos (1 – zonos, 2 – populiarūs)
$mail_domain - pasirinkta zona arba domenas
ATSAKYMAS:
Paslaugos atsakymas bus JSON formatu, pavyzdys:
{
"status":"OK",
"response":{"email":"[email protected]","id":241}
}
GALIMOS KLAIDOS:
BAD_KEY - neteisingas API raktas
BAD_ACTION - neteisingas veiksmas
MAIL_TYPE_ERROR - nurodytai svetainei nėra tokio domeno
CHANNELS_LIMIT - paskyra užblokuota
Parametrai:
$api_key - API raktas
$id- Pašto, kurio reaktyvacija reikalinga, ID
ATSAKYMAS:
Paslaugos atsakymas bus JSON formatu, pavyzdys:
{
"status": "OK",
"response": {
"email": "[email protected]",
"id": 360
}
}
GALIMOS KLAIDOS:
BAD_KEY - neteisingas API raktas
BAD_ACTION - neteisingas veiksmas
BLOCKED_SITE - užblokuota svetainė
BAD_BALANCE - nepakanka lėšų
ACTIVATION_NOT_FOUND - aktyvacija nerasta
CHANNELS_LIMIT - paskyra užblokuota
Parametrai:
$api_key - API raktas
$page- puslapio numeris
$per_page- pirkimų skaičius kiekviename puslapyje
$search- paieškos laukas
$sort- rikiavimo kryptis (desc, asc)
ATSAKYMAS:
Paslaugos atsakymas bus JSON formatu, pavyzdys:
{
"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
}
}
Parametrai:
$api_key - API raktas
$id- pirkimo ID
ATSAKYMAS:
Paslaugos atsakymas bus JSON formatu, pavyzdys:
{
"status":"OK",
"response":true
}
GALIMOS KLAIDOS:
EARLY_CANCEL_DENIED - Negalite atšaukti pašto per pirmas 2 minutes.
Parametrai:
$api_key - API raktas
$id- įsigyto el. pašto ID, grąžinamas po el. pašto įsigijimo
ATSAKYMAS:
Paslaugos atsakymas bus JSON formatu, pavyzdys:
{
"status":"OK",
"response":{
"value":"Содержания письма"
}
}
API partnerio programinė įranga
Parametrai:
$api_key - API raktas
$id- Programinės įrangos, kurią reikia įsigyti, ID
ATSAKYMAS:
Paslaugos atsakymas bus JSON formatu, pavyzdys:
{
"status": "success",
"key": "F5qrzFoY6afj3zrEq7SeMplbx",
"manual": "Software download link:"
}
GALIMOS KLAIDOS:
BAD_DATA - Neteisingas ID arba ID nėra skaičius
BAD_ACTION - neteisingas veiksmas arba platintojas nepatvirtintas.
<?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.ltd 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





















































