✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Alpha Vantage – інтегруйте безкоштовні API запасів у PHP

27

Нещодавно я працював над проектом, де ми хотіли інтегрувати безкоштовні API-фонди. Під час дослідження ми натрапили на сервіс Alpha Vantage, який безкоштовно надає дані про запаси. У безкоштовному плані вони надають 5 запитів API на хвилину та 500 запитів на день. Ця квота достатня для невеликих додатків. Однак, якщо вам потрібно більше ресурсів, перевірте їх преміум-плани.

Alpha Vantage дає кінцеву точку для отримання даних про запаси. Використовуючи їх API, ми можемо отримувати дані про запаси за день, щодня, щотижня, щомісяця. Вони також надають такі основні дані, як огляд компанії, прибуток, звіт про прибутки та збитки, баланс тощо. Можна також отримати курси валют між різними валютами.

У цій статті ми вивчаємо, як отримати дані про запаси за допомогою Alpha Vantage у PHP. Для початку візьміть ключ API на веб-сайті Alpha Vantage.

Інтегруйте API вільних запасів у PHP

Для того, щоб отримати дані про запаси, нам потрібно надіслати запити HTTP до наданої кінцевої точки Alpha Vantage. Це можна зробити за допомогою cURL. Особисто я люблю Guzzle для цієї мети. Тут я також збираюся надсилати HTTP-запити та обробляти відповіді за допомогою Guzzle.

Встановіть бібліотеку Guzzle за допомогою команди:

composer require guzzlehttp/guzzle

Під час взаємодії з API Alpha Vantage нам потрібно надсилати запити GET до їх кінцевої точки API. Кінцева точка API https://www.alphavantage.co/queryоднакова для всіх запитів. Єдина зміна буде в параметрах ‘GET’. Почнемо з фактичного отримання даних про запаси.

Отримати дані за день

У документації щодо API Alpha Vantage ви знайдете детальну інформацію про кінцеву точку та їх параметри.

Ви можете отримати внутрішньоденні дані про будь-який запас наступним чином. Як приклад, я використовую компанію "IBM".

<?php
require_once "vendor/autoload.php";
 
use GuzzleHttpClient;
  
$client = new Client([
    // Base URI is used with relative requests
    'base_uri' => 'https://www.alphavantage.co',
]);
  
$response = $client->request('GET', '/query', [
    'query' => [
        'function' => 'TIME_SERIES_INTRADAY',
        'symbol' => 'IBM',
        'interval' => '5min',
        'apikey' => 'YOUR_API_KEY',
    ]
]);
  
$body = $response->getBody();
$arr_body = json_decode($body);
print_r($arr_body);

Замініть заповнювач YOUR_API_KEY вашим фактичним ключем API. Тут я використовую параметр функції as TIME_SERIES_INTRADAYта інтервал as 5min.

Щоденні дані

Ви можете отримати щоденні дані про запаси, використовуючи одну і ту ж кінцеву точку, але з різними параметрами, як показано нижче.

$response = $client->request('GET', '/query', [
    'query' => [
        'function' => 'TIME_SERIES_DAILY',
        'symbol' => 'IBM',
        'apikey' => 'YOUR_API_KEY',
    ]
]);

У наведеному вище запиті API необхідним параметром функції є TIME_SERIES_DAILY.

Основні дані

Вибираючи правильні акції, ви, мабуть, хочете переглянути основні деталі компанії. Ви можете легко отримати ці деталі за допомогою Alpha Vantage.

Огляд компанії
$response = $client->request('GET', '/query', [
    'query' => [
        'function' => 'OVERVIEW',
        'symbol' => 'IBM',
        'apikey' => 'YOUR_API_KEY',
    ]
]);
Заробіток компанії
$response = $client->request('GET', '/query', [
    'query' => [
        'function' => 'EARNINGS',
        'symbol' => 'IBM',
        'apikey' => 'YOUR_API_KEY',
    ]
]);
Звіти про доходи
$response = $client->request('GET', '/query', [
    'query' => [
        'function' => 'INCOME_STATEMENT',
        'symbol' => 'IBM',
        'apikey' => 'YOUR_API_KEY',
    ]
]);
Таблиця балансу
$response = $client->request('GET', '/query', [
    'query' => [
        'function' => 'BALANCE_SHEET',
        'symbol' => 'IBM',
        'apikey' => 'YOUR_API_KEY',
    ]
]);

Зверніть увагу, що ви отримаєте детальну інформацію про ці кінцеві точки та їх параметри в їх документації API.

Курси іноземних валют

Якщо ви хочете отримати в реальному часі та історичні курси валют (FX), то ви можете зробити це, використовуючи код нижче. У цьому коді я отримую курс долара США у валюті INR.

$response = $client->request('GET', '/query', [
    'query' => [
        'function' => 'CURRENCY_EXCHANGE_RATE',
        'from_currency' => 'USD',
        'to_currency' => 'INR',
        'apikey' => 'YOUR_API_KEY',
    ]
]);

Таким же чином користувачі можуть отримувати історичні курси валют (FX) між 2 валютами.

$response = $client->request('GET', '/query', [
    'query' => [
        'function' => 'FX_DAILY',
        'from_symbol' => 'USD',
        'to_symbol' => 'INR',
        'apikey' => 'YOUR_API_KEY',
    ]
]);

Вищезазначений код має функціональний параметр, FX_DAILYякий дасть вам щоденні курси валют. Ви можете отримувати щотижневі дані з параметром FX_WEEKLY, щомісячні – з FX_MONTHLY.

Вся справа в інтеграції API безкоштовних запасів у PHP з Alpha Vantage. Я хотів би почути ваші думки та пропозиції у розділі коментарів нижче.

Пов’язані статті

Джерело запису: artisansweb.net

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі