polygon.io PHP 客户端

v1.2.3 2021-07-16 22:05 UTC

README

欢迎使用 Polygon REST 和 WebSocket API 的官方 PHP 客户端库。要开始使用,请参阅我们文档中的 入门 部分,查看 API 文档 目录中的代码片段,或查看 模型文档 以了解更多关于数据结构的信息。

此版本为 实验性发布,正在积极开发中。我们正在努力添加更多功能,并提高其稳定性和性能。请注意,此版本可能会经历重大变化,某些功能可能不完整或可能进行修改。

路线图功能

  • 通过 next_url 进行分页并合并结果集:我们计划引入增强的分页功能,使用户能够轻松地使用提供的 next_url 导航 API 响应,并无缝合并结果集以进行综合数据分析。
  • 添加跟踪:为了帮助调试并提高透明度,我们旨在实现跟踪功能,使用户能够记录有关其 API 请求的详细信息。这包括请求的 URL、参数以及完整的请求和响应头。
  • WebSocket 支持:为了提供实时数据访问,我们将在客户端库中集成 WebSocket 支持。这将使用户能够以最小延迟建立持续连接,用于实时数据流。

安装与使用

先决条件

在安装 Polygon PHP 客户端之前,请确保您的环境已安装 PHP 7.4 或更高版本,兼容 PHP 8.0。

Composer

要使用 Composer 安装绑定,请将以下内容添加到 composer.json

{
  "repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/polygon-io/client-php.git"
    }
  ],
  "require": {
    "GIT_USER_ID/GIT_REPO_ID": "*@dev"
  }
}

然后运行 composer install

手动安装

下载文件并包含 autoload.php

<?php
require_once('/path/to/PolygonClient/vendor/autoload.php');

入门

要开始使用,请按照 安装过程 进行操作,然后探索 API 文档 目录中的代码片段,或查看 模型文档 以了解更多关于数据结构的信息。

我们 API 的免费层包含使用限制,如果超过这些限制,可能会导致速率限制错误。为了不间断访问并支持更大的数据需求,我们建议查看我们的 订阅计划,这些计划针对从开发到高需求企业应用的广泛需求量身定制。访问我们的定价页面以获取有关限制和功能的详细信息,以确保无缝体验,尤其是实时数据处理。

REST API 客户端

导入并配置 OpenAPI 客户端。

<?php

require_once(__DIR__ . '/vendor/autoload.php');

// Load API key from environment variable
$apiKey = getenv('POLYGON_API_KEY');

// Check if the API key is not empty
if (!$apiKey) {
    die('API key is not set in environment variables.');
}

// Configure API key authorization: apiKey
$config = OpenAPI\Client\Configuration::getDefaultConfiguration()->setApiKey('apiKey', $apiKey);

使用客户端

使用客户端方法请求数据。

// https://polygon.io/docs/stocks/get_v2_last_trade__stocksticker
$apiInstance = new OpenAPI\Client\Api\StockslasttradeApi(
    new GuzzleHttp\Client(),
    $config
);

$stocks_ticker = "TSLA";

try {
    $result = $apiInstance->lastTrade($stocks_ticker);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling StockslasttradeApi->lastTrade: ', $e->getMessage(), PHP_EOL;
}

API 端点

所有 URI 都相对于 api.polygon.io

贡献

如果您发现了一个bug或对新的功能有想法,请首先通过提交新问题与我们讨论。我们也欢迎愿意为任何开放问题提交PR的志愿者,但请事先与我们讨论。

开发

为了开发新功能或修复bug,您需要使用Composer来管理依赖项。

composer install

要运行测试,请使用

vendor/bin/phpunit

此PHP客户端遵循我们API的相同发布节奏,确保它与新旧功能保持兼容。