Документация по HTTP API для разработчика

Взаимодействие с API осуществляется по протоколу HTTP или HTTPS, параметры передаются методом GET или POST.
В разделе API личного кабинета добавьте проект который будет использовать API функции.
Все запросы должны содержать параметр project(имя проекта) и параметр sign(подпись) или apikey(рекомендуется использовать sign).
Для формирования подписи sign понадобится API key проекта, посмотреть его можно на странице API личного кабинета.


Формирование параметра sign(подпись)

Параметр sign формируется следующим образом:

  • параметры сортируются по названию, затем их значения суммируются, между значениями ставится символ точка с запятой. В конце добавляется API KEY.
    Пример для запроса с параметрами param2=параметр2&param1=параметр1
    в результате сортировки порядок изменится на param1 param2
    и затем step1 = параметр1 + ';' + параметр2 + ';' + API KEY
  • к полученной на предыдущем шаге строке применяются функции хеширования sha1, а затем md5.
    Пример sign = md5(sha1(step1))

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

curl -X GET http://sms.notisend.ru/api/message/send \
                  -H 'Accept: application/json'               \
                  -F project=notisend                         \
                  -F sender=NotiSend                          \
                  -F message=test                             \
                  -F recipients=89031231234                   \
                  -F sign=3eb8e51846f271ea09378b4d1a597345
                  

для примера параметр API key = a1329b954831c в таком случае параметр sign будет расчитан так:

  • Шаг 1: достаем параметры, сортируем их в алфавитном порядке и суммируем в строку через точку с запятой и добавляем в конце API key, в результате получим строку
    step1 = params.sort.join(';') + ';' + apikey
    step1 = "test;notisend;NotiSend;89031231234;a1329b954831c"
  • Шаг 2: Применяем к полученой строке sha1
    step2 = sha1(step1)
    step2 = "e9336cf11651384c2ddda7e0d8a2b07de60d5720"
  • Шаг 3: Применяем к полученой строке md5
    sign = md5(step2)
    sign = "3eb8e51846f271ea09378b4d1a597345"

Что-то не получается? свяжитесь с нами, мы поможем