Здесь можно задать URL-адреса, на которые при возникновении новых событий для вашего WMID будет отправлен POST-запрос с данными в формате JSON



Если вы являетесь администратором Бюджетного автомата (Capitaller.ru\.com) и хотите авторизоваться от имени WMID, авторизуйтесь здесь


Типы событий (EventType):
 WmMessage = 4,
 WmTransaction = 6,
 WmInInvoice = 8,
 WmRejectedInvoice = 10,
 WmOutgoingTransaction = 30,

Пример данных для 2 сообщений (тип события WmMessage):
[{
    "EventType": 4,
    "Text": "12345 test",
    "Subject": "",
    "Id": 518230071,
    "CorrespondentNick": "5dd5f75c-98a3-4e9a-934f-12dce7811d18",
    "CorrespondentWmid": "000000000000",
    "UserWmid":"000000000002",
    "EventDateUtc": "2025-06-30T09:55:37.97Z"
},
{
    "EventType": 4,
    "Text": "67890 test",
    "Subject": "",
    "Id": 518230072,
    "CorrespondentNick": "5dd5f75c-98a3-4e9a-934f-12dce7811d18",
    "CorrespondentWmid": "000000000000",
    "UserWmid":"000000000002",
    "EventDateUtc": "2025-06-30T09:57:11.23Z"
}]
Пример данных для входящей транзакции:
[{
    "EventType": 6,
    "Purpose": "test incoming transaction comment",
    "Currency": "WMT",
    "Amount": 154.98,
    "SenderPurse": "T000000000000",
    "ReceiverPurse": "T000000000002",
    "InvoiceId": 0,
    "Id": 1000000335,
    "CorrespondentNick": "5dd5f75c-98a3-4e9a-934f-12dce7811d18",
    "CorrespondentWmid": "000000000000",
    "UserWmid": "000000000002",
    "EventDateUtc": "2025-06-30T09:59:37.97Z"
}]
Пример данных для исходящей транзакции:
[{
    "EventType": 30,
    "Purpose": "test outgoing transaction comment",
    "Currency": "WMT",
    "Amount": 19.11,
    "SenderPurse": "T000000000002",
    "ReceiverPurse": "T000000000000",
    "InvoiceId": 13212275,
    "Id": 1000000336,
    "CorrespondentNick": "5dd5f75c-98a3-4e9a-934f-12dce7811d18",
    "CorrespondentWmid": "000000000000",
    "UserWmid": "000000000002",
    "EventDateUtc": "2025-06-30T09:59:39.97Z"
}]
Пример данных для входящего счета:
[{
    "EventType": 8,
    "Description": "test invoice comment",
    "Amount": 100.23,
    "Currency": "WMZ",
    "IssuerPurse": "Z211111111147",
    "Id": 13212271,
    "CorrespondentNick": "5dd5f75c-98a3-4e9a-934f-12dce7811d18",
    "CorrespondentWmid": "000000000000",
    "UserWmid": "000000000002",
    "EventDateUtc": "2025-06-30T09:58:37.97Z"
}]
Пример данных для отказа от оплаты исходящего счета:
[{
    "EventType": 10,
    "Description": "test invoice comment",
    "Amount": 2.00,
    "Currency": "WMG",
    "IssuerPurse": "G000000000002",
    "Id": 13212255,
    "CorrespondentNick": "5dd5f75c-98a3-4e9a-934f-12dce7811d18",
    "CorrespondentWmid": "000000000000",
    "UserWmid": "000000000002",
    "EventDateUtc": "2025-06-30T09:59:49.97Z"
}]


Проверка подлинности запроса:

При необходимости вы можете проверить подлинность пришедшего запроса. Для этого надо взять значение secret из таблицы (рядом с URL), значение requestId из заголовка (HTTP header) X-WM-PUSH-REQUEST-ID и посчитать hash с помощью GetBase64Hash. Полученный результат сравнить со значением заголовка X-WM-PUSH-HASH.:
private static string GetBase64Hash(string requestId, string secret)
{
    var encoding = Encoding.UTF8;
    var convolutionBytes = encoding.GetBytes(requestId);
    var secretBytes = encoding.GetBytes(secret);
    using (var hasher = HMAC.Create("HMACSHA256"))
    {
        hasher.Key = secretBytes;
        return Convert.ToBase64String(hasher.ComputeHash(convolutionBytes));
    }
}