NAV

Прием СМС

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

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

Run in Postman

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

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

  1. Запросить виртуальный номер, получить TZID (уникальный номер зарегистрированной операции) - метод getNum;
  2. Получить мобильный номер по TZID, ввести номер в форму подтверждения на необходимом сайте (сервисе) – метод getState;
  3. Запустить цикл, который будет проверять поступление ответа - метод getState;
  4. Если ответ верный — завершить операцию – метод setOperationOk;
  5. Если ответ не подошел — запросить уточнение – метод setOperationRevise;
  6. Завершить операцию – метод setOperationOk;

Для того чтобы использовать 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, …, … }

Результат Описание
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 обязательный TEXT email
password обязательный TEXT пароль
password_confirmation обязательный TEXT подтверждение пароля в зашифрованном виде см. Шифрование, минимальное количество символов - 10, TEXT (строковый тип)
dev_key обязательный TEXT
terms обязательный BOOL согласие с правилами сервиса, true/false - согласен/не согласен

Результат

После успешного выполнения получите ответ в формате 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 обязательный TEXT пароль
dev_key обязательный TEXT

Результат

После успешного выполнения получите ответ в формате 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 обязательный TEXT определяет cайт (сервис) от которого будет ожидаться и отображаться СМС. Принимает одно из значений, можно передавать оба варианта:
Вариант 1Вариант 2Название сайта(сервиса)
VKcomvkВконтакте
3223facebookFacebook
MailRumailruMailRu
OdklruclassmatesОдноклассники
GooglegmailGMail
YandexyandexYandex
AvitoavitoAvito
YoulayoulaYoula
ViberviberViber
WhatsAppwhatsappWhatsApp
TelegramtelegramTelegram
FastFrienddrugvokrugДругВокруг
InstagraminstagramInstagram
WeChatwechatWeChat
SteamsteamSteam
UberuberUber
MicrosoftmicrosoftMicrosoft
7otherДругие сайты

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

form необязательный INT вид приема (онлайн прием — 1, отложенный прием — 3) по умолчанию 3
forward_number необязательный INT номер телефона для переадресации, без +7
forward_minutes необязательный INT значение баланса на номере для переадресации, при достижении которого, происходит авто-пополнение (минимальное значение - 0, максимальное - 50, измеряется в минутах 2р./мин.)
clean_call необязательный INT (1 - включено, 0 - выключено) cокращает количество не целевых звонков
simoperator необязательный INT 25001 - МТС
25002 - Мегафон
25099 - Билайн
25020 - Tele2
extension необязательный INT 1 - номера с возможностью продления срока действия и повторного получения СМС
2 - номера с возможностью повторного получения СМС
3 - номера без обслуживания
0, либо не передавать параметр - любой вариант обслуживания
region необязательный INT Без параметра - любой регион
78 - Санкт-Петербург
77 - Москва

Результат

После успешного выполнения получите ответ в формате 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 добавление операций с одинаковыми параметрами
ACCOUNT_IDENTIFICATION_REQUIRED Пройдите идентификацию для получения СМС от данного сервиса

Тестирование

/demo/api/getNum.php?apikey=api_key&service=VKcom

Метод вернет сгенерированные тестовые данные. Для тестирования ошибок передайте в качестве параметра err необходимую ошибку. Например err=EXCEEDED_CONCURRENT_OPERATIONS

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);
});

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

Параметры

Название параметра Параметр Тип данных Описание
tzid обязательный INT идентификатор операции

Результат

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

{response:RESPONSE, TZID:tzid}

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

RESPONSE

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

getState

Пример

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

// ajax

var settings = {
    "async": true,
    "crossDomain": true,
    "url": "http://onlinesim.ru/api/getState.php?apikey=api_key",
    "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
msg_list необязательный INT Тип списка сообщений, 1 - список, 0 - активное сообщение

Результат

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

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

Результат Описание
response 1, если запрос выполнен успешно, либо сообщение об ошибке
tzid id операции
service сервис, значения такие же как в методе getNum
number выделенный виртуальный номер
msg код из смс
time время до завершения операции;
form вид приема (онлайн прием — index, отложенный прием — deferr)
forward_status статус активации переадресации (от 0 - 9 см. Помощь – Статусы переадресации)
forward_number номер для переадресации

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 нет операций

Тестирование

/demo/api/getState.php?apikey=api_key

Метод вернет сгенерированные тестовые данные.

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}

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

