Giao thức API để làm việc với SMS-Activate
API là giao thức kết nối giữa phần mềm của bạn và máy chủ của chúng tôi
API cần thiết để tự động hóa quy trình nhận sms, otp và pva từ phía của bạn
API của chúng tôi hoàn toàn tương thích với các trang web đối thủ cạnh tranh
Tất cả các yêu cầu phải được gửi đến https://api.sms-activate.ai/stubs/handler_api.php
Yêu cầu POST hoặc GET.
Tất cả các yêu cầu phải chứa khóa API dưới dạng tham số GET api_key
Tải xuống bản triển khai giao thức bằng php Tải xuống bản triển khai giao thức sẵn có bằng PythonAPI kích hoạt
Tham số:
$api_key - Khóa API
$country * - mã quốc gia xem bảng
$operator * số của nhà mạng di động, bạn có thể chỉ định nhiều số cách nhau bằng dấu phẩy (chỉ khả dụng cho:
** có sẵn cho $country = 0, $country = 1, $country = 2
TRẢ LỜI:
Phản hồi từ dịch vụ sẽ ở định dạng json, ví dụ:
{"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}
Trong đó, phần trước dấu gạch ngang là tên dịch vụ, sau ký hiệu là thông tin về việc có cần chuyển hướng hay không. 0 - không. 1 - có.
Tham số:
$api_key - Khóa API
$service * - Dịch vụ xem bảng
* tham số tùy chọn. Nếu không được chỉ định, các quốc gia hàng đầu cho tất cả dịch vụ sẽ được hiển thị theo mặc định.
$freePrice * - tham số tùy chọn. Nếu được cung cấp true, số lượng và giá sẽ được cung cấp theo Giá Miễn Phí
TRẢ LỜI:
Phản hồi từ dịch vụ sẽ ở định dạng json, ví dụ:
{
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
}
}, ...
}
Yêu cầu số dư với tài khoản hoàn tiền:
* trả về số dư tính cả khoản hoàn tiền đã tích lũy, nếu ô chọn trong cài đặt tài khoản hoàn tiền 'Sử dụng hoàn tiền để kích hoạt' được đánh dấu
Tham số:
$api_key - Khóa API
TRẢ LỜI:
ACCESS_BALANCE: 'số dư tài khoản'
CÁC LỖI CÓ THỂ GẶP:
BAD_KEY - khóa API không hợp lệ
ERROR_SQL - lỗi máy chủ sql
* trả về tất cả nhà mạng khả dụng cho quốc gia được truyền vào, nếu không truyền quốc gia - sẽ trả về tất cả nhà mạng khả dụng cho từng quốc gia
Tham số:
$api_key - Khóa API
$country - mã quốc gia
TRẢ LỜI:
Phản hồi từ dịch vụ sẽ ở định dạng json:
{"status":"success", "countryOperators": {
"Country1Code": ["operator1Name","operator2Name","operator3Name", ...],
"Country2Code": ["operator1Name","operator2Name","operator3Name", ...],
...
}}
Ví dụ:
{"status":"success", "countryOperators": {
"0": ["beeline","megafon","mts", ...],
"1": ["life","mts","kyivstar","utel" ...],
...
}}
* bên trong 'countryOperators' - khóa sẽ là mã quốc gia
CÁC LỖI CÓ THỂ GẶP:
BAD_KEY - khóa API không hợp lệ
ERROR_SQL - lỗi máy chủ sql
OPERATORS_NOT_FOUND - không tìm thấy bản ghi (ví dụ: quốc gia được truyền vào không tồn tại)
Tham số:
$api_key - Khóa API
TRẢ LỜI:
Phản hồi từ dịch vụ sẽ ở định dạng 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",
}]
CÁC LỖI CÓ THỂ GẶP:
BAD_KEY - khóa API không hợp lệ
ERROR_SQL - lỗi máy chủ sql
NO_ACTIVATIONS - không tìm thấy mục nhập (không có lượt kích hoạt đang hoạt động)
Tham số:
$api_key - Khóa API
$service - dịch vụ để đặt hàng xem bảng
$forward * - có cần yêu cầu số điện thoại kèm chuyển tiếp hay không
* tham số tùy chọn, nhận giá trị 0 (không thực hiện, đặt mặc định), 1 (thực hiện)
$maxPrice * - mức giá tối đa mà bạn sẵn sàng mua số điện thoại theo Giá Miễn Phí
* tham số tùy chọn, nếu không được chỉ định, việc mua hàng sẽ diễn ra theo giá thông thường
$phoneException * - loại trừ các đầu số cho số điện thoại Nga. Nhập cách nhau bằng dấu phẩy. Định dạng ghi: mã quốc gia và 3 đến 6 chữ số của mặt nạ (ví dụ: 7918, 7900111). Giá trị mặc định là giá trị được chỉ định trong tài khoản.
$operator* là nhà mạng di động của số điện thoại, bạn có thể chỉ định nhiều nhà mạng bằng dấu phẩy (chỉ khả dụng cho **)
$activationType - loại kích hoạt: 0 - qua SMS (mặc định), 1 - qua số điện thoại, 2 - qua cuộc gọi thoại
$language - ngôn ngữ phân tích cú pháp (bắt buộc khi kích hoạt qua cuộc gọi thoại) xem bảng
$userId * - ID người dùng bị cấm do thống kê kích hoạt kém, nhưng tài khoản của đại lý bán lại không bị ảnh hưởng.
* trường tùy chọn
** có sẵn cho $country = 0, $country = 1, $country = 2
$ref - chuyển ID giới thiệu.
$country - mã quốc gia xem bảng
$useCashBack* - nhận giá trị boolean, nếu tham số là 'true', việc mua số sẽ được thực hiện bằng cách sử dụng tiền hoàn lại. Sau khi hết tiền trong số dư tiền hoàn lại, tất cả các giao dịch mua tiếp theo sẽ được thực hiện bằng số dư chính. Điều QUAN TRỌNG cần nhớ là tất cả các giao dịch mua tiếp theo sẽ ưu tiên sử dụng tiền hoàn lại trước, sau đó mới đến số dư chính (ngay cả khi sau đó bạn truyền tham số 'false').
* tham số tùy chọn, chấp nhận giá trị 'true'
Bằng cách nhận số điện thoại thông qua API, bạn đồng ý với quy định dự án quy định dự án
CÁC LỖI CÓ THỂ GẶP:
WRONG_MAX_PRICE:$min- mức giá tối đa được chỉ định thấp hơn mức cho phép
$min - mức giá tối thiểu cho phép
BAD_ACTION - hành động không hợp lệ
BAD_SERVICE - tên dịch vụ không hợp lệ
BAD_KEY - khóa API không hợp lệ
ERROR_SQL - lỗi máy chủ sql
BANNED:'YYYY-m-d H-i-s' - thời gian tài khoản bị khóa
WRONG_EXCEPTION_PHONE - tiền tố loại trừ không hợp lệ
NO_BALANCE_FORWARD - không đủ số dư để mua dịch vụ chuyển tiếp cuộc gọi
CHANNELS_LIMIT - tài khoản bị khóa
NO_NUMBERS - không có số điện thoại
Nếu bạn cố gắng lấy số của một nhà mạng cụ thể không hoạt động tại quốc gia đã chọn hoặc không hỗ trợ dịch vụ đã chọn, hệ thống sẽ trả về số của nhà mạng đầu tiên phù hợp với các tham số yêu cầu
phương thức này hoạt động tương tự như phương thức getNumber, chấp nhận cùng các tham số và các tham số bổ sung được mô tả bên dưới, nhưng trả về thêm thông tin kích hoạt
Tham số:
$orderId- ID kích hoạt từ hệ thống của đại lý bán lại. Khi mua hàng, dữ liệu này được so sánh với ID kích hoạt và đại lý bán lại trong hệ thống của chúng tôi. Nhờ đó, chúng tôi đảm bảo tính idempotence (cùng một đơn hàng sẽ không được xử lý lại).
TRẢ LỜI:
Nếu yêu cầu thành công, phản hồi sẽ có định dạng sau:
{
"activationId": 635468024,
"phoneNumber": "79584******",
"activationCost": "12.50",
"countryCode": "0",
"canGetAnotherSms": "1",
"activationTime": "2022-06-01 17:30:57",
"activationOperator": "mtt"
}
Nếu bạn cố gắng lấy số của một nhà mạng cụ thể không hoạt động tại quốc gia đã chọn hoặc không hỗ trợ dịch vụ đã chọn, hệ thống sẽ trả về số của nhà mạng đầu tiên phù hợp với các tham số yêu cầu
CÁC LỖI CÓ THỂ GẶP:
ORDER_ALREADY_EXISTS- đơn hàng đã được tạo trước đó
Khi bạn nhận SMS đến một số điện thoại, nếu đã bật chức năng Webhooks trong cài đặt, chúng tôi sẽ gửi thông tin về SMS đến các địa chỉ bạn đã chỉ định bằng yêu cầu POST
TRẢ LỜI:
Định dạng phản hồi sẽ như sau:
{
"activationId": 635468024,
"service": "go",
"text": "Your sms text",
"code": "Your sms code",
"country": 0,
"receivedAt": "2022-06-01 17:30:57",
}
Khi gửi yêu cầu, chúng tôi sẽ chờ phản hồi từ script của bạn với mã trạng thái HTTP 200. Nếu script của bạn không phản hồi, chúng tôi sẽ gửi lại yêu cầu trong vòng 2 giờ, nhưng không quá 8 lần.
Bạn có thể bật chức năng này trong cài đặt hồ sơ
Tham số:
$api_key - Khóa API
$service - dịch vụ để đặt hàng xem bảng
$forward * - có cần yêu cầu số điện thoại kèm chuyển tiếp hay không
* tham số tùy chọn, các ký tự chuyển tiếp được phân tách bằng dấu phẩy, số lượng chữ số chuyển tiếp phải khớp với số lượng dịch vụ được truyền trong tham số $service. Chỉ cho phép truyền 1 dịch vụ kèm chuyển hướng, ví dụ: "0,1,0,0" - đúng, "0,1,1,0" - sai. Nhận giá trị 0 (không thực hiện, mặc định), 1 (thực hiện)
$operator * - nhà mạng di động của số điện thoại, bạn có thể chỉ định nhiều số cách nhau bằng dấu phẩy (chỉ khả dụng cho **):
$ref - chuyển ID giới thiệu.
$country - mã quốc gia xem bảng
Bằng cách nhận số điện thoại thông qua API, bạn đồng ý với quy định dự án quy định dự án
TRẢ LỜI:
NO_NUMBERS - không có số điện thoại
NO_BALANCE - số dư đã hết
{{'phone':phone,'activation':activation,'service':service},
{'phone':phone,'activation':activation,'service':service}}, trong đó (phone - ID thao tác, activation - Số điện thoại, service - Dịch vụ)
CÁC LỖI CÓ THỂ GẶP:
BAD_ACTION - hành động không hợp lệ
BAD_SERVICE - tên dịch vụ không hợp lệ
BAD_KEY - khóa API không hợp lệ
ERROR_SQL - lỗi máy chủ sql
BANNED:'YYYY-m-d H-i-s' - thời gian tài khoản bị khóa
Tham số:
$api_key - Khóa API
$id - ID kích hoạt
$forward * - số điện thoại mà bạn muốn chuyển tiếp đến
* chỉ bắt buộc nếu tham số getNumber forward=1 đã được truyền.
$status - trạng thái kích hoạt
1 - thông báo về khả dụng của số (SMS đã được gửi đến số)
3 - yêu cầu thêm một mã nữa (miễn phí)
6 - kết thúc kích hoạt *
8 - báo cáo rằng số đã được sử dụng và hủy kích hoạt
* nếu trạng thái là 'đã nhận mã' - đánh dấu thành công và hoàn tất, nếu là 'đang chuẩn bị' - xóa và đánh dấu lỗi, nếu là 'chờ thử lại' - chuyển kích hoạt sang trạng thái chờ SMS
** Không thể thay đổi trạng thái kích hoạt khi phương thức xác minh bằng cuộc gọi đã được chọn nếu số điện thoại đã đến
Logic đơn giản về trình tự làm việc với API:
Lấy số bằng phương thức getNumber, sau đó các hành động sau sẽ khả dụng:
8 - hủy kích hoạt (nếu số không phù hợp với bạn)
1 - thông báo rằng SMS đã được gửi (tùy chọn)
Đối với kích hoạt có trạng thái 1:
8 - hủy kích hoạt
Ngay sau khi nhận được mã:
3 - yêu cầu thêm một SMS nữa
6 - xác nhận mã SMS và kết thúc kích hoạt
Đối với kích hoạt có trạng thái 3:
6 - xác nhận mã SMS và kết thúc kích hoạt
TRẢ LỜI:
ACCESS_READY - xác nhận số đã sẵn sàng
ACCESS_RETRY_GET - đang chờ SMS mới
ACCESS_ACTIVATION - dịch vụ đã được kích hoạt thành công
ACCESS_CANCEL - hủy kích hoạt
CÁC LỖI CÓ THỂ GẶP:
EARLY_CANCEL_DENIED - không được phép hủy số trong vòng 2 phút đầu tiên
ERROR_SQL - lỗi máy chủ sql
NO_ACTIVATION - ID kích hoạt không tồn tại
BAD_SERVICE - tên dịch vụ không hợp lệ
BAD_STATUS - trạng thái không chính xác
BAD_KEY - khóa API không hợp lệ
BAD_ACTION - hành động không hợp lệ
WRONG_ACTIVATION_ID - ID không hợp lệ hoặc ID không phải là số.
Tham số:
$api_key - Khóa API
$id - ID kích hoạt
TRẢ LỜI:
STATUS_WAIT_CODE - đang chờ SMS
STATUS_WAIT_RETRY: 'mã cũ, không khớp' - đang chờ làm rõ mã
STATUS_WAIT_RESEND - đang chờ gửi lại SMS *
* phần mềm phải nhấn gửi lại SMS và thay đổi trạng thái thành 6
STATUS_CANCEL - hủy kích hoạt
STATUS_OK: 'mã kích hoạt' - đã nhận được mã
CÁC LỖI CÓ THỂ GẶP:
NO_ACTIVATION - ID kích hoạt không tồn tại
ERROR_SQL - lỗi máy chủ sql
BAD_KEY - khóa API không hợp lệ
BAD_ACTION - hành động không hợp lệ
Tham số:
$api_key - Khóa API
$id - ID kích hoạt
TRẢ LỜI:
Định dạng phản hồi sẽ như sau:
{
"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 - hủy kích hoạt
CÁC LỖI CÓ THỂ GẶP:
NO_ACTIVATION - ID kích hoạt không tồn tại
ERROR_SQL - lỗi máy chủ sql
BAD_KEY - khóa API không hợp lệ
BAD_ACTION - hành động không hợp lệ
Tham số:
$api_key - Khóa API
$start - dấu thời gian theo định dạng Unix Timestamp (tùy chọn) - ngày bắt đầu xem xét các lượt kích hoạt
$end - dấu thời gian theo định dạng Unix Timestamp (tùy chọn) - ngày kết thúc xem xét các lượt kích hoạt
$offset - vị trí bắt đầu của phần tử đầu tiên được trả về trong phản hồi. Mặc định là 0
$limit - số lượng bản ghi tối đa được trả về. Tối đa là 100. Mặc định là 50.
TRẢ LỜI:
Định dạng phản hồi sẽ như sau:
[{
"id": 635468024,
"date": "2022-11-12 15:58:39",
"phone": "79918529716",
"sms": "sms":"["Your sms code"]",
"cost": 100 //Если активация не завершена, то cost = 0,
"status": "4",
}]
CÁC LỖI CÓ THỂ GẶP:
ERROR_SQL - lỗi máy chủ sql
BAD_KEY - khóa API không hợp lệ
BAD_ACTION - hành động không hợp lệ
Tham số:
$api_key - Khóa API
$service - tên dịch vụ
TRẢ LỜI:
Định dạng phản hồi sẽ như sau:
[{
"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)
}]
CÁC LỖI CÓ THỂ GẶP:
ERROR_SQL - lỗi máy chủ sql
BAD_KEY - khóa API không hợp lệ
WRONG_SERVICE - dịch vụ không chính xác
BAD_ACTION - hành động không hợp lệ
Tham số:
$api_key - Khóa API
$id - ID kích hoạt
TRẢ LỜI:
Phản hồi từ dịch vụ sẽ ở định dạng json, ví dụ:
{"status":"2","phone":false}
CÁC TRẠNG THÁI CÓ THỂ:
2 - kích hoạt mới
3 - hoàn tất thành công
4 - đã hủy
5 - đã trả lại
CÁC LỖI CÓ THỂ GẶP:
BAD_KEY - khóa API không hợp lệ
INVALID_ACTIVATION_ID - ID kích hoạt không hợp lệ
Tham số:
$api_key - Khóa API
$serviceTên viết tắt của dịch vụ (Tùy chọn, mặc định là tất cả các dịch vụ) xem bảng
$countryTên mã quốc gia (Tùy chọn, mặc định là tất cả các quốc gia) xem bảng
TRẢ LỜI:
JSON - đối tượng theo định dạng
{"Country":{"Service":{"cost":Cost,"count":Count}}}
Tham số:
$api_key - Khóa API
$serviceTên viết tắt của dịch vụ (Tùy chọn, mặc định là tất cả các dịch vụ) xem bảng
TRẢ LỜI:
JSON - đối tượng theo định dạng
{"Service":{"Country":{"count":Quantity,"price":"Price"}}}
Tham số:
$api_key - Khóa API
TRẢ LỜI:
JSON - đối tượng theo định dạng {{'Страна':{'id':0,'rus':"Россия","eng:"Russia","chn":"俄罗斯","visible":1,"retry":1,"rent":1,"multiService":1}},
trong đó (
id : ID quốc gia;
rus : tên quốc gia bằng tiếng Nga;
eng : tên quốc gia bằng tiếng Anh;
chn : tên quốc gia bằng tiếng Trung;
visible : 0 - quốc gia không hiển thị trên trang web, 1 - hiển thị;
retry : 0 - KHÔNG hỗ trợ gửi SMS lại, 1 - có hỗ trợ;
rent : 0 - quốc gia không cho thuê, 1 - cho thuê;
multiService : 0 - quốc gia KHÔNG hỗ trợ đa dịch vụ, 1 - có hỗ trợ.)
Tham số:
$api_key- Khóa API
$country *- ID quốc gia. Nếu bạn đã chọn quốc gia, chúng tôi sẽ trả về các dịch vụ có giá cho quốc gia đã chọn
$lang *- ngôn ngữ sử dụng để cung cấp `name`. Các giá trị khả thi: 'ru', 'en', 'es', 'cn'. Mặc định là 'en'
* tham số tùy chọn
TRẢ LỜI:
JSON - đối tượng theo định dạng { "status": "success", "services": [ { "code": "aoo", "name": "Pegasus Airlines" } ] }
Sau khi nhận được SMS đầu tiên cho số điện thoại chuyển hướng, bạn có thể mua các dịch vụ liên quan khác như Yula, Yandex, Avito hoặc bất kỳ dịch vụ nào khác
Chi phí cho dịch vụ bổ sung chỉ 5p
Tham số:
$api_key - Khóa API
$service - xem bảng để biết tên viết tắt của dịch vụ xem bảng
$id - ID kích hoạt gốc
TRẢ LỜI:
ADDITIONAL:$id:$phone - một kích hoạt mới đã được tạo thành công. Trong đó ID là ID của kích hoạt bổ sung, phone là số điện thoại
CÁC LỖI CÓ THỂ GẶP:
WRONG_ADDITIONAL_SERVICE - Dịch vụ bổ sung không hợp lệ (chỉ cho phép các dịch vụ chuyển tiếp)
WRONG_ACTIVATION_ID - ID kích hoạt gốc không chính xác
WRONG_SECURITY - xảy ra lỗi khi cố gắng truyền ID kích hoạt mà không có chuyển hướng, hoặc kích hoạt đã hoàn thành/không hoạt động
REPEAT_ADDITIONAL_SERVICE - lỗi xảy ra khi cố gắng đặt lại dịch vụ đã mua NO_BALANCE - Không đủ số dư
ERROR_SQL- lỗi cơ sở dữ liệu, vui lòng liên hệ bộ phận chăm sóc khách hàng
Nếu bạn đã thực hiện kích hoạt thành công trên số điện thoại, thì bạn có thể thực hiện lại.
Chi phí kích hoạt bổ sung được xác định tùy thuộc vào quốc gia và dịch vụ. Chi phí cụ thể có thể lấy từ .
Tham số:
$api_key - Khóa API
$activationId - ID kích hoạt gốc
TRẢ LỜI:
ACCESS_NUMBER:$id:$phone - một kích hoạt mới đã được tạo thành công. Trong đó $id là ID của kích hoạt bổ sung, $phone là số điện thoại
CÁC LỖI CÓ THỂ GẶP:
RENEW_ACTIVATION_NOT_AVAILABLE- số điện thoại không khả dụng cho kích hoạt bổ sung
WRONG_ACTIVATION_ID - ID kích hoạt gốc không chính xác
ERROR_SQL- lỗi cơ sở dữ liệu, vui lòng liên hệ bộ phận chăm sóc khách hàng
NEW_ACTIVATION_IMPOSSIBLE- không thể thực hiện kích hoạt bổ sung
NO_BALANCE - không đủ tiền trong tài khoản
Bạn có thể kiểm tra tính khả dụng của số điện thoại cho kích hoạt bổ sung và nhận chi phí của nó
Tham số:
$api_key - Khóa API
$activationId - ID kích hoạt gốc
TRẢ LỜI:
JSON - đối tượng theo định dạng {'status': 'success', 'cost':200,"service":"tw","phone":777777777,"country":14},
CÁC LỖI CÓ THỂ GẶP:
RENEW_ACTIVATION_NOT_AVAILABLE- số điện thoại không khả dụng cho kích hoạt bổ sung
WRONG_ACTIVATION_ID - ID kích hoạt gốc không chính xác
SIM_OFFLINE - Thẻ SIM ngoại tuyến
TRẢ LỜI:
Định dạng phản hồi sẽ như sau:
{
"result": "OK"
}
STATUS_CANCEL - hủy kích hoạt
NO_CALL- không nhận được cuộc gọi nào
PARSE_COUNT_EXCEED- vượt quá giới hạn số lần phân tích cú pháp (tối đa là 4)
CÁC LỖI CÓ THỂ GẶP:
WRONG_ACTIVATION_ID - ID không hợp lệ, kích hoạt không tồn tại
ERROR_SQL - lỗi máy chủ sql
BAD_KEY - khóa API không hợp lệ
BAD_ACTION - hành động không hợp lệ
Thuê API
Tham số:
$api_key - Khóa API
$time* - thời gian thuê (mặc định: 4 giờ)
$operator* - nhà mạng di động của số điện thoại, bạn có thể chỉ định nhiều nhà mạng, phân cách bằng dấu phẩy (mặc định: Bất kỳ)
$country* - quốc gia (mặc định: Nga)
$incomingCall * - nếu được chuyển tiếp "true"lấy một số hỗ trợ chức năng nhận cuộc gọi
TRẢ LỜI:
Phản hồi từ dịch vụ sẽ ở định dạng json, ví dụ:
{ "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 } } }
CÁC LỖI CÓ THỂ GẶP:
BAD_KEY - khóa API không hợp lệ
OUT_OF_STOCK - số điện thoại cho quốc gia đó không khả dụng
Tham số:
$api_key - Khóa API
$service - dịch vụ mà bạn cần lấy số điện thoại
$time* - thời gian thuê tính bằng giờ (mặc định: 4 giờ). Các khung thời gian tiếp theo có sẵn là 12 giờ, sau đó là 24 giờ. Khi yêu cầu thuê từ một ngày trở lên, bạn phải truyền các giá trị: 24, 48, 72, v.v.
$operator* - nhà mạng di động của số điện thoại, bạn có thể chỉ định nhiều nhà mạng, phân cách bằng dấu phẩy (mặc định: Bất kỳ)
$country* - quốc gia (mặc định: Nga)
$url * - liên kết cho webhook (không được xét đến theo mặc định)
$incomingCall * - nếu được chuyển tiếp "true"lấy một số hỗ trợ chức năng nhận cuộc gọi
* tham số tùy chọn. Nếu không được chỉ định, tham số mặc định sẽ được sử dụng.
TRẢ LỜI:
Phản hồi từ dịch vụ sẽ ở định dạng json, ví dụ:
{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564" } }
CÁC LỖI CÓ THỂ GẶP:
BAD_KEY - khóa API không hợp lệ
Phản hồi ở định dạng json:
{ "status": "error", "message": "*possible_answer*" }
Các câu trả lời có thể trong trường "message":
BAD_SERVICE - dịch vụ không được chỉ định hoặc tên không chính xác
NO_BALANCE - không đủ tiền trong tài khoản
NO_NUMBERS - không có số điện thoại
ACCOUNT_INACTIVE - không có số điện thoại
SERVER_ERROR - lỗi máy chủ
CHANNELS_LIMIT - tài khoản bị khóa
Tham số:
$api_key - Khóa API
$id - ID thuê nhận được trong phản hồi khi đặt hàng số điện thoại
$page* - số trang bắt đầu lựa chọn (đánh số trang bắt đầu từ 0, từ mới nhất đến cũ nhất; mặc định là 0)
$size* - kích thước trang (mặc định là 10)
* tham số tùy chọn. Nếu không được chỉ định, tham số mặc định sẽ được sử dụng.
TRẢ LỜI:
Phản hồi từ dịch vụ sẽ ở định dạng json, ví dụ:
{ "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" } } }
* chỉ thành công khi có tin nhắn SMS (giá trị 'quantity' > 0).
CÁC LỖI CÓ THỂ GẶP:
BAD_KEY - khóa API không hợp lệ
Phản hồi ở định dạng json:
{ "status": "error", "message": "*possible_answer*" } Các câu trả lời có thể trong trường "message": NO_ID_RENT - chưa chỉ định ID thuê INVALID_PHONE - số điện thoại không được thuê bởi bạn (ID thuê không hợp lệ) STATUS_FINISH - đã thanh toán và hoàn tất việc thuê STATUS_CANCEL - hủy thuê và đã hoàn tiền STATUS_WAIT_CODE - đang chờ SMS đầu tiên STATUS_REVOKE - Số điện thoại bị khóa, tiền của bạn đã được hoàn lại
Tham số:
$api_key - Khóa API
$id - ID thuê nhận được trong phản hồi khi đặt hàng số điện thoại
$status - mã để thay đổi trạng thái (số điện thoại)
Trạng thái có thể là:
TRẢ LỜI:
Phản hồi từ dịch vụ sẽ ở định dạng json:
{ "status": "success" }
CÁC LỖI CÓ THỂ GẶP:
BAD_KEY - khóa API không hợp lệ
Phản hồi ở định dạng json:
{ "status": "error", "message": "*possible_answer*" }
Các câu trả lời có thể trong trường "message":
NO_ID_RENT - chưa chỉ định ID thuê
INCORECT_STATUS - thiếu hoặc chỉ định sai trạng thái
CANT_CANCEL - không thể hủy hợp đồng thuê (đã quá 20 phút)
INVALID_PHONE - số điện thoại không được thuê bởi bạn (ID thuê không hợp lệ)
ALREADY_FINISH - hợp đồng thuê đã được hoàn tất
ALREADY_CANCEL - hợp đồng thuê đã bị hủy
SERVER_ERROR - lỗi máy chủ
👉Lưu ý! Phương thức này chỉ hiển thị 10 số gần nhất. Nếu bạn cần thêm số, hãy sử dụng phương thức getRentStatus để kiểm tra trạng thái.
Tham số:
$api_key - Khóa API
TRẢ LỜI:
Phản hồi từ dịch vụ sẽ ở định dạng json:
{ "status": "success", "values": { "0": { "id": "12345", "phone": "79181234567" }, "1": { "id": "12345", "phone": "79181234568" } } }
CÁC LỖI CÓ THỂ GẶP:
BAD_KEY - khóa API không hợp lệ
BAD_ACTION - hành động không hợp lệ
Phản hồi ở định dạng json:
{ "status": "error", "message": "*possible_answer*" }
Các câu trả lời có thể trong trường "message":
NO_NUMBERS - không có số nào đang được thuê
SERVER_ERROR - lỗi máy chủ
Tham số:
$api_key - Khóa API
$id - ID thuê
$rent_time- thời gian thuê (mặc định: 4 giờ)
TRẢ LỜI:
Phản hồi từ dịch vụ sẽ ở định dạng json:
{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564"} }
Khi gia hạn một hợp đồng thuê đã hoàn tất, hệ thống sẽ tạo đơn hàng mới và cung cấp ID mới
CÁC LỖI CÓ THỂ GẶP:
BAD_KEY - khóa API không hợp lệ
BAD_ACTION - hành động không hợp lệ
SERVER_ERROR - lỗi máy chủ
Phản hồi ở định dạng json:
{ "status": "error", "message": "*possible_answer*", "info": "*details*" }
Các câu trả lời có thể trong trường "message":
NO_ID_RENT - không có ID thuê
INVALID_TIME - thời gian không đúng. Số giờ khả dụng từ 4 đến 1344
MAX_HOURS_EXCEED - Đã vượt quá thời gian tối đa cho phép
tối đa - thời gian tối đa khả dụng
INVALID_PHONE - ID thuê không đúng
RENT_DIE - không thể gia hạn thuê vì số điện thoại đã hết hạn
NO_BALANCE - số dư không đủ
CHANNELS_LIMIT - tài khoản bị khóa
* phương thức này chỉ khả dụng khi thuê với nhà mạng MTT.
Tham số:
$api_key - Khóa API
$id - ID thuê
$rent_time - thời gian thuê
TRẢ LỜI:
Phản hồi từ dịch vụ sẽ ở định dạng json:
{ "status": "success", "price": 6.33 }
CÁC LỖI CÓ THỂ GẶP:
BAD_KEY - khóa API không hợp lệ
BAD_ACTION - hành động không hợp lệ
SERVER_ERROR - lỗi máy chủ
Phản hồi ở định dạng json:
{ "status": "error", "message": "*possible_answer*" }
Các câu trả lời có thể trong trường "message":
NO_ID_RENT - không có ID thuê
INVALID_PHONE - ID thuê không đúng
INVALID_TIME - cài đặt thời gian không chính xác
RENT_DIE - không thể gia hạn thuê vì số điện thoại đã hết hạn
MAX_HOURS_EXCEED - Đã vượt quá thời gian tối đa cho phép
tối đa - thời gian tối đa khả dụng
CHANNELS_LIMIT - tài khoản bị khóa
API JAVA
Thêm thư viện vào Maven
<artifactId>SMSActivateApi</artifactId>
<version>1.0</version>
</dependecy>
Bạn có thể xem ví dụ về đăng ký tại liên kết đến MavenRepository
Nhập lớp chính để tương tác với API SMS-Activate.
Để sử dụng thư viện, bạn cần khóa API, có thể lấy trên trang này và tại liên kết bên dưới.
Khóa API SMS-ActivateĐể kiểm tra số dư hiện tại của tài khoản, hãy sử dụng phương thức getBalance... Nếu bạn quan tâm đến hoàn tiền ngoài số dư, hãy gọi phương thức getBalanceAndCashBack.
Phương thức getBalanceAndCashBack trả về đối tượng lớpSMSActivateGetBalanceAndCashBack.
Tham số:
NONE
KIỂU TRẢ VỀ:
BigDecimal
Tham số:
NONE
KIỂU TRẢ VỀ:
Tham số:
countryId(Integer) - mã quốc gia.
service(String) - tên viết tắt của dịch vụ.
forward*(boolean) - có yêu cầu số điện thoại kèm chuyển tiếp cuộc gọi hay không.
operatorSet*(Tập hợp) - tập hợp các nhà mạng.
phoneException*(Tập hợp) - loại trừ các đầu số chỉ dành cho Nga, một tập hợp các số từ 3 đến 6 chữ số (7918,7900111).
* ô tùy chọn. Nếu không chỉ định gì, số lượng mặc định sẽ được áp dụng theo cài đặt trong hồ sơ.
KIỂU TRẢ VỀ:
Tham số:
countryId(Integer) - mã quốc gia.
operatorSet*(Tập hợp) - tập hợp các nhà mạng khả dụng cho dịch vụ
KIỂU TRẢ VỀ:
Tham số:
id(Integer) - mã định danh kích hoạt
service(String) - tên viết tắt của dịch vụ.
Thay vì mã định danh kích hoạt, bạn có thể truyền đối tượng lớp đã nhận SMSActivateActivation sau khi sử dụng phương thức getNumber hoặc một trong các kích hoạt sau khi sử dụng getMultiServiceNumber.
KIỂU TRẢ VỀ:
Tham số:
countryId(Integer) - mã quốc gia.
serviceMap(Tập hợp) - tập hợp các dịch vụ được mua kích hoạt
multiForwardList(Danh sách) - danh sách các dịch vụ hỗ trợ chuyển tiếp cuộc gọi
operatorSet(Tập hợp) - tập hợp các nhà mạng.
KIỂU TRẢ VỀ:
Tham số:
NONE
KIỂU TRẢ VỀ:
Tham số:
countryId(Integer) - mã quốc gia.
service(String) - tên viết tắt của dịch vụ.
KIỂU TRẢ VỀ:
Tham số:
countryId(Integer) - mã quốc gia.
KIỂU TRẢ VỀ:
Tham số:
activationId(Integer) - mã định danh kích hoạt
Thay vì mã định danh kích hoạt, bạn có thể truyền đối tượng lớp đã nhận SMSActivateActivation sau khi sử dụng phương thức getNumber hoặc một trong các kích hoạt sau khi sử dụng getMultiServiceNumber.
KIỂU TRẢ VỀ:
Tham số:
id(Integer) - mã định danh kích hoạt
status(SMSActivateClientStatus) - trạng thái cần đặt cho kích hoạt
Thay vì mã định danh kích hoạt, bạn có thể truyền đối tượng lớp đã nhận SMSActivateActivation sau khi sử dụng phương thức getNumber hoặc một trong các kích hoạt sau khi sử dụng getMultiServiceNumber.
KIỂU TRẢ VỀ:
Tham số:
NONE
KIỂU TRẢ VỀ:
Tham số:
activationId(Integer) - mã định danh kích hoạt
Thay vì mã định danh kích hoạt, bạn có thể truyền đối tượng lớp đã nhận SMSActivateActivation sau khi sử dụng phương thức getNumber hoặc một trong các kích hoạt sau khi sử dụng getMultiServiceNumber.
KIỂU TRẢ VỀ:
Quy trình nhận toàn bộ nội dung tin nhắn SMS với kích hoạt
Lấy số bằng phương thức getNumber, sau đó các hành động sau sẽ khả dụng:
CANCEL - 8 - Hủy kích hoạt (nếu số không phù hợp với bạn)
MESSAGE_WAS_SENT - Thông báo rằng SMS đã được gửi (Bắt buộc phải nhận để lấy đầy đủ nội dung tin nhắn)
Sau khi thiết lập bắt buộc trạng thái MESSAGE_WAS_SENT, hãy đặt biến để nhận SMS bằng phương thức waitSMS với các tham số kích hoạt và thời gian chờ tin nhắn.
Sau khi nhận được SMS, bạn có thể lấy nó bằng phương thức getFullSMS và sau đó hiển thị đầy đủ nội dung bằng phương thức getText().
Sau đó, bạn có thể đặt các lượt kích hoạt sang các trạng thái sau:
Để kích hoạt với trạng thái MESSAGE_WAS_SENT:
CANCEL - Hủy kích hoạt
Ngay sau khi nhận được mã:
REQUEST_ONE_MORE_CODE - Yêu cầu gửi thêm một mã SMS khác
FINISH - Xác nhận mã SMS và hoàn tất kích hoạt
Để kích hoạt với trạng thái REQUEST_ONE_MORE_CODE:
FINISH - Xác nhận mã SMS và hoàn tất kích hoạt
Tham số:
countryId(Integer) - mã quốc gia.
service(String) - tên viết tắt của dịch vụ.
hours(Integer)* - thời gian thuê
operator(String)* - tên nhà mạng di động
urlWebhook(String)* - liên kết cho webhook (Mặc định không được xét đến)
WebHook là gì?* tham số tùy chọn. Nếu không được chỉ định, giá trị mặc định sẽ là
KIỂU TRẢ VỀ:
Tham số:
countryId(Integer) - mã quốc gia.
operatorSet(Tập hợp) - tập hợp các nhà mạng di động
hours(Integer)* - thời gian thuê
* tham số tùy chọn. Nếu không được chỉ định, giá trị mặc định sẽ là
KIỂU TRẢ VỀ:
Tham số:
rentId(Integer) - mã định danh của số điện thoại đã thuê
Thay vì rentId, bạn có thể truyền đối tượng lớp kết quả SMSActivateRentActivation sau khi sử dụng phương thức getRentNumber
KIỂU TRẢ VỀ:
Email API
Mô tả các trạng thái API
3 - Đang chờ
4 - Đã hủy
5 - Thành công
MÔ TẢ:
Tuân thủ nghiêm ngặt hơn các nguyên tắc của REST API và tăng số lượng hộp thư gmail.com để đăng ký tài khoản Telegram.
Tham số:
$api_key - Khóa API
$site- Trang web mà bạn cần email cho
TRẢ LỜI:
Phản hồi từ dịch vụ sẽ ở định dạng json, ví dụ:
{
"status":"OK",
"response":{
"zones":[
{
"name":"info",
"cost":2.5
},
...
],
"popular":[
{
"name":"mail.ru",
"cost":6,
"count":159008
},
...
]
}
}
CÁC LỖI CÓ THỂ GẶP:
BAD_SITE- Chưa chỉ định trang web
BAD_KEY - khóa API không hợp lệ
BAD_ACTION - hành động không hợp lệ
Tham số:
$api_key - Khóa API
$site - trang web mà bạn cần email cho
$mail_type - loại email: tên miền phổ biến hoặc vùng (1 - vùng 2 - phổ biến)
$mail_domain - miền hoặc vùng đã chọn
TRẢ LỜI:
Phản hồi từ dịch vụ sẽ ở định dạng json, ví dụ:
{
"status":"OK",
"response":{"email":"[email protected]","id":241}
}
CÁC LỖI CÓ THỂ GẶP:
BAD_KEY - khóa API không hợp lệ
BAD_ACTION - hành động không hợp lệ
MAIL_TYPE_ERROR - không có miền nào như vậy cho trang web được chỉ định
CHANNELS_LIMIT - tài khoản bị khóa
Tham số:
$api_key - Khóa API
$id- Id của email cần kích hoạt lại
TRẢ LỜI:
Phản hồi từ dịch vụ sẽ ở định dạng json, ví dụ:
{
"status": "OK",
"response": {
"email": "[email protected]",
"id": 360
}
}
CÁC LỖI CÓ THỂ GẶP:
BAD_KEY - khóa API không hợp lệ
BAD_ACTION - hành động không hợp lệ
BLOCKED_SITE - trang web bị chặn
BAD_BALANCE - số dư không đủ
ACTIVATION_NOT_FOUND - không tìm thấy kích hoạt
CHANNELS_LIMIT - tài khoản bị khóa
Tham số:
$api_key - Khóa API
$page- số trang
$per_page- số lượng giao dịch mua trên mỗi trang
$search- thanh tìm kiếm
$sort- hướng sắp xếp. (desc, asc)
TRẢ LỜI:
Phản hồi từ dịch vụ sẽ ở định dạng json, ví dụ:
{
"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
}
}
Tham số:
$api_key - Khóa API
$id- id giao dịch mua
TRẢ LỜI:
Phản hồi từ dịch vụ sẽ ở định dạng json, ví dụ:
{
"status":"OK",
"response":true
}
CÁC LỖI CÓ THỂ GẶP:
EARLY_CANCEL_DENIED - Bạn không thể hủy email trong 2 phút đầu tiên.
Tham số:
$api_key - Khóa API
$id- id của email đã mua, được trả về sau khi mua email
TRẢ LỜI:
Phản hồi từ dịch vụ sẽ ở định dạng json, ví dụ:
{
"status":"OK",
"response":{
"value":"Содержания письма"
}
}
Phần mềm đối tác API
Tham số:
$api_key - Khóa API
$id- Id của phần mềm bạn cần mua
TRẢ LỜI:
Phản hồi từ dịch vụ sẽ ở định dạng json, ví dụ:
{
"status": "success",
"key": "F5qrzFoY6afj3zrEq7SeMplbx",
"manual": "Software download link:"
}
CÁC LỖI CÓ THỂ GẶP:
BAD_DATA - ID không chính xác hoặc ID không phải là số
BAD_ACTION - hành động không hợp lệ hoặc đại lý chưa được xác minh.
<?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 smsactivate.fun 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





















































