NAV

Прием СМС

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

Специально для вас мы подгтовили несколько примеров для postman

Run in Postman

Общее описание

Onlinesim.ru API предоставляет Вам возможность использовать наш сервис в автоматическом режиме. Для этого необходимо получить API ключ во вкладке «Профиль пользователя» и реализовать в софте примерно следующий порядок действий:

  1. Запросить и использовать номер;
  2. Запустить цикл, который будет проверять поступление ответа;
  3. Если ответ верный — завершить операцию;
  4. Если ответ не подошел — запросить уточнение;
  5. Ответ после уточнения верный — завершить операцию;
  6. Ответ не верный — отправить уведомления о неверном коде.

Для того чтобы использовать API, Вам необходимо осуществить POST или GET запрос по протоколу HTTP на указанный URL: http://onlinesim.ru/api/METHOD_NAME.php?PARAMETERS&apikey=YOUR_APIKEY

Метод Описание
METHOD_NAME название метода из списка функций API
PARAMETERS параметры соответствующего метода API
YOUR_APIKEY ключ доступа, установленный во вкладке «Профиль пользователя».

Общие возвращаемые ответы

Значения параметра RESPONSE общие для всех методов.

{response: RESPONSE, …, … }

RESPONSE Описание
ACCOUNT_BLOCKED аккаунт заблокирован
ERROR_WRONG_KEY apikey неверный
ERROR_NO_KEY Нет apikey
ERROR_NO_SERVICE Укажите сервис
REQUEST_NOT_FOUND Нет метода в API

Шифрование

В методах register и login параметр password передается в зашифрованном, алгоритмом RSA, виде, порядок шифрования следующий:

  1. Получить публичный ключ /api/public.pem
  2. Зашифровать пароль при помощи данного ключа;
  3. Обернуть результат в base64;

Пример кода на PHP:

$key = openssl_get_publickey('key');

openssl_public_encrypt('password', $password, $key);

$password = base64_encode($password);

Регистрация - register

Регистрация нового пользователя, POST запрос, все пареметры необходимо передавать в теле запроса

Пример

http://onlinesim.ru/api/register.php

body: {
    name: name
    username: username
    email: email
    password: password
    password_confirmation: password
    dev_key: dev_key
    terms: true
}

// ajax

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/api/login.php",
    "method": "POST",
    "data" : {
       "username": "username",
       "password": "password",
       "name": "name",
       "email": "email",
       "password": "password",
       "password_confirmation": "password",
       "terms": true,
       "dev_key": "Ключ доступен только для разработчиков, обратитесь в тех. поддержду",
    },
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});
Параметр Описание
name ФИО, TEXT (текстовое значение)
username имя пользователя, TEXT (текстовое значение)
email email TEXT, (текстовое значение)
password имя пользователя, TEXT (текстовое значение)
password_confirmation подтверждение пароля в зашифрованном виде см. Шифрование, минимальное количество символов - 6, TEXT (текстовое значение)
dev_key
terms Согласие с правилами сервиса, true

Результат

После успешного выполнения получите ответ в формате JSON, в следующем виде:

{"response":"1","active":"true"}

Результат Описание
RESPONSE 1, если запрос выполнен успешно, либо сообщение об ошибке
ACTIVE true - требуется подтверждение email адреса, false - не требуется

RESPONSE

Результат Описание
TIME_ERROR Превышено количество запросов на регистрацию
"email": [ "Поле адрес электронной почты обязательно для заполнения."],.. Указание на отсутствующие или не соответствующие данные

Авторизация - login

Пример

http://onlinesim.ru/api/login.php

body: {
    username: username
    password: password
    dev_key: dev_key
}

// ajax

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/api/login.php",
    "method": "POST",
    "data" : {
       "username": "username",
       "password": "password",
       "dev_key": "Ключ доступен только для разработчиков, обратитесь в тех. поддержду",
    },
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Авторизация пользователя, получение apikey, POST запрос, все пареметры необходимо передавать в теле запроса

