Dimar FZC LLC
Flamingo Villas A-32-01-05-03 25314 Các Tiểu vương quốc Ả Rập Thống nhất, Ajman
+971585072431, /assets/img/icons/logo/logo.svg, [email protected]

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 Python

API kích hoạt

Yêu cầu số lượng số điện thoại ảo khả dụng
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getNumbersStatus&country=$country&operator=$operator

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:

Nga
megafon, mts, beeline, tele2, rostelecom, any
Ukraine
kyivstar, life, utel, mts, vodafone
Kazakhstan
tele2, beeline, activ, altel

** 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ó.

Danh sách đầy đủ các dịch vụ

Yêu cầu danh sách các quốc gia phổ biến theo dịch vụ FreePrice
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getTopCountriesByService&service=$service&freePrice=$freePrice

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 } }, ... }
Kiểm tra số dư
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getBalance

Yêu cầu số dư với tài khoản hoàn tiền:

https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getBalanceAndCashBack

* 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

Yêu cầu danh sách nhà mạng khả dụng
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getOperators&country=$country

* 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)

Yêu cầu danh sách lượt kích hoạt đang hoạt động
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getActiveActivations

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)

Yêu cầu số điện thoại FreePrice
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getNumber&service=$service&forward=$forward&operator=$operator&ref=$ref&country=$country&phoneException=$phoneException&maxPrice=maxPrice&useCashBack=$useCashBack&activationType=$activationType&language=$language&userId=$userId

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.

Nga
megafon, mts, beeline, tele2, rostelecom, any
Ukraine
kyivstar, life, utel, mts, vodafone
Kazakhstan
tele2, beeline, activ, altel

* 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

Yêu cầu số V2 FreePrice
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getNumberV2&service=$service&forward=$forward&operator=$operator&ref=$ref&country=$country&phoneException=$phoneException&maxPrice=maxPrice&activationType=$activationType&language=$language&userId=$userId

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 đó

Webhook

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ơ

Đặt số điện thoại ảo cho nhiều dịch vụ
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getMultiServiceNumber&multiService=$service&multiForward=$forward&operator=$operator&ref=$ref&country=$country

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 **):

Nga
megafon, mts, beeline, tele2, rostelecom, any
Ukraine
kyivstar, life, utel, mts, vodafone
Kazakhstan
tele2, beeline, activ, altel

$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

Thay đổi trạng thái kích hoạt
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=setStatus&status=$status&id=$id&forward=$forward

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ố.

Lấy trạng thái kích hoạt
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getStatus&id=$id

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ệ

Lấy trạng thái kích hoạt Phiên bản 2
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getStatusV2&id=$id

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ệ

Lấy lịch sử kích hoạt
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getHistory&start=$start&end=$end&offset=$offset&limit=$limit

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ệ

Lấy TOP 10 quốc gia theo dịch vụ
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getListOfTopCountriesByService&service=$service

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ệ

Lấy trạng thái cuộc gọi đến
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getIncomingCallStatus&activationId=$id

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ệ

Lấy giá hiện tại theo quốc gia
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getPrices&service=$service&country=$country

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}}}

Lấy giá cập nhật cho các dịch vụ xác minh
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getPricesVerification&service=$service

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"}}}

Lấy danh sách tất cả các quốc gia
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getCountries

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ợ.)

Lấy danh sách tất cả các dịch vụ
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getServicesList

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" } ] }

Dịch vụ bổ sung cho số chuyển tiếp

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

https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getAdditionalService&service=$service&id=$id

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

Kích hoạt lại số ảo

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ừ .

https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getExtraActivation&activationId=$activationId

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

Nhận giá cho việc kích hoạt số bổ sung

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ó

https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=checkExtraActivation&activationId=$activationId

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

Phân tích giọng nói lặp lại
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=parseCall&id=$id&newLang=$newLang

Tham số:

$api_keykhóa api

$id - ID kích hoạt

$newLang - ngôn ngữ phân tích cú pháp mới xem bảng

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

Yêu cầu danh sách quốc gia và dịch vụ khả dụng
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getRentServicesAndCountries&rent_time=$time&operator=$operator&country=$country&incomingCall=$incomingCall

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

Đặt thuê số điện thoại ảo
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getRentNumber&service=$service&rent_time=$time&operator=$operator&country=$country&url=$url&incomingCall=$incomingCall

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

WebHook là gì?

* 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

