benfranke / gdax-php
非官方GDAX PHP软件包
Requires
- php: >=5.5
- guzzlehttp/guzzle: ^6.0
Requires (Dev)
- phpunit/phpunit: ^6.0
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