Для вызова методов API нужно придумать и задать свой секретный ключ в настройках магазина, на вкладке "Подключение магазина". Также, для авторизации, нужно получить Bearer токен с доп. ключом на странице Безопасность. Допустимо не передавать заголовки Authorization
и Sign
Multiexcerpt |
---|
hidden | true |
---|
MultiExcerptName | HTTP Заголовок Sign |
---|
|
В заголовке Sign нужно передать хеш, сформированный из остальных параметров. Хеш формируется по шаблону, которой уникален для каждого метода. Для примера, вот шаблон из метода CreateInvoice : Code Block |
---|
language | text |
---|
title | Шаблон формирования заголовка Sign |
---|
| eshopId::orderId::serviceName::recipientAmount::recipientCurrency::userName::email::successUrl::failUrl::backUrl::resultUrl::expireDate::holdMode::preference::signSecretKey |
В нем signSecretKey - секретный ключ, полученный вместе с Bearer токеном на странице https://lk.intellectmoney.ru/profile/security/api, остальное - параметры передаваемые в метод. Скажем, что вы вызываете метод CreateInvoice со следующими параметрами: Code Block |
---|
language | text |
---|
title | Параметры |
---|
| eshopId: 462539
orderId: myorder
recipientAmount: 10.00
recipientCurrency: RUB
email: e@e.ru |
Для рассчета хеша нужно: Заменить имена параметров в шаблоне их значениями, и подставить секретный ключ вместо signSecretKey . Получаем строку: Code Block |
---|
| 462539::myorder::::10.00::RUB::::e@e.ru::::::::::::::::21baff51c1a342f3ac059e61e0894583 |
Эту строку нужно закодировать в UTF-8 и посчитать от нее хеш SHA256. Получаем хеш: Code Block |
---|
| 1c4e379396faee212c676d500ee12a21354d8f68b1acbc40b64065cd7dcd50fa |
Полученный хеш записываем в заголовок Sign . |
...