Описание проекта telcheck.org

Проект создан для проверки номеров телефонов при массовых регистрациях аккаутов.

Проект будет существовать и приносить пользу только в том случае если вы будете отправлять POST запрос после успешной регистрации аккаунта. В противном случае в базе данных будет мало информации и не будет смысла использовать данный ресурс

Все поля обязательные.

Запросы отправляются по адресу: https://telcheck.org/api/:SoftName/:ServiceDomain/:SmsServiceName/:Tel

Логика работы с telcheck.org

  1. Покупаете номер телефона на одном из сайтов смс активаций
  2. Делаете GET запрос на проверку номера к ресурсу telcheck.org
  3. В зависимости от ответа разрабатываете свою логику
  4. После успешной регистрации Обязательно отправляете POST запрос. Если этого не сделать, Ваш аккаунт может зарегистриовать другой человек
    • {“Status”: 1} в случае успешной регистрации аккаунта на номер :Tel и сервис :ServiceDomain
    • {“Status”: 2} в случае если при попытке зарегистрировать аккаунт требуется ввести код 2FA, либо если вы самостоятельно установили код 2FA на аккаунт который зарегистрировали.
    • {“Status”: 3} в случае если при попытке зарегистрировать аккаунт сервис выдал ответ “Номер забанен”

Существует 2 метода:

  1. GET на проверку номера в базе данных
  2. POST на сохранение данных после регистрации аккаунта

Каждый запрос должен быть подписан токеном доступа который уникальный для каждого софта, пример генерации сигнатуры:

// Golang
package main

import (
   "crypto/md5"
   "fmt"
)

func main() {
   softName := "vak-sms.com"
   serviceDomain := "sbermarket.ru"
   smsServiceName := "vak-sms.com"
   tel := 79991112233

   sign, err := GenerateMD5Signature(softName, serviceDomain, smsServiceName, tel)
   fmt.Println(sign, err)
   // "2e38efde353ce61f56bd4d4742bb19d9"
}

func GenerateMD5Signature(softName string, serviceName string, smsServiceName string, tel int) (string, error) {
  token := "84b65cdb-329e-4029-8242-d23c9e2a1014"
  originalString := softName + "/" + serviceName + "/" + smsServiceName + "/" + fmt.Sprintf("%d", tel) + "/" + token
  sign := md5.Sum([]byte(originalString))
  return fmt.Sprintf("%x", sign), nil
}
# Python
import hashlib

def generate_md5_signature(soft_name: str, service_domain: str, sms_service_name: str, tel: int):
    token = "84b65cdb-329e-4029-8242-d23c9e2a1014"
    original_string = f"{soft_name}/{service_domain}/{sms_service_name}/{tel}/{token}"
    sign = hashlib.md5(original_string.encode()).hexdigest()
    return sign

soft_name = 'vak-sms.com'
service_domain = 'sbermarket.ru'
sms_service_name = 'vak-sms.com'
tel = 79991112233

sign = generate_md5_signature(soft_name, service_domain, sms_service_name, tel)
print(sign)
# '2e38efde353ce61f56bd4d4742bb19d9'


GET https://telcheck.org/api/:SoftName/:ServiceDomain/:SmsServiceName/:Tel/?Signature=:Sign

Варианты ответа:
HTTP status code: 200 OK: Это стандартный ответ для успешных HTTP-запросов.
Response application/json:

  {"SmsServiceName": "vak-sms.com", "SoftName": "TGPrime", "Tel": 79991112233, "ServiceDomain": "telegram.org", "Status": 1, "Message": "Аккаунт зарегистрирован"} 

HTTP status code: 400 Bad Request: Сервер не понял запрос из-за неверного синтаксиса.
HTTP status code: 403 Forbidden: Нет доступа к запрашиваемому ресурсу.

{"Message": "Missing signature parameter"}
{"Message": "You need to get a token for your app"}
{"Message": "Invalid signature"}

HTTP status code: 404 Not Found: Сервер не может найти запрошенный ресурс. Данные о номере :Tel и сервисе :ServiceDomain не найдены в базе данных
Response application/json:

{"Status": 0, "Message": "Номер и сервис не найдены в базе данных"}

HTTP status code: 500 Internal Server Error: Общий код для неизвестной ошибки на сервере.


POST https://telcheck.org/api/:SoftName/:ServiceDomain/:SmsServiceName/:Tel

В теле запроса необходимо передать статус.
Request application/json:

  {"Status": 1, "Signature": ":Sign"}

Варианты ответа:
HTTP status code: 201 Created: Запись о номере :Tel и сервисе :ServiceDomain успешно создана. Response application/json:

  {"Status": 1, "Message": "На номер успешно зарегистрирован аккаунт"}

Возможные статусы:
{"Status": 1} - На номер успешно зарегистрирован аккаунт, используется по умолчанию
{"Status": 2} - На номер зарегистрирован аккаунт и на нем уставновлен код 2FA
{"Status": 3} - Номер забанен в сервисе

HTTP status code: 400 Bad Request: Сервер не понял запрос из-за неверного синтаксиса.
HTTP status code: 403 Forbidden: Нет доступа к запрашиваемому ресурсу.

{"Message": "Missing signature parameter"}
{"Message": "You need to get a token for your app"}
{"Message": "Invalid signature"}

HTTP status code: 404 Not Found: Сервер не может найти запрошенный ресурс.
HTTP status code: 500 Internal Server Error: Общий код для неизвестной ошибки на сервере.