Коллекции Postman для REST API (спот)

Последнее обновление: 1 апр. 2025 г.

Postman — это популярная среда тестирования API, которая позволяет реализовывать и тестировать конечные точки REST API.

Postman обеспечивает HTTP-соединение с REST API, позволяет настраивать заголовки HTTP и данные GET/POST, а также выполнять пользовательский код с использованием варианта JavaScript.

Предопределенные реализации можно импортировать в Postman через коллекции (по сути, это JSON-файл, содержащий конфигурацию и код для каждой конечной точки API).

Ниже приведены примеры коллекций Postman для нашего спотового REST API:

Обратите внимание, что вышеуказанные коллекции предназначены для демонстрации использования API, поэтому они не реализуют все возможные входные параметры. Дополнительные конечные точки и параметры могут быть добавлены в коллекции путем изучения соответствующей документации API и использования предоставленных конечных точек/параметров в качестве примеров.

Для быстрого ознакомления ниже приведен пример содержимого JSON в коллекции Postman:

bash

Bash

{
  "info": {
    "_postman_id": "b530d6e8-8aa3-403d-b8ab-1665d4606eab",
    "name": "Kraken REST API - GetWebSocketsToken Endpoint",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "GetWebSocketsToken",
      "event": [
        {
          "listen": "prerequest",
          "script": {
            "id": "e11ed019-722d-4ecf-8ddf-1f724e5b1ab4",
            "exec": [
              "api_key = \"API PUBLIC KEY\"",
              "api_secret = CryptoJS.enc.Base64.parse(\"API PRIVATE KEY\");",
              "api_nonce = (Date.now() * 1000).toString();",
              "api_endpoint = \"/0/private/GetWebSocketsToken\";",
              "api_post = \"nonce=\" + api_nonce;",
              "",
              "api_sha256 = CryptoJS.SHA256(api_nonce + api_post);",
              "api_sign = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA512, api_secret);",
              "api_sign.update(api_endpoint, api_secret);",
              "api_sign.update(api_sha256, api_secret);",
              "api_sign = api_sign.finalize().toString(CryptoJS.enc.Base64);",
              "",
              "pm.globals.set(\"api_nonce\", api_nonce);",
              "pm.globals.set(\"api_key\", api_key);",
              "pm.globals.set(\"api_signature\", api_sign);"
            ],
            "type": "text/javascript"
          }
        }
      ],
      "request": {
        "auth": {
          "type": "noauth"
        },
        "method": "POST",
        "header": [
          {
            "key": "API-Key",
            "type": "text",
            "value": "{{api_key}}"
          },
          {
            "key": "API-Sign",
            "type": "text",
            "value": "{{api_signature}}"
          }
        ],
        "body": {
          "mode": "urlencoded",
          "urlencoded": [
            {
              "key": "nonce",
              "value": "{{api_nonce}}",
              "type": "text"
            }
          ]
        },
        "url": {
          "raw": "https://api.kraken.com/0/private/GetWebSocketsToken",
          "protocol": "https",
          "host": [
            "api",
            "kraken",
            "com"
          ],
          "path": [
            "0",
            "private",
            "GetWebSocketsToken"
          ]
        }
      },
      "response": []
    }
  ],
  "protocolProfileBehavior": {}
}

Нужна дополнительная помощь?