.. meta:: :description: /api/v2/get-exchange API endpoint Payneteasy: получает текущий курс FX между двумя валютами для использования в логике мультивалютной обработки. .. _api_v2_get-exchange: /api/v2/get-exchange ########################## .. role:: ex .. role:: code Введение ^^^^^^^^^^^^ Получение обменного курса инициируется запросом :code:`HTTPS POST` с использованием указанных ниже :ref:`URL` и :ref:`параметров`. Для аутентификации используйте :ref:`OAuth HMAC-SHA1`. См. :ref:`статусы`. .. _api_v2_get-exchange_request_url: API URL ^^^^^^^^ .. note:: | Путь API URL не должен быть задан фиксированным значением, т.к. он может быть изменён позднее. .. list-table:: :widths: 50, 50 :header-rows: 1 :class: longtable * - Интеграционная среда - Производственная среда * - :ex:`https://sandbox.payneteasy.ru/paynet/api/v2/get-exchange/ENDPOINTID` - :ex:`https://gate.payneteasy.ru/paynet/api/v2/get-exchange/ENDPOINTID` .. _api_v2_get-exchange_parameters: Параметры запроса ^^^^^^^^^^^^^^^^^^ .. note:: | Запрос должен иметь content-type=application/x-www-form-urlencoded и :ref:`заголовки авторизации`. .. list-table:: :widths: 25, 45, 25 :header-rows: 1 :class: longtable * - Название параметра - Описание - Значение * - :code:`exchange-provider` - Описание: Exchange provider. - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 128 * - :code:`exchange-currency-code-from` - Код валюты, которую необходимо обменять (см.: :ref:`Коды валют`). - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 128 * - :code:`exchange-currency-code-to` - Код валюты, который необходимо получить (см.: :ref:`Коды валют`). - | ``Необходимость``: Обязательно | ``Тип``: String | ``Длина``: 128 .. _api_v2_get-exchange_response_parameters: Параметры ответа ^^^^^^^^^^^^^^^^^^^ .. note:: | Ответ имеет заголовок Content-Type: text/html;charset=utf-8. Все поля имеют кодировку x-www-form-urlencoded, с символом (0xA) в конце значения каждого параметра. .. list-table:: :widths: 25, 75 :header-rows: 1 :class: longtable * - Название параметра - Описание * - :code:`exchange-low-rate` - Описание: Provider’s buy rate. * - :code:`exchange-high-rate` - Описание: Provider’s sell rate. Пример запроса ^^^^^^^^^^^^^^^ .. code-block:: guess POST /paynet/api/v2/get-exchange/39790 HTTP/1.1 Host: sandbox.payneteasy.ru User-Agent: curl/7.83.0 Accept: */* Authorization: OAuth realm="",oauth_version="1.0",oauth_consumer_key="test_merch",oauth_timestamp="1684995901",oauth_nonce="1kKy3hMlAe1",oauth_signature_method="HMAC-SHA1",oauth_signature="jGUaNFqLvBO1gGgWag%2FSU3wMnUc%3D" Content-Length: 222 Content-Type: application/x-www-form-urlencoded Connection: close exchange-currency-code-from=USD &exchange-currency-code-to=RUB &exchange-provider=test &oauth_consumer_key=test_merch &oauth_nonce=1kKy3hMlAe1 &oauth_signature_method=HMAC-SHA1 &oauth_timestamp=1684995901 &oauth_version=1.0 Пример успешного ответа ^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: javascript HTTP/1.1 200 Server: server Date: Thu, 25 May 2023 06:27:46 GMT Content-Length: 48 Connection: close X-XSS-Protection: 1 X-Content-Type-Options: nosniff Strict-Transport-Security: max-age=31536000 Strict-Transport-Security: max-age=31536000 exchange-low-rate=10.00 &exchange-high-rate=20.00 Пример неуспешного ответа ^^^^^^^^^^^^^^^^^^^^^ .. code-block:: javascript HTTP/1.1 403 Server: server Date: Thu, 25 May 2023 07:02:59 GMT Content-Type: text/html Content-Length: 735 Connection: close X-XSS-Protection: 1 X-Content-Type-Options: nosniff Strict-Transport-Security: max-age=31536000 error-message=Book TCurrencyBook was not found by code USB Коллекция Postman ^^^^^^^^^^^^^^^^^^ .. raw:: html :file: ../_static/Postman/Postman_get_exchange_rate.html Конструктор запросов ^^^^^^^^^^^^^^^ .. raw:: html :file: ../_static/examples/get_exchange_rate_Debug.html