Параметр Описание
username имя пользователя, TEXT (текстовое значение)
password пароль в зашифрованном виде см. Шифрование, минимальное количество символов - 6, TEXT (текстовое значение)
dev_key

Результат

После успешного выполнения получите ответ в формате JSON, в следующем виде:

{"response":"1","active":"true"}

Результат Описание
RESPONSE 1, если запрос выполнен успешно, либо сообщение об ошибке
ACTIVE true - требуется подтверждение email адреса, false - не требуется

RESPONSE

Результат Описание
TIME_ERROR Превышено количество запросов на регистрацию
ERROR_ACCOUNT_NOT_ACTIVATE email адрес не подтвержден
LOGIN_ERROR Не верно введен логин или пароль
"email": [ "Поле адрес электронной почты обязательно для заполнения."],.. Указание на отсутствующие или не соответствующие данные

getServiceList

Пример

http://onlinesim.ru/api/getServiceList.php?apikey=api_key

// ajax

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/api/getServiceList.php?apikey=api_key",
    "method": "GET",
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Возвращает доступные для заказа сервисы, стоимость по всем видам приема, % - свободных номеров

Параметры

Не требует дополнительных параметров.

Результат

После успешного выполнения получите ответ в формате JSON, в следующем виде:

[ { "id": "0", "slug": "VKcom", "title": "Вконтакте", "index": "14", "repeat": "8", "deferr": "12", "limit": "50" }, { "id": "1", "slug": "3223", "title": "Facebook", "index": "4", "repeat": "5", "deferr": "3", "limit": "50" }, ... ]

Параметр Описание
ID id сервиса
slug Наименование сервиса
title Название сервиса
index Стоимость онлайн приема СМС в рублях
repeat Стоимость повторного приема СМС в рублях
deferr Стоимость отложенного приема СМС в рублях
limit Процент свободных от общего количества номеров

getNum

Пример

http://onlinesim.ru/api/getNum.php?apikey=api_key&service=VKcom

// ajax

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/api/getNum.php?apikey=api_key&service=VKcom",
    "method": "GET",
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Создает операцию на использование виртуального номера.

Параметр Описание
service Определяет cайт (сервис) от которого будет ожидаться и отображаться СМС. Принимает одно из значений, можно передавать оба варианта:
Вариант 1Вариант 2Название сайта(сервиса)
VKcomvkВконтакте
3223facebookFacebook
MailRumailruMailRu
OdklruclassmatesОдноклассники
GooglegmailGMail
RealStatusmambaMamba
YandexyandexYandex
AvitoavitoAvito
OLXOLXOLX
YoulaYoulaYoula
ViberviberViber
WhatsAppwhatsappWhatsApp
TelegramtelegramTelegram
SeosprintseosprintSEOsprint
FastFrienddrugvokrugДругВокруг
ICQICQICQ
MasterCardMasterCardMasterCard
InstagramInstagramInstagram
WeChatWeChatWeChat
OpenIOpenIOpenI
SteamSteamSteam
UberUberUber
YahooYahooYahoo
MicrosoftMicrosoftMicrosoft
TwitterTwitterTwitter
7otherДругие сайты
form Необязательный параметр, вид приема (онлайн прием — 1, отложенный прием — 3) по умолчанию 3. INT
forward_number Необязательный параметр, номер телефона для переадресации, без +7, INT
forward_sum Необязательный параметр, дополнительная сумма для переадресации, INT >= 2
forward_switch Необязательный параметр, INT
Выбор вида переадресации:
1 - для приема звонков
0, либо не передавать параметр - для сброса звонков
simoperator Необязательный параметр, INT
25001 - МТС
25002 - Мегафон
25099 - Билайн
extension Необязательный параметр, INT
1 - выбор номера с возможностью продления срока действия
0, либо не передавать параметр - без возможности продления
region Необязательный параметр,
Без параметра - любой регион INT
78 - Номера из Санкт-Петербурга
77 - Московский номер

При выборе other отображаются все входящие СМС, поэтому если необходимого сервиса нет в списке выше, рекомендуем выставлять service значение отправителя смс, со списком популярных отправителей можно ознакомится в своем аккаунте, в блоке «Все сервисы», выпадающиий список рядом с кнопкой добавить.

