Партнёрский протокол предназначен для предоставления номеров и входящих SMS через API напрямую на сервер Grizzly SMS.
Во всех запросах используется параметр ключ — KEY. Данный ключ выдается сотрудниками поддержки.
Запросы количества GET_SERVICES, номера GET_NUMBER и завершения активации FINISH_ACTIVATION посылаются напрямую с нашего сервера на сервер партнера.
Формат URL — https://GrizzlySMS где Grizzly SMS может быть partner.ru:port/GrizzlySMS.php
или partner.ru/GrizzlySMS.php
Сервер Grizzly SMS посылает запрос на количество номеров по методу GET_SERVICES раз в 10-20 секунд.
Если вы отдаете количество >0, то вы получите запрос на выдачу номера GET_NUMBER
После запроса GET_NUMBER вы должны выдать номер телефона, подходящий по всем критериям, и передавать нам абсолютно все входящие SMS по методу PUSH_SMS. Это необходимо для того, чтобы мы могли провести четкую и объективную фильтрацию и выдать клиенту нужную SMS под нужный сервис.
По окончании всех необходимых работ с номером вы получите статус 3 по методу FINISH_ACTIVATION. Он означает, что номер был успешно куплен и вам было начислено за него вознаграждение.
Требования:
Типы полей:
Данный запрос передает нам информацию о количестве сервисов, которые доступны для продажи.
POST запрос выполняется с сервера Grizzly SMS на сервер партнера.
! Обратите внимание: Если у вас GSM модем ограничен в количестве одновременно активных модулей, то вы должны отдавать количество, равное количеству активных модулей.
Поле | Тип | Обязательность | Описание |
action | String |
|
GET_SERVICES |
key | String |
|
Ключ протокола |
Поле | Тип | Обязател. | Описание |
status | String |
|
Статус ответа (см. Таблицы статусов) |
countryList | Array of CountryList |
|
Список стран |
Поле | Тип | Обязател. | Описание |
country | String |
|
Статус ответа (см. Таблицы статусов) |
operatorMap* | Ассоциативный массив |
|
Ключ - оператор (см. Таблица данных), Значение - ассоциативный массив сервисов** |
* Вы не должны отправлять пустые массивы данных в operatorMap
** Ассоциативный массив сервисов: ключ — краткое наименование сервиса (см. Таблица данных), значение — количество номеров под сервис (тип-int)
{
"action": "GET_SERVICES",
"key": "qwerty123"
}
{
"countryList":
[
{
"country": "russia",
"operatorMap":
{
"any":
{
"vk": 3,
"ok": 10
}
}
},
{
"country": "ukraine",
"operatorMap":
{
"any":
{
"vk": 0,
"wa": 32
}
}
}
],
"status": "SUCCESS"
}
Данный запрос передает нам номер телефона, который мы передаем клиенту.
POST запрос выполняется с сервера Grizzly SMS на сервер партнера.
Если в массиве exceptionPhoneSet есть список префиксов, например 44742 и 44740, то вы не должны выдать номер, который начинается на один из этих префиксов. Количество цифр не ограничено размером префикса.
Поле | Тип | Обязател. | Описание |
action | String |
|
GET_NUMBER |
key | String |
|
ключ протокола |
country | String |
|
см. Таблицы данных |
service | String |
|
см. Таблицы данных |
operator | String |
|
Ключ протокола |
sum | Cur |
|
Сумма, которую вы получите за успешно проданный сервис |
exceptionPhoneSet |
Array of String |
|
Список префиксов, которые ЗАПРЕЩЕНО выдавать при запросе номера |
Поле | Тип | Обязател. | Описание |
status | String |
|
Статус ответа (см. Таблицы статусов) |
number | Ulong |
|
Номер телефона с кодом страны |
activationId | Ulong |
|
ID активации в системе партнера |
{
"action": "GET_NUMBER",
"key": "qwerty123",
"country": "russia",
"operator": "any",
"service": "tg",
"sum": 20.00,
}
{
"action": "GET_NUMBER",
"key": "qwerty123",
"country": "russia",
"operator": "any",
"service": "vk",
"sum": 10,
"exceptionPhoneSet": [
"7918",
"79281"
]
}
{
"status": "SUCCESS",
"number": 79157891133,
"activationId": 571346
}
{
"status": "NO_NUMBERS"
}
Данный POST запрос передаётся с сервера партнёра на сервер Grizzly SMS на адрес: https://api.grizzlysms.com/agent/api/sms
Если вы получаете ответ со статусом SUCCESS, то помечайте в вашей базе СМС успешно доставленной и больше не отправляйте СМС. Если вернулся статус, отличный от SUCCESS, то с задержкой 10 секунд повторяйте запрос, пока не получите статус SUCCESS.
Поле | Тип | Обязател. | Описание |
action | String |
|
PUSH_SMS |
key | String |
|
Ключ протокола |
smsId | Ulong |
|
ID смс в системе партнёра |
phone | Ulong |
|
Номер телефона (включая код страны), на который пришло SMS |
phoneFrom | String |
|
Наименование отправителя, который направил SMS (может быть как буквенное, так и цифровой выражение) |
Text | String |
|
Текст SMS |
Поле | Тип | Обязател. | Описание |
status |
String |
|
Статус ответа (см. Таблицы статусов) |
{
"action": "PUSH_SMS",
"key": "qwerty123",
"smsID": 1
"phone": 447472190082
"phoneFrom": "Microsoft",
"text": "Microsoft access code: 5015"
}
{
"status": "SUCCESS"
}
Данный запрос мы передаём с сервера Grizzly SMS на сервер партнёра, чтобы завершить активацию.
POST запрос выполняется с сервера Grizzly SMS на сервер партнёра.
Управление активаций происходит полностью со стороны Grizzly SMS. По независящим от нас причинам мы можем не получить ответ от вас об успешном измении статуса. Поэтому, если Grizzly SMS повторно шлёт запрос завершения активации, вы должны проверить сущестование активации у вас по ID и, если активация у вас существует, прислать статус SUCCESS.
Поле | Тип | Обязател. | Описание |
action | String |
|
FINISH_ACTIVATION |
key | String |
|
Ключ протокола |
activationId | Ulong |
|
ID активации, полученный во втором запросе |
status | Ulong |
|
Статус ответа (см. Таблицы статусов) |
Состав полей ОТВЕТА | |||
Поле | Тип | Обязател. | Описание |
status |
String |
|
Статус ответа (см. Таблицы статусов) |
{
"action": "FINISH_ACTIVATION",
"key": "qwerty123",
"smsId": 100,
"status": 3
}
{
"status": "SUCCESS"
}
Данный POST запрос передаётся с сервера партнёра на сервер Grizzly SMS на адрес: https://api.grizzlysms.com/agent/api/sms
Если вы получаете ответ со статусом SUCCESS, то помечайте в вашей базе запись успешно доставленной и больше не отправляйте эту запись. Если вернулся статус, отличный от SUCCESS, то с задержкой 10 секунд повторяйте запрос, пока не получите статус SUCCESS.
Content-Type: multipart/form-data
Поле | Тип | Обязател. | Описание |
action | String |
|
PUSH_CALL_RECORD |
key | String |
|
Ключ протокола |
callId | Ulong |
|
ID звонка в системе партнёра |
phone | Ulong |
|
Номер телефона (включая код страны), где был разговор |
phoneFrom | String | Номер входящего звонка | |
file | Binary | Обязательно, если нет text | Формат файла wav, amr, mp3, ogg |
text | String | Обязательно, если нет file | Распознаный текст |
Состав полей ОТВЕТА | |||
Поле | Тип | Обязател. | Описание |
status |
String |
|
Статус ответа (см. Таблицы статусов) |
{
"action": "PUSH_CALL_RECORD",
"key": "qwerty123",
"recordID": 1
"phone": 447472190082
"phoneFrom": "Microsoft",
"text": "Microsoft access code: 5015"
}
{
"status": "SUCCESS"
}
Данный POST запрос передаётся с сервера партнёра на сервер Grizzly SMS на адрес: https://api.grizzlysms.com/agent/api/sms
Если вы получаете ответ со статусом SUCCESS, то помечайте в вашей базе запись успешно доставленной и больше не отправляйте эту запись. Если вернулся статус, отличный от SUCCESS, то с задержкой 10 секунд повторяйте запрос, пока не получите статус SUCCESS.
Поле | Тип | Обязател. | Описание |
action | String |
|
PUSH_CALL |
key | String |
|
Ключ протокола |
callId | Ulong |
|
ID звонка в системе партнёра |
phone | Ulong |
|
Номер телефона (включая код страны) |
phoneFrom | String | Номер входящего звонка | |
Состав полей ОТВЕТА | |||
Поле | Тип | Обязател. | Описание |
status |
String |
|
Статус ответа (см. Таблицы статусов) |
{
"action": "PUSH_CALL",
"key": "qwerty123",
"callID": 1
"phone": 447472190082,
"phoneFrom": "447472190099"
}
{
"status": "SUCCESS"
}
ОДНОВРЕМЕННАЯ ВЫДАЧА НОМЕРА. Вы должны обрабатывать одновременные запросы должным образом и не выдавать номера повторно. Например, если вы отдаёте 100 номеров Telegram Англия, то если Grizzly SMS делает одновременно 1000 запросов на данный продукт, то сервер партнёра должен выдать 100 уникальных номеров. Если номер выдан несколько раз, то тест провален.
КОРРЕКТНОЕ ЗАВЕРШЕНОЕ АКТИВАЦИИ. Изменение статуса активации происходит сугубо на стороне Grizzly SMS. Вы не должны самостоятельно завершать активацию.
ПРОВЕРКА ВЫДАЧИ СМС. Как только вы получили SMS, её необходимо сразу же направить на сервер Grizzly SMS. Если вам был отправлен статус SUCCESS, то вы не должны больше направлять эту СМС. Если же вы получаете иной статус, то вам следует повторять запрос раз в 10-20 секунд. Если СМС будет выдано повторно после получения статуса SUCCESS, тест провелен.
ПРОВЕРКА ТИПОВ ПОЛЕЙ. Тщательно проверяйте типы полей, которые были указаны в данной документации. Если данное условие было нарушено, то тестирование провалено.
ПРОВЕРКА НАЛИЧИЯ КОДА СТРАНЫ В ТЕЛЕФОНЕ НОМЕРА. Выдача номера телефона должна производиться сугубо в цифровом виде и с кодом страны.
ПРОВЕРКА ВРЕМЕНИ ВЫДАЧИ НОМЕРА. Вы должны выдавать номер с задержкой менее 3 секунд. Если обнаружена задержка более 3 секунд, тестировани провалено.
ПРОВЕРКА КОЛИЧЕСТВА НОМЕРОВ. Если в зваросе на количество номеров вы показываете 1000, а при одновременном запросе номеров вы выдаёте только 100, тестирование провалено.
ПРОВЕРКА НА ИСКЛЮЧЕНИЯ. Если вы некорректо обрабатываете исключения для выдачи номера, тестирование провалено.
Статус | Расшифровка |
SUCCESS | Запрос выполнен успешно |
ERROR | Ошибка при выполнении запроса. Поле ERROR должно быть заполнено описанием |
NO_NUMBERS | Нет номеров. Возрващается только на запрос номера |
Статус активации | |
Статус | Расшифровка |
1 |
Выдача номера под данные сервис запрещена |
3 | Активация была успешно продана. Вы получили вознаграждение |
4 | Активация была отменена* |
5 | Активация была возвращена. Покупателю были возвращены деньги за активацию. Возможно, данный номер был уже зарегистриован ранее, и на номере стоит двухфакторная аутентификация |
*Описание работы с механизмом отмены: Если номер был отменен 5 раз, то данный номер вы не должны нам выдавать снова. Возможно данный номер не подошел клиенту или был уже зарегистрирован под данный сервис.
{
"status": "SUCCESS",
//информация
}
{
"status": "ERROR",
"error": "описание ошибки"
}
Список | Ссылка |
Список стран | Полный список стран с наименованиями и ID находится по ссылке https://7grizzlysms.com/docs |
Список операторов | На данный момент разбивка по операторам в разработке, поэтому следует передавать значение any. Как только будет реализован данный функционал, мы сообщим вам в чате технической поддержки. |
Список сервисов | Полный список сервисов с наименованиями и ID находится по ссылке https://7grizzlysms.com/docs |
Этот API предназначен для автоматизации на вашей стороне работы с ползунками (ценами на сервисы).
API расположен по адресу https://apiagent.7grizzlysms.com.
Для аутентификации в запросах необходимо отправлять Ваш API-ключ в HTTP-заголовке apikey
.
Все данные передаются в формате JSON.
В GET запросах необходимо отправлять HTTP-заголовок Accept: application/json
, в POST запросе - Accept: application/json
и Content-Type: application/json
.
Доступные значения параметра country расположены в Списке стран в столбцах ID и Countries, т.е. можно использовать как 0
, так и russia
.
Доступные значения параметра service расположены в Списке сервисов в столбце ID.
Вывод средств. Вывод заработанных средств осуществляется по заявкам. Партнёр может создать заявку в разделе Вывод средств. За одну операцию доступен вывод заработка на сумму от 100 USDT. Заявки обрабатываются ежедневно с 11:00 до 23:00 (МСК) в течение срока от 20 до 180 минут. В случае, если вам при выводе обещан какой-либо бонус (согласно опубликованным на сайте условиям), пожалуйста, обязательно укажите это в комментарии к заявке.
Компенсации за 2FA. Платформа Grizzly SMS, как посредник, компенсирует расход покупателей за номера Telegram с установленным 2FA и за неверные коды в полном объёме. Информацию по 2FA Grizzly SMS получает в автоматическом режиме от ПО Telegram Expert и TG-GIANT. Важно! Средства за номера с 2FA и неверным кодом (ответ 'wrong code') и на аккаунтах Telegram не начисляются. Информацию о зафиксированном 2FA или wrong_code можно увидеть в Истории активаций.