Protokół API do współpracy z SMS-Activate
API to protokół komunikacji między Twoim oprogramowaniem a naszym serwerem
API jest potrzebne do automatyzacji procesu odbierania sms, otp i pva po Twojej stronie
Nasze API jest w pełni kompatybilne ze stronami konkurencji
Wszystkie żądania muszą być kierowane na https://api.sms-activate.ai/stubs/handler_api.php
Żądanie POST lub GET.
Wszystkie żądania muszą zawierać klucz API w postaci parametru GET api_key
Pobierz implementację protokołu w PHP Pobierz gotową implementację protokołu w PythonieAPI aktywacji
Parametry:
$api_key - Klucz API
$country * - numer kraju zobacz tabelę
$operator * numery operatorów komórkowych, możesz podać kilka numerów oddzielonych przecinkami (dostępne tylko dla:
** dostępne dla $country = 0, $country = 1, $country = 2
ODPOWIEDŹ:
Odpowiedź usługi będzie w formacie JSON, przykład:
{"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}
Gdzie przed myślnikiem znajduje się nazwa usługi, a po oznaczeniu, czy konieczne jest przekierowanie. 0 – nie. 1 – tak.
Parametry:
$api_key - Klucz API
$service * - Usługa zobacz tabelę
* parametr opcjonalny. Jeśli nie zostanie określony, domyślnie wyświetlone zostaną najlepsze kraje dla wszystkich usług.
$freePrice * - parametr opcjonalny. Jeśli zostanie podany true, ilość i cena zostaną podane zgodnie z Free Price
ODPOWIEDŹ:
Odpowiedź usługi będzie w formacie JSON, przykład:
{
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
}
}, ...
}
Zapytanie o saldo z uwzględnieniem konta cashback:
* zwraca saldo z uwzględnieniem zgromadzonego cashbacku, jeśli w ustawieniach konta cashback zaznaczono pole „Wydawaj cashback na aktywacje”
Parametry:
$api_key - Klucz API
ODPOWIEDŹ:
ACCESS_BALANCE: „saldo konta”
MOŻLIWE BŁĘDY:
BAD_KEY - nieprawidłowy klucz API
ERROR_SQL - błąd serwera SQL
* zwraca wszystkich operatorów dostępnych dla przekazanego kraju; jeśli kraj nie został przekazany, zwróci wszystkich operatorów dostępnych dla każdego kraju
Parametry:
$api_key - Klucz API
$country - kod kraju
ODPOWIEDŹ:
Odpowiedź usługi będzie w formacie JSON:
{"status":"success", "countryOperators": {
"Country1Code": ["operator1Name","operator2Name","operator3Name", ...],
"Country2Code": ["operator1Name","operator2Name","operator3Name", ...],
...
}}
Przykład:
{"status":"success", "countryOperators": {
"0": ["beeline","megafon","mts", ...],
"1": ["life","mts","kyivstar","utel" ...],
...
}}
* wewnątrz 'countryOperators' kluczem będzie kod kraju
MOŻLIWE BŁĘDY:
BAD_KEY - nieprawidłowy klucz API
ERROR_SQL - błąd serwera SQL
OPERATORS_NOT_FOUND - nie znaleziono rekordów (np. przekazano nieistniejący kraj)
Parametry:
$api_key - Klucz API
ODPOWIEDŹ:
Odpowiedź usługi będzie w formacie JSON:
{"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",
}]
MOŻLIWE BŁĘDY:
BAD_KEY - nieprawidłowy klucz API
ERROR_SQL - błąd serwera SQL
NO_ACTIVATIONS - nie znaleziono wpisów (brak aktywnych aktywacji)
Parametry:
$api_key - Klucz API
$service - usługa do zamówienia zobacz tabelę
$forward * - czy należy zamówić numer z przekierowaniem
* parametr opcjonalny, przyjmuje wartości 0 (nie wykonuj, ustawione domyślnie), 1 (wykonaj)
$maxPrice * - maksymalna cena, za którą jesteś gotowy kupić numer w ramach Free Price
* parametr opcjonalny; jeśli nie zostanie określony, zakup zostanie dokonany po regularnej cenie
$phoneException * - wykluczenie prefiksów dla numerów rosyjskich. Wprowadzaj oddzielone przecinkami. Format zapisu: kod kraju i od 3 do 6 cyfr maski (np. 7918, 7900111). Domyślną wartością jest wartość określona w koncie.
$operator* to operator komórkowy numeru, możesz podać kilku z nich oddzielonych przecinkami (dostępne tylko dla **)
$activationType - typ aktywacji: 0 - z SMS (domyślnie), 1 - z numerem, 2 - z połączeniem głosowym
$language - język parsowania (wymagany przy aktywacji głosowej) zobacz tabelę
$userId * - ID użytkownika do zbanowania za słabe statystyki aktywacji, ale konto samego resellera nie jest objęte tym ograniczeniem.
* pole opcjonalne
** dostępne dla $country = 0, $country = 1, $country = 2
$ref - przekaż ID referencyjne.
$country - numer kraju zobacz tabelę
$useCashBack* - przyjmuje wartość logiczną; jeśli parametr ma wartość 'true', zakup numeru zostanie sfinansowany ze środków cashback. Po wyczerpaniu środków na koncie cashback wszystkie kolejne zakupy będą realizowane z głównego salda. WAŻNE jest pamiętanie, że wszystkie kolejne zakupy będą najpierw korzystały z cashbacku, a dopiero potem z głównego salda (nawet jeśli później przekażesz parametr 'false').
* parametr opcjonalny, akceptuje wartość 'true'
Zamawiając numer przez API, zgadzasz się z zasady projektu zasady projektu
MOŻLIWE BŁĘDY:
WRONG_MAX_PRICE:$min- określona maksymalna cena jest niższa niż dozwolona
$min - minimalna dopuszczalna cena
BAD_ACTION - nieprawidłowa akcja
BAD_SERVICE - nieprawidłowa nazwa usługi
BAD_KEY - nieprawidłowy klucz API
ERROR_SQL - błąd serwera SQL
BANNED:'YYYY-m-d H-i-s' - czas, na który konto jest zablokowane
WRONG_EXCEPTION_PHONE - nieprawidłowe prefiksy wykluczeń
NO_BALANCE_FORWARD - niewystarczające środki na zakup przekierowania połączeń
CHANNELS_LIMIT - konto zablokowane
NO_NUMBERS - brak numerów
Jeśli spróbujesz uzyskać numer od konkretnego operatora, który nie działa w wybranym kraju lub nie obsługuje wybranej usługi, zwrócony zostanie numer pierwszego operatora spełniającego parametry zapytania
metoda działa podobnie do metody getNumber, przyjmuje te same parametry oraz dodatkowe opisane poniżej, ale zwraca dodatkowe informacje o aktywacji
Parametry:
$orderId- ID aktywacji z systemu resellera. Podczas zakupu dane te są porównywane z ID aktywacji i resellerem w naszym systemie. W ten sposób chcemy osiągnąć idempotentność (to samo zamówienie nie zostanie przetworzone ponownie).
ODPOWIEDŹ:
Jeśli żądanie zostanie pomyślnie przetworzone, odpowiedź będzie miała następujący format:
{
"activationId": 635468024,
"phoneNumber": "79584******",
"activationCost": "12.50",
"countryCode": "0",
"canGetAnotherSms": "1",
"activationTime": "2022-06-01 17:30:57",
"activationOperator": "mtt"
}
Jeśli spróbujesz uzyskać numer od konkretnego operatora, który nie działa w wybranym kraju lub nie obsługuje wybranej usługi, zwrócony zostanie numer pierwszego operatora spełniającego parametry zapytania
MOŻLIWE BŁĘDY:
ORDER_ALREADY_EXISTS- zamówienie zostało już utworzone
Gdy otrzymasz SMS na numer, jeśli w ustawieniach włączyłeś funkcję Webhooks, wyślemy informacje o SMS-ie na podane przez Ciebie adresy za pomocą żądania POST
ODPOWIEDŹ:
Format odpowiedzi będzie następujący:
{
"activationId": 635468024,
"service": "go",
"text": "Your sms text",
"code": "Your sms code",
"country": 0,
"receivedAt": "2022-06-01 17:30:57",
}
Podczas wysyłania żądania będziemy oczekiwać odpowiedzi od Twojego skryptu ze statusem HTTP 200. Jeśli Twój skrypt nie odpowie, wyślemy ponowne żądanie w ciągu 2 godzin, ale nie więcej niż 8 razy.
Możesz włączyć tę funkcjonalność w ustawieniach profilu
Parametry:
$api_key - Klucz API
$service - usługa do zamówienia zobacz tabelę
$forward * - czy należy zamówić numer z przekierowaniem
* parametr opcjonalny, znaki przekierowania są oddzielone przecinkami, liczba cyfr przekierowania musi odpowiadać liczbie usług przekazanych w parametrze $service. Dozwolone jest przekazanie tylko 1 usługi z przekierowaniem, np. „0,1,0,0” – poprawnie, „0,1,1,0” – niepoprawnie. Przyjmuje wartości 0 (nie wykonuj, domyślnie), 1 (wykonaj)
$operator * - operator sieci komórkowej numeru, możesz podać kilka numerów oddzielonych przecinkami (dostępne tylko dla **):
$ref - przekaż ID referencyjne.
$country - numer kraju zobacz tabelę
Zamawiając numer przez API, zgadzasz się z zasady projektu zasady projektu
ODPOWIEDŹ:
NO_NUMBERS - brak numerów
NO_BALANCE - brak środków na koncie
{{'phone':phone,'activation':activation,'service':service},
{'phone':phone,'activation':activation,'service':service}}, gdzie (phone - ID operacji, activation - Numer telefonu, service - Usługa)
MOŻLIWE BŁĘDY:
BAD_ACTION - nieprawidłowa akcja
BAD_SERVICE - nieprawidłowa nazwa usługi
BAD_KEY - nieprawidłowy klucz API
ERROR_SQL - błąd serwera SQL
BANNED:'YYYY-m-d H-i-s' - czas, na który konto jest zablokowane
Parametry:
$api_key - Klucz API
$id - ID aktywacji
$forward * - numer telefonu, na który chcesz przekierować
* wymagane tylko jeśli parametr został przekazany z getNumber forward=1.
$status - status aktywacji
1 - powiadom o dostępności numeru (SMS wysłany na numer)
3 - poproś o kolejny kod (bezpłatnie)
6 - zakończ aktywację *
8 - zgłoś fakt, że numer został już użyty i anuluj aktywację
* jeśli był status 'kod otrzymany' - oznacza go jako pomyślny i kończy, jeśli był 'przygotowanie' - usuwa i oznacza błąd, jeśli był status 'oczekiwanie na ponowienie' - przenosi aktywację do oczekujących SMS-ów
** Nie można zmienić statusu aktywacji, dla której wybrano metodę weryfikacji poprzez połączenie, jeśli numer już dotarł
Prosta logika chronologii pracy z API:
Pobranie numeru za pomocą metody getNumber, następnie dostępne są następujące działania:
8 - anuluj aktywację (jeśli numer Ci nie odpowiada)
1 - poinformuj, że SMS został wysłany (opcjonalnie)
Dla aktywacji ze statusem 1:
8 - anuluj aktywację
Natychmiast po otrzymaniu kodu:
3 - poproś o kolejny SMS
6 - potwierdź kod SMS i zakończ aktywację
Dla aktywacji ze statusem 3:
6 - potwierdź kod SMS i zakończ aktywację
ODPOWIEDŹ:
ACCESS_READY - gotowość numerów potwierdzona
ACCESS_RETRY_GET - oczekiwanie na nowy SMS
ACCESS_ACTIVATION - usługa została pomyślnie aktywowana
ACCESS_CANCEL - aktywacja anulowana
MOŻLIWE BŁĘDY:
EARLY_CANCEL_DENIED - anulowanie numeru w ciągu pierwszych 2 minut jest niedozwolone
ERROR_SQL - błąd serwera SQL
NO_ACTIVATION - identyfikator aktywacji nie istnieje
BAD_SERVICE - nieprawidłowa nazwa usługi
BAD_STATUS - nieprawidłowy status
BAD_KEY - nieprawidłowy klucz API
BAD_ACTION - nieprawidłowa akcja
WRONG_ACTIVATION_ID - nieprawidłowy ID lub ID nie jest liczbą.
Parametry:
$api_key - Klucz API
$id - ID aktywacji
ODPOWIEDŹ:
STATUS_WAIT_CODE - oczekiwanie na SMS
STATUS_WAIT_RETRY: 'przeszły, niedopasowany kod' - oczekiwanie na wyjaśnienie kodu
STATUS_WAIT_RESEND - oczekiwanie na ponowne wysłanie SMS *
* oprogramowanie musi nacisnąć przycisk ponownego wysłania SMS i zmienić status na 6
STATUS_CANCEL - aktywacja anulowana
STATUS_OK: 'kod aktywacyjny' - kod otrzymany
MOŻLIWE BŁĘDY:
NO_ACTIVATION - identyfikator aktywacji nie istnieje
ERROR_SQL - błąd serwera SQL
BAD_KEY - nieprawidłowy klucz API
BAD_ACTION - nieprawidłowa akcja
Parametry:
$api_key - Klucz API
$id - ID aktywacji
ODPOWIEDŹ:
Format odpowiedzi będzie następujący:
{
"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 - aktywacja anulowana
MOŻLIWE BŁĘDY:
NO_ACTIVATION - identyfikator aktywacji nie istnieje
ERROR_SQL - błąd serwera SQL
BAD_KEY - nieprawidłowy klucz API
BAD_ACTION - nieprawidłowa akcja
Parametry:
$api_key - Klucz API
$start - znacznik czasu w formacie Unix Timestamp (opcjonalnie) - od jakiej daty uwzględniać aktywacje
$end - znacznik czasu w formacie Unix Timestamp (opcjonalnie) - do jakiej daty uwzględniać aktywacje
$offset - przesunięcie pierwszego elementu zwracanego w odpowiedzi. Domyślnie 0
$limit - maksymalna liczba zwracanych rekordów. Maksimum to 100. Domyślnie 50.
ODPOWIEDŹ:
Format odpowiedzi będzie następujący:
[{
"id": 635468024,
"date": "2022-11-12 15:58:39",
"phone": "79918529716",
"sms": "sms":"["Your sms code"]",
"cost": 100 //Если активация не завершена, то cost = 0,
"status": "4",
}]
MOŻLIWE BŁĘDY:
ERROR_SQL - błąd serwera SQL
BAD_KEY - nieprawidłowy klucz API
BAD_ACTION - nieprawidłowa akcja
Parametry:
$api_key - Klucz API
$service - nazwa usługi
ODPOWIEDŹ:
Format odpowiedzi będzie następujący:
[{
"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)
}]
MOŻLIWE BŁĘDY:
ERROR_SQL - błąd serwera SQL
BAD_KEY - nieprawidłowy klucz API
WRONG_SERVICE - nieprawidłowa usługa
BAD_ACTION - nieprawidłowa akcja
Parametry:
$api_key - Klucz API
$id - ID aktywacji
ODPOWIEDŹ:
Odpowiedź usługi będzie w formacie JSON, przykład:
{"status":"2","phone":false}
MOŻLIWE STATUSY:
2 - nowa aktywacja
3 - pomyślnie zakończona
4 - anulowana
5 - zwrócona
MOŻLIWE BŁĘDY:
BAD_KEY - nieprawidłowy klucz API
NIEPRAWIDŁOWY_ID_AKTYWACJI - Nieprawidłowy identyfikator aktywacji
Parametry:
$api_key - Klucz API
$serviceKrótka nazwa usługi (opcjonalnie, domyślnie wszystkie usługi) zobacz tabelę
$countryNazwa kodu kraju (opcjonalnie, domyślnie wszystkie kraje) zobacz tabelę
ODPOWIEDŹ:
JSON - obiekt w formacie
{"Kraj":{"Usługa":{"koszt":Koszt,"ilość":Ilość}}}
Parametry:
$api_key - Klucz API
$serviceKrótka nazwa usługi (opcjonalnie, domyślnie wszystkie usługi) zobacz tabelę
ODPOWIEDŹ:
JSON - obiekt w formacie
{"Usługa":{"Kraj":{"ilość":Ilość,"cena":"Cena"}}}
Parametry:
$api_key - Klucz API
ODPOWIEDŹ:
JSON - obiekt w formacie {{'Страна':{'id':0,'rus':"Россия","eng:"Russia","chn":"俄罗斯","visible":1,"retry":1,"rent":1,"multiService":1}},
gdzie (
id : ID kraju;
rus : nazwa kraju w języku rosyjskim;
eng : nazwa kraju w języku angielskim;
chn : nazwa kraju w języku chińskim;
visible : 0 - kraj nie jest wyświetlany na stronie, 1 - wyświetlany;
retry : 0 - ponowne wysłanie SMS niedostępne, 1 - dostępne;
rent : 0 - kraj nie dostępny do wynajęcia, 1 - dostępny;
multiService : 0 - kraj NIE jest dostępny dla usług wieloservice, 1 - dostępny.)
Parametry:
$api_key- Klucz API
$country *- ID kraju. Jeśli podano kraj, zwracamy usługi, które mają cenę dla wybranego kraju
$lang *- język, w którym ma być podana `name`. Możliwe wartości: 'ru', 'en', 'es', 'cn'. Domyślnie 'en'
* parametr opcjonalny
ODPOWIEDŹ:
JSON - obiekt w formacie { "status": "success", "services": [ { "code": "aoo", "name": "Pegasus Airlines" } ] }
Po otrzymaniu pierwszego SMS-a dla numerów przekierowanych możesz kupić inne powiązane usługi, takie jak Yula, Yandex, Avito lub dowolne inne
Koszt dodatkowej usługi to tylko 5 gr
Parametry:
$api_key - Klucz API
$service - krótką nazwę usługi znajdziesz w tabeli zobacz tabelę
$id - ID aktywacji nadrzędnej
ODPOWIEDŹ:
DODATKOWA:$id:$telefon - nowa aktywacja została pomyślnie utworzona. Gdzie ID to identyfikator dodatkowej aktywacji, a telefon to numer telefonu
MOŻLIWE BŁĘDY:
BŁĘDNA_DODATKOWA_USŁUGA - Nieprawidłowa dodatkowa usługa (dozwolone są tylko usługi przekierowania)
WRONG_ACTIVATION_ID - Nieprawidłowy identyfikator aktywacji nadrzędnej
BŁĄD_BEZPIECZEŃSTWA - wystąpił błąd podczas próby przesłania identyfikatora aktywacji bez przekierowania lub zakończonej/nieaktywnej aktywacji
PONÓW_DODATKOWĄ_USŁUGĘ - błąd występuje przy próbie ponownego zamówienia już zakupionej usługi BRAK_SALDA - Niewystarczające środki
ERROR_SQL- błąd bazy danych, skontaktuj się z obsługą klienta
Jeśli udało Ci się pomyślnie aktywować numer, możesz zrobić to ponownie.
Koszt dodatkowej aktywacji zależy od kraju i usługi. Szczegółowy koszt można uzyskać z .
Parametry:
$api_key - Klucz API
$activationId - ID aktywacji nadrzędnej
ODPOWIEDŹ:
DOSTĘP_DO_NUMERU:$id:$telefon - nowa aktywacja została pomyślnie utworzona. Gdzie $id to identyfikator dodatkowej aktywacji, a $telefon to numer telefonu
MOŻLIWE BŁĘDY:
REAKTYWACJA_NIEDOSTĘPNA- numer nie jest dostępny do dodatkowej aktywacji
WRONG_ACTIVATION_ID - Nieprawidłowy identyfikator aktywacji nadrzędnej
ERROR_SQL- błąd bazy danych, skontaktuj się z obsługą klienta
NOWA_AKTYWACJA_NIEMOŻLIWA- nie można wykonać dodatkowej aktywacji
NO_BALANCE - brak środków na koncie
Możesz sprawdzić dostępność numeru do dodatkowej aktywacji i poznać jego koszt
Parametry:
$api_key - Klucz API
$activationId - ID aktywacji nadrzędnej
ODPOWIEDŹ:
JSON - obiekt w formacie {'status': 'success', 'cost':200,"service":"tw","phone":777777777,"country":14},
MOŻLIWE BŁĘDY:
REAKTYWACJA_NIEDOSTĘPNA- numer nie jest dostępny do dodatkowej aktywacji
WRONG_ACTIVATION_ID - Nieprawidłowy identyfikator aktywacji nadrzędnej
SIM_OFFLINE - Karta SIM offline
ODPOWIEDŹ:
Format odpowiedzi będzie następujący:
{
"result": "OK"
}
STATUS_CANCEL - aktywacja anulowana
BRAK_POŁĄCZENIA- nie otrzymano połączenia
PARSE_COUNT_EXCEED- przekroczono limit prób parsowania (maksymalnie 4)
MOŻLIWE BŁĘDY:
WRONG_ACTIVATION_ID - nieprawidłowy identyfikator, aktywacja nie istnieje
ERROR_SQL - błąd serwera SQL
BAD_KEY - nieprawidłowy klucz API
BAD_ACTION - nieprawidłowa akcja
API wynajmu
Parametry:
$api_key - Klucz API
$time* - czas wynajmu (domyślnie: 4 godziny)
$operator* - operator sieci komórkowej numeru; można podać kilku operatorów oddzielonych przecinkami (domyślnie: Dowolny)
$country* - kraj (domyślnie: Rosja)
$incomingCall * - jeśli przekazano "true"uzyskaj numer obsługujący funkcję odbierania połączeń
ODPOWIEDŹ:
Odpowiedź usługi będzie w formacie JSON, przykład:
{ "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 } } }
MOŻLIWE BŁĘDY:
BAD_KEY - nieprawidłowy klucz API
OUT_OF_STOCK - numery dla tego kraju są niedostępne
Parametry:
$api_key - Klucz API
$service - usługa, dla której potrzebujesz numeru
$time* - czas wynajmu w godzinach (domyślnie: 4 godziny). Kolejne dostępne okresy to 12 godzin, a następnie 24 godziny. Przy zamawianiu wynajmu na dzień lub dłużej należy podać: 24, 48, 72 itd.
$operator* - operator sieci komórkowej numeru; można podać kilku operatorów oddzielonych przecinkami (domyślnie: Dowolny)
$country* - kraj (domyślnie: Rosja)
$url * - link do webhooka (domyślnie nie jest brany pod uwagę)
$incomingCall * - jeśli przekazano "true"uzyskaj numer obsługujący funkcję odbierania połączeń
* parametr opcjonalny. Jeśli nie zostanie określony, użyty zostanie domyślny parametr.
ODPOWIEDŹ:
Odpowiedź usługi będzie w formacie JSON, przykład:
{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564" } }
MOŻLIWE BŁĘDY:
BAD_KEY - nieprawidłowy klucz API
Odpowiedź w formacie JSON:
{ "status": "error", "message": "*possible_answer*" }
Możliwe odpowiedzi w polu "message":
BAD_SERVICE - nie określono usługi lub nazwa jest nieprawidłowa
NO_BALANCE - brak środków na koncie
NO_NUMBERS - brak numerów
ACCOUNT_INACTIVE - brak numerów
SERVER_ERROR - błąd serwera
CHANNELS_LIMIT - konto zablokowane
Parametry:
$api_key - Klucz API
$id - ID wynajmu otrzymane w odpowiedzi przy zamawianiu numeru
$page* - numer strony, od której rozpoczyna się wybór (numeracja stron zaczyna się od 0, od najnowszych do najstarszych; domyślnie 0)
$size* - rozmiar strony (domyślnie 10)
* parametr opcjonalny. Jeśli nie zostanie określony, użyty zostanie domyślny parametr.
ODPOWIEDŹ:
Odpowiedź usługi będzie w formacie JSON, przykład:
{ "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" } } }
* powodzenie tylko wtedy, gdy istnieje SMS (pole 'quantity' > 0).
MOŻLIWE BŁĘDY:
BAD_KEY - nieprawidłowy klucz API
Odpowiedź w formacie JSON:
{ "status": "error", "message": "*possible_answer*" } Możliwe odpowiedzi w polu "message": NO_ID_RENT - nie określono ID wynajmu INVALID_PHONE - numer jest wynajmowany nie przez Ciebie (nieprawidłowy ID wynajmu) STATUS_FINISH - wynajem opłacony i zakończony STATUS_CANCEL - wynajem anulowany ze zwrotem środków STATUS_WAIT_CODE - oczekiwanie na pierwszy SMS STATUS_REVOKE - Numer został zablokowany, Twoje środki zostały zwrócone
Parametry:
$api_key - Klucz API
$id - ID wynajmu otrzymane w odpowiedzi przy zamawianiu numeru
$status - kod do zmiany statusu (numeru)
Status może być:
ODPOWIEDŹ:
Odpowiedź usługi będzie w formacie JSON:
{ "status": "success" }
MOŻLIWE BŁĘDY:
BAD_KEY - nieprawidłowy klucz API
Odpowiedź w formacie JSON:
{ "status": "error", "message": "*possible_answer*" }
Możliwe odpowiedzi w polu "message":
NO_ID_RENT - nie określono ID wynajmu
INCORECT_STATUS - brakujący lub nieprawidłowo określony status
CANT_CANCEL - nie można anulować wynajmu (minęło więcej niż 20 min.)
INVALID_PHONE - numer jest wynajmowany nie przez Ciebie (nieprawidłowy ID wynajmu)
ALREADY_FINISH - wynajem został już zakończony
ALREADY_CANCEL - wynajem został już anulowany
SERVER_ERROR - błąd serwera
👉Uwaga! Ta metoda wyświetla tylko ostatnie 10 numerów. Jeśli potrzebujesz więcej numerów, użyj metody getRentStatus do sprawdzania statusów.
Parametry:
$api_key - Klucz API
ODPOWIEDŹ:
Odpowiedź usługi będzie w formacie JSON:
{ "status": "success", "values": { "0": { "id": "12345", "phone": "79181234567" }, "1": { "id": "12345", "phone": "79181234568" } } }
MOŻLIWE BŁĘDY:
BAD_KEY - nieprawidłowy klucz API
BAD_ACTION - nieprawidłowa akcja
Odpowiedź w formacie JSON:
{ "status": "error", "message": "*possible_answer*" }
Możliwe odpowiedzi w polu "message":
NO_NUMBERS - brak wynajętych numerów
SERVER_ERROR - błąd serwera
Parametry:
$api_key - Klucz API
$id - id wynajmu
$rent_time- czas wynajmu (domyślnie: 4 godziny)
ODPOWIEDŹ:
Odpowiedź usługi będzie w formacie JSON:
{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564"} }
Po przedłużeniu zakończonego wynajmu zostanie on ponownie zamówiony, a nowy id zostanie przydzielony
MOŻLIWE BŁĘDY:
BAD_KEY - nieprawidłowy klucz API
BAD_ACTION - nieprawidłowa akcja
SERVER_ERROR - błąd serwera
Odpowiedź w formacie JSON:
{ "status": "error", "message": "*possible_answer*", "info": "*details*" }
Możliwe odpowiedzi w polu "message":
NO_ID_RENT - brak ID wynajmu
INVALID_TIME - nieprawidłowy czas. Dostępny czas od 4 do 1344 godzin
MAX_HOURS_EXCEED - Przekroczono maksymalny dostępny czas
max - maksymalny dostępny czas
INVALID_PHONE - nieprawidłowy ID wynajmu
RENT_DIE - nie można przedłużyć wynajmu, ponieważ numer wygasł
NO_BALANCE - niewystarczające środki
CHANNELS_LIMIT - konto zablokowane
* ta metoda jest dostępna tylko przy wynajmie z operatorem MTT.
Parametry:
$api_key - Klucz API
$id - id wynajmu
$rent_time - czas wynajmu
ODPOWIEDŹ:
Odpowiedź usługi będzie w formacie JSON:
{ "status": "success", "price": 6.33 }
MOŻLIWE BŁĘDY:
BAD_KEY - nieprawidłowy klucz API
BAD_ACTION - nieprawidłowa akcja
SERVER_ERROR - błąd serwera
Odpowiedź w formacie JSON:
{ "status": "error", "message": "*possible_answer*" }
Możliwe odpowiedzi w polu "message":
NO_ID_RENT - brak ID wynajmu
INVALID_PHONE - nieprawidłowy ID wynajmu
INVALID_TIME - nieprawidłowe ustawienie czasu
RENT_DIE - nie można przedłużyć wynajmu, ponieważ numer wygasł
MAX_HOURS_EXCEED - Przekroczono maksymalny dostępny czas
max - maksymalny dostępny czas
CHANNELS_LIMIT - konto zablokowane
API JAVA
Dołącz bibliotekę w Mavenie
<artifactId>SMSActivateApi</artifactId>
<version>1.0</version>
</dependecy>
Przykład rejestracji możesz zobaczyć pod linkiem do MavenRepository
Zaimportuj główną klasę do interakcji z API SMS-Activate.
Aby korzystać z biblioteki, potrzebny jest klucz API, który możesz uzyskać na tej stronie oraz pod poniższym linkiem.
Klucz API SMS-ActivateAby sprawdzić aktualne saldo na koncie, użyj metody getBalance... Jeśli oprócz salda interesuje Cię także cashback, wywołaj metodę getBalanceAndCashBack.
Metoda getBalanceAndCashBack zwraca obiekt klasySMSActivateGetBalanceAndCashBack.
Parametry:
BRAK
TYP ZWRACANY:
BigDecimal
Parametry:
BRAK
TYP ZWRACANY:
Parametry:
countryId(Integer) - identyfikator kraju.
service(String) - krótka nazwa usługi.
forward*(boolean) - czy żądać numeru z przekierowaniem połączeń.
operatorSet*(Zbiór) - zbiór operatorów.
phoneException*(Zbiór) - wykluczenie prefiksów tylko dla Rosji, zbiór numerów od 3 do 6 cyfr (7918,7900111).
* pole opcjonalne. Jeśli nic nie zostanie określone, domyślna ilość zostanie przydzielona zgodnie z ustawieniami w profilu.
TYP ZWRACANY:
Parametry:
countryId(Integer) - identyfikator kraju.
operatorSet*(Zbiór) - zbiór operatorów dostępnych dla danej usługi
TYP ZWRACANY:
Parametry:
id(Liczba całkowita) - identyfikator aktywacji
service(String) - krótka nazwa usługi.
Zamiast identyfikatora aktywacji można przekazać otrzymany obiekt klasy SMSActivateActivation po użyciu metody getNumber lub jedną z aktywacji po użyciu getMultiServiceNumber.
TYP ZWRACANY:
Parametry:
countryId(Integer) - identyfikator kraju.
serviceMap(Zbiór) - zbiór usług, dla których kupowana jest aktywacja
multiForwardList(Lista) - lista usług z dostępnym przekierowaniem połączeń
operatorSet(Zbiór) - zbiór operatorów.
TYP ZWRACANY:
Parametry:
BRAK
TYP ZWRACANY:
Parametry:
countryId(Integer) - identyfikator kraju.
service(String) - krótka nazwa usługi.
TYP ZWRACANY:
Parametry:
countryId(Integer) - identyfikator kraju.
TYP ZWRACANY:
Parametry:
activationId(Liczba całkowita) - identyfikator aktywacji
Zamiast identyfikatora aktywacji można przekazać otrzymany obiekt klasy SMSActivateActivation po użyciu metody getNumber lub jedną z aktywacji po użyciu getMultiServiceNumber.
TYP ZWRACANY:
Parametry:
id(Liczba całkowita) - identyfikator aktywacji
status(SMSActivateClientStatus) - status, który ma zostać ustawiony dla aktywacji
Zamiast identyfikatora aktywacji można przekazać otrzymany obiekt klasy SMSActivateActivation po użyciu metody getNumber lub jedną z aktywacji po użyciu getMultiServiceNumber.
TYP ZWRACANY:
Parametry:
BRAK
TYP ZWRACANY:
Parametry:
activationId(Liczba całkowita) - identyfikator aktywacji
Zamiast identyfikatora aktywacji można przekazać otrzymany obiekt klasy SMSActivateActivation po użyciu metody getNumber lub jedną z aktywacji po użyciu getMultiServiceNumber.
TYP ZWRACANY:
Algorytm otrzymywania pełnego tekstu SMS podczas aktywacji
Pobranie numeru za pomocą metody getNumber, następnie dostępne są następujące działania:
CANCEL - 8 - Anuluj aktywację (jeśli numer Ci nie odpowiada)
MESSAGE_WAS_SENT – Informacja o wysłaniu SMS-a (wymagane do otrzymania pełnej treści wiadomości)
Po obowiązkowym ustawieniu statusu MESSAGE_WAS_SENT, skonfiguruj zmienną do odbioru SMS za pomocą metody waitSMS, podając parametry aktywacji oraz czas oczekiwania na wiadomość.
Po otrzymaniu SMS-a możesz pobrać go za pomocą metody getFullSMS, a następnie wyświetlić pełną treść, używając metody getText().
Następnie możesz ustawić następujące statusy aktywacji:
Aby aktywować ze statusem MESSAGE_WAS_SENT:
CANCEL – Anuluj aktywację
Natychmiast po otrzymaniu kodu:
REQUEST_ONE_MORE_CODE – Poproś o kolejny kod SMS
FINISH – Potwierdź kod SMS i zakończ aktywację
Aby aktywować ze statusem REQUEST_ONE_MORE_CODE:
FINISH – Potwierdź kod SMS i zakończ aktywację
Parametry:
countryId(Integer) - identyfikator kraju.
service(String) - krótka nazwa usługi.
hours (Integer)* – czas wynajmu
operator (String)* – nazwa operatora komórkowego
urlWebhook (String)* – link do webhooka (domyślnie nie jest brany pod uwagę)
Co to jest webHook?* parametr opcjonalny. Jeśli nie zostanie określony, zostanie użyta wartość domyślna
TYP ZWRACANY:
Parametry:
countryId(Integer) - identyfikator kraju.
operatorSet(Zbiór) - zestaw operatorów komórkowych
hours (Integer)* – czas wynajmu
* parametr opcjonalny. Jeśli nie zostanie określony, zostanie użyta wartość domyślna
TYP ZWRACANY:
Parametry:
rentId (Integer) - identyfikator wynajętego numeru
Zamiast rentId możesz przekazać obiekt klasy wynikowej SMSActivateRentActivation po użyciu metody getRentNumber
TYP ZWRACANY:
API e-mail
Opis statusów API
3 – Oczekiwanie
4 – Anulowano
5 – Sukces
OPIS:
Ściślejsze przestrzeganie zasad REST API oraz zwiększona liczba skrzynek gmail.com do rejestracji kont na Telegramie.
Parametry:
$api_key - Klucz API
$site- Strona, dla której potrzebujesz adresu e-mail
ODPOWIEDŹ:
Odpowiedź usługi będzie w formacie JSON, przykład:
{
"status":"OK",
"response":{
"zones":[
{
"name":"info",
"cost":2.5
},
...
],
"popular":[
{
"name":"mail.ru",
"cost":6,
"count":159008
},
...
]
}
}
MOŻLIWE BŁĘDY:
BAD_SITE- Nie określono strony
BAD_KEY - nieprawidłowy klucz API
BAD_ACTION - nieprawidłowa akcja
Parametry:
$api_key - Klucz API
$site - strona, dla której potrzebujesz adresu e-mail
$mail_type - typ poczty: popularne domeny lub strefy (1 – strefy, 2 – popularne)
$mail_domain - wybrana strefa lub domena
ODPOWIEDŹ:
Odpowiedź usługi będzie w formacie JSON, przykład:
{
"status":"OK",
"response":{"email":"[email protected]","id":241}
}
MOŻLIWE BŁĘDY:
BAD_KEY - nieprawidłowy klucz API
BAD_ACTION - nieprawidłowa akcja
MAIL_TYPE_ERROR - nie ma takiej domeny dla określonej witryny
CHANNELS_LIMIT - konto zablokowane
Parametry:
$api_key - Klucz API
$id- Identyfikator wiadomości e-mail, dla której wymagana jest ponowna aktywacja
ODPOWIEDŹ:
Odpowiedź usługi będzie w formacie JSON, przykład:
{
"status": "OK",
"response": {
"email": "[email protected]",
"id": 360
}
}
MOŻLIWE BŁĘDY:
BAD_KEY - nieprawidłowy klucz API
BAD_ACTION - nieprawidłowa akcja
BLOCKED_SITE - zablokowana strona internetowa
BAD_BALANCE - niewystarczające środki
ACTIVATION_NOT_FOUND - nie znaleziono aktywacji
CHANNELS_LIMIT - konto zablokowane
Parametry:
$api_key - Klucz API
$page- numer strony
$per_page- liczba zakupów na każdej stronie
$search- pasek wyszukiwania
$sort- kierunek sortowania (desc, asc)
ODPOWIEDŹ:
Odpowiedź usługi będzie w formacie JSON, przykład:
{
"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
}
}
Parametry:
$api_key - Klucz API
$id- identyfikator zakupu
ODPOWIEDŹ:
Odpowiedź usługi będzie w formacie JSON, przykład:
{
"status":"OK",
"response":true
}
MOŻLIWE BŁĘDY:
EARLY_CANCEL_DENIED - Nie można anulować poczty przez pierwsze 2 minuty.
Parametry:
$api_key - Klucz API
$id- identyfikator zakupionego adresu e-mail, zwracany po dokonaniu zakupu
ODPOWIEDŹ:
Odpowiedź usługi będzie w formacie JSON, przykład:
{
"status":"OK",
"response":{
"value":"Содержания письма"
}
}
Oprogramowanie dla partnerów API
Parametry:
$api_key - Klucz API
$id- Identyfikator oprogramowania, które chcesz kupić
ODPOWIEDŹ:
Odpowiedź usługi będzie w formacie JSON, przykład:
{
"status": "success",
"key": "F5qrzFoY6afj3zrEq7SeMplbx",
"manual": "Software download link:"
}
MOŻLIWE BŁĘDY:
BAD_DATA - Nieprawidłowy identyfikator lub identyfikator nie jest liczbą
BAD_ACTION - nieprawidłowa akcja lub sprzedawca detaliczny nie jest zweryfikowany.
<?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.wiki 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





















































