# API для получения токенов Telegram (Android и iOS)


Адрес сервера: https://safetytoken.pro

## Как работать

Для всех запросов нужен API ключ — параметр `apiKey`.

## Методы API

### Push токен -------------

https://safetytoken.pro/v1/push-token?apiKey=ВАШ_КЛЮЧ&appName=APP_NAME&timeout=30

Параметры:
- apiKey - ваш ключ
- appName - поддерживаемые значения: `tg` (Android), `tgiOS` (iOS)
- appVersion - (только для iOS, опционально) версия клиента, например `11.14`
- appBuild - (только для iOS, опционально) номер билда, например `31192`
- timeout - сколько ждать ответа, по умолчанию 30 секунд

**Поддерживаемые приложения:**
- `tg` — Telegram для Android
- `tgx` — Telegram для Android X TGX
- `tg9` — Telegram для Android WEB 9 build
- `tgiOS` — Telegram для iOS (bundle `ph.telegra.Telegraph`)

Ответ если все ок:
{
  "status": "ok",
  "task_id": "550e8400-e29b-41d4-a716-446655440000", 
  "token": "APA91bHxvwk2Rj5kE9m3Ln4Qr7sT8uV9wX0yZ1a2B3c4D5e6F7g8H9i0J"
}


### Email (Gmail) -------

```
GET https://safetytoken.pro/email/order?apiKey=ВАШ_КЛЮЧ
GET https://safetytoken.pro/email/getStatus?apiKey=ВАШ_КЛЮЧ&id=ID_ЗАДАЧИ
GET https://safetytoken.pro/email/getCode?apiKey=ВАШ_КЛЮЧ&id=ID_ЗАДАЧИ
```

Параметры:
- apiKey — ваш ключ

Ответ /email/order при успехе:
```
{
  "status": "success",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "email": "example@gmail.com"
}
```

Возможные ошибки /email/order:
```
{"status":"error","id":"NO_BALANCE"}
{"status":"error","id":"ERROR"}
```

Ответ /email/getStatus:
- pending:
```
{"id":"...","status":"pending","email":"example@gmail.com"}
```
- done (код готов):
```
{"id":"...","status":"done","email":"example@gmail.com","code":"123456"}
```
- error:
```
{"id":"...","status":"error"}
```

Ответ /email/getCode (алиас для получения кода):
- успех:
```
{"status":"success","code":"123456","email":"example@gmail.com"}
```
- ещё нет кода:
```
{"status":"error","value":"wait code"}
```
- не найдена активация:
```
{"status":"error","value":"no activation"}
```

Стоимость и списание:
- Стоимость одной почты — $0.015 . Сумма списывается сразу после успешного получения email.



### reCAPTCHA Mobile -------

```
GET https://safetytoken.pro/RecaptchaMobile/getToken?apiKey=ВАШ_КЛЮЧ&appName=APP_NAME&appKey=APP_KEY&appAction=APP_ACTION&appDevice=android
GET https://safetytoken.pro/RecaptchaMobile/getStatus?apiKey=ВАШ_КЛЮЧ&id=ID_ЗАДАЧИ
```

Параметры getToken:
- apiKey — ваш ключ (партнёрский или лицензионный)
- appName — название приложения: `tg` (Android) или `tgiOS` (iOS)
- appKey — reCAPTCHA site key (получается из трафика приложения)
- appAction — действие (например `login`, `register`)
- appDevice — тип устройства: `android` или `ios`
- proxyType — (опционально) тип прокси: `http`, `socks5`
- proxyAddress — (опционально) адрес прокси
- proxyPort — (опционально) порт прокси
- proxyLogin — (опционально) логин прокси
- proxyPassword — (опционально) пароль прокси

Ответ getToken при успешном создании задачи:
```
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "service": "tg",
  "product": "RecaptchaMobile",
  "price": 0.35,
  "balance": null,
  "status": "success"
}
```

Ответ getStatus при готовности (токен получен):
```
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "done",
  "token": "03AGdBq25...",
  "message": "OK"
}
```

Ответ getStatus если ещё обрабатывается:
```
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "pending"
}
```

Ответ getStatus при ошибке:
```
{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "error",
  "message": "ERROR"
}
```

Стоимость и списание:
- Стоимость одного токена — $0.35 (по умолчанию). Деньги списываются только после успешного получения токена.

Рекомендуемый порядок работы:
1. Отправить `getToken` — получить `id`
2. Опрашивать `getStatus` каждые 3–5 секунд пока `status` не станет `done` или `error`


### Баланс

https://safetytoken.pro/v1/balance?apiKey=ВАШ_КЛЮЧ

Параметры:
- apiKey - ваш ключ

Ответ:
{
  "balance": 111.0
}

## Варианты ответов

Если ошибка:
{
  "status": "error",
  "task_id": null, 
  "token": null
}

Если еще обрабатывается:
{
  "status": "pending",
  "task_id": "660f9511-f3ac-52e5-b827-557766551111",
  "token": null
}

### Проверка статуса --------  

https://safetytoken.pro/v1/status/ID_ЗАДАЧИ?apiKey=ВАШ_КЛЮЧ

Показывает что происходит с задачей по ее ID.

## Что нужно знать

- Поддерживаются Android и iOS
- appName: `tg` (Android), `tgiOS` (iOS)
- Ответы в формате JSON
- Кодировка UTF-8

## Примеры запросов

### Telegram для Android (`tg`):
```
GET https://safetytoken.pro/v1/push-token?apiKey=ВАШ_КЛЮЧ&appName=tg&timeout=30
```

### Telegram для iOS (`tgiOS`):
```
GET https://safetytoken.pro/v1/push-token?apiKey=ВАШ_КЛЮЧ&appName=tgiOS&timeout=30&appVersion=11.14&appBuild=31192
```

## Дополнительная заметка --------

- Деньги списываются только если токен получен
- Если токен не готов сразу - будет pending
- Ошибки возвращаются в общем виде