lấy trạng thái cho thuê
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getRentStatus&id=$id&page=$page&size=$size

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

Thay đổi trạng thái thuê
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=setRentStatus&id=$id&status=$status

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à:

1
Hoàn tất
2
Hủy bỏ

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ủ

Danh sách các lượt kích hoạt hiện tại
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getRentList

👉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ủ

Gia hạn thời gian thuê
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=continueRentNumber&id=$id&rent_time=$time

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

thông tin:

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

Lấy chi phí gia hạn thuê
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getContinueRentPriceNumber&id=$id&rent_time=$time

* 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

thông tin:

tối đa - thời gian tối đa khả dụng

CHANNELS_LIMIT - tài khoản bị khóa

API JAVA

Bắt đầu làm việc

Thêm thư viện vào Maven

<phụ thuộc><groupId>ru.sms-activate</groupId>
<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.

import ru.sms_activate.SMSActivateApi

Để 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
Ví dụ làm việc với số dư

Để 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.

getBalance: Lấy số dư tài khoản hiện tại

Tham số:

NONE

KIỂU TRẢ VỀ:

BigDecimal

getBalanceAndCashBack: Lấy số dư và số tiền hoàn tiền làm tổng số dư

Tham số:

NONE

getNumber: Nhận 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ụ.

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Ề:

SMSActivateActivation

getNumberStatus: Lấy thông tin về các dịch vụ khả dụng

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Ề:

SMSActivateGetNumbersStatus

getAdditionalService: Trả về dịch vụ bổ sung cho số chuyển tiếp cuộc gọi.

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Ề:

SMSActivateGetNumbersStatus

getMultiServiceNumber: Nhận kích hoạt cho nhiều dịch 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.

getAllPrices: Lấy danh sách đầy đủ giá kích hoạt

Tham số:

NONE

KIỂU TRẢ VỀ:

SMSActivateGetPriceInfo

getPricesByCountryIdAndServiceShortName: Lấy danh sách giá kích hoạt theo quốc gia và dịch 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Ề:

SMSActivateGetPriceInfo

getPricesAllServicesByCountryId: Lấy danh sách giá kích hoạt theo quốc gia

Tham số:

countryId(Integer) - mã quốc gia.

KIỂU TRẢ VỀ:

SMSActivateGetPriceInfo

getStatus: Lấy trạng thái kích hoạt

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Ề:

SMSActivateGetStatusResponse

setStatus: Đặt trạng thái kích hoạt

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Ề:

SMSActivateSetStatusResponse

getCountries: Lấy thông tin về các quốc gia

Tham số:

NONE

KIỂU TRẢ VỀ:

SMSActivateGetCountriesResponse

getFullSms: Lấy toàn bộ nội dung tin nhắn SMS từ số điện thoại

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Ề:

SMSActivateGetFullSmsResponse

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

getRentNumber: Lấy số điện thoại với tùy chọn thuê

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Ề:

SMSActivateRentActivation

GetRentServicesAndCountriesRun: Lấy danh sách dịch vụ và quốc gia cho thuê

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à

GetRentStatusJava: Lấy trạng thái cho thuê

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Ề:

SMSActivateRentStatus

Email API

Mô tả các trạng thái API

3 - Đang chờ

4 - Đã hủy

5 - Thành công

Mail API Phiên bản 2

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.

Lấy danh sách các ưu đãi
https://api.sms-activate.ai/stubs/handler_api.php?action=getDomains&api_key=$api_key&site=$site

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ệ

Mua xác minh qua email
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=buyMailActivation&site=$site&mail_type=$mail_type&mail_domain=$mail_domain

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

Kích hoạt lại email
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=reorderMailActivation&id=$id

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

Lấy danh sách các giao dịch mua đang hoạt động
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=getMailHistory&page=$page&per_page=$per_page&search=$search&sort=$sort

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
                        }
                        }
Hủy giao dịch mua email
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=cancelMailActivation&id=$id

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.

Kiểm tra xem email đã được nhận chưa
https://api.sms-activate.ai/stubs/handler_api.php?api_key=$api_key&action=checkMailActivation&id=$id

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

Mua phần mềm đối tác
https://api.sms-activate.ai/stubs/handler_api.php?action=buyPartnerProduct&productId=$id&api_key=$api_key

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

{{ texts.verificationVoiceTextFirst }}

{{ texts.verificationVoiceTextSecond }}

{{ texts.verificationVoiceTextThird }}