...
В заголовке Authorization
нужно передать Bearer токен в формате Bearer 92022dd8245a56d8a73446b43ebb3590
. Bearer token (с секретным ключом) можно запросить тут: https://lk.intellectmoney.ru/profile/security/api. в личном кабинете.
![[Screenshot_18.png]]
HTTP заголовок Sign
В заголовке Sign
нужно передать хеш, сформированный из остальных параметров. Хеш формируется по шаблону, которой уникален для каждого метода. Для примера, вот шаблон из метода CreateInvoice
:
Code Block | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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
.
...
У каждого метода API имеется параметр hash
. В него нужно передать хеш, формируемый подобно хешу из заголовка Sign
. Чтобы рассчитать этот хеш, нужно использовать шаблон, уникальный для каждого метода. К примеру, вот шаблон из метода CreateInvoice
:метода CreateInvoice
:
Code Block | ||||
---|---|---|---|---|
| ||||
eshopId::orderId::serviceName::recipientAmount::recipientCurrency::userName::email::successUrl::failUrl::backUrl::resultUrl::expireDate::holdMode::preference::secretKey |
...
ЗдесьsecretKey
- ключ, заданный в личном кабинете в настройках магазина. Это ключ, как и весь шаблон, не связаны с ключем и шаблоном из заголовкаSign
.
Возьмем такие параметры для примера:
Code Block | ||||
---|---|---|---|---|
| ||||
eshopId: 462539
orderId: myorder
recipientAmount: 10.00
recipientCurrency: RUB
email: e@e.ru |
...
Для расчета параметра hash
нужно:
- Заменить имя каждого параметра его значением, и подставить секретный ключ вашего магазина вместо
secretKey
:
Code Block | ||
---|---|---|
| ||
462539::myorder::::10.00::RUB::::e@e.ru::::::::::::::::my_very_secret_key |
...
- Закодировать полученную строку в UTF-8 и расчитать её MD5 хеш:
Code Block | ||
---|---|---|
| ||
7a97ff0cda3d7593c1a69a04d0a78a13 |
...
Полученный хеш нужно передать в параметре hash
.
...