{"id":29765,"date":"2021-06-22T13:36:00","date_gmt":"2021-06-22T10:36:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=29765"},"modified":"2021-10-18T03:30:15","modified_gmt":"2021-10-18T00:30:15","slug":"alpha-vantage-zintegruj-bezplatne-api-gieldowe-w-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pl\/alpha-vantage-zintegruj-bezplatne-api-gieldowe-w-php\/","title":{"rendered":"Alpha Vantage &#8211; Zintegruj bezp\u0142atne API gie\u0142dowe w PHP"},"content":{"rendered":"<p>Ostatnio pracowa\u0142em nad projektem, w kt\u00f3rym chcieli\u015bmy zintegrowa\u0107 darmowe API gie\u0142dowe. Podczas bada\u0144 natrafili\u015bmy na us\u0142ug\u0119 <a href=\"https:\/\/www.alphavantage.co\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Alpha Vantage<\/a>, kt\u00f3ra udost\u0119pnia dane gie\u0142dowe za darmo. W bezp\u0142atnym abonamencie zapewniaj\u0105 5 \u017c\u0105da\u0144 API na minut\u0119 i 500 \u017c\u0105da\u0144 dziennie. Ten limit jest wystarczaj\u0105cy dla ma\u0142ych aplikacji. Je\u015bli jednak potrzebujesz wi\u0119cej zasob\u00f3w, sprawd\u017a ich <a href=\"https:\/\/www.alphavantage.co\/premium\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">plany premium<\/a>.<\/p>\n<p>Alpha Vantage daje punkt ko\u0144cowy do pobrania danych gie\u0142dowych. Korzystaj\u0105c z ich interfejs\u00f3w API, mo\u017cemy pobiera\u0107 dane gie\u0142dowe w ci\u0105gu dnia, dnia, tygodnia, miesi\u0105ca. Dostarczaj\u0105 r\u00f3wnie\u017c podstawowe dane, takie jak przegl\u0105d firmy, zarobki, rachunek zysk\u00f3w i strat, bilans itp. Mo\u017cna r\u00f3wnie\u017c uzyska\u0107 kursy wymiany mi\u0119dzy r\u00f3\u017cnymi walutami.<\/p>\n<p>W tym artykule dowiemy si\u0119, jak uzyska\u0107 dane gie\u0142dowe za pomoc\u0105 Alpha Vantage w PHP. Aby rozpocz\u0105\u0107, pobierz <a href=\"https:\/\/www.alphavantage.co\/support\/#api-key\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">klucz API<\/a> ze strony Alpha Vantage.<\/p>\n<h3>Zintegruj bezp\u0142atne API gie\u0142dowe w PHP<\/h3>\n<p>Aby pobra\u0107 dane gie\u0142dowe, musimy wysy\u0142a\u0107 \u017c\u0105dania HTTP do podanego punktu ko\u0144cowego Alpha Vantage. Mo\u017cna to zrobi\u0107 za pomoc\u0105 cURL. Osobi\u015bcie uwielbiam <a href=\"https:\/\/themewp.inform.click\/pl\/jak-korzystac-z-guzzle-klienta-php-http-do-wysylania-zadan-http\/\" title=\"Guzzle\">Guzzle<\/a> do tego celu. Tutaj r\u00f3wnie\u017c zamierzam wysy\u0142a\u0107 \u017c\u0105dania HTTP i obs\u0142ugiwa\u0107 odpowiedzi za pomoc\u0105 Guzzle.<\/p>\n<p>Zainstaluj bibliotek\u0119 Guzzle za pomoc\u0105 polecenia:<\/p>\n<pre><code>composer require guzzlehttp\/guzzle<\/code><\/pre>\n<p>Podczas interakcji z API Alpha Vantage musimy wysy\u0142a\u0107 \u017c\u0105dania GET do ich punktu ko\u0144cowego API. Punkt ko\u0144cowy interfejsu API <code>https:\/\/www.alphavantage.co\/query<\/code>jest taki sam dla wszystkich \u017c\u0105da\u0144. Jedyn\u0105 zmian\u0105 b\u0119d\u0105 parametry 'GET&#8217;. Zacznijmy praktycznie od pobrania danych gie\u0142dowych.<\/p>\n<h4>Uzyskaj dane w ci\u0105gu dnia<\/h4>\n<p>W <a href=\"https:\/\/www.alphavantage.co\/documentation\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">dokumentacji API<\/a> Alpha Vantage znajdziesz szczeg\u00f3\u0142owe informacje o punkcie ko\u0144cowym i jego parametrach.<\/p>\n<p>Mo\u017cesz uzyska\u0107 dane w ci\u0105gu dnia o dowolnych akcjach w nast\u0119puj\u0105cy spos\u00f3b. Jako przyk\u0142ad u\u017cywam firmy 'IBM&#8217;.<\/p>\n<pre><code>&lt;?php\nrequire_once \"vendor\/autoload.php\";\n\u00a0\nuse GuzzleHttpClient;\n\u00a0\u00a0\n$client = new Client([\n\u00a0\u00a0\u00a0\u00a0\/\/ Base URI is used with relative requests\n\u00a0\u00a0\u00a0\u00a0'base_uri' =&gt; 'https:\/\/www.alphavantage.co',\n]);\n\u00a0\u00a0\n$response = $client-&gt;request('GET', '\/query', [\n\u00a0\u00a0\u00a0\u00a0'query' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'function' =&gt; 'TIME_SERIES_INTRADAY',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'symbol' =&gt; 'IBM',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'interval' =&gt; '5min',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'apikey' =&gt; 'YOUR_API_KEY',\n\u00a0\u00a0\u00a0\u00a0]\n]);\n\u00a0\u00a0\n$body = $response-&gt;getBody();\n$arr_body = json_decode($body);\nprint_r($arr_body);<\/code><\/pre>\n<p>Zast\u0105p symbol zast\u0119pczy YOUR_API_KEY swoim rzeczywistym kluczem API. Tutaj u\u017cywam parametru funkcji jako <code>TIME_SERIES_INTRADAY<\/code>i interwa\u0142u jako <code>5min<\/code>.<\/p>\n<h4>Dane dzienne<\/h4>\n<p>Mo\u017cesz uzyska\u0107 dzienne dane o zapasach przy u\u017cyciu tego samego punktu ko\u0144cowego, ale z r\u00f3\u017cnymi parametrami w nast\u0119puj\u0105cy spos\u00f3b.<\/p>\n<pre><code>$response = $client-&gt;request('GET', '\/query', [\n\u00a0\u00a0\u00a0\u00a0'query' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'function' =&gt; 'TIME_SERIES_DAILY',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'symbol' =&gt; 'IBM',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'apikey' =&gt; 'YOUR_API_KEY',\n\u00a0\u00a0\u00a0\u00a0]\n]);<\/code><\/pre>\n<p>W powy\u017cszym \u017c\u0105daniu API wymaganym parametrem funkcji jest <code>TIME_SERIES_DAILY<\/code>.<\/p>\n<h4>Podstawowe dane<\/h4>\n<p>Wybieraj\u0105c odpowiednie akcje, prawdopodobnie chcesz przyjrze\u0107 si\u0119 podstawowym szczeg\u00f3\u0142om firmy. Mo\u017cesz \u0142atwo uzyska\u0107 te szczeg\u00f3\u0142y dzi\u0119ki Alpha Vantage.<\/p>\n<h5>Informacje o Firmie<\/h5>\n<pre><code>$response = $client-&gt;request('GET', '\/query', [\n\u00a0\u00a0\u00a0\u00a0'query' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'function' =&gt; 'OVERVIEW',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'symbol' =&gt; 'IBM',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'apikey' =&gt; 'YOUR_API_KEY',\n\u00a0\u00a0\u00a0\u00a0]\n]);<\/code><\/pre>\n<h5>Zarobki firmy<\/h5>\n<pre><code>$response = $client-&gt;request('GET', '\/query', [\n\u00a0\u00a0\u00a0\u00a0'query' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'function' =&gt; 'EARNINGS',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'symbol' =&gt; 'IBM',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'apikey' =&gt; 'YOUR_API_KEY',\n\u00a0\u00a0\u00a0\u00a0]\n]);<\/code><\/pre>\n<h5>O\u015bwiadczenia o dochodach<\/h5>\n<pre><code>$response = $client-&gt;request('GET', '\/query', [\n\u00a0\u00a0\u00a0\u00a0'query' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'function' =&gt; 'INCOME_STATEMENT',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'symbol' =&gt; 'IBM',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'apikey' =&gt; 'YOUR_API_KEY',\n\u00a0\u00a0\u00a0\u00a0]\n]);<\/code><\/pre>\n<h5>Bilans<\/h5>\n<pre><code>$response = $client-&gt;request('GET', '\/query', [\n\u00a0\u00a0\u00a0\u00a0'query' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'function' =&gt; 'BALANCE_SHEET',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'symbol' =&gt; 'IBM',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'apikey' =&gt; 'YOUR_API_KEY',\n\u00a0\u00a0\u00a0\u00a0]\n]);<\/code><\/pre>\n<p>Pami\u0119taj, \u017ce szczeg\u00f3\u0142owe informacje o tych punktach ko\u0144cowych i ich parametrach znajdziesz w ich <a href=\"https:\/\/www.alphavantage.co\/documentation\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">dokumentacji API<\/a>.<\/p>\n<h4>Kursy wymiany walut<\/h4>\n<p>Je\u015bli chcesz uzyska\u0107 aktualne i historyczne kursy walut (FX), mo\u017cesz to zrobi\u0107 za pomoc\u0105 poni\u017cszego kodu. W tym kodzie otrzymuj\u0119 kurs USD waluty INR.<\/p>\n<pre><code>$response = $client-&gt;request('GET', '\/query', [\n\u00a0\u00a0\u00a0\u00a0'query' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'function' =&gt; 'CURRENCY_EXCHANGE_RATE',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'from_currency' =&gt; 'USD',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'to_currency' =&gt; 'INR',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'apikey' =&gt; 'YOUR_API_KEY',\n\u00a0\u00a0\u00a0\u00a0]\n]);<\/code><\/pre>\n<p>W ten sam spos\u00f3b u\u017cytkownicy mog\u0105 pobiera\u0107 historyczne kursy forex (FX) mi\u0119dzy 2 walutami.<\/p>\n<pre><code>$response = $client-&gt;request('GET', '\/query', [\n\u00a0\u00a0\u00a0\u00a0'query' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'function' =&gt; 'FX_DAILY',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'from_symbol' =&gt; 'USD',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'to_symbol' =&gt; 'INR',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'apikey' =&gt; 'YOUR_API_KEY',\n\u00a0\u00a0\u00a0\u00a0]\n]);<\/code><\/pre>\n<p>Powy\u017cszy kod ma parametr funkcji, dzi\u0119ki <code>FX_DAILY<\/code>kt\u00f3remu otrzymasz dzienne kursy forex. Mo\u017cesz uzyska\u0107 dane tygodniowe za pomoc\u0105 parametru <code>FX_WEEKLY<\/code>, dane miesi\u0119czne za pomoc\u0105 <code>FX_MONTHLY<\/code>.<\/p>\n<p>Wszystko sprowadza si\u0119 do integracji darmowych API w PHP z Alpha Vantage. Chcia\u0142bym us\u0142ysze\u0107 wasze przemy\u015blenia i sugestie w sekcji komentarzy poni\u017cej.<\/p>\n<h4>Powi\u0105zane artyku\u0142y<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/jak-czytac-i-zapisywac-pliki-arkuszy-kalkulacyjnych-w-php\/\" title=\"Jak czyta\u0107 i zapisywa\u0107 pliki arkuszy kalkulacyjnych w PHP\">Jak czyta\u0107 i zapisywa\u0107 pliki arkuszy kalkulacyjnych w PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/jak-tworzyc-spotkania-zoom-za-pomoca-php-i-jwt\/\" title=\"Jak tworzy\u0107 spotkania Zoom za pomoc\u0105 PHP i JWT\">Jak tworzy\u0107 spotkania Zoom za pomoc\u0105 PHP i JWT<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/zapisuj-dane-do-arkusza-onedrive-za-pomoca-microsoft-graph-api-i-php\/\" title=\"Zapisuj dane do arkusza OneDrive za pomoc\u0105 Microsoft Graph API i PHP\">Zapisuj dane do arkusza OneDrive za pomoc\u0105 Microsoft Graph API i PHP<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>W tym artykule przyjrzymy si\u0119 integracji darmowych interfejs\u00f3w API w PHP przy u\u017cyciu us\u0142ugi Alpha Vantage. Ta us\u0142uga zapewnia bezp\u0142atny klucz API z<\/p>\n","protected":false},"author":1,"featured_media":21606,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[277],"tags":[847],"class_list":["post-29765","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-8","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/29765","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/comments?post=29765"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/29765\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media\/21606"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media?parent=29765"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/categories?post=29765"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/tags?post=29765"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}