Быстрый старт
Первый вызов скоринга за 5 минут — curl и C#
Быстрый старт
Этот гайд проведёт вас от получения ключа до первого ответа скоринга за
5 минут. Готовые примеры на curl и C# можно скопировать и запустить.
Что вам нужно
| Ресурс | Описание | Где получить |
|---|---|---|
| Ключ | Строка X-KA-Access-Key (scoped, только скоринг-ручки) | Владелец платформы Syncra |
| Базовый URL | Стейдж https://api-stage.syncra.money/api/v1/scoring | Владелец платформы (по окружению) |
| sellPointKey | Ваш стабильный идентификатор точки продажи (≤256 симв.) | Придумаете сами, один на точку |
| clientIdKey | Ваш стабильный идентификатор клиента (≤256 симв.) | Ваша система учёта клиентов |
Ключ — единственный секрет в интеграции. Храните его как секрет (переменная окружения, secret manager) и не вшивайте в код репозитория.
Шаг 1. Первый вызов score
curl -s -X POST "$BASE/v1/client/score" \
-H "X-KA-Access-Key: $SCORING_KEY" \
-H "Content-Type: application/json" \
-d '{
"sellPointKey": "my-shop-ru-1",
"clientIdKey": "client-4711",
"amountRequested": "1500.00",
"toPayCurrency": "RUB",
"selectedMethodKey": "card_ru",
"fingerprint": "9f8e2ab41c",
"ip": "203.0.113.7",
"userAgent": "MyPlatform/1.0 (Windows NT 10.0; Win64; x64)"
}'Ответ:
{
"clientGroup": "NEW",
"paymentScore": "0.5000",
"isBot": false
}Клиент впервые на платформе — нейтральный скор, не бот.
Шаг 2. Первый вердикт
Перед выдачей реквизита спросите платформу:
curl -s -X POST "$BASE/v1/client/verdict" \
-H "X-KA-Access-Key: $SCORING_KEY" \
-H "Content-Type: application/json" \
-d '{
"sellPointKey": "my-shop-ru-1",
"clientIdKey": "client-4711",
"method": "card_ru",
"amountRequested": "1500.00",
"orderRef": "order-100500"
}'Ответ:
{
"verdict": "GET_NEW",
"reason": "ladder level 1 granted",
"ruleVersion": "p2.v10",
"isBot": false
}GET_NEW — реквизит можно выдавать. Повторите запрос через минуту —
увидите WAIT с waitSeconds: это cooldown-лестница защищает реквизиты
от перебора.
Шаг 3. C# за минуту
Готовый клиент без внешних зависимостей:
examples/ScoringClient.cs в
репозитории спеки (System.Text.Json). Минимальный вызов:
var client = new ScoringClient(baseUrl, accessKey);
var score = await client.ScoreAsync(new ScoreRequest {
SellPointKey = "my-shop-ru-1",
ClientIdKey = "client-4711",
AmountRequested = "1500.00",
SelectedMethodKey = "card_ru",
});
Console.WriteLine($"{score.ClientGroup} {score.PaymentScore} bot={score.IsBot}");Частые ошибки старта
| Симптом | Причина | Решение |
|---|---|---|
401 unknown X-KA-Access-Key | ключ не передан или опечатка | проверьте заголовок |
400 malformed JSON body | сумма передана JSON-числом | "amountRequested": "1500.00" |
403 not provisioned | ключ выдан не на эту ручку | запросите scope у владельца |
| Долгий ответ / разрыв | превышен бакет ~20 rps на IP | уменьшите частоту, добавьте retry |