SMS-Activate와 연동하기 위한 API 프로토콜
API는 귀하의 소프트웨어와 당사 서버 간의 프로토콜입니다.
API는 귀사 측에서 SMS, OTP 및 PVA 수신 과정을 자동화하는 데 필요합니다.
당사의 API는 경쟁사 사이트와 완전히 호환됩니다.
모든 요청은 https://api.sms-activate.ai/stubs/handler_api.php로 전송되어야 합니다.
POST 또는 GET 요청.
모든 요청에는 api_key GET 매개변수 형태의 API 키가 포함되어야 합니다.
PHP로 구현된 프로토콜 다운로드 Python으로 구현된 готовый 프로토콜 다운로드인증 API
매개변수:
$api_key - API 키
$country * - 국가 번호 표 참조
$운영자 * 이동통신사 번호. 쉼표로 구분하여 여러 개 지정 가능(다음 국가에서만 이용 가능:
** 사용 가능 국가: $country = 0, $country = 1, $country = 2
응답:
서비스 응답은 JSON 형식으로 반환됩니다. 예시:
{"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}
하이픈 앞은 서비스 이름이며, 뒤의 숫자는 리디렉션 포함 여부를 나타냅니다. 0 - 미포함, 1 - 포함.
매개변수:
$api_key - API 키
$service * - 서비스 표 참조
* 선택적 매개변수입니다. 지정하지 않으면 기본적으로 모든 서비스에 대해 상위 국가가 표시됩니다.
$freePrice * - 선택적 매개변수입니다. 제공될 경우 true, 수량과 가격은 Free Price 기준에 따라 제공됩니다.
응답:
서비스 응답은 JSON 형식으로 반환됩니다. 예시:
{
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
}
}, ...
}
캐시백 계정 잔액 조회:
* 캐시백 계정 설정에서 '활성화에 캐시백 사용' 체크박스가 선택되어 있으면 누적된 캐시백을 반영한 잔액을 반환합니다.
매개변수:
$api_key - API 키
응답:
ACCESS_BALANCE: '계정 잔액'
가능한 오류:
BAD_KEY - 유효하지 않은 API 키
ERROR_SQL - SQL 서버 오류
* 전송된 국가에서 사용 가능한 모든 운영자를 반환합니다. 국가가 지정되지 않으면 각 국가에서 사용 가능한 모든 운영자를 반환합니다.
매개변수:
$api_key - API 키
$country - 국가 코드
응답:
서비스 응답은 JSON 형식으로 반환됩니다:
{"status":"success", "countryOperators": {
"Country1Code": ["operator1Name","operator2Name","operator3Name", ...],
"Country2Code": ["operator1Name","operator2Name","operator3Name", ...],
...
}}
예시:
{"status":"success", "countryOperators": {
"0": ["beeline","megafon","mts", ...],
"1": ["life","mts","kyivstar","utel" ...],
...
}}
* 'countryOperators' 내부에서 키는 국가 코드가 됩니다.
가능한 오류:
BAD_KEY - 유효하지 않은 API 키
ERROR_SQL - SQL 서버 오류
OPERATORS_NOT_FOUND - 기록을 찾을 수 없습니다(예: 존재하지 않는 국가가 전달됨)
매개변수:
$api_key - API 키
응답:
서비스 응답은 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",
}]
가능한 오류:
BAD_KEY - 유효하지 않은 API 키
ERROR_SQL - SQL 서버 오류
NO_ACTIVATIONS - 항목을 찾을 수 없습니다(활성화된 활성화 없음)
매개변수:
$api_key - API 키
$service - 주문할 서비스 표 참조
$forward * - 포워딩 기능이 포함된 번호를 요청할지 여부
* 선택적 매개변수로, 0(실행 안 함, 기본값) 또는 1(실행)을 허용합니다.
$maxPrice * - Free Price에서 번호를 구매할 준비가 된 최대 가격
* 선택적 매개변수이며, 지정하지 않으면 일반 가격으로 구매가 진행됩니다.
$phoneException * - 러시아 번호의 접두사 제외. 쉼표로 구분하여 입력하세요. 기록 형식: 국가 코드와 마스크의 3~6자리 숫자(예: 7918, 7900111). 기본값은 계정에 지정된 값입니다.
$operator*는 해당 번호의 이동통신사입니다. 쉼표로 구분하여 여러 개를 지정할 수 있습니다(**에서만 사용 가능)
$activationType - 활성화 유형: 0 - SMS 수신(기본값), 1 - 번호 제공, 2 - 음성 통화
$language - 파싱 언어(음성 활성화 시 필수) 표 참조
$userId * - 활성화 통계가 불량한 경우 차단할 사용자 ID이지만, 리셀러의 자체 계정에는 영향을 미치지 않습니다.
* 선택 사항 필드
** 사용 가능 국가: $country = 0, $country = 1, $country = 2
$ref - 추천인 ID를 전달합니다.
$country - 국가 번호 표 참조
$useCashBack* - 불리언 값을 받으며, 매개변수가 'true'인 경우 캐시백 잔액을 사용하여 번호를 구매합니다. 캐시백 잔액이 소진되면 이후 모든 구매는 일반 잔액으로 진행됩니다. 중요한 점은 이후 모든 구매는 먼저 캐시백을 사용하고 그 후에 일반 잔액을 사용한다는 것입니다(이후에 매개변수를 'false'로 설정하더라도 동일하게 적용됩니다).
* 선택 사항 매개변수, 'true' 허용
API를 통해 번호를 발급받음으로써 귀하는 다음 내용에 동의한 것으로 간주됩니다. 프로젝트 규칙 프로젝트 규칙
가능한 오류:
WRONG_MAX_PRICE:$min- 지정된 최대 가격이 허용 범위보다 낮습니다
$min - 최소 허용 가격
BAD_ACTION - 잘못된 작업
BAD_SERVICE - 잘못된 서비스 이름
BAD_KEY - 유효하지 않은 API 키
ERROR_SQL - SQL 서버 오류
BANNED:'YYYY-m-d H-i-s' - 계정이 차단된 시간
WRONG_EXCEPTION_PHONE - 잘못된 제외 접두사
NO_BALANCE_FORWARD - 전화 연결 구매 자금이 부족합니다
CHANNELS_LIMIT - 계정 차단됨
NO_NUMBERS - 번호 없음
선택한 국가에서 운영되지 않거나 선택한 서비스를 지원하지 않는 특정 통신사의 번호를 요청하려는 경우, 요청 매개변수와 일치하는 첫 번째 통신사의 번호가 반환됩니다.
이 메서드는 다음 메서드와 유사하게 작동합니다. getNumber, 동일한 매개변수와 아래 설명된 추가 매개변수를 받아들이지만, 추가적인 활성화 정보를 반환합니다.
매개변수:
$orderId- 리셀러 시스템의 활성화 ID입니다. 구매 시 이 데이터는 당사 시스템의 활성화 ID 및 리셀러와 비교됩니다. 이를 통해 멱등성(동일한 주문은 다시 처리되지 않음)을 달성하고자 합니다.
응답:
요청이 성공하면 응답은 다음 형식으로 반환됩니다:
{
"activationId": 635468024,
"phoneNumber": "79584******",
"activationCost": "12.50",
"countryCode": "0",
"canGetAnotherSms": "1",
"activationTime": "2022-06-01 17:30:57",
"activationOperator": "mtt"
}
선택한 국가에서 운영되지 않거나 선택한 서비스를 지원하지 않는 특정 통신사의 번호를 요청하려는 경우, 요청 매개변수와 일치하는 첫 번째 통신사의 번호가 반환됩니다.
가능한 오류:
ORDER_ALREADY_EXISTS- 주문이 이미 생성되었습니다
번호로 SMS를 수신할 때 설정에서 웹훅 기능을 활성화했다면, 지정된 주소로 POST 요청을 통해 SMS 정보를 전송합니다.
응답:
응답 형식은 다음과 같습니다:
{
"activationId": 635468024,
"service": "go",
"text": "Your sms text",
"code": "Your sms code",
"country": 0,
"receivedAt": "2022-06-01 17:30:57",
}
요청을 보내면 스크립트로부터 HTTP 상태 코드 200 응답을 기다립니다. 스크립트가 응답하지 않으면 2시간 이내에 최대 8회까지 재요청을 보냅니다.
이 기능은 다음에서 활성화할 수 있습니다: 프로필 설정
매개변수:
$api_key - API 키
$service - 주문할 서비스 표 참조
$forward * - 포워딩 기능이 포함된 번호를 요청할지 여부
* 선택적 매개변수이며, 전달 문자는 쉼표로 구분됩니다. 전달되는 서비스의 수와 전달 자릿수가 일치해야 합니다. $service. 리디렉션과 함께 전송할 수 있는 서비스는 1개만 허용됩니다. 예를 들어 "0,1,0,0"은 올바르고, "0,1,1,0"은 잘못되었습니다. 값은 0(실행 안 함, 기본값) 또는 1(실행)을 사용합니다.
$operator * - 번호의 이동통신사로, 쉼표로 구분하여 여러 개를 지정할 수 있습니다(**에서만 사용 가능):
$ref - 추천인 ID를 전달합니다.
$country - 국가 번호 표 참조
API를 통해 번호를 발급받음으로써 귀하는 다음 내용에 동의한 것으로 간주됩니다. 프로젝트 규칙 프로젝트 규칙
응답:
NO_NUMBERS - 번호 없음
NO_BALANCE - 잔액이 부족합니다
{{'phone':phone,'activation':activation,'service':service},
{'phone':phone,'activation':activation,'service':service}}, 여기서 (phone - 작업 ID, activation - 전화번호, service - 서비스)
가능한 오류:
BAD_ACTION - 잘못된 작업
BAD_SERVICE - 잘못된 서비스 이름
BAD_KEY - 유효하지 않은 API 키
ERROR_SQL - SQL 서버 오류
BANNED:'YYYY-m-d H-i-s' - 계정이 차단된 시간
매개변수:
$api_key - API 키
$id - 활성화 ID
$forward * - 포워딩하려는 전화번호
* getNumber 요청 시 forward=1 매개변수가 전달된 경우에만 필요합니다.
$status - 활성화 상태
1 - 번호 사용 가능 알림(해당 번호로 SMS 발송됨)
3 - 추가 코드 요청(무료)
6 - 활성화 완료 *
8 - 번호가 이미 사용되었음을 보고하고 활성화 취소
* '코드 수신' 상태였던 경우 성공적으로 표시하고 완료하며, '준비 중' 상태였던 경우 삭제하고 오류로 표시합니다. '재시도 대기' 상태였던 경우 활성화를 SMS 대기 상태로 전환합니다.
** 번호가 이미 도착한 상태에서 전화 인증 방식을 선택한 활성화의 상태는 변경할 수 없습니다.
API 작업의 간단한 연대기 논리:
getNumber 메서드로 번호를 받은 후 다음 작업을 수행할 수 있습니다:
8 - 활성화 취소(번호가 적합하지 않은 경우)
1 - SMS 발송 알림(선택 사항)
상태 1인 활성화의 경우:
8 - 활성화 취소
코드를 수신한 직후:
3 - 추가 SMS 요청
6 - SMS 코드 확인 및 활성화 완료
상태 3인 활성화의 경우:
6 - SMS 코드 확인 및 활성화 완료
응답:
ACCESS_READY - 번호 준비 완료 확인됨
ACCESS_RETRY_GET - 새 SMS 대기 중
ACCESS_ACTIVATION - 서비스가 성공적으로 활성화되었습니다
ACCESS_CANCEL - 활성화가 취소되었습니다
가능한 오류:
EARLY_CANCEL_DENIED - 처음 2분 이내에는 번호를 취소할 수 없습니다
ERROR_SQL - SQL 서버 오류
NO_ACTIVATION - 활성화 ID가 존재하지 않습니다
BAD_SERVICE - 잘못된 서비스 이름
BAD_STATUS - 잘못된 상태입니다
BAD_KEY - 유효하지 않은 API 키
BAD_ACTION - 잘못된 작업
WRONG_ACTIVATION_ID - 잘못된 ID이거나 ID가 숫자가 아닙니다.
매개변수:
$api_key - API 키
$id - 활성화 ID
응답:
STATUS_WAIT_CODE - SMS 대기 중
STATUS_WAIT_RETRY: '과거, 일치하지 않는 코드' - 코드 명확화 대기 중
STATUS_WAIT_RESEND - SMS 재전송 대기 중 *
* 소프트웨어는 SMS 재전송을 누르고 상태를 6으로 변경해야 합니다
STATUS_CANCEL - 활성화가 취소되었습니다
STATUS_OK: '활성화 코드' - 수신된 코드
가능한 오류:
NO_ACTIVATION - 활성화 ID가 존재하지 않습니다
ERROR_SQL - SQL 서버 오류
BAD_KEY - 유효하지 않은 API 키
BAD_ACTION - 잘못된 작업
매개변수:
$api_key - API 키
$id - 활성화 ID
응답:
응답 형식은 다음과 같습니다:
{
"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 - 활성화가 취소되었습니다
가능한 오류:
NO_ACTIVATION - 활성화 ID가 존재하지 않습니다
ERROR_SQL - SQL 서버 오류
BAD_KEY - 유효하지 않은 API 키
BAD_ACTION - 잘못된 작업
매개변수:
$api_key - API 키
$start - Unix 타임스탬프 형식의 타임스탬프(선택 사항) - 활성화를 고려할 시작 날짜
$end - Unix 타임스탬프 형식의 타임스탬프(선택 사항) - 활성화를 고려할 종료 날짜
$offset - 응답에서 반환되는 첫 번째 요소의 오프셋. 기본값은 0입니다
$limit - 반환되는 최대 기록 수. 최대값은 100이며, 기본값은 50입니다.
응답:
응답 형식은 다음과 같습니다:
[{
"id": 635468024,
"date": "2022-11-12 15:58:39",
"phone": "79918529716",
"sms": "sms":"["Your sms code"]",
"cost": 100 //Если активация не завершена, то cost = 0,
"status": "4",
}]
가능한 오류:
ERROR_SQL - SQL 서버 오류
BAD_KEY - 유효하지 않은 API 키
BAD_ACTION - 잘못된 작업
매개변수:
$api_key - API 키
$service - 서비스 이름
응답:
응답 형식은 다음과 같습니다:
[{
"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)
}]
가능한 오류:
ERROR_SQL - SQL 서버 오류
BAD_KEY - 유효하지 않은 API 키
WRONG_SERVICE - 잘못된 서비스
BAD_ACTION - 잘못된 작업
매개변수:
$api_key - API 키
$id - 활성화 ID
응답:
서비스 응답은 JSON 형식으로 반환됩니다. 예시:
{"status":"2","phone":false}
가능한 상태:
2 - 새로운 활성화
3 - 성공적으로 완료됨
4 - 취소됨
5 - 반환됨
가능한 오류:
BAD_KEY - 유효하지 않은 API 키
INVALID_ACTIVATION_ID - 잘못된 활성화 ID
응답:
JSON - 객체 형식
{"Service":{"Country":{"count":Quantity,"price":"Price"}}}
매개변수:
$api_key - API 키
응답:
JSON - 객체 형식 {{'Страна':{'id':0,'rus':"Россия","eng:"Russia","chn":"俄罗斯","visible":1,"retry":1,"rent":1,"multiService":1}},
여기서 (
id : 국가 ID;
rus : 러시아어 국가명;
eng : 영어 국가명;
chn : 중국어 국가명;
visible : 0 - 사이트에 표시되지 않음, 1 - 표시됨;
retry : 0 - SMS 재발송 불가, 1 - 가능;
rent : 0 - 대여 불가 국가, 1 - 대여 가능;
multiService : 0 - 다중 서비스 불가, 1 - 가능.)
매개변수:
$api_key- API 키
$country *- 국가 ID. 국가를 지정하면 선택한 국가에 대한 가격이 있는 서비스를 반환합니다.
$lang *- `name` 제공 시 사용할 언어. 가능한 값: 'ru', 'en', 'es', 'cn'. 기본값은 'en'입니다.
* 선택적 매개변수
응답:
JSON - 객체 형식 { "status": "success", "services": [ { "code": "aoo", "name": "페가수스 항공" } ] }
전용 번호로 첫 번째 SMS를 수신한 후, Yula, Yandex, Avito 등 기타 관련 서비스를 추가로 구매할 수 있습니다.
추가 서비스 비용은 단 5p입니다.
응답:
ADDITIONAL:$id:$phone - 새로운 활성화가 성공적으로 생성되었습니다. 여기서 ID는 추가 활성화의 ID이며, phone은 전화번호입니다.
가능한 오류:
WRONG_ADDITIONAL_SERVICE - 잘못된 추가 서비스 (전송 전용 서비스만 허용됨)
WRONG_ACTIVATION_ID - 잘못된 상위 활성화 ID
WRONG_SECURITY - 리디렉션 없이 활성화 ID를 전송하려 했거나, 완료되거나 비활성화된 활성화에 대한 오류가 발생했습니다.
REPEAT_ADDITIONAL_SERVICE - 이미 구매한 서비스를 다시 주문하려고 할 때 오류가 발생합니다. NO_BALANCE - 잔액 부족
ERROR_SQL- 데이터베이스 오류, 고객 서비스에 문의하십시오.
번호에서 성공적인 활성화를 수행한 경우, 다시 활성화할 수 있습니다.
추가 활성화 비용은 국가와 서비스에 따라 결정됩니다. 구체적인 비용은 다음에서 확인할 수 있습니다.
매개변수:
$api_key - API 키
$activationId - 상위 활성화 ID
응답:
ACCESS_NUMBER:$id:$phone - 새로운 활성화가 성공적으로 생성되었습니다. 여기서 $id는 추가 활성화의 ID이며, $phone은 전화번호입니다.
가능한 오류:
RENEW_ACTIVATION_NOT_AVAILABLE- 해당 번호는 추가 활성화에 사용할 수 없습니다.
WRONG_ACTIVATION_ID - 잘못된 상위 활성화 ID
ERROR_SQL- 데이터베이스 오류, 고객 서비스에 문의하십시오.
NEW_ACTIVATION_IMPOSSIBLE- 추가 활성화가 불가능합니다.
NO_BALANCE - 계정 잔액이 없습니다.
번호의 추가 활성화 가능 여부와 비용을 확인할 수 있습니다.
매개변수:
$api_key - API 키
$activationId - 상위 활성화 ID
응답:
JSON - 객체 형식 {'status': 'success', 'cost':200,"service":"tw","phone":777777777,"country":14},
가능한 오류:
RENEW_ACTIVATION_NOT_AVAILABLE- 해당 번호는 추가 활성화에 사용할 수 없습니다.
WRONG_ACTIVATION_ID - 잘못된 상위 활성화 ID
SIM_OFFLINE - SIM 카드 오프라인
응답:
응답 형식은 다음과 같습니다:
{
"result": "OK"
}
STATUS_CANCEL - 활성화가 취소되었습니다
NO_CALL- 전화를 받지 못했습니다
PARSE_COUNT_EXCEED- 파싱 시도 횟수 제한 (최대 4회)
가능한 오류:
WRONG_ACTIVATION_ID - 유효하지 않은 ID입니다. 활성화 정보가 존재하지 않습니다.
ERROR_SQL - SQL 서버 오류
BAD_KEY - 유효하지 않은 API 키
BAD_ACTION - 잘못된 작업
대여 API
매개변수:
$api_key - API 키
$time* - 대여 시간 (기본값: 4시간)
$operator* - 번호의 이동통신사입니다. 쉼표로 구분하여 여러 개를 지정할 수 있습니다 (기본값: Any).
$country* - 국가 (기본값: 러시아)
$incomingCall * - 전달된 경우 "true"전화 수신 기능을 지원하는 번호를 받습니다
응답:
서비스 응답은 JSON 형식으로 반환됩니다. 예시:
{ "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 } } }
가능한 오류:
BAD_KEY - 유효하지 않은 API 키
OUT_OF_STOCK - 해당 국가의 번호를 사용할 수 없습니다
매개변수:
$api_key - API 키
$service - 번호를 발급받아야 하는 서비스입니다
$time* - 시간 단위의 대여 시간 (기본값: 4시간). 다음으로 이용 가능한 기간은 12시간, 그다음은 24시간입니다. 하루 이상 대여를 요청하려면 24, 48, 72 등을 입력해야 합니다.
$operator* - 번호의 이동통신사입니다. 쉼표로 구분하여 여러 개를 지정할 수 있습니다 (기본값: Any).
$country* - 국가 (기본값: 러시아)
$url * - 웹훅 링크입니다 (기본적으로 고려되지 않음).
$incomingCall * - 전달된 경우 "true"전화 수신 기능을 지원하는 번호를 받습니다
* 선택적 매개변수입니다. 지정하지 않으면 기본 매개변수가 사용됩니다.
응답:
서비스 응답은 JSON 형식으로 반환됩니다. 예시:
{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564" } }
가능한 오류:
BAD_KEY - 유효하지 않은 API 키
JSON 형식으로 답변:
{ "status": "error", "message": "*possible_answer*" }
필드에서 가능한 답변 "message":
BAD_SERVICE - 서비스가 지정되지 않았거나 이름이 올바르지 않습니다
NO_BALANCE - 계정 잔액이 없습니다.
NO_NUMBERS - 번호 없음
ACCOUNT_INACTIVE - 번호 없음
SERVER_ERROR - 서버 오류
CHANNELS_LIMIT - 계정 차단됨
매개변수:
$api_key - API 키
$id - 번호 주문 시 응답에서 받은 대여 ID
$page* - 선택이 시작되는 페이지 번호 (페이지 번호는 0부터 시작하며, 최신순에서 과거순으로 정렬됩니다. 기본값은 0입니다)
$size* - 페이지 크기 (기본값 10)
* 선택적 매개변수입니다. 지정하지 않으면 기본 매개변수가 사용됩니다.
응답:
서비스 응답은 JSON 형식으로 반환됩니다. 예시:
{ "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" } } }
* SMS가 있을 때만 성공합니다 (box 'quantity' > 0).
가능한 오류:
BAD_KEY - 유효하지 않은 API 키
JSON 형식으로 답변:
{ "status": "error", "message": "*possible_answer*" } 필드에서 가능한 답변 "message": NO_ID_RENT - 대여 ID가 지정되지 않았습니다 INVALID_PHONE - 해당 번호는 귀하가 대여한 것이 아닙니다 (유효하지 않은 대여 ID) STATUS_FINISH - 대여 요금이 결제되고 완료되었습니다 STATUS_CANCEL - 환불 처리와 함께 대여가 취소되었습니다 STATUS_WAIT_CODE - 첫 번째 SMS 수신 대기 중 STATUS_REVOKE - 번호가 차단되었으며, 고객님의 자금은 환불되었습니다
매개변수:
$api_key - API 키
$id - 번호 주문 시 응답에서 받은 대여 ID
$status - 상태 변경 코드 (번호)
상태는 다음과 같을 수 있습니다:
응답:
서비스 응답은 JSON 형식으로 반환됩니다:
{ "status": "success" }
가능한 오류:
BAD_KEY - 유효하지 않은 API 키
JSON 형식으로 답변:
{ "status": "error", "message": "*possible_answer*" }
필드에서 가능한 답변 "message":
NO_ID_RENT - 대여 ID가 지정되지 않았습니다
INCORECT_STATUS - 상태가 누락되었거나 잘못 지정되었습니다
CANT_CANCEL - 대여를 취소할 수 없습니다 (20분 이상 경과)
INVALID_PHONE - 해당 번호는 귀하가 대여한 것이 아닙니다 (유효하지 않은 대여 ID)
ALREADY_FINISH - 대여가 이미 완료되었습니다
ALREADY_CANCEL - 대여가 이미 취소되었습니다
SERVER_ERROR - 서버 오류
👉주의! 이 방법은 최근 10개의 번호만 표시합니다. 더 많은 번호가 필요하면 다음을 사용하세요. getRentStatus 메서드를 사용하여 상태를 확인하십시오.
매개변수:
$api_key - API 키
응답:
서비스 응답은 JSON 형식으로 반환됩니다:
{ "status": "success", "values": { "0": { "id": "12345", "phone": "79181234567" }, "1": { "id": "12345", "phone": "79181234568" } } }
가능한 오류:
BAD_KEY - 유효하지 않은 API 키
BAD_ACTION - 잘못된 작업
JSON 형식으로 답변:
{ "status": "error", "message": "*possible_answer*" }
필드에서 가능한 답변 "message":
NO_NUMBERS - 대여 중인 번호가 없습니다
SERVER_ERROR - 서버 오류
매개변수:
$api_key - API 키
$id - 대여 ID
$rent_time- 대여 시간 (기본값: 4시간)
응답:
서비스 응답은 JSON 형식으로 반환됩니다:
{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564"} }
완료된 대여를 연장하면 새로 주문되며, 새로운 ID가 제공됩니다
가능한 오류:
BAD_KEY - 유효하지 않은 API 키
BAD_ACTION - 잘못된 작업
SERVER_ERROR - 서버 오류
JSON 형식으로 답변:
{ "status": "error", "message": "*possible_answer*", "info": "*details*" }
필드에서 가능한 답변 "message":
NO_ID_RENT - 대여 ID가 없습니다
INVALID_TIME - 잘못된 시간입니다. 사용 가능한 시간은 4시간에서 1344시간 사이입니다
MAX_HOURS_EXCEED - 사용 가능한 최대 시간을 초과했습니다
최대 - 사용 가능한 최대 시간
INVALID_PHONE - 잘못된 대여 ID
RENT_DIE - 번호가 만료되어 임대 연장이 불가능합니다
NO_BALANCE - 잔액 부족
CHANNELS_LIMIT - 계정 차단됨
* 이 방법은 MTT 운영자와의 임대에만 사용할 수 있습니다.
매개변수:
$api_key - API 키
$id - 대여 ID
$rent_time - 임대 시간
응답:
서비스 응답은 JSON 형식으로 반환됩니다:
{ "status": "success", "price": 6.33 }
가능한 오류:
BAD_KEY - 유효하지 않은 API 키
BAD_ACTION - 잘못된 작업
SERVER_ERROR - 서버 오류
JSON 형식으로 답변:
{ "status": "error", "message": "*possible_answer*" }
필드에서 가능한 답변 "message":
NO_ID_RENT - 대여 ID가 없습니다
INVALID_PHONE - 잘못된 대여 ID
INVALID_TIME - 잘못된 시간 설정
RENT_DIE - 번호가 만료되어 임대 연장이 불가능합니다
MAX_HOURS_EXCEED - 사용 가능한 최대 시간을 초과했습니다
최대 - 사용 가능한 최대 시간
CHANNELS_LIMIT - 계정 차단됨
API JAVA
Maven에 라이브러리 포함
<artifactId>SMSActivateApi</artifactId>
<version>1.0</version>
</dependency>
다음 링크에서 등록 예시를 확인할 수 있습니다: MavenRepository 링크
SMS-Activate API와 상호작용하기 위한 메인 클래스를 가져옵니다.
라이브러리를 사용하려면 API 키가 필요하며, 이 페이지와 아래 링크에서 발급받을 수 있습니다.
SMS-Activate API 키계정의 현재 잔액을 확인하려면 다음 메서드를 사용하세요. getBalance... 잔액 외에도 캐시백 정보가 필요하다면 다음 메서드를 호출하세요. getBalanceAndCashBack.
방법 getBalanceAndCashBack 클래스 객체를 반환합니다.SMSActivateGetBalanceAndCashBack.
매개변수:
없음
반환 타입:
BigDecimal
매개변수:
없음
매개변수:
countryId(Integer) - 국가 식별자.
service(String) - 서비스 약칭.
forward*(boolean) - 전화転送 기능이 포함된 번호 요청 여부.
operatorSet*(세트) - 운영자 세트.
phoneException*(세트) - 러시아 전용 접두사 제외, 3~6자리 숫자 세트(예: 7918, 7900111).
* 선택 항목. 아무것도 지정하지 않으면 프로필 설정에 따라 기본 수량이 제공됩니다.
반환 타입:
매개변수:
countryId(Integer) - 국가 식별자.
operatorSet*(세트) - 해당 서비스에서 이용 가능한 운영자 세트
반환 타입:
매개변수:
id(정수) - 활성화 식별자
service(String) - 서비스 약칭.
활성화 식별자 대신 수신된 클래스 객체를 전달할 수 있습니다 SMSActivateActivation 메서드 사용 후 getNumber 또는 사용 후 활성화 중 하나 getMultiServiceNumber.
반환 타입:
매개변수:
countryId(Integer) - 국가 식별자.
serviceMap(세트) - 활성화를 구매한 서비스 세트
multiForwardList(목록) - 전화 연결이 가능한 서비스 목록
operatorSet(세트) - 운영자 세트.
매개변수:
없음
반환 타입:
매개변수:
countryId(Integer) - 국가 식별자.
service(String) - 서비스 약칭.
반환 타입:
매개변수:
countryId(Integer) - 국가 식별자.
반환 타입:
매개변수:
activationId(정수) - 활성화 식별자
활성화 식별자 대신 수신된 클래스 객체를 전달할 수 있습니다 SMSActivateActivation 메서드 사용 후 getNumber 또는 사용 후 활성화 중 하나 getMultiServiceNumber.
반환 타입:
매개변수:
id(정수) - 활성화 식별자
status(SMSActivateClientStatus) - 활성화에 설정할 상태
활성화 식별자 대신 수신된 클래스 객체를 전달할 수 있습니다 SMSActivateActivation 메서드 사용 후 getNumber 또는 사용 후 활성화 중 하나 getMultiServiceNumber.
반환 타입:
매개변수:
없음
매개변수:
activationId(정수) - 활성화 식별자
활성화 식별자 대신 수신된 클래스 객체를 전달할 수 있습니다 SMSActivateActivation 메서드 사용 후 getNumber 또는 사용 후 활성화 중 하나 getMultiServiceNumber.
활성화와 함께 SMS 전체 텍스트를 받는 알고리즘
getNumber 메서드로 번호를 받은 후 다음 작업을 수행할 수 있습니다:
CANCEL - 8 - 활성화 취소(번호가 일치하지 않는 경우)
MESSAGE_WAS_SENT - SMS가 발송되었음을 알림 (SMS 전체 텍스트를 수신하려면 필수)
MESSAGE_WAS_SENT 상태를 필수로 설정한 후, 활성화 매개변수와 SMS 대기 시간을 포함하여 waitSMS 메서드를 사용하여 SMS를 수신할 변수를 설정하세요.
SMS를 수신한 후에는 getFullSMS 메서드를 사용하여 이를 가져오고, getText() 메서드를 통해 전체 텍스트를 표시할 수 있습니다.
그 후 활성화를 다음 상태로 설정할 수 있습니다:
MESSAGE_WAS_SENT 상태로 활성화하려면:
CANCEL - 활성화 취소
코드를 수신한 직후:
REQUEST_ONE_MORE_CODE - 다른 SMS 요청
FINISH - SMS 코드 확인 및 활성화 완료
REQUEST_ONE_MORE_CODE 상태로 활성화하려면:
FINISH - SMS 코드 확인 및 활성화 완료
매개변수:
countryId(Integer) - 국가 식별자.
service(String) - 서비스 약칭.
hours(정수형)* - 대여 시간
operator(문자열)* - 이동통신사 이름
urlWebhook(문자열)* - 웹훅 링크 (기본적으로 고려되지 않음)
웹훅(WebHook)이란 무엇인가요?* 선택적 매개변수. 지정하지 않으면 기본값은 다음과 같습니다.
반환 타입:
매개변수:
countryId(Integer) - 국가 식별자.
operatorSet(세트) - 이동통신사 집합
hours(정수형)* - 대여 시간
* 선택적 매개변수. 지정하지 않으면 기본값은 다음과 같습니다.
매개변수:
rentId(정수형) - 대여된 번호의 식별자
rentId 대신 결과 클래스 객체를 전달할 수 있습니다. SMSActivateRentActivation 메서드 사용 후 getRentNumber
반환 타입:
이메일 API
API 상태 설명
3 - 대기 중
4 - 취소됨
5 - 성공
설명:
REST API 원칙을 더 엄격하게 준수하고 Telegram 계정 등록을 위한 gmail.com 메일박스 수를 늘렸습니다.
매개변수:
$api_key - API 키
$site- 이메일이 필요한 사이트
응답:
서비스 응답은 JSON 형식으로 반환됩니다. 예시:
{
"status":"OK",
"response":{
"zones":[
{
"name":"info",
"cost":2.5
},
...
],
"popular":[
{
"name":"mail.ru",
"cost":6,
"count":159008
},
...
]
}
}
가능한 오류:
BAD_SITE- 사이트가 지정되지 않았습니다.
BAD_KEY - 유효하지 않은 API 키
BAD_ACTION - 잘못된 작업
매개변수:
$api_key - API 키
$site - 이메일이 필요한 사이트
$mail_type - 메일 유형: 인기 도메인 또는 영역 (1 - 영역, 2 - 인기)
$mail_domain - 선택한 영역 또는 도메인
응답:
서비스 응답은 JSON 형식으로 반환됩니다. 예시:
{
"status":"OK",
"response":{"email":"[email protected]","id":241}
}
가능한 오류:
BAD_KEY - 유효하지 않은 API 키
BAD_ACTION - 잘못된 작업
MAIL_TYPE_ERROR - 지정된 사이트에 해당 도메인이 없습니다
CHANNELS_LIMIT - 계정 차단됨
매개변수:
$api_key - API 키
$id- 재활성화가 필요한 메일의 ID
응답:
서비스 응답은 JSON 형식으로 반환됩니다. 예시:
{
"status": "OK",
"response": {
"email": "[email protected]",
"id": 360
}
}
가능한 오류:
BAD_KEY - 유효하지 않은 API 키
BAD_ACTION - 잘못된 작업
BLOCKED_SITE - 차단된 웹사이트
BAD_BALANCE - 잔액 부족
ACTIVATION_NOT_FOUND - 활성화를 찾을 수 없습니다
CHANNELS_LIMIT - 계정 차단됨
매개변수:
$api_key - API 키
$page- 페이지 번호
$per_page- 페이지당 구매 건수
$search- 검색창
$sort- 정렬 방향 (desc, asc)
응답:
서비스 응답은 JSON 형식으로 반환됩니다. 예시:
{
"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
}
}
매개변수:
$api_key - API 키
$id- 구매 ID
응답:
서비스 응답은 JSON 형식으로 반환됩니다. 예시:
{
"status":"OK",
"response":true
}
가능한 오류:
EARLY_CANCEL_DENIED - 처음 2분 동안은 메일을 취소할 수 없습니다.
매개변수:
$api_key - API 키
$id- 구매한 이메일의 ID로, 이메일 구매 후 반환됩니다
응답:
서비스 응답은 JSON 형식으로 반환됩니다. 예시:
{
"status":"OK",
"response":{
"value":"Содержания письма"
}
}
API 파트너 소프트웨어
매개변수:
$api_key - API 키
$id- 구매해야 하는 소프트웨어의 ID
응답:
서비스 응답은 JSON 형식으로 반환됩니다. 예시:
{
"status": "success",
"key": "F5qrzFoY6afj3zrEq7SeMplbx",
"manual": "Software download link:"
}
가능한 오류:
BAD_DATA - 잘못된 ID이거나 ID가 숫자가 아닙니다
BAD_ACTION - 잘못된 작업이거나 리셀러가 인증되지 않았습니다.
<?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.skin 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





















