Результат

После успешного выполнения получите ответ в формате JSON, в следующем виде:

{response:RESPONSE, tzid:TZID}

Результат Описание
RESPONSE 1, если запрос выполнен успешно, либо сообщение об ошибке
TZID id вашей операции

RESPONSE

Результат Описание
EXCEEDED_CONCURRENT_OPERATIONS превышено количество одновременных операций
NO_NUMBER для выбранного сервиса свободные номера временно отсутствуют
TIME_INTERVAL_ERROR отложенный прием СМС не возможен в данный интервал времени.
INTERVAL_CONCURRENT_REQUESTS_ERROR превышено количество одновременных запросов на выдачу номера, повторите запрос позднее.
ERROR_NO_SERVICE не указан сервис
TRY_AGAIN_LATER запрос временно не может быть выполнен
NO_FORWARD_FOR_DEFFER активация переадресации возможна только на онлайн приеме
NO_NUMBER_FOR_FORWARD нет номеров для переадресации
ERROR_LENGTH_NUMBER_FOR_FORWARD номер для переадресации имеет не верную длину
DUPLICATE_OPERATION добавление операций с одинаковыми параметрами

setForwardStatusEnable

Пример

http://onlinesim.ru/api/setForwardStatusEnable.php?apikey=api_key&tzid=1234

// ajax

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/api/setForwardStatusEnable.php?apikey=api_key&tzid=1234",
    "method": "GET",
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Подтверждение переадресации

Параметры

Параметр Описание
ID идентификатор операции INT (числовое значение)

Результат

После успешного выполнения получите ответ в формате JSON, в следующем виде:

{response:RESPONSE, TZID:tzid}

Параметр Описание
RESPONSE 1, если запрос выполнен успешно, либо сообщение об ошибке
TZID id вашей операции

RESPONSE

RESPONSE Описание
NO_CONFIRM_FORWARD переадресация не может быть подтверждена

getState

Пример

http://onlinesim.ru/api/getState.php?apikey=api_key&tzid=1234

// ajax

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/api/getState.php?apikey=api_key&tzid=1234",
    "method": "GET",
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Возвращает состояние выбранной операции.

Параметры

Параметр Описание
tzid идентификатор операции INT (числовое значение), обязательный параметр
message_to_code INT (числовое значение), необязательный параметр, 1 - показывать только код из СМС, 0 - показывать СМС полностью
form вид приема INT (числовое значение), необязательный параметр, 1 - онлайн прием, 2 - повторный прием, 3 - отложенный прием. По умолчанию 1,3
orderby сортировка по возврастанию, убыванию TEXT (текстовое значение), необязательный параметр, asc - по возврастанию, desc - по убыванию. По умолчанию asc

Результат

После успешного выполнения будет получен ответ в формате JSON, в следующем виде:

[{tzid:TZID, response:RESPONSE, service:SERVICE, number:NUMBER, msg:MSG, time:TIME, form:FORM, forward_status:FORWARD_STATUS, forward_number:FORWARD_NUMBER}]

Результат Описание
TZID id вашей операции
RESPONSE 1, если запрос выполнен успешно, либо сообщение об ошибке;
SERVICE сервис, значения такие же как в методе getNum;
NUMBER выделенный номер;
MSG код из смс
TIME время до завершения операции;
FORM вид приема (онлайн прием — index, отложенный прием — deferr).
FORWARD_STATUS статус активации переадресации (от 0 - 9 см. Помощь – Статусы переадресации)
FORWARD_NUMBER номер для переадресации

RESPONSE

RESPONSE Описание
WARNING_NO_NUMS нет подходящих номеров
TZ_INPOOL операция ожидает выделения номера
TZ_NUM_WAIT ожидается ответ
TZ_NUM_ANSWER поступил ответ
TZ_OVER_EMPTY ответ не поступил за отведенное время
TZ_OVER_OK операция завершена
ERROR_NO_TZID не указан tzid
ERROR_NO_OPERATIONS нет операций

getOperations

Пример

http://onlinesim.ru/api/getOperations.php?apikey=api_key

// ajax

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/api/getOperations.php?apikey=api_key",
    "method": "GET",
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Возвращает список и состояние всех операции.

Параметры

Не требует дополнительных параметров.

Результат

После успешного выполнения будет получен ответ в формате JSON, в следующем виде:

[{"tzid":"219","service":"vk","number":"+79670663128","form":"index","time":1172,"response":"TZ_NUM_WAIT"},{"tzid":"220","service":"whatsapp","response":"TZ_INPOOL","form":"deferr","time":0}]

Значения параметров идентичны методу getState.

setOperationRevise

Пример

http://onlinesim.ru/api/setOperationRevise.php?apikey=api_key&tzid=1234

// ajax

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/api/setOperationRevise.php?apikey=api_key&tzid=1234",
    "method": "GET",
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Создает запрос на уточнение ответа по операции.

Следует использовать, если поступил неверный код. Данный метод отправляет запрос на другой код в случае, если поступило несколько СМС на один номер с разными кодами.

Параметры

Параметр Описание
tzid идентификатор операции INT (числовое значение), обязательный параметр

Результат

После успешного выполнения будет получен ответ в формате JSON, в следующем виде:

{response:RESPONSE, tzid:TZID}

Результат Описание
TZID id вашей операции
RESPONSE 1, если запрос выполнен успешно, либо сообщение об ошибке;

setOperationOk

Пример

http://onlinesim.ru/api/setOperationOk.php?apikey=api_key&tzid=1234

// ajax

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/api/setOperationOk.php?apikey=api_key&tzid=1234",
    "method": "GET",
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Отправляет уведомление об успешном получении кода и завершает операцию.

Параметры

Параметр Описание
tzid идентификатор операции INT (числовое значение), обязательный параметр

Результат

После успешного выполнения будет получен ответ в формате JSON, в следующем виде:

{response:RESPONSE, tzid:TZID}

Результат Описание
TZID id вашей операции
RESPONSE 1, если запрос выполнен успешно, либо сообщение об ошибке;

RESPONSE

Результат Описание
ERROR_WRONG_TZID неверный номер операции.
NO_COMPLETE_TZID невозможно завершить операцию.

setOperationOver

Пример

http://onlinesim.ru/api/setOperationOver.php?apikey=api_key&tzid=1234

// ajax

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/api/setOperationOver.php?apikey=api_key&tzid=1234",
    "method": "GET",
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Завершает операцию с уведомлением о неверном коде.

Параметры

Параметр Описание
tzid идентификатор операции INT (числовое значение), обязательный параметр

Результат

После успешного выполнения будет получен ответ в формате JSON, в следующем виде:

{response:RESPONSE, tzid:TZID}

Результат Описание
TZID id вашей операции
RESPONSE 1, если запрос выполнен успешно, либо сообщение об ошибке;

RESPONSE

Результат Описание
ERROR_WRONG_TZID неверный номер операции.
NO_COMPLETE_TZID невозможно завершить операцию.

setOperationUsed

Пример

http://onlinesim.ru/api/setOperationUsed.php?apikey=api_key&tzid=1234

// ajax

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/api/setOperationUsed.php?apikey=api_key&tzid=1234",
    "method": "GET",
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Завершает операцию с уведомлением о том, что номер уже использован или заблокирован в сервисе для которого запрашивалась активация.

Параметры

Параметр Описание
tzid идентификатор операции INT (числовое значение), обязательный параметр

Результат

После успешного выполнения будет получен ответ в формате JSON, в следующем виде:

{response:RESPONSE, tzid:TZID}

Результат Описание
TZID id вашей операции
RESPONSE 1, если запрос выполнен успешно, либо сообщение об ошибке;

RESPONSE

Результат Описание
ERROR_WRONG_TZID неверный номер операции.
NO_COMPLETE_TZID невозможно завершить операцию.

getBalance

Пример

http://onlinesim.ru/api/getBalance.php?apikey=api_key

// ajax

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/api/getBalance.php?apikey=api_key",
    "method": "GET",
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Возвращает информацию о состоянии баланса.

Параметры

Не требует дополнительных параметров.

Результат

После успешного выполнения будет получен ответ в формате JSON, в следующем виде:

{response:RESPONSE, "balance":"BALANCE", "zbalance":"ZBALANCE"}

Результат Описание
RESPONSE 1, если запрос выполнен успешно, либо сообщение об ошибке
BALANCE сумма активных средств.
ZBALANCE сумма замороженных средств.

getService

Пример

http://onlinesim.ru/api/getService.php?apikey=api_key

// ajax

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/api/getService.php?apikey=api_key",
    "method": "GET",
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Получение списка сервисов для повторного заказа СМС

Параметры

Не требует дополнительных параметров.

Результат

После успешного выполнения будет получен ответ в формате JSON, в следующем виде:

{response:RESPONSE, service: ["service","...","..."]}

Результат Описание
["service","...","..."] Массив из доступных для повторного СМС сервисов. Возможные варианты:
RESPONSE 1, если запрос выполнен успешно, либо сообщение об ошибке;
serviceНазвание сайта(сервиса)
VKcomВконтакте
3223Facebook
MailRuMailRu
OdklruОдноклассники
GoogleGMail
RealStatusMamba
YandexYandex
AvitoAvito
OLXOLX
YoulaYoula
ViberViber
WhatsAppWhatsApp
TelegramTelegram
SeosprintSEOsprint
FastFriendДругВокруг
ICQICQ
MasterCardMasterCard
InstagramInstagram
WeChatWeChat
OpenIOpenI
SteamSteam
UberUber
YahooYahoo
MicrosoftMicrosoft
TwitterTwitter
7Другие сайты

getServiceNumber

Пример

http://onlinesim.ru/api/getServiceNumber.php?apikey=api_key&service=1234

// ajax

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/api/getServiceNumber.php?apikey=api_key&service=1234",
    "method": "GET",
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

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

Параметры

Параметр Описание
service принимает одно из значений полученных методом getService

Результат

После успешного выполнения будет получен ответ в формате JSON, в следующем виде:

{response:RESPONSE, number:["number","...","..."]}

Результат Описание
["number","...","..."] Массив из доступных для повторного СМС номеров.
RESPONSE 1, если запрос выполнен успешно, либо сообщение об ошибке;

RESPONSE

RESPONSE Описание
ERROR_NO_SERVICE_REPEAT нет сервисов для повторного приема
SERVICE_TO_NUMBER_EMPTY нет номеров для повторного приема по данному сервису

getNumRepeat

Пример

http://onlinesim.ru/api/getNumRepeat.php?apikey=api_key&service=1234&number=1234

// ajax

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/api/getNumRepeat.php?apikey=api_key&service=1234&number=1234",
    "method": "GET",
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Cоздает операцию на повторное использование виртуального номера.

Параметры

Параметр Описание
service принимает одно из значений полученных методом getService
number ринимает одно из значений полученных методом getServiceNumber

RESPONSE

RESPONSE Описание
EXCEEDED_CONCURRENT_OPERATIONS превышено количество одновременных операций
NO_NUMBER для выбранного сервиса свободные номера временно отсутствуют
TIME_INTERVAL_ERROR отложенный прием СМС не возможен в данный интервал времени
INTERVAL_CONCURRENT_REQUESTS_ERROR превышено количество одновременных запросов на выдачу номера, повторите запрос позднее
ERROR_NO_SERVICE не указан сервис
ERROR_NO_NUMBER не указан номер
TRY_AGAIN_LATER запрос временно не может быть выполнен
ERROR_PARAMS не правильно указан один или оба параметра
LIFICYCLE_NUM_EXPIRED срок действия номера истек
NEED_EXTENSION_NUMBER необходимо продлить номер см. вкладку «Продление»

forwardingList

Пример

http://onlinesim.ru/api/forwardingList.php?apikey=api_key&service=1234&number=1234

// ajax

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/api/forwardingList.php?apikey=api_key&service=1234&number=1234",
    "method": "GET",
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Получить список всех переадресаций

Параметры

Параметр Тип Описание
page Необязательный Страница, метод отдает по 10шт на страницу
sort Необязательный Сортировка, пример: {"number":"DESC","forward_number":"ASC"} 1 имя поля для сортировки, 2 тип ASC или DESC
id Необязательный В случае передачи id а качестве параметра, метод вернет 1 переадресацию

Результат

После успешного выполнения будет получен ответ в формате JSON, в следующем виде:

{"response": RESPONSE,"forwardingList": {"total": 17,"per_page": 10,"current_page": 1,"last_page": 2, "next_page_url": "http://on.ru/api/forwardingList.php?page=2","prev_page_url": null,"from": 1,"to": 10,"data": [......]}}

Параметр Описание
total Общее колличество
current_page Текущая страница
last_page Всего страниц
data Массив со списком переадресаций, описание параметров ниже

или(при передаче id в качестве параметра)

{response:RESPONSE, forwarding": {"id": id,"id_user": id_user,"minutes": minutes,"status": status,"id_number": id_number, "number": number,"forward_number": forward_number,"created_at": created_at,"updated_at": updated_at,"extension": extension,"data": { "balance": data,"time_update_balance": time_update_balance,"region": region}}

Параметр Описание
id id переадресации
id_user id пользователя
minutes Остаток минут
status Статус
number Номер телефона
forward_number Переадресация на этот номер
extension Авто продление
balance Баланс на номере
time_update_balance Время обновление баланса
region Регион сим карты

forwardingSave

Пример

http://onlinesim.ru/api/forwardingSave.php?apikey=api_key&id=1&minutes=10

// ajax

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/api/forwardingSave.php?apikey=api_key&id=1&minutes=10",
    "method": "GET",
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Именить параметры переадресации

Параметры

Параметр Тип Описание
id Обязательный id переадресации
minutes Необязательный Минимальное колличество минут на номере
auto Необязательный Авто-пополнение
forward_number Необязательный Номер для переадресации

Результат

После успешного выполнения будет получен ответ в формате JSON, в следующем виде:

{"response": RESPONSE}

forwardingRemove

Пример

http://onlinesim.ru/api/forwardingRemove.php?apikey=api_key&id=1

// ajax

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/api/forwardingRemove.php?apikey=api_key&id=1",
    "method": "GET",
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Удалить переадресацию

Параметры

Параметр Тип Описание
id Обязательный id переадресации

Результат

После успешного выполнения будет получен ответ в формате JSON, в следующем виде:

{"response": RESPONSE}

getForwardPaymentsList

Пример

http://onlinesim.ru/api/getForwardPaymentsList.php?apikey=api_key&id=1

// ajax

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/api/getForwardPaymentsList.php?apikey=api_key&id=1",
    "method": "GET",
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Список платежей

Параметры

Параметр Тип Описание
id Обязательный id переадресации

Результат

После успешного выполнения будет получен ответ в формате JSON, в следующем виде:

{"response": RESPONSE,forwardPaymentsList: [{created_at: "2016-12-22 03:00:04",forward_id:17800, id: 10037,number: 9811770314,payment_id: 535672803692110000,service_time_id: null,status: 3,sum: 11, updated_at:"2016-12-22 21:03:01"},....]}

Параметр Описание
forwardPaymentsList Массив платежей

Отправка СМС

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

Специально для вас мы подгтовили несколько примеров для postman

Run in Postman

Общее описание

Onlinesim.ru API предоставляет Вам возможность использовать наш сервис в автоматическом режиме. Для этого необходимо получить API ключ во вкладке «Профиль пользователя» и реализовать в софте примерно следующий порядок действий:

  1. Запросить и использовать номер;
  2. Запустить цикл, который будет проверять поступление ответа;
  3. Если ответ верный — завершить операцию;
  4. Если ответ не подошел — запросить уточнение;
  5. Ответ после уточнения верный — завершить операцию;
  6. Ответ не верный — отправить уведомления о неверном коде.

Для того чтобы использовать API, Вам необходимо осуществить POST или GET запрос по протоколу HTTP на указанный URL: http://onlinesim.ru/delivery-api/get/METHOD_NAME.php?PARAMETERS&apikey=YOUR_APIKEY

Подпись

Простой пример составления подписи на PHP
Есть набор параметров

$params = array(
    'timestamp' => '1484913326',
    'login'     => 'YourLogin',
    'phone'     => '79087156685',
    'text'      => 'Long text'
);

Его нужно отсортировать по алфавиту

ksort( $params );
reset( $params );

В результате получится

Array
(
    [login] => YourLogin
    [phone] => 79087156685
    [text] => Long text
    [timestamp] => 1484913326
)

Получившийся результат преобразовать в строку implode( $params );
В результате получится YourLogin79087156685Long text1477404711
В конец строки добавить ваш API ключ - ab2ec4b50c2b00b003c93ea99c19228f89e50b0e
YourLogin79087156685Long text1477404711ab2ec4b50c2b00b003c93ea99c19228f89e50b0e
Получившийся результат преобразовать в md5 хэш
md5( 'YourLogin79087156685Long text1477404711ab2ec4b50c2b00b003c93ea99c19228f89e50b0e' );
В результате получится действительная подпись которую нужно подставить в параметр запроса - signature 15149efdd0c3c86a9bc5e7815a8cec16
Т.е. итоговый запрос будет в данном случае выглядеть так:
http://onlinesim.ru/delivery-api/get/PAGE.php?login=YourLogin×tamp=1477404711&phone=79087156685&text=Long text&signature=15149efdd0c3c86a9bc5e7815a8cec16
Готовый пример простейшей функции для составления подписи на PHP

function Signature( $params, $api_key )
{
    ksort( $params );
    reset( $params );
    return md5( implode( $params ) . $api_key );
}

Любой запрос должен содержать обязательный параметр timestamp - который в свою очередь должен быть включен в подпись и действителен в течение 60 секунд. Запросить timestamp нужно по адресу: http://onlinesim.ru/delivery-api/get/timestamp.php

Подпись (параметр signature) - md5 хэш, который формируется следующим образом: Все параметры из запроса нужно отсортировать в алфавитном порядке в строку, в конец строки добавить API ключ. При этом последовательность параметров непосредственно в запросе не имеет значения.

Например для запроса #check_balance
таким образом в данном случае подпись будет состоять из параметров login, timestamp и API ключа: Необходима авторизация

balance

Example request:

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/delivery-api/get/balance.php",
    "method": "GET",
    "data" : {
       "login": "username",
       "signature": "Необходима авторизация",
       "timestamp": "1484913326",
    },
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Запрос баланса

В запросе необходимо передать три обязательных параметра login, signature и timestamp

Параметры

Параметр Описание
login Ваш логин
signature подпись
timestamp Timestamp по UTC

Результат

После успешного выполнения будет получен ответ в формате JSON, в следующем виде:

{"money" : "69573.1","currency" : "RUR"}

Результат Описание
money Сумма средств
currency Валюта

status

Example request:

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/delivery-api/get/status.php",
    "method": "GET",
    "data" : {
       "login": "username",
       "signature": "Необходима авторизация",
       "timestamp": "1484913326",
       "state": "100",
    },
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Запрос статусов

В запросе необходимо передать четыре обязательных параметра login, signature, state, timestamp

Параметры

Параметр Описание
login Ваш логин
signature подпись
state ID статуса. Если требуется получить статусы по нескольким СМС, то ID нужно указать через запятую.
timestamp Timestamp по UTC

Результат

После успешного выполнения будет получен ответ в формате JSON, в следующем виде:

{"4091297100348873330001" : "not_deliver","4091297100348880230003" : "not_deliver"}

Результат Описание
4091297100348873330001 id

send

Example request:

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/delivery-api/get/send.php",
    "method": "GET",
    "data" : {
       "login": "username",
       "signature": "Необходима авторизация",
       "timestamp": "1484913326",
       "phone": "9371112233",
       "text": "hello world",
       "sender": "onlineSim",
    },
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Отправка СМС

В запросе необходимо передать шесть обязательных параметров login, signature, phone, text, sender, timestamp

Параметры

Параметр Описание
login Ваш логин
signature подпись
phone Один номер, или список номеров через запятую (не более 50 номеров в одном запросе)
text Текст СМС сообщения
sender Имя отправителя (одно из одобренных на вашем аккаунте)
timestamp Timestamp по UTC

Результат

После успешного выполнения будет получен ответ в формате JSON, в следующем виде:

{"79087156685":{"error":"0", "id_sms":"4092112510348380960001", "cost":"0.5", "count_sms":"1"}}

Результат Описание
79087156685 Номер
id_sms id
cost Сумма
count_sms Колличество смс

template

Example request:

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/delivery-api/get/template.php",
    "method": "GET",
    "data" : {
       "login": "username",
       "signature": "Необходима авторизация",
       "timestamp": "1484913326",
    },
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Запрос списка шаблонов

В запросе необходимо передать три обязательных параметра login, signature, timestamp

Параметры

Параметр Описание
login Ваш логин
signature подпись
timestamp Timestamp по UTC

Результат

После успешного выполнения будет получен ответ в формате JSON, в следующем виде:

{"test" : "{"template":"text", "up_time":"2014-08-28 15:22:25"}","test22" : "{"template":"testtt 1321321231321", "up_time":"2014-08-28 15:39:07"}"}

Результат Описание
template Имя шаблона

add_template

Example request:

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/delivery-api/get/add_template.php",
    "method": "GET",
    "data" : {
       "login": "username",
       "signature": "Необходима авторизация",
       "timestamp": "1484913326",
       "name": "onlinmeSim",
       "text": "Hello World!",
    },
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Запрос списка шаблонов

В запросе необходимо передать пять обязательных параметров login, signature, name, text, timestamp

Параметры

Параметр Описание
login Ваш логин
signature подпись
name Название шаблона
text Текст шаблона
timestamp Timestamp по UTC

Результат

После успешного выполнения будет получен ответ в формате JSON, в следующем виде:

{"id" : "4419373"}

Результат Описание
id id шаблона

senders

Example request:

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/delivery-api/get/senders.php",
    "method": "GET",
    "data" : {
       "login": "username",
       "signature": "Необходима авторизация",
       "timestamp": "1484913326",
    },
    "headers": {
        "accept": "application/json"
    }
}

$.ajax(settings).done(function (response) {
console.log(response);
});

Запрос списка отправителей

В запросе необходимо передать три обязательных параметра login, signature, timestamp

Параметры

Параметр Описание
login Ваш логин
signature подпись
timestamp Timestamp по UTC

Результат

После успешного выполнения будет получен ответ в формате JSON, в следующем виде:

{"smstest":"completed","smstest2":"completed"}

Результат Описание
completed Статус

Коды ошибок

Параметр Описание
000 Сервис отключен
1 Не указана подпись
2 Не указан логин
3 Не указан текст
4 Не указан телефон
5 Не указан отправитель
6 Не корректная подпись
7 Не корректный логин
8 Не корректное имя отправителя
9 Не зарегистрированное имя отправителя
10 Не одобренное имя отправителя
11 В тексте содержатся запрещенные слова
12 Ошибка отправки СМС
13 Номер находится в стоп-листе. Отправка на этот номер запрещена
14 В запросе более 50 номеров
15 Не указана база
16 Не корректный номер
17 Не указаны ID СМС
18 Не получен статус
19 Пустой ответ
20 Номер уже существует
21 Отсутствует название
22 Шаблон уже существует
23 Не указан месяц (Формат: YYYY-MM)
24 Не указана временная метка
25 Ошибка доступа к базе
26 База не содержит номеров
27 Нет валидных номеров
28 Не указана начальная дата
29 Не указана конечная дата
30 Не указана дата (Формат: YYYY-MM-DD)