cryptomkt/cryptomkt-httplug-php

PHP Client to integrate CryptoMarket into your PHP Projects

dev-master / 0.1.x-dev 2018-06-15 23:59 UTC

README

Official Client library CryptoMarket API v1 to integrate CryptoMarket into your PHP project, using HTTPlug client abstraction HTTPlug.

Installation

This library could be installed using Composer. Please read the Composer Documentation.

"require": {
    "cryptomkt/cryptomkt-httplug-php": "dev-master"
}

Authentication

API Key

Use an API key and secret to access your own Crypto Market account.

use Cryptomkt\Exchange\Client;
use Cryptomkt\Exchange\Configuration;

$configuration = Configuration::apiKey($apiKey, $apiSecret);
$client = Client::create($configuration);

Warnings

This library will log all warnings to a standard PSR-3 logger if one is configured.

use Cryptomkt\Exchange\Client;
use Cryptomkt\Exchange\Configuration;

$configuration = Configuration::apiKey($apiKey, $apiSecret);
$configuration->setLogger($logger);
$client = Client::create($configuration);

Responses

Each resource object has a getRawData() method which you can use to access any field that are not mapped to the object properties.

$data = $markets->getRawData();

Raw data from the last HTTP response is also available on the client object.

$data = $client->decodeLastResponse();

Usage

For more references, go to the official documentation.

Market Data

List markets

$markets = $client->getMarkets();

Get ticker

$arguments = array('market' => 'ETHARS');
$ticker = $client->getTicker($arguments); 

Get trades

$arguments = array('market' => 'ETHCLP','start' => '2017-05-20', 'end' => '2017-05-30', 'page' => 1);
$trades = $client->getTrades($arguments);

Orders

Get orders

$arguments = array('market' => 'ETHARS','type' => 'buy', 'page' => 1);
$orders = $client->getOrders($arguments); 

Get order

$arguments = array('id' => 'M107435');
$order = $client->getOrder($arguments);  

Get active orders

$arguments = array('market' => 'ETHCLP', 'page' => 0);
$active_orders = $client->getActiveOrders($arguments); 

Get executed orders

$arguments = array('market' => 'ETHCLP', 'page' => 0);
var_dump($client->getExecutedOrders($arguments)); 

Create order

$arguments = array(
        'amount' => '0.3',
        'market' => 'ethclp',
        'price' => '200000',
        'type' => 'sell'
    );
$response = $client->createOrder($arguments); 

Cancel order

$arguments = array('id' => 'M107441');
$response = $client->cancelOrder($arguments); 

Balance

Get balance

$response = $client->getBalance(); 

Create pay order

$arguments = array(
    'to_receive' => '3000',
    'to_receive_currency' => 'CLP',
    'payment_receiver' => 'receiver@email.com',
    'external_id' => '123456CM',
    'callback_url' => '',
    'error_url' => '',
    'success_url' => '',
    'refund_email' => 'refund@email.com'
);

$response = $client->createPayOrder($arguments);  

Pay orders

Get pay order

$arguments = array('id' => 'P13565');
$response = $client->getPayOrder($arguments);  

Get pay orders

$arguments = array('start_date' => '1/05/2018','end_date' => '31/05/2018');
$response = $client->getPayOrders($arguments);  

Contributing and testing

The test suite is built using PHPUnit. Run the suite of unit tests by running the phpunit command.

phpunit