TL;DR

Вы можете скачать готовую библиотеку для выполнения запросов к API, реализованную на одном из представленных языков:

Соглашение

Наш API работает по протоколу HTTP, и спроектирован по образу и подобию техники REST с некоторыми отличиями. Все запросы к API должны обязательно отправляться в формате json, и сопровождаться заголовком Content-Type: application/json.
Все ответы от API приходят в формате json, и так-же, сопровождаются заголовком Content-Type: application/json.

Все запросы на получение данных по умолчанию посылаются запросом GET.

Все запросы на получение данных, с использованием фильтров, или дополнительными параметрами, посылаются методом POST, телом запроса должен быть JSON объект с фильтром.

Об успешности запроса следует судить по HTTP заголовку ответа Status Code. Если Status Code равен 200, то запрос успешно выполнен, иначе произошла какая-либо ошибка. Текст с сообщением об ошибке отправляется в теле ответа в формате json.

Запросы к API

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

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

Введите имя приложения, и нажмите "Создать", будет создан клю доступа к API. Вы сможете увидеть его в верхней части страницы с ключами.

Кроме того, вы увидите так-же, id созданного приложения, и его название. Если вы утратите ключ от приложения, либо у вас появилось подозрение, что у вас его украли, вы сможете перегенерировать ключ.

Обратите внимание: удалить созданные ключи невозможно

Ваш первый запрос

В нашем API существует не существует публичных методов, т.е., вы не сможете сделать получить ответ на запрос без app_id, и подписи hash

Все запросы необходимо отправлять по следующему url: http://tempsms.ru/api/v2

Для того, чтобы производить запросы к нашему api, требующие авторизации, вам кроме всего прочего, необходимо сгенерировать подпись для вашего запроса, и передавать его в качестве значения аргумента hash. Кроме того, необходимо так-же передавать аргумент app_id, значением которого будет ID приложения в списке созданных вами ключей.

Алгоритм генерации подписи запросов

Алгоритм генерации подписи, которая обязательно должна передаваться в значении параметра hash вычисляется по довольно простой формуле.

Предположим, что для создания тела запроса вы используете ассоциативный массив с данными. тогда, для создания подписи, вам необходимо отсортировать массив с данными по ключам, в алфавитном порядке по убыванию, а дальше объединить содержимое массива при помощи конкатенации ключа и значения через знак "равно" (key=value), и полученные пары значений дополнительно конкатенировать между собой с помощью строки ".!.", т.е., получится что-то вроде этого: key=value.!.key1=value1.!.keyN=valueN

Подписью будет значение, вычисленное алгоритму sha256 от конкатенированной строки выше с хэшем вашего ключа, вычисленного по алгоритму sha256:

hash = sha256(key=value.!.key1=value1.!.keyN=valueNsha256(MySecret))

Например, вы хотите сделать запрос к методу api phone/free-numbers, app_id = 1, secret = MySecret и получить только активные номера. Тогда, массив с данными у вас будет выглядеть так:

    $data = [
        'app_id' => 1,
        'active' => true,
    ];

В целом, алгоритм генерации подписи на языке программирования PHP будет выглядеть так:

    krsort($data);
    $chunks = [];
    foreach ($data as $k => $v)
    {
        $chunks[] = $k . '=' . $v;
    }
    $to_hash = implode('.!.', $chunks);

    $hash = hash('sha256', $to_hash . $secret);

Список доступных методов