benfranke/gdax-php

此软件包已被废弃,不再维护。未建议替代软件包。

非官方GDAX PHP软件包

0.1.2 2018-02-21 16:28 UTC

This package is not auto-updated.

Last update: 2020-05-29 19:41:58 UTC


README

这个库仍然处于 alpha 阶段。

请谨慎使用,并密切关注您的交易,如果您用真实货币进行交易。

安装

composer require benfranke/gdax-php

示例

PublicClient

$client = new \GDAX\Clients\PublicClient();

返回:GDAX\Clients\PublicClient

沙盒

覆盖客户端的baseURL属性

$client->setBaseURL(\GDAX\Utilities\GDAXConstants::GDAX_API_SANDBOX_URL);

获取产品

$client->getProducts();

返回:GDAX\Types\Response\Market\Product[]

获取产品订单簿
$product = (new GDAX\Types\Request\Market\Product())->setProductId(\GDAX\Utilities\GDAXConstants::PRODUCT_ID_BTC_USD)->setLevel(3);
$productOrderBook = $client->getProductOrderBook($product);

返回:GDAX\Types\Response\Market\ProductOrderBook

获取产品行情
$product = (new GDAX\Types\Request\Market\Product())->setProductId(\GDAX\Utilities\GDAXConstants::PRODUCT_ID_BTC_USD);
$productTicker = $client->getProductTicker($product);

返回:GDAX\Types\Response\Market\ProductTicker

获取产品交易
$product = (new GDAX\Types\Request\Market\Product())
    ->setProductId(\GDAX\Utilities\GDAXConstants::PRODUCT_ID_BTC_USD)
    ->setStart(new DateTime('2017-01-01'))
    ->setEnd(new DateTime())
    ->setGranularity(1200);

$productTrades = $publicClient->getTrades($product);

返回:GDAX\Types\Response\Market\Trade[]

获取24小时统计数据
$product = (new GDAX\Types\Request\Market\Product())->setProductId(\GDAX\Utilities\GDAXConstants::PRODUCT_ID_BTC_USD);
$product24HourStats = $publicClient->getProduct24HrStats($product);

返回:GDAX\Types\Response\Market\Product24HourStats

获取货币
$products = $publicClient->getCurrencies();

返回:GDAX\Types\Response\Market\Currency[]

获取API服务器时间
$time = $publicClient->getTime();

返回:GDAX\Types\Response\Market\Time

认证客户端

$client = new \GDAX\Clients\AuthenticatedClient(
    API_KEY
    API_KEY_SECRET
    API_KEY_PASSPHRASE
);

返回:GDAX\Clients\AuthenticatedClient

列出账户
$accounts = $client->getAccounts();

返回:GDAX\Types\Response\Authenticated\Account[]

获取一个账户
$account = (new GDAX\Types\Request\Authenticated\Account())->setId('c7f461b7-d91e-499f-...');
$accountData = $client->getAccount($account);

返回:GDAX\Types\Response\Authenticated\Account

获取账户历史记录
$account = (new GDAX\Types\Request\Authenticated\Account())->setId('c7f461b7-d91e-499f-9f59-...')->toPaginated();
$accountHistory = $client->getAccountHistory($account);

返回:GDAX\Types\Response\Authenticated\Ledger[]

获取持仓
$account = (new GDAX\Types\Request\Authenticated\Account())->setId('c7f461b7-d91e-499f-9f59-...')->toPaginated();
$accountHolds = $client->getAccountHolds($account);

返回:GDAX\Types\Response\Authenticated\Hold

下单
$order = (new GDAX\Types\Request\Authenticated\Order())
    ->setType(\GDAX\Utilities\GDAXConstants::ORDER_TYPE_LIMIT)
    ->setProductId(\GDAX\Utilities\GDAXConstants::PRODUCT_ID_BTC_USD)
    ->setSize(0.01)
    ->setSide(\GDAX\Utilities\GDAXConstants::ORDER_SIDE_BUY)
    ->setPrice(3800)
    ->setPostOnly(true)
    ->setStp(\GDAX\Utilities\GDAXConstants::STP_CO);

$response = $client->placeOrder($order);

返回:GDAX\Types\Response\Authenticated\Order

检查 $response->getMessage()$response->getRejectReason() 以查看订单是否已正确提交。

取消订单
$order = (new GDAX\Types\Request\Authenticated\Order())->setId($id);
$response = $client->cancelOrder($order);

返回:GDAX\Types\Response\RawData

检查 $response->getData() 以查看您的订单 ID 是否已取消。

取消所有订单
$response = $client->cancelOrders();

返回:GDAX\Types\Response\RawData

检查 $response->getData() 以获取已取消订单的订单 ID 数组。

列出订单
$listOrders = (new GDAX\Types\Request\Authenticated\ListOrders())
    ->setStatus(\GDAX\Utilities\GDAXConstants::ORDER_STATUS_ALL)
    ->setProductId(\GDAX\Utilities\GDAXConstants::PRODUCT_ID_BTC_USD);
    
$orders = $client->getOrders($listOrders);

返回: GDAX\Types\Response\Authenticated\Order[]

获取一个订单
$order = (new GDAX\Types\Request\Authenticated\Order())->setId($id);
$orderData = $client->getOrder($order);

返回:GDAX\Types\Response\Authenticated\Order

列出成交记录
$fill = (new \GDAX\Types\Request\Authenticated\Fill())
    ->setProductId(\GDAX\Utilities\GDAXConstants::PRODUCT_ID_BTC_USD);

$fillData = $client->getFills($fill);

返回: GDAX\Types\Response\Authenticated\Fill[]

列出资金
$funding = (new \GDAX\Types\Request\Authenticated\Funding())
    ->setStatus(\GDAX\Utilities\GDAXConstants::FUNDING_STATUS_SETTLED);

$fundingData = $client->getFundings($funding);

返回: GDAX\Types\Response\Authenticated\Funding[]

偿还资金
$funding = (new \GDAX\Types\Request\Authenticated\Funding())
    ->setAmount(600)
    ->setCurrency(\GDAX\Utilities\GDAXConstants::CURRENCY_USD);

$repay = $client->repay($funding);

返回: GDAX\Types\Response\Authenticated\RawData

保证金转账
$marginTransfer = (new GDAX\Types\Request\Authenticated\MarginTransfer())
    ->setType(\GDAX\Utilities\GDAXConstants::MARGIN_TRANSFER_TYPE_WITHDRAW)
    ->setCurrency(\GDAX\Utilities\GDAXConstants::CURRENCY_USD)
    ->setMarginProfileId('c1a8236e-19b8-4cec-...')
    ->setAmount(10);

$marginTransferData = $client->marginTransfer($marginTransfer);

返回: GDAX\Types\Response\Authenticated\MarginTransfer

获取持仓
$position = $client->getPosition();

返回: GDAX\Types\Response\Authenticated\Position

欢迎捐赠

BTC: 1KaFMrUdrwyEdPbMFDzSgy3PfH79nWvFYh
ETH: 0x47c080504a6db77dFD4551EA7589969D39866894