Все методы API требуют HTTP Basic Authentication с учётными данными агента в каждом запросе.
Подключение
Получите в службе поддержки:
- Учётную запись агента с логином и паролем.
- Назначенные агенту имена мерчантов.
- Доступ к нужной среде.
Логин агента и
merchantUserName — разные значения. Для авторизации используйте логин и пароль агента,
а назначенный merchantUserName передавайте в теле запроса на создание платежа. Пароль мерчанта не нужен.Заголовок Authorization
Передавайте
Authorization: Basic и далее Base64-кодировку строки username:password в UTF-8.cURL формирует заголовок с помощью
--user. Настройте на своём сервере следующие переменные окружения:| Переменная | Значение |
|---|---|
RB_API_BASE_URL | https://rb.d.doma.ai для разработки или https://rb.doma.ai для production |
AGENT_USERNAME | Логин агента, полученный при подключении |
AGENT_PASSWORD | Пароль агента, полученный при подключении |
Внимание: Не вводите пароль открытым текстом в команду оболочки, в том числе при присваивании переменной: он может сохраниться в истории команд. ЗаполняйтеAGENT_PASSWORDчерез скрытый ввод или менеджер секретов. При ручном вызове можно убрать:${AGENT_PASSWORD}из--user, чтобы cURL сам запросил пароль. Переменная сохраняет историю команд без самого пароля, но не защищает от просмотра аргументов процесса или трассировки оболочки. Не включайте трассировку при работе с учётными данными.
Примеры в этом разделе используют эти переменные. Замените примеры реквизитов платежа и мерчанта данными,
согласованными при подключении. Храните учётные данные в защищённой конфигурации сервера, а не в репозитории,
коде браузера, URL или журналах. Не передавайте пароль и заголовок
Authorization в службу поддержки.Пример запроса
После создания платежа замените UUID в примере на полученный
id:bashcurl --request GET \ --url "${RB_API_BASE_URL%/}/api/agent-payments/d325725f-6c73-4dab-910f-88e3274b66d7" \ --user "${AGENT_USERNAME}:${AGENT_PASSWORD}" \ --header 'Accept: application/json'
Ошибки авторизации
Отсутствующие или некорректные учётные данные, неверный пароль, неизвестный, отключённый или удалённый агент
возвращают HTTP 401 с
extensions.code: UNAUTHENTICATED и extensions.type: AUTHORIZATION_REQUIRED.
Ответ намеренно не различает эти случаи.json{ "errors": [ { "message": "Agent authentication required", "extensions": { "code": "UNAUTHENTICATED", "type": "AUTHORIZATION_REQUIRED" } } ] }
Ошибки всех методов используют этот формат с массивом
errors. Проверяйте HTTP-статус и extensions.code
для определения класса ошибки, а extensions.type — конкретной причины. Не полагайтесь на точный текст message.
Ответы могут содержать дополнительные идентификаторы ошибки и запроса; сохраняйте их для диагностики.