Protokol API untuk bekerja dengan SMS-Activate
API ialah protokol antara perisian anda dan pelayan kami
API diperlukan untuk pengautomatan proses penerimaan sms, otp, dan pva di pihak anda
API kami serasi sepenuhnya dengan laman web pesaing
Semua permintaan mesti dihantar ke https://api.sms-activate.ai/stubs/handler_api.php
Permintaan POST atau GET.
Semua permintaan mesti mengandungi kunci API dalam bentuk parameter GET api_key
Muat turun pelaksanaan protokol dalam php Muat turun pelaksanaan protokol sedia ada dalam PythonAPI Pengaktifan
Parameter:
$api_key - Kunci API
$country * - nombor negara lihat jadual
$operator * nombor pengendali mudah alih, anda boleh menentukan beberapa nombor yang dipisahkan dengan koma (hanya tersedia untuk:
** tersedia untuk $country = 0, $country = 1, $country = 2
JAWAPAN:
Respons perkhidmatan akan dalam format json, contoh:
{"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}
Di mana tanda sempang ialah nama perkhidmatan, selepas penanda sama ada perlu memasukkan penghalaan semula. 0 - tidak. 1 - ya.
Parameter:
$api_key - Kunci API
$service * - Perkhidmatan lihat jadual
* parameter pilihan. Jika tidak dinyatakan, negara teratas untuk semua perkhidmatan akan dipaparkan secara lalai.
$freePrice * - parameter pilihan. Jika disediakan true, kuantiti dan harga akan diberikan mengikut Harga Percuma
JAWAPAN:
Respons perkhidmatan akan dalam format json, contoh:
{
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
}
}, ...
}
Permintaan baki dengan akaun baiki tunai:
* mengembalikan baki dengan mengambil kira baiki tunai yang terkumpul, jika kotak 'Gunakan baiki tunai untuk pengaktifan' dalam tetapan akaun baiki tunai ditandakan
Parameter:
$api_key - Kunci API
JAWAPAN:
ACCESS_BALANCE: 'baki akaun'
KESILAPAN YANG MUNGKIN:
BAD_KEY - kunci API tidak sah
ERROR_SQL - ralat pelayan sql
* mengembalikan semua operator yang tersedia untuk negara yang dihantar, jika negara tidak dihantar - akan mengembalikan semua operator yang tersedia untuk setiap negara
Parameter:
$api_key - Kunci API
$country - kod negara
JAWAPAN:
Respons perkhidmatan akan dalam format json:
{"status":"success", "countryOperators": {
"Country1Code": ["operator1Name","operator2Name","operator3Name", ...],
"Country2Code": ["operator1Name","operator2Name","operator3Name", ...],
...
}}
Contoh:
{"status":"success", "countryOperators": {
"0": ["beeline","megafon","mts", ...],
"1": ["life","mts","kyivstar","utel" ...],
...
}}
* di dalam 'countryOperators' - kunci akan menjadi kod negara
KESILAPAN YANG MUNGKIN:
BAD_KEY - kunci API tidak sah
ERROR_SQL - ralat pelayan sql
OPERATORS_NOT_FOUND - tiada rekod dijumpai (cth. negara yang dihantar tidak wujud)
Parameter:
$api_key - Kunci API
JAWAPAN:
Respons perkhidmatan akan dalam format 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",
}]
KESILAPAN YANG MUNGKIN:
BAD_KEY - kunci API tidak sah
ERROR_SQL - ralat pelayan sql
NO_ACTIVATIONS - entri tidak dijumpai (tiada pengaktifan aktif)
Parameter:
$api_key - Kunci API
$service - perkhidmatan untuk pesanan lihat jadual
$forward * - sama ada perlu meminta nombor dengan penghalaan
* parameter pilihan, menerima 0 (jangan laksanakan, ditetapkan secara lalai), 1 (laksanakan)
$maxPrice * - harga maksimum yang anda bersedia beli nombor pada Harga Percuma
* parameter pilihan, jika tidak dinyatakan, pembelian akan berlaku pada harga biasa
$phoneException * - mengecualikan awalan untuk nombor Rusia. Masukkan dengan koma. Format rekod: kod negara dan 3 hingga 6 digit topeng (cth. 7918, 7900111). Nilai lalai ialah nilai yang dinyatakan dalam akaun.
$operator* ialah pengendali mudah alih bagi nombor tersebut, anda boleh menentukan beberapa pengendali dengan koma (hanya tersedia untuk **)
$activationType - jenis pengaktifan: 0 - dengan SMS (lalai), 1 - dengan nombor, 2 - dengan suara
$language - bahasa penghuraian (diperlukan untuk pengaktifan melalui suara) lihat jadual
$userId * - ID pengguna untuk disekat kerana statistik pengaktifan yang lemah, tetapi akaun penjual semula sendiri tidak terjejas.
* medan pilihan
** tersedia untuk $country = 0, $country = 1, $country = 2
$ref - pindahkan ID rujukan.
$country - nombor negara lihat jadual
$useCashBack* - menerima nilai boolean, jika parameter adalah 'true', pembelian nombor akan dibuat menggunakan baki tunai balik. Setelah wang dalam baki tunai balik habis, semua pembelian seterusnya akan dibuat menggunakan baki utama. Adalah PENTING untuk diingat bahawa semua pembelian seterusnya akan menggunakan tunai balik terlebih dahulu, dan kemudian baki utama digunakan (walaupun parameter 'false' dihantar selepas itu).
* parameter pilihan, menerima 'true'
Dengan mendapatkan nombor melalui API, anda bersetuju dengan peraturan projek peraturan projek
KESILAPAN YANG MUNGKIN:
WRONG_MAX_PRICE:$min- harga maksimum yang ditetapkan adalah kurang daripada had yang dibenarkan
$min - harga minimum yang dibenarkan
BAD_ACTION - tindakan tidak sah
BAD_SERVICE - nama perkhidmatan tidak sah
BAD_KEY - kunci API tidak sah
ERROR_SQL - ralat pelayan sql
BANNED:'YYYY-m-d H-i-s' - tempoh masa akaun disekat
WRONG_EXCEPTION_PHONE - awalan pengecualian tidak sah
NO_BALANCE_FORWARD - dana tidak mencukupi untuk membeli pemajuan panggilan
CHANNELS_LIMIT - akaun disekat
NO_NUMBERS - tiada nombor
Jika anda cuba mendapatkan nombor daripada pengendali tertentu yang tidak beroperasi di negara yang dipilih atau yang tidak menyediakan perkhidmatan yang dipilih, nombor daripada pengendali pertama yang memenuhi parameter permintaan akan dikembalikan
kaedah ini berfungsi serupa dengan kaedah getNumber, menerima parameter yang sama dan tambahan seperti yang diterangkan di bawah, tetapi memulangkan maklumat pengaktifan tambahan
Parameter:
$orderId- id pengaktifan dari sistem penjual semula. Semasa pembelian, data ini dibandingkan dengan id pengaktifan dan penjual semula dalam sistem kami. Dengan itu, kami ingin mencapai idempotensi (pesanan yang sama tidak akan diproses semula).
JAWAPAN:
Jika permintaan berjaya, respons akan dalam format berikut:
{
"activationId": 635468024,
"phoneNumber": "79584******",
"activationCost": "12.50",
"countryCode": "0",
"canGetAnotherSms": "1",
"activationTime": "2022-06-01 17:30:57",
"activationOperator": "mtt"
}
Jika anda cuba mendapatkan nombor daripada pengendali tertentu yang tidak beroperasi di negara yang dipilih atau yang tidak menyediakan perkhidmatan yang dipilih, nombor daripada pengendali pertama yang memenuhi parameter permintaan akan dikembalikan
KESILAPAN YANG MUNGKIN:
ORDER_ALREADY_EXISTS- pesanan telah pun dicipta
Apabila anda menerima SMS ke nombor tersebut, jika anda telah mengaktifkan fungsi Webhooks dalam tetapan anda, kami akan menghantar maklumat tentang SMS tersebut ke alamat yang anda tentukan menggunakan permintaan POST
JAWAPAN:
Format respons adalah seperti berikut:
{
"activationId": 635468024,
"service": "go",
"text": "Your sms text",
"code": "Your sms code",
"country": 0,
"receivedAt": "2022-06-01 17:30:57",
}
Semasa menghantar permintaan, kami akan menunggu respons daripada skrip anda dengan status HTTP 200. Jika skrip anda tidak memberi respons, kami akan menghantar permintaan semula dalam tempoh 2 jam, tetapi tidak lebih daripada 8 kali.
Anda boleh mengaktifkan fungsi ini dalam tetapan profil
Parameter:
$api_key - Kunci API
$service - perkhidmatan untuk pesanan lihat jadual
$forward * - sama ada perlu meminta nombor dengan penghalaan
* parameter pilihan, watak penghalaan dipisahkan oleh koma, bilangan digit penghalaan mesti sepadan dengan bilangan perkhidmatan yang dihantar dalam parameter $service. Hanya dibenarkan menghantar 1 perkhidmatan dengan penghalakan, contohnya "0,1,0,0" - betul, "0,1,1,0" - salah. Mengambil 0 (jangan laksanakan, lalai), 1 (laksanakan)
$operator * - operator mudah alih bagi nombor tersebut, anda boleh menentukan beberapa nombor yang dipisahkan oleh koma (hanya tersedia untuk **):
$ref - pindahkan ID rujukan.
$country - nombor negara lihat jadual
Dengan mendapatkan nombor melalui API, anda bersetuju dengan peraturan projek peraturan projek
JAWAPAN:
NO_NUMBERS - tiada nombor
NO_BALANCE - baki telah habis
{{'phone':phone,'activation':activation,'service':service},
{'phone':phone,'activation':activation,'service':service}}, di mana (phone - id operasi, activation - Nombor telefon, service - Perkhidmatan)
KESILAPAN YANG MUNGKIN:
BAD_ACTION - tindakan tidak sah
BAD_SERVICE - nama perkhidmatan tidak sah
BAD_KEY - kunci API tidak sah
ERROR_SQL - ralat pelayan sql
BANNED:'YYYY-m-d H-i-s' - tempoh masa akaun disekat
Parameter:
$api_key - Kunci API
$id - ID Pengaktifan
$forward * - nombor telefon yang ingin anda halakan ke
* diperlukan hanya jika parameter dihantar dengan getNumber forward=1.
$status - status pengaktifan
1 - maklumkan tentang ketersediaan nombor (sms dihantar ke nombor)
3 - minta satu kod lagi (percuma)
6 - tamatkan pengaktifan *
8 - laporkan fakta bahawa nombor telah pun digunakan dan batalkan pengaktifan
* jika terdapat status 'kod diterima' - tandakan ia sebagai berjaya dan selesai, jika terdapat 'persediaan' - padam dan tandakan ralat, jika terdapat status 'menunggu cubaan semula' - pindahkan pengaktifan ke SMS tertunda
** Tidak mungkin mengubah status pengaktifan yang kaedah pengesahan melalui panggilan dipilih jika nombor telah pun tiba
Logik ringkas kronologi bekerja dengan API:
Mendapatkan nombor menggunakan kaedah getNumber, kemudian tindakan berikut tersedia:
8 - batalkan pengaktifan (jika nombor tidak sesuai untuk anda)
1 - maklumkan bahawa SMS telah dihantar (pilihan)
Untuk pengaktifan dengan status 1:
8 - batalkan pengaktifan
Segera selepas menerima kod:
3 - minta satu SMS lagi
6 - sahkan kod SMS dan tamatkan pengaktifan
Untuk pengaktifan dengan status 3:
6 - sahkan kod SMS dan tamatkan pengaktifan
JAWAPAN:
ACCESS_READY - kesediaan nombor disahkan
ACCESS_RETRY_GET - menunggu SMS baharu
ACCESS_ACTIVATION - perkhidmatan telah berjaya diaktifkan
ACCESS_CANCEL - pengaktifan dibatalkan
KESILAPAN YANG MUNGKIN:
EARLY_CANCEL_DENIED - pembatalan nombor tidak dibenarkan dalam 2 minit pertama
ERROR_SQL - ralat pelayan sql
NO_ACTIVATION - ID pengaktifan tidak wujud
BAD_SERVICE - nama perkhidmatan tidak sah
BAD_STATUS - status tidak betul
BAD_KEY - kunci API tidak sah
BAD_ACTION - tindakan tidak sah
WRONG_ACTIVATION_ID - ID salah atau ID bukan nombor.
Parameter:
$api_key - Kunci API
$id - ID Pengaktifan
JAWAPAN:
STATUS_WAIT_CODE - menunggu SMS
STATUS_WAIT_RETRY: 'lalu, kod tidak sepadan' - menunggu penjelasan kod
STATUS_WAIT_RESEND - menunggu penghantaran semula SMS *
* perisian mesti menekan hantar semula SMS dan menukar status kepada 6
STATUS_CANCEL - pengaktifan dibatalkan
STATUS_OK: 'kod pengaktifan' - kod diterima
KESILAPAN YANG MUNGKIN:
NO_ACTIVATION - ID pengaktifan tidak wujud
ERROR_SQL - ralat pelayan sql
BAD_KEY - kunci API tidak sah
BAD_ACTION - tindakan tidak sah
Parameter:
$api_key - Kunci API
$id - ID Pengaktifan
JAWAPAN:
Format respons adalah seperti berikut:
{
"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 - pengaktifan dibatalkan
KESILAPAN YANG MUNGKIN:
NO_ACTIVATION - ID pengaktifan tidak wujud
ERROR_SQL - ralat pelayan sql
BAD_KEY - kunci API tidak sah
BAD_ACTION - tindakan tidak sah
Parameter:
$api_key - Kunci API
$start - cap masa dalam format Unix Timestamp (pilihan) - tarikh mula untuk mempertimbangkan pengaktifan
$end - cap masa dalam format Unix Timestamp (pilihan) - tarikh akhir untuk mempertimbangkan pengaktifan
$offset - ofset elemen pertama yang dikembalikan dalam respons. Lalai ialah 0
$limit - jumlah maksimum rekod yang dikembalikan. Maksimum ialah 100. Lalai ialah 50.
JAWAPAN:
Format respons adalah seperti berikut:
[{
"id": 635468024,
"date": "2022-11-12 15:58:39",
"phone": "79918529716",
"sms": "sms":"["Your sms code"]",
"cost": 100 //Если активация не завершена, то cost = 0,
"status": "4",
}]
KESILAPAN YANG MUNGKIN:
ERROR_SQL - ralat pelayan sql
BAD_KEY - kunci API tidak sah
BAD_ACTION - tindakan tidak sah
Parameter:
$api_key - Kunci API
$service - nama perkhidmatan
JAWAPAN:
Format respons adalah seperti berikut:
[{
"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)
}]
KESILAPAN YANG MUNGKIN:
ERROR_SQL - ralat pelayan sql
BAD_KEY - kunci API tidak sah
WRONG_SERVICE - perkhidmatan tidak betul
BAD_ACTION - tindakan tidak sah
Parameter:
$api_key - Kunci API
$id - ID Pengaktifan
JAWAPAN:
Respons perkhidmatan akan dalam format json, contoh:
{"status":"2","phone":false}
STATUS MUNGKIN:
2 - pengaktifan baharu
3 - berjaya selesai
4 - dibatalkan
5 - dikembalikan
KESILAPAN YANG MUNGKIN:
BAD_KEY - kunci API tidak sah
INVALID_ACTIVATION_ID - ID pengaktifan tidak sah
Parameter:
$api_key - Kunci API
$serviceNama pendek perkhidmatan (Pilihan, lalai kepada semua perkhidmatan) lihat jadual
$countryNama kod negara (Pilihan, lalai kepada semua negara) lihat jadual
JAWAPAN:
JSON - objek dalam format
{"Country":{"Service":{"cost":Cost,"count":Count}}}
Parameter:
$api_key - Kunci API
$serviceNama pendek perkhidmatan (Pilihan, lalai kepada semua perkhidmatan) lihat jadual
JAWAPAN:
JSON - objek dalam format
{"Service":{"Country":{"count":Quantity,"price":"Price"}}}
Parameter:
$api_key - Kunci API
JAWAPAN:
JSON - objek dalam format {{'Страна':{'id':0,'rus':"Россия","eng:"Russia","chn":"俄罗斯","visible":1,"retry":1,"rent":1,"multiService":1}},
di mana (
id : ID negara;
rus : nama negara dalam bahasa Rusia;
eng : nama negara dalam bahasa Inggeris;
chn : nama negara dalam bahasa Cina;
visible : 0 - negara tidak dipaparkan di laman web, 1 - dipaparkan;
retry : 0 - SMS berulang TIDAK tersedia, 1 - tersedia;
rent : 0 - negara tidak disewakan, 1 - disewakan;
multiService : 0-negara TIDAK tersedia untuk perkhidmatan berbilang, 1- tersedia.)
Parameter:
$api_key- Kunci API
$country *- ID Negara. Jika anda telah memilih negara, kami akan memulangkan perkhidmatan yang mempunyai harga untuk negara yang dipilih
$lang *- bahasa yang digunakan untuk menyediakan `name`. Nilai yang mungkin: 'ru', 'en', 'es', 'cn'. Lalai ialah 'en'
* parameter pilihan
JAWAPAN:
JSON - objek dalam format { "status": "success", "services": [ { "code": "aoo", "name": "Pegasus Airlines" } ] }
Selepas menerima SMS pertama untuk nombor yang dihala semula, anda boleh membeli perkhidmatan berkaitan lain seperti Yula, Yandex, Avito, atau mana-mana lagi
Kos perkhidmatan tambahan hanyalah 5p
Parameter:
$api_key - Kunci API
$service - untuk nama pendek perkhidmatan, rujuk jadual lihat jadual
$id - ID Pengaktifan Induk
JAWAPAN:
ADDITIONAL:$id:$phone - pengaktifan baharu telah berjaya dicipta. Di mana ID ialah ID pengaktifan tambahan, phone ialah nombor telefon
KESILAPAN YANG MUNGKIN:
WRONG_ADDITIONAL_SERVICE - Perkhidmatan tambahan tidak sah (hanya perkhidmatan untuk penghalaan dibenarkan)
WRONG_ACTIVATION_ID - ID pengaktifan induk tidak betul
WRONG_SECURITY - ralat berlaku apabila cuba menghantar ID pengaktifan tanpa penghalaan, atau pengaktifan yang telah selesai/tidak aktif
REPEAT_ADDITIONAL_SERVICE - ralat berlaku apabila cuba memesan perkhidmatan yang telah dibeli sekali lagi NO_BALANCE - Dana tidak mencukupi
ERROR_SQL- ralat pangkalan data, sila hubungi khidmat pelanggan
Jika anda telah berjaya mengaktifkan nombor tersebut, anda boleh melakukannya sekali lagi.
Kos pengaktifan tambahan ditentukan berdasarkan negara dan perkhidmatan. Kos khusus boleh diperoleh daripada .
Parameter:
$api_key - Kunci API
$activationId - ID Pengaktifan Induk
JAWAPAN:
ACCESS_NUMBER:$id:$phone - pengaktifan baharu telah berjaya dicipta. Di mana $id ialah ID pengaktifan tambahan, $phone ialah nombor telefon
KESILAPAN YANG MUNGKIN:
RENEW_ACTIVATION_NOT_AVAILABLE- nombor tidak tersedia untuk pengaktifan tambahan
WRONG_ACTIVATION_ID - ID pengaktifan induk tidak betul
ERROR_SQL- ralat pangkalan data, sila hubungi khidmat pelanggan
NEW_ACTIVATION_IMPOSSIBLE- adalah mustahil untuk membuat pengaktifan tambahan
NO_BALANCE - tiada baki dalam akaun
Anda boleh mengetahui ketersediaan nombor untuk pengaktifan tambahan dan mendapatkan kosnya
Parameter:
$api_key - Kunci API
$activationId - ID Pengaktifan Induk
JAWAPAN:
JSON - objek dalam format {'status': 'success', 'cost':200,"service":"tw","phone":777777777,"country":14},
KESILAPAN YANG MUNGKIN:
RENEW_ACTIVATION_NOT_AVAILABLE- nombor tidak tersedia untuk pengaktifan tambahan
WRONG_ACTIVATION_ID - ID pengaktifan induk tidak betul
SIM_OFFLINE - Kad SIM luar talian
JAWAPAN:
Format respons adalah seperti berikut:
{
"result": "OK"
}
STATUS_CANCEL - pengaktifan dibatalkan
NO_CALL- tiada panggilan diterima
PARSE_COUNT_EXCEED- had percubaan penghuraian (maksimum ialah 4)
KESILAPAN YANG MUNGKIN:
WRONG_ACTIVATION_ID - ID tidak sah, pengaktifan tidak wujud
ERROR_SQL - ralat pelayan sql
BAD_KEY - kunci API tidak sah
BAD_ACTION - tindakan tidak sah
Sewa API
Parameter:
$api_key - Kunci API
$time* - tempoh sewaan (lalai: 4 jam)
$operator* - operator mudah alih bagi nombor tersebut, anda boleh menentukan beberapa operator dengan memisahkannya menggunakan koma (lalai: Mana-mana)
$country* - negara (lalai: Rusia)
$incomingCall * - jika dipindahkan "true"dapatkan nombor yang menyokong fungsi untuk menerima panggilan
JAWAPAN:
Respons perkhidmatan akan dalam format json, contoh:
{ "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 } } }
KESILAPAN YANG MUNGKIN:
BAD_KEY - kunci API tidak sah
OUT_OF_STOCK - nombor untuk negara tersebut tidak tersedia
Parameter:
$api_key - Kunci API
$service - perkhidmatan yang memerlukan anda mendapatkan nombor
$time* - tempoh sewaan dalam jam (lalai: 4 jam). Tempoh masa seterusnya yang tersedia ialah 12 jam, kemudian 24 jam. Apabila meminta sewaan selama sehari atau lebih, anda mesti menghantar: 24, 48, 72, dll.
$operator* - operator mudah alih bagi nombor tersebut, anda boleh menentukan beberapa operator dengan memisahkannya menggunakan koma (lalai: Mana-mana)
$country* - negara (lalai: Rusia)
$url * - pautan untuk webhook (tidak diambil kira secara lalai)
$incomingCall * - jika dipindahkan "true"dapatkan nombor yang menyokong fungsi untuk menerima panggilan
* parameter pilihan. Jika tidak dinyatakan, parameter lalai akan digunakan.
JAWAPAN:
Respons perkhidmatan akan dalam format json, contoh:
{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564" } }
KESILAPAN YANG MUNGKIN:
BAD_KEY - kunci API tidak sah
Jawapan dalam format json:
{ "status": "error", "message": "*possible_answer*" }
Jawapan yang mungkin dalam medan "message":
BAD_SERVICE - perkhidmatan tidak dinyatakan atau nama adalah salah
NO_BALANCE - tiada baki dalam akaun
NO_NUMBERS - tiada nombor
ACCOUNT_INACTIVE - tiada nombor
SERVER_ERROR - ralat pelayan
CHANNELS_LIMIT - akaun disekat
Parameter:
$api_key - Kunci API
$id - ID Sewaan yang diterima dalam balasan semasa memesan nombor
$page* - nombor halaman daripada pemilihan bermula (penomboran halaman bermula dari 0, dari baru ke lama; lalai ialah 0)
$size* - saiz halaman (lalai 10)
* parameter pilihan. Jika tidak dinyatakan, parameter lalai akan digunakan.
JAWAPAN:
Respons perkhidmatan akan dalam format json, contoh:
{ "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" } } }
* berjaya hanya apabila terdapat sms (kotak 'quantity' > 0).
KESILAPAN YANG MUNGKIN:
BAD_KEY - kunci API tidak sah
Jawapan dalam format json:
{ "status": "error", "message": "*possible_answer*" } Jawapan yang mungkin dalam medan "message": NO_ID_RENT - ID sewaan tidak dinyatakan INVALID_PHONE - nombor disewa bukan oleh anda (ID sewaan tidak sah) STATUS_FINISH - sewaan dibayar dan diselesaikan STATUS_CANCEL - sewaan dibatalkan dengan bayaran balik STATUS_WAIT_CODE - menunggu SMS pertama STATUS_REVOKE - Nombor telah disekat, dana anda telah dikembalikan
Parameter:
$api_key - Kunci API
$id - ID Sewaan yang diterima dalam balasan semasa memesan nombor
$status - kod untuk mengubah status (nombor)
Status boleh jadi:
JAWAPAN:
Respons perkhidmatan akan dalam format json:
{ "status": "success" }
KESILAPAN YANG MUNGKIN:
BAD_KEY - kunci API tidak sah
Jawapan dalam format json:
{ "status": "error", "message": "*possible_answer*" }
Jawapan yang mungkin dalam medan "message":
NO_ID_RENT - ID sewaan tidak dinyatakan
INCORECT_STATUS - status hilang atau dinyatakan dengan salah
CANT_CANCEL - tidak mungkin membatalkan sewaan (lebih daripada 20 minit)
INVALID_PHONE - nombor disewa bukan oleh anda (ID sewaan tidak sah)
ALREADY_FINISH - sewaan telah pun diselesaikan
ALREADY_CANCEL - sewaan telah pun dibatalkan
SERVER_ERROR - ralat pelayan
👉Perhatian! Kaedah ini hanya memaparkan 10 nombor terakhir. Jika anda memerlukan lebih banyak nombor, gunakan getRentStatus kaedah untuk menyemak status.
Parameter:
$api_key - Kunci API
JAWAPAN:
Respons perkhidmatan akan dalam format json:
{ "status": "success", "values": { "0": { "id": "12345", "phone": "79181234567" }, "1": { "id": "12345", "phone": "79181234568" } } }
KESILAPAN YANG MUNGKIN:
BAD_KEY - kunci API tidak sah
BAD_ACTION - tindakan tidak sah
Jawapan dalam format json:
{ "status": "error", "message": "*possible_answer*" }
Jawapan yang mungkin dalam medan "message":
NO_NUMBERS - tiada nombor yang disewa
SERVER_ERROR - ralat pelayan
Parameter:
$api_key - Kunci API
$id - ID sewaan
$rent_time- tempoh sewaan (lalai: 4 jam)
JAWAPAN:
Respons perkhidmatan akan dalam format json:
{ "status": "success", "phone": { "id": 1049, "endDate": "2020-01-31T12:01:52", "number": "79959707564"} }
Apabila sewaan yang selesai dilanjutkan, ia akan ditempah semula, ID baharu akan diberikan
KESILAPAN YANG MUNGKIN:
BAD_KEY - kunci API tidak sah
BAD_ACTION - tindakan tidak sah
SERVER_ERROR - ralat pelayan
Jawapan dalam format json:
{ "status": "error", "message": "*possible_answer*", "info": "*details*" }
Jawapan yang mungkin dalam medan "message":
NO_ID_RENT - tiada ID sewaan
INVALID_TIME - masa salah. Bilangan jam yang tersedia ialah dari 4 hingga 1344
MAX_HOURS_EXCEED - Had maksimum masa yang tersedia telah melebihi
maks - masa maksimum yang tersedia
INVALID_PHONE - ID sewaan tidak sah
RENT_DIE - tempoh sewa tidak boleh dilanjutkan kerana nombor telah tamat tempoh
NO_BALANCE - dana tidak mencukupi
CHANNELS_LIMIT - akaun disekat
* kaedah ini hanya tersedia untuk sewaan dengan operator MTT.
Parameter:
$api_key - Kunci API
$id - ID sewaan
$rent_time - masa sewa
JAWAPAN:
Respons perkhidmatan akan dalam format json:
{ "status": "success", "price": 6.33 }
KESILAPAN YANG MUNGKIN:
BAD_KEY - kunci API tidak sah
BAD_ACTION - tindakan tidak sah
SERVER_ERROR - ralat pelayan
Jawapan dalam format json:
{ "status": "error", "message": "*possible_answer*" }
Jawapan yang mungkin dalam medan "message":
NO_ID_RENT - tiada ID sewaan
INVALID_PHONE - ID sewaan tidak sah
INVALID_TIME - tetapan masa tidak betul
RENT_DIE - tempoh sewa tidak boleh dilanjutkan kerana nombor telah tamat tempoh
MAX_HOURS_EXCEED - Had maksimum masa yang tersedia telah melebihi
maks - masa maksimum yang tersedia
CHANNELS_LIMIT - akaun disekat
API JAVA
Sertakan pustaka dalam Maven
<artifactId>SMSActivateApi</artifactId>
<version>1.0</version>
</kebergantungan>
Anda boleh melihat contoh pendaftaran melalui pautan ke MavenRepository
Import kelas utama untuk berinteraksi dengan API SMS-Activate.
Untuk menggunakan pustaka ini, anda memerlukan kunci API, yang boleh diperoleh di halaman ini dan pada pautan di bawah.
Kunci API SMS-ActivateUntuk mendapatkan baki semasa akaun anda, gunakan kaedah getBalance... Jika anda berminat dengan pulangan tunai selain daripada baki, panggil kaedah getBalanceAndCashBack.
Kaedah getBalanceAndCashBack mengembalikan objek kelasSMSActivateGetBalanceAndCashBack.
Parameter:
TIADA
JENIS PULANGAN:
BigDecimal
Parameter:
TIADA
JENIS PULANGAN:
Parameter:
countryId(Integer) - pengecam negara.
service(String) - nama pendek perkhidmatan.
forward*(boolean) - sama ada untuk meminta nombor dengan pemajuan panggilan.
operatorSet*(Set) - set operator.
phoneException*(Set) - mengecualikan awalan hanya untuk Rusia, satu set nombor dari 3 hingga 6 (7918,7900111).
* kotak pilihan. Jika tiada yang dinyatakan, kuantiti lalai akan diberikan mengikut tetapan dalam profil.
JENIS PULANGAN:
Parameter:
countryId(Integer) - pengecam negara.
operatorSet*(Set) - set operator yang tersedia untuk perkhidmatan tersebut
JENIS PULANGAN:
Parameter:
id(Integer) - pengenal pengaktifan
service(String) - nama pendek perkhidmatan.
Sebagai ganti pengenal pengaktifan, anda boleh menghantar objek kelas yang diterima SMSActivateActivation selepas menggunakan kaedah getNumber atau salah satu pengaktifan selepas digunakan getMultiServiceNumber.
JENIS PULANGAN:
Parameter:
countryId(Integer) - pengecam negara.
serviceMap(Set) - set perkhidmatan yang pengaktifannya dibeli untuk
multiForwardList(List) - senarai perkhidmatan dengan pemajuan panggilan yang tersedia
operatorSet(Set) - set operator.
JENIS PULANGAN:
Parameter:
TIADA
JENIS PULANGAN:
Parameter:
countryId(Integer) - pengecam negara.
service(String) - nama pendek perkhidmatan.
JENIS PULANGAN:
Parameter:
countryId(Integer) - pengecam negara.
JENIS PULANGAN:
Parameter:
activationId(Integer) - pengenal pengaktifan
Sebagai ganti pengenal pengaktifan, anda boleh menghantar objek kelas yang diterima SMSActivateActivation selepas menggunakan kaedah getNumber atau salah satu pengaktifan selepas digunakan getMultiServiceNumber.
JENIS PULANGAN:
Parameter:
id(Integer) - pengenal pengaktifan
status(SMSActivateClientStatus) - status yang hendak ditetapkan untuk pengaktifan
Sebagai ganti pengenal pengaktifan, anda boleh menghantar objek kelas yang diterima SMSActivateActivation selepas menggunakan kaedah getNumber atau salah satu pengaktifan selepas digunakan getMultiServiceNumber.
JENIS PULANGAN:
Parameter:
TIADA
JENIS PULANGAN:
Parameter:
activationId(Integer) - pengenal pengaktifan
Sebagai ganti pengenal pengaktifan, anda boleh menghantar objek kelas yang diterima SMSActivateActivation selepas menggunakan kaedah getNumber atau salah satu pengaktifan selepas digunakan getMultiServiceNumber.
JENIS PULANGAN:
Algoritma untuk menerima teks penuh SMS dengan pengaktifan
Mendapatkan nombor menggunakan kaedah getNumber, kemudian tindakan berikut tersedia:
CANCEL - 8 - Batalkan pengaktifan (jika nombor tidak sesuai dengan anda)
MESSAGE_WAS_SENT - Maklumkan bahawa SMS telah dihantar (Wajib untuk menerima teks penuh SMS)
Selepas menetapkan status MESSAGE_WAS_SENT yang wajib, tetapkan pembolehubah untuk menerima SMS menggunakan kaedah waitSMS dengan parameter pengaktifan dan masa menunggu untuk SMS.
Selepas menerima SMS, anda boleh mendapatkannya menggunakan kaedah getFullSMS dan kemudian memaparkan teks penuh menggunakan kaedah getText()
Selepas itu, anda boleh menetapkan pengaktifan kepada status berikut:
Untuk mengaktifkan dengan status MESSAGE_WAS_SENT:
CANCEL - Batalkan pengaktifan
Segera selepas menerima kod:
REQUEST_ONE_MORE_CODE - Minta SMS lain
FINISH - Sahkan kod SMS dan lengkapkan pengaktifan
Untuk mengaktifkan dengan status REQUEST_ONE_MORE_CODE:
FINISH - Sahkan kod SMS dan lengkapkan pengaktifan
Parameter:
countryId(Integer) - pengecam negara.
service(String) - nama pendek perkhidmatan.
hours(Integer)* - tempoh sewaan
operator(String)* - nama operator mudah alih
urlWebhook(String)* - pautan untuk webhook (Tidak diambil kira secara lalai)
Apakah webHook?* parameter pilihan. Jika tidak dinyatakan, nilai lalai akan digunakan
JENIS PULANGAN:
Parameter:
countryId(Integer) - pengecam negara.
operatorSet(Set) - set operator mudah alih
hours(Integer)* - tempoh sewaan
* parameter pilihan. Jika tidak dinyatakan, nilai lalai akan digunakan
JENIS PULANGAN:
Parameter:
rentId(Integer) - pengecam nombor yang disewa
Sebagai ganti rentId, anda boleh menghantar objek kelas yang terhasil SMSActivateRentActivation selepas menggunakan kaedah getRentNumber
JENIS PULANGAN:
API E-mel
Penerangan status API
3 - Menunggu
4 - Batal
5 - Berjaya
PENERANGAN:
Pematuhan yang lebih ketat terhadap prinsip REST API dan peningkatan bilangan peti mel gmail.com untuk pendaftaran akaun Telegram.
Parameter:
$api_key - Kunci API
$site- Laman web yang memerlukan e-mel
JAWAPAN:
Respons perkhidmatan akan dalam format json, contoh:
{
"status":"OK",
"response":{
"zones":[
{
"name":"info",
"cost":2.5
},
...
],
"popular":[
{
"name":"mail.ru",
"cost":6,
"count":159008
},
...
]
}
}
KESILAPAN YANG MUNGKIN:
BAD_SITE- Laman web tidak dinyatakan
BAD_KEY - kunci API tidak sah
BAD_ACTION - tindakan tidak sah
Parameter:
$api_key - Kunci API
$site - laman web yang memerlukan e-mel
$mail_type - jenis mel: domain atau zon popular (1 - zon 2 - popular)
$mail_domain - zon atau domain yang dipilih
JAWAPAN:
Respons perkhidmatan akan dalam format json, contoh:
{
"status":"OK",
"response":{"email":"[email protected]","id":241}
}
KESILAPAN YANG MUNGKIN:
BAD_KEY - kunci API tidak sah
BAD_ACTION - tindakan tidak sah
MAIL_TYPE_ERROR - tiada domain sedemikian untuk laman web yang dinyatakan
CHANNELS_LIMIT - akaun disekat
Parameter:
$api_key - Kunci API
$id- ID e-mel yang memerlukan pengaktifan semula
JAWAPAN:
Respons perkhidmatan akan dalam format json, contoh:
{
"status": "OK",
"response": {
"email": "[email protected]",
"id": 360
}
}
KESILAPAN YANG MUNGKIN:
BAD_KEY - kunci API tidak sah
BAD_ACTION - tindakan tidak sah
BLOCKED_SITE - laman web disekat
BAD_BALANCE - dana tidak mencukupi
ACTIVATION_NOT_FOUND - pengaktifan tidak dijumpai
CHANNELS_LIMIT - akaun disekat
Parameter:
$api_key - Kunci API
$page- nombor halaman
$per_page- bilangan pembelian pada setiap halaman
$search- bar carian
$sort- arah penyusunan. (desc, asc)
JAWAPAN:
Respons perkhidmatan akan dalam format json, contoh:
{
"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
}
}
Parameter:
$api_key - Kunci API
$id- ID pembelian
JAWAPAN:
Respons perkhidmatan akan dalam format json, contoh:
{
"status":"OK",
"response":true
}
KESILAPAN YANG MUNGKIN:
EARLY_CANCEL_DENIED - Anda tidak boleh membatalkan e-mel selama 2 minit pertama.
Parameter:
$api_key - Kunci API
$id- ID e-mel yang dibeli, ia dipulangkan selepas pembelian e-mel
JAWAPAN:
Respons perkhidmatan akan dalam format json, contoh:
{
"status":"OK",
"response":{
"value":"Содержания письма"
}
}
Perisian Rakan API
Parameter:
$api_key - Kunci API
$id- ID perisian yang perlu anda beli
JAWAPAN:
Respons perkhidmatan akan dalam format json, contoh:
{
"status": "success",
"key": "F5qrzFoY6afj3zrEq7SeMplbx",
"manual": "Software download link:"
}
KESILAPAN YANG MUNGKIN:
BAD_DATA - ID salah atau ID bukan nombor
BAD_ACTION - tindakan tidak sah atau penjual semula belum disahkan.
<?php
include_once ("smsactivateApi.php");//Inclusion of a class in a project
$sms = new SMSActivate($API_KEY);//Create class instance SMSActivate
$freeSlots = $sms->getNumbersStatus(0, 'tele2');//Get the number of available numbers for the country of Russia and the tele2 operator
echo "Номеров Вконтакте: " . $freeSlots['vk']."\n";//Show for Vk
echo "Номеров Whatsapp: " . $freeSlots['wa']."\n";//Show for whatsapp
var_dump($freeSlots); //Show all services with quantity
$array=$activate->getTopCountriesByService(); //Get an array whose elements contain information for each country
$balance = $sms->getBalance();//Get balance
echo "On the account " . $balance." rub.\n";//Show balance
$balance = $sms->getBalanceAndCashBack();//Request a balance with cashback account
echo "On the account " . $balance." rub.\n";//Request a balance with cashback account
$operators = $sms->getOperators();
//Get operators for all countries
if (in_array('mts', $operators['countryOperators'][0])) {
//check if 'mts' is available for Russia
//perform an action
}
if (in_array('chinamobile', $operators['countryOperators'][3])) {
//check if 'chinamobile' is available for China
//perform an action
}
$activations = $sms->getActiveActivations();
$number = $sms->getNumber('ok',0, 0, 'tele2');//Get Odnoklassniki number without forwarding
echo "Activation № " . $number['id']. "Phone ". $number['number'] \n";//Show id and activation number
$result = $sms->getNumber('vk', 0 , 1);
if (!is_array($result)) {
echo 'Ошибка: ' . $result . '\n';//If an error occurs, a string will be returned, if successful, an array will be returned.
} else {
echo 'Id: ' . $result['id'] ."\n";
echo 'Номер: ' . $result['number'] ."\n";
}
$result = $sms->getNumberV2('vk', 0 , 1);
$number = $sms->getMultiServiceNumber('ok,vk,vi,av','0,0,0,1', 0, 'tele2');//Get a number for services Odnoklassniki, Vkontakte, Viber without call forwarding and Avito with call forwarding
foreach ($number as $value) {
echo "Activation № " . $value['activation']. " for service ". $value['service'] ."\n";
}
echo "Number " . $value['phone'] ."\n";//Show activation id and number
$status = $sms->setStatus($number['id'], 3);//Change activation status by id (get 1 more code)
$status = $sms->getStatus($number['id']);//Get activation status by id
if (is_array($status) {
echo "статус : " . $status['status'];//Can be STATUS_OK or STATUS_WAIT_RETRY, otherwise a line with error text will be returned
echo "код: " . $status['code'];
} else {
echo $status ."\n";
}
$incomingCall = $sms->getIncomingCallStatus($id);//Get activation data by call
echo $incomingCall['phone'] //Show incoming number
$prices = $sms->getPrices(1, 'vk');//Get the current price for the service
echo "Price for VK (Ukraine) : " .$prices[1]['vk']['cost']." rub. quantity: ". $prices[1]['vk']['count'];//Show the result
$countries = $sms->getCountries();//Get a list of all countries
$additional = $sms->getAdditionalService('fx', $id);//Get additional activation for PGbonus service based on id activation
echo "Activation no.: " . $additional[id] . " Telephone: " . $additional[number];//Show the result
$getAvailableRentNumbers = $sms->getRentServicesAndCountries('2');//Request available countries for rent and services (for 2 hours for all operators)
echo "Full rental - Cost:" . $getAvailableRentNumbers['services']['full']['cost'] . " Quant :" .$getAvailableRentNumbers['services']['full']['quant'] ." \n"; //Display full price information
foreach( $getAvailableRentNumbers['operators'] as $value) {
echo " Operator " . $value ."\n"; }//List operators
$getRentNumber = $sms->getRentNumber('vk','10','0','yota');//Get a number for rent for Vkontakte for 10 hours, operator 'Yota', country - Russia
if ($getRentNumber['status'] === 'success'){
echo "The rental was successful! Your phone number is: " . $getRentNumber['phone']['number']." \nRent expiration : ". $getRentNumber['phone']['endDate']." \nId numbers :" .$getRentNumber['phone']['id'] ; }//Display rental information
else
echo "Error code : " . $getRentNumber['message'];
$getRentStatus = $sms->getRentStatus($getRentNumber['phone']['id']);//Get the rent status with id from the received number
if ($getRentStatus['status'] == 'success'){
foreach( $getRentStatus['values']as $index => $value) {
echo " Message " . $index .": from the number - " . $value['phoneFrom'] . " Service - " . $value ['service'] . "message text - " . $value['text'] . "Date - " . $value['date']; } }//display a list of messages received while renting a phone
else
echo "Error code : " . $getRentStatus['message'];
$setRentStatus = $sms->setRentStatus($getRentNumber['phone']['id'],1);//Set rental status 'finish' with id from received number
if ($setRentStatus['status'] == 'success')
echo " Status change was successful! ";
else
echo "Error code : " . $setRentStatus['message'];
$getRentList = $sms->getRentList();//Get a list of currently rented numbers
if (getRentList['status'] == 'success')
foreach( $getRentList['values'] as $value) {
echo " ID " . $value["id"] . " Number " . $value["phone"] ."\n"; }//List numbers
else
echo "Error code : " . $getRentList['message'];
$result = $sms->continueRentNumber($id);//Extend the lease of activation id for 4 hours (by default)
if ($result['status'] == 'success') {
echo "Number: " . $result['phone']['number']"//Display number
echo "id: " . $result['phone']['id']"//Display activation id
echo "The lease is valid until: " . $result['phone']['endDate']"//Display the date and time of the end of the lease
} else {
echo "Error code : " . $result['msg'];
}
$result = $sms->getContinueRentPriceNumber($id, 12);//Get the cost of renewing the lease to activate the id for 12 hours
if ($result['status'] == 'success') {
echo " Renewal cost " . $result['price'];//Withdraw the cost
} else {
echo "Error code: " . $result['message']; //Display error code
}
from sms-activate.my 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





















































