Начало работы
1. Регистрация
Создайте аккаунт на detect.expert.
После регистрации, при наличии доступа, вам будет доступно главное меню со всеми сервисами.
2. Генерация API-ключа
В личном кабинете перейдите в раздел API и сгенерируйте ваш X-Api-Key. Этот ключ необходим для всех запросов к API.
3. Первый запрос
Все запросы отправляются на базовый URL:
https://detect.expert/api/v1/
Авторизация осуществляется через заголовок X-Api-Key:
import requests
API_KEY = "ВАШ_API_КЛЮЧ"
url = "https://detect.expert/api/v1/users/balance"
headers = {"X-Api-Key": API_KEY}
response = requests.get(url, headers=headers)
print(response.json())
4. Пример Python-клиента
Полный пример клиента для работы с Numbers API (SMS):
import time
import requests
class DetectExpertClient:
def __init__(self, api_key, base_url):
self.api_key = api_key
self.base_url = base_url
self.headers = {"X-Api-Key": api_key}
def get_balance(self):
url = f"{self.base_url}/users/balance"
response = requests.get(url=url, headers=self.headers)
return response.text
def buy_number(self, data):
url = f"{self.base_url}/numbers/"
response = requests.post(url=url, json=data, headers=self.headers)
if response.status_code == 201:
return response.json()
return {"error": True}
def get_number_info(self, uuid):
url = f"{self.base_url}/numbers/{uuid}/"
response = requests.get(url=url, headers=self.headers)
if response.status_code == 200:
return response.json()
return {"error": True}
def get_numbers(self):
url = f"{self.base_url}/numbers/"
response = requests.get(url=url, headers=self.headers)
if response.status_code == 200:
return response.json()
return {"error": response.text}
def cancel_number(self, uuid):
url = f"{self.base_url}/numbers/{uuid}/"
response = requests.put(url=url, headers=self.headers)
if response.status_code == 204:
return {"success": True}
return {"error": True}
def get_countries(self):
url = f"{self.base_url}/numbers/mixed/countries/"
response = requests.get(url=url, headers=self.headers)
if response.status_code == 200:
return response.json()
return {"error": True}
def run():
DATA = {
"product": "residential",
"service_code": "yahoo",
"country_code": 187,
"period_code": 1
}
API_KEY = "ВАШ_API_КЛЮЧ"
BASE_URL = "https://detect.expert/api/v1"
client = DetectExpertClient(api_key=API_KEY, base_url=BASE_URL)
balance = client.get_balance()
print(f"Баланс: {balance}")
number = client.buy_number(data=DATA)
if number.get("error"):
print("Не удалось купить номер")
return
print(f"ID номера: {number.get('id')}")
print("Ожидание SMS...")
count = 0
timeout = 5
while True:
print(f"Проверка через {timeout}с...")
time.sleep(timeout)
number_info = client.get_number_info(uuid=number.get("id"))
last_sms_code = number_info.get("last_sms_code")
if last_sms_code:
print(f"SMS-код: {last_sms_code}")
break
timeout += 5
count += 1
if count >= 10:
print("Время ожидания SMS истекло")
break
if __name__ == "__main__":
run()
Дальнейшие шаги
- Проверить баланс —
GET /users/balance/ - Список стран —
GET /numbers/mixed/countries/ - Купить номер —
POST /numbers/ - Заказать прокси —
GET /proxies/shop/