Подпись HTTP-запросов

Авторизация с помощью секретного токена и подписи

При обращении к API платформы через HTTP предпочтительным способом авторизации секретный токен.

Создавать новые токены можно в разделе "Настройки" личного кабинета:


Для авторизации используется цифровая подпись, формирующаяся по следующему алгоритму: md5(params + token)
Где token — Ваш секретный токен, а params — конкаитенация пар "имя=значения", отсортированных в алфавитном порядке по имени, где "имя" — это параметр запроса, а "значение" — его значение. В расчете учитываются все параметры запроса, кроме sig

Например, если существует активный секретный токен 2LsWvGkYYOjyPw3GWbp5L и в запросе учавствуют следующие параметры:

Параметр Значение
login user
sender terasms.ru
target 71234567890
msg hello.
Подпись должна быть сформирована следующим образом: md5(login=usermessage=hello.sender=terasms .rutarget=712345678902LsWvGkYYOjyPw3GWbp5L)

Обратите внимание, что все параметры запроса при формировании подписи отсортированы в алфавитном порядке по имени. Запрос в таком случае будет выглядеть следующим образом:
https://terasms.ru/outbox/send?login=user&sender=terasms.ru&target=71234567890&msg=hello.&sign= 6e3c553a736fea7af821553c2b14b88e

При формировании запроса в форматах JSON и XML логика формирования подписи аналогична.

В случае, если какой-либо из параметров JSON-запроса представляет собой список, в подпись должны добавляться все элементы этого списка в порядке их перечисления. Для каждого элемента списка необходимо добавить все пары его ключей и значений.

Пример формирования подписи JSON запроса:

Запрос:

> POST http://auth.terasms.ru/outbox/msend_json
{
	"login": "login",
	"smsPackage": [
		{
			"target": 78002223344,
            "sms_id": 1,
			"sender": "terasms.ru",
			"message": "test"
		},
		{
			"target": 78002223345,
            "sms_id": 2,
			"sender": "terasms.ru",
			"message": "test2"
		}
	]
} 
Токен: 2LsWvGkYYOjyPw3GWbp5L

Формирование подписи: md5(login=loginmessage=testsender=terasms.rusms_id=1 target=78002223344message=test2sender=terasms.rusms_id=2 target=780022233452LsWvGkYYOjyPw3GWbp5L)

Сформированный запрос:

> POST http://auth.terasms.ru/outbox/msend_json
{
	"login": "login",
	"smsPackage": [
		{
			"target": 78002223344,
            "sms_id": 1,
			"sender": "terasms.ru",
			"message": "test"
		},
		{
			"target": 78002223345,
            "sms_id": 2,
			"sender": "terasms.ru",
			"message": "test2"
		}
	],
    "sign": "7e108866c1b4d6a186fb0c87be5aaf92"
}

Авторизация с помощью логина и пароля

При формировании запроса Вы также можете использовать Ваш логин и пароль на Платформе. Логин передаётся в виде параметра login, пароль ‐ в виде параметра password

Пример запроса: https://auth.terasms.ru/outbox/send?login=user&password=secret&sender=terasms.ru&target=71234567890&message=hello.

Готовы начать работу?
Если остались вопросы, свяжитесь с нами по телефону: 8 800 555-9412