Формирование цифровой подписи api-signature

Зачастую возникает вопрос о формировании цифровой подписи для использования api SmartCallBack. Рассмотрим более подробно способ формирования api-signature.

Рассмотрим задачу на примере метода getQueryList

У нас есть набор статических параметров:

  • const API_TOKEN = 'апи-токен';
  • const SIGNATURE = 'сигнатура';
  • public static $CLIENT_ID = 'клиент-ид';

Получаем данные:

за период с 01/01/2017 до 02/01/2017

1483218000 до 1514840400 в unix соответственно.

1 Формируем набор параметров в единую строку

получаем строку:

14832180001514840400клиент-идапи-токесигнатура

2 кодируем нашу строку в md5:

далее уже кодируем в md5 и получаем f6135d15e1429d67377ef38f905d6834 

Полученную цифровую подпись необходимо добавить к передаваемым POST параметрам в качества параметра apiSignature.

Сам ключ Signature не передается в открытом виде при обращениях к API SmartCallBack.

Отправляемая страница будет выглядеть как:

Важно:

  • Signature чувствительна к регистру.

15r1429d67377ef38f905d6834 != 15R1429D67377EF38F905D6834