Как сформировать сигнатуру (md5-подпись) для запроса к API поиска отелей?

Как сформировать сигнатуру (md5-подпись) для запроса к API поиска отелей?

Допустим, наш запрос имеет вид:

http://engine.hotellook.com/api/v2/search/start.json?iata=HKT&checkIn=2020-06-10&checkOut=2020-06-13&adultsCount=2&customerIP=192.168.1.1&childrenCount=1&lang=ru&currency=USD&timeout=20&waitForResult=0

Значит, у нас имеются следующие параметры запроса:

  • iata=HKT;
  • checkIn=2020-06-10;
  • checkOut=2020-06-13;
  • adultsCount=2;
  • customerIP=192.168.1.1;
  • childrenCount=1;
  • lang=ru;
  • currency=USD;
  • timeout=20;
  • waitForResult=0.

Отсортируем их по алфавиту:

  • adultsCount=2;
  • checkIn=2020-01-10;
  • checkOut=2020-01-13;
  • childrenCount=1;
  • currency=USD;
  • customerIP=192.168.1.1;
  • iata=HKT;
  • marker=16886;
  • lang=ru;
  • timeout=20;
  • waitForResult=0.

Теперь запишем значения отсортированных параметров через двоеточие и добавим перед ними партёерский токен и маркер (их вы найдете в личном кабинете партнёра):

321d6a221f8926b5ec41ae89a3b2ae7b:16886:2:2020-06-10:2020-06-13:1:USD:192.168.1.1:HKT:ru:20:0

Данная строка используется для создания сигнатуры. В результате получим: 441d54e270cf64e574909459dbc17d10.

Теперь, чтобы создать запрос, необходимо взять параметры запроса, добавить к ним партнёрский маркер, сигнатуру и записать через & в строку поиска:

http://engine.hotellook.com/api/v2/search/start.json?iata=HKT&checkIn=2020-06-10&checkOut=2020-06-13&adultsCount=2&customerIP=192.168.1.1&childrenCount=1&lang=ru&currency=USD&timeout=20&waitForResult=0&marker=16886&signature= 441d54e270cf64e574909459dbc17d10

Была ли эта статья полезной?

Еще есть вопросы? Отправить запрос