Перейти к основному содержимому

Общая информация

Принцип работы

  • Программный интерфейс построен по принципам REST на основе спецификации JSON-API
  • При отправке запросов необходимо отправлять HTTP-заголовок Content-Type=application/json
  • Тайм-аут на получение ответа от API: 1 минута

Для запросов с телом необходимо передавать заголовок:

Content-Type: application/json

Окружения

Production

https://dg-api.wata.pro/api

Аутентификация

Для доступа к API используется Bearer-аутентификация на основе JWT-токена (далее, access token).

Access token передается в каждом защищенном запросе в HTTP-заголовке:

Authorization: Bearer <access_token>

Access token можно получить в личном кабинете мерчанта:

  1. Получите приглашение от вашего личного менеджера по email
  2. Перейдите по ссылке из письма, чтобы задать пароль
  3. После создания пароля авторизуйтесь в личном кабинете мерчанта (https://merchant.wata.pro/login)
  4. В разделе «Терминалы» нажмите на плашку с терминалом
  5. Справа откроется панель с настройками, в ней нужно создать токены. Всего можно создать от 1 до 5 токенов
  6. Придумайте название и выберите время жизни токена. Время жизни access token составляет от 1 до 12 месяцев
  7. После истечения этого времени запросы к API начнут возвращать 401 HTTP статус код. Позаботьтесь о создании напоминания, чтобы заблаговременно перевыпустить access token в личном кабинете и заменить у себя в системе.

Важно:

  • Храните access token в безопасном месте
  • WATA не хранит access token в открытом виде
  • Восстановить существующий access token нельзя
  • При необходимости сгенерируйте новый access token
  • Выбирайте осознанно срок жизни access token — от 1 до 12 месяцев
  • После истечения срока действия API будет возвращать HTTP 401.

Ограничение частоты запросов

Для стабильной работы сервиса и защиты API от polling-нагрузки введено ограничение частоты GET-запросов к API.

Ограничиваются следующие запросы

GET api/v3/steam/order
GET api/v3/topup/orders
GET api/v3/vouchers/order
GET api/stars/order
GET api/v1/deposit/order

Все остальные методы (POST, PUT и т.д.) и эндпоинты — без ограничений

Размер лимита

  • 1 GET-запрос раз в 30 секунд

Что происходит при превышении

  • Возвращается HTTP 429 (Too Many Requests)
  • В ответе указывается, через сколько секунд можно повторить запрос

Рекомендация

Для получения обновлений используйте webhook-уведомления. Polling-запросы предназначены только для редкой проверки состояния или fallback сценария


Webhook-уведомления

В терминале можно указать URL-адрес, куда будут приходить webhook-уведомления при оплате транзакции плательщиком (для ЦТ+эквайринг) или исполнении заказа (для ЦТ+депозит).

Порядок работы webhook'ов и параметры уведомлений см. в документации WATA Acquiring API.


HTTP-статусы

КодЗначениеОписание
200OKЗапрос успешно обработан
400Некорректный запросДанные в запросе некорректны. Проверьте запрос, исправьте данные и повторите отправку
401Запрос не авторизованНе передан access token или передан access token с истекшим сроком действия. Обновите access token
403Доступ запрещенУ вас нет доступа в запрашиваемый эндпоинт
500Ошибка сервераОбратитесь пожалуйста в техподдержку с описанием проблемы и указанием тела запроса

B случае получения 400-го кода возвращается ответ с детализацией ошибки в теле ответа.

Пример ответа с детализацией ошибки:

Response 400

{
"error":{
"code":null,
"message":"Ваш запрос недействителен!",
"details":"При проверке были обнаружены следующие ошибки - 'Amount' должно быть заполнено.",
"data":{

},
"validationErrors":[
{
"message":"'Amount' должно быть заполнено.",
"members":[
"amount"
]
}
]
}
}

Коды ошибок

КодОписание
ORD_1001Заказ не найден
ORD_1002Такой заказ уже существует
ORD_1003Ошибка платежа, сумма заказа (amount) ниже минимальной
ORD_1004Истёк срок оплаты заказа
ORD_1005Ошибка платежа, сумма заказа (amount) превышает максимальную
ORD_1006Ошибка платежа, обратитесь в магазин
ORD_1007Заказ не находится в статусе ожидания подтверждения
PL_1001Некорректная сумма платежной ссылки (сумма слишком маленькая или слишком большая)
PL_1002Некорректная валюта платежной ссылки (создание ссылок в этой валюте запрещено)
PL_1003Платежная ссылка недоступна либо уже оплачена
STM_1001Ошибка расчета пополнения Steam
STM_1002Аккаунта Steam не существует
STM_1003Сумма платежа должна составлять от 100 руб. до 50 000 руб.
STM_1004Ошибка платежа, обратитесь в магазин
STR_1001Запрос содержит ошибки, проверьте правильность данных
STR_1002Пользователь не найден
STR_1003Некорректное количество звезд в заказе (от 50 до 50 тыс. штук)
STR_1004Ошибка при создании заказа
TPP_1001Не найден продукт
TPP_1002Некорректно переданы поля для оформления заказа
TPP_1003Продукт недоступен для покупки
TPP_1004Пользователь не найден, проверьте правильность данных
VCR_1001Ваучер не найден
VCR_1002Некорректный Count для ваучера
VCR_1003Товар закончился