Skip to content

The official PHP client library for the Kite Connect trading APIs

License

Notifications You must be signed in to change notification settings

zerodha/phpkiteconnect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ec01516 · Aug 2, 2023

History

87 Commits
May 27, 2022
Aug 2, 2023
Aug 2, 2023
Aug 2, 2023
Mar 22, 2021
Apr 8, 2021
Mar 22, 2021
Dec 12, 2022
Mar 30, 2021
Mar 22, 2021
Mar 22, 2021

Repository files navigation

The Kite Connect API PHP client - v3

The Official PHP client for communicating with the Kite Connect API.

Note: For PHP version < 8.0. You can refer to our previous version.
Kite Connect is a set of REST-like APIs that expose many capabilities required to build a complete investment and trading platform. Execute orders in real time, manage user portfolio and more, with the simple HTTP API collection.

Zerodha Technology (c) 2021. Licensed under the MIT License.

Documentation

Installing

Requirements

  1. Install PHP version 8.0 or higher.
  2. Install Composer, which is used to install PHP packages.

You can install the package via composer:

composer require zerodha/phpkiteconnect

Note: You can refer to our previous version here for PHP version < 8.0.

Usage

<?php
    require_once __DIR__ . '/vendor/autoload.php';

    use KiteConnect\KiteConnect;

    // Initialise.
    $kite = new KiteConnect("your_api_key");

    // Assuming you have obtained the `request_token`
    // after the auth flow redirect by redirecting the
    // user to $kite->login_url()
    try {
        $user = $kite->generateSession("request_token_obtained", "your_api_secret");
        echo "Authentication successful. \n";
        print_r($user);
        $kite->setAccessToken($user->access_token);
    } catch(Exception $e) {
        echo "Authentication failed: ".$e->getMessage();
        throw $e;
    }

    echo $user->user_id." has logged in";

    // Get the list of positions.
    echo "Positions: \n";
    print_r($kite->getPositions());

    // Place order.
    $order = $kite->placeOrder("regular", [
        "tradingsymbol" => "INFY",
        "exchange" => "NSE",
        "quantity" => 1,
        "transaction_type" => "BUY",
        "order_type" => "MARKET",
        "product" => "NRML"
    ]);

    echo "Order id is ".$order->order_id;
?>

Examples

Check examples folder for more examples.

Refer to the PHP client documentation for the complete list of supported methods.

Run unit tests

phpunit tests/KiteConnectTest.php

Generate documentation

$ apt-get install wget
$ wget https://phpdoc.org/phpDocumentor.phar
$ chmod +x phpDocumentor.phar
$ ./phpDocumentor.phar run -d ./src/ -t ./doc/

Changelog

Check CHANGELOG.md

About

The official PHP client library for the Kite Connect trading APIs

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages