AI ПаделДокументация API На сайт

Интеграция с 1С

Приём платежей клуба из 1С на кошельки игроков. Доступ — токен 1С в заголовке X-1C-Token.

Базовый адрес: https://адрес-вашего-сервера/api · Руководство по разделу: Интеграция с 1С

Проверка связи и токена #

GET/v1/integrations/1c/ping

Доступ: Токен 1С Заголовок X-1C-Token: <токен 1С>.

Проверяет токен и возвращает счётчики принятых платежей: всего и несопоставленных (unmatched). Вызывайте при настройке обмена и перед выгрузкой.

Заголовки

ИмяТипОбязательноОписание
X-1C-TokenстрокадаТокен интеграции 1С

Пример запроса

curl -X GET "https://адрес-вашего-сервера/api/v1/integrations/1c/ping" \
  -H "X-1C-Token: <токен 1С>"

Ответы

КодdetailЗначение
200—Успешный ответ; пример ниже
401bad_1c_tokenНеверный токен 1С или интеграция выключена
422[…]Ошибка проверки параметров или тела: detail — список ошибок

Пример ответа

{"ok": true, "payments": 128, "unmatched": 3}

Приём пачки платежей из 1С #

POST/v1/integrations/1c/payments

Доступ: Токен 1С Заголовок X-1C-Token: <токен 1С>.

Принимает пачку от 1 до 500 платежей. Платёж определяется полем ext_id (номер документа оплаты в 1С): повторная отправка того же ext_id ничего не зачисляет и возвращается с result=duplicate, поэтому пачку можно безопасно отправлять повторно. Игрок ищется по телефону: найден — сумма зачисляется на его кошелёк (applied); нет игрока с таким телефоном — платёж сохраняется как unmatched и зачисляется позже через повторное сопоставление; телефон не распознан — rejected с error=bad_phone.

Заголовки

ИмяТипОбязательноОписание
X-1C-TokenстрокадаТокен интеграции 1С

Тело запроса application/json

ПолеТипОбязательноОписание
paymentsмассив [объект]даПлатежи, от 1 до 500
элементов от 1; элементов до 500
payments[].ext_idстрокадаНомер документа оплаты в 1С — ключ идемпотентности
длина от 1; длина до 64
payments[].phoneстрокадаТелефон игрока: +7XXXXXXXXXX, 8XXXXXXXXXX или 10 цифр
длина от 10; длина до 20
payments[].amountцелоедаСумма в целых рублях, больше 0 и не больше 1 000 000
больше 0; не больше 1000000
payments[].paid_atстрока (дата и время)даДата и время оплаты (ISO 8601)
payments[].purposeстроканетНазначение — попадёт в историю кошелька игрока
длина до 200
payments[].kindстроканетВид: topup, membership, booking, other (иное — other)
длина до 12; по умолчанию "topup"

Пример запроса

curl -X POST "https://адрес-вашего-сервера/api/v1/integrations/1c/payments" \
  -H "X-1C-Token: <токен 1С>" \
  -H "Content-Type: application/json" \
  -d '{
  "payments": [
    {
      "ext_id": "00-000123",
      "phone": "+79000000001",
      "amount": 3500,
      "paid_at": "2026-10-02T10:15:00+03:00",
      "purpose": "Бронь корта",
      "kind": "booking"
    }
  ]
}'

Ответы

КодdetailЗначение
200—Успешный ответ; пример ниже
401bad_1c_tokenНеверный токен 1С или интеграция выключена
422[…]Ошибка проверки параметров или тела: detail — список ошибок

Пример ответа

{
  "ok": true,
  "applied": 1,
  "unmatched": 1,
  "duplicate": 0,
  "rejected": 0,
  "items": [
    {
      "ext_id": "00-000123",
      "phone": "+79000000001",
      "amount": 3500,
      "kind": "booking",
      "purpose": "Бронь корта",
      "paid_at": "2026-10-02T10:15:00+03:00",
      "status": "applied",
      "error": "",
      "user_id": "3d6e9a10-5b2c-4f8e-a1d7-6c4b2e0f9a83",
      "applied_at": "2026-10-02T07:15:04+00:00",
      "result": "applied"
    },
    {
      "ext_id": "00-000124",
      "phone": "+79000000002",
      "amount": 2000,
      "kind": "topup",
      "purpose": "",
      "paid_at": "2026-10-02T10:20:00+03:00",
      "status": "unmatched",
      "error": "no_user_with_phone",
      "user_id": null,
      "applied_at": null,
      "result": "unmatched"
    }
  ]
}

Сверка платежей #

GET/v1/integrations/1c/payments

Доступ: Токен 1С Заголовок X-1C-Token: <токен 1С>.

Список принятых облаком платежей для сверки с 1С, новые первыми. Фильтры: status (applied, unmatched, rejected), since — время приёма не раньше указанного, limit — от 1 до 1000 (по умолчанию 200).

Параметры запроса

ИмяТипОбязательноОписание
statusстроканетФильтр статуса: applied, unmatched, rejected
sinceстрока (дата и время)нетВремя приёма не раньше (ISO 8601)
limitцелоенетСколько записей вернуть
не меньше 1; не больше 1000; по умолчанию 200

Заголовки

ИмяТипОбязательноОписание
X-1C-TokenстрокадаТокен интеграции 1С

Пример запроса

curl -X GET "https://адрес-вашего-сервера/api/v1/integrations/1c/payments?status=unmatched&since=2026-10-01T00:00:00%2B03:00&limit=200" \
  -H "X-1C-Token: <токен 1С>"

Ответы

КодdetailЗначение
200—Успешный ответ; пример ниже
401bad_1c_tokenНеверный токен 1С или интеграция выключена
422[…]Ошибка проверки параметров или тела: detail — список ошибок

Пример ответа

{
  "items": [
    {
      "ext_id": "00-000124",
      "phone": "+79000000002",
      "amount": 2000,
      "kind": "topup",
      "purpose": "",
      "paid_at": "2026-10-02T10:20:00+03:00",
      "status": "unmatched",
      "error": "no_user_with_phone",
      "user_id": null,
      "applied_at": null
    }
  ]
}

Повторно сопоставить несопоставленные платежи #

POST/v1/integrations/1c/payments/retry

Доступ: Токен 1С Заголовок X-1C-Token: <токен 1С>.

Повторно ищет игроков для всех платежей в статусе unmatched и зачисляет найденным. Нужен после того, как игроки зарегистрировались в приложении. Тела нет.

Заголовки

ИмяТипОбязательноОписание
X-1C-TokenстрокадаТокен интеграции 1С

Пример запроса

curl -X POST "https://адрес-вашего-сервера/api/v1/integrations/1c/payments/retry" \
  -H "X-1C-Token: <токен 1С>"

Ответы

КодdetailЗначение
200—Успешный ответ; пример ниже
401bad_1c_tokenНеверный токен 1С или интеграция выключена
422[…]Ошибка проверки параметров или тела: detail — список ошибок

Пример ответа

{"ok": true, "checked": 3, "applied": 1}