RESPONSE

Результат Описание
ERROR_WRONG_TZID неверный номер операции.
ACCOUNT_IDENTIFICATION_REQUIRED Пройдите идентификацию для получения СМС от данного сервиса
NO_COMPLETE_TZID невозможно завершить операцию.

Тестирование

/demo/api/setOperationOk.php?apikey=api_key&tzid=1234

Метод вернет сгенерированные тестовые данные. Для тестирования ошибок передайте в качестве параметра err необходимую ошибку. Например err=ERROR_WRONG_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","...","..."]}

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

Тестирование

/demo/api/getService.php?apikey=api_key

Метод вернет сгенерированные тестовые данные.

getServiceNumber

Пример

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

// ajax

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

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

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

Параметры

Название параметра Параметр Тип данных Описание
service обязательный TEXT принимает одно из значений полученных методом getService

Результат

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

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

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

RESPONSE

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

Тестирование

/demo/api/getServiceNumber.php?apikey=api_key&service=VKcom

Метод вернет сгенерированные тестовые данные. Для тестирования ошибок передайте в качестве параметра err необходимую ошибку. Например err=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);
});

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

Параметры

Название параметра Параметр Тип данных Описание
service обязательный TEXT принимает одно из значений полученных методом getService
number обязательный INT принимает одно из значений полученных методом getServiceNumber

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 необходимо продлить номер см. вкладку «Продление»

Тестирование

/demo/api/getNumRepeat.php?apikey=api_key&service=1234&number=1234

Метод вернет сгенерированные тестовые данные. Для тестирования ошибок передайте в качестве параметра err необходимую ошибку. Например err=TRY_AGAIN_LATER

forwardingList

Пример

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

// ajax

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

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

Выводит список всех переадресаций

Параметры

Название параметра Параметр Тип данных Описание
id необязательный INT уникальный номер переадресации, для вывода конкретной переадресации
page необязательный INT порядковый номер страницы, по 10шт. на странице
sort необязательный TEXT сортировка, пример: {"number":"DESC","forward_number":"ASC"} 1 - имя поля для сортировки, 2 - тип сортировки (ASC,DESC)

Результат

После успешного выполнения будет получен ответ в формате 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 массив из списка переадресаций, и данные по каждой переадресации

{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_user id пользователя
minutes остаток минут
status текущий статус переадресации:
1 - Работает
2 - Заблокирована
3 - Завершена
4 - Замена номера
5 - Отправлена на блокировку
6 - Ожидает завершения
number виртуальный номер, с которого установлена переадресация
forward_number номер телефона, на который установлена переадресация
extension автоматическое продление (true - включено, false - выключено)
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 обязательный INT уникальный номер переадресации, полученный методом forwardingList
minutes необязательный INT минимальное количество минут для разговора, автоматически поддерживаемое сервисом, 0 - выключение авто-пополнения
auto необязательный BOOL true/false - установить/отключить автопродление на виртуальном номере,
forward_number необязательный INT номер телефона, на который установлена переадресация
max_minutes необязательный INT общая сумма авто-пополнений. При достижении авто-пополнение выключается. 0 - без ограничений

Результат

После успешного выполнения будет получен ответ в формате 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 обязательный INT уникальный номер переадресации, полученный методом forwardingList

Результат

После успешного выполнения будет получен ответ в формате 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 обязательный INT уникальный номер переадресации, полученный методом forwardingList

Результат

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

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

Параметр Описание
forwardPaymentsList массив из списка платежей, и данные по каждой платежу

{"id":10545,"forward_id":12048,"number":9811957337,"sum":13,"status":3,"created_at":"2016-12-26 12:38:04"},...

Название параметра Описание
id уникальный номер платежа
forward_id уникальный номер переадресации
number виртуальный номер, с которого установлена переадресация
sum сумма пополнения с комиссией
status текущий статус платежа:
1 - Создан
2 - Отправлен на оплату
3 - Зачислен
created_at дата и время создания платежа

Отправка СМС

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

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

Run in Postman

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

Onlinesim.ru API предоставляет Вам возможность использовать наш сервис в автоматическом режиме.

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

Подпись

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

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

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

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

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

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

Получившийся результат преобразовать в строку 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": "1508423987",
    },
    "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": "1508423987",
       "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": "1508423987",
       "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": "1508423987",
    },
    "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": "1508423987",
       "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": "1508423987",
    },
    "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)