Alpha Vantage – Integre APIs de estoque grátis em PHP
Recentemente, trabalhei em um projeto em que queríamos integrar APIs de estoque livre. Durante a pesquisa, encontramos o serviço Alpha Vantage que fornece dados de estoque gratuitamente. No plano gratuito, eles fornecem 5 solicitações de API por minuto e 500 solicitações por dia. Essa cota é suficiente para pequenos aplicativos. No entanto, se você precisar de mais recursos, verifique os planos premium.
O Alpha Vantage fornece um ponto de extremidade para buscar os dados do estoque. Usando suas APIs, podemos buscar dados de estoque intradiário, diário, semanal, mensal. Eles também fornecem dados fundamentais, como uma visão geral da empresa, lucros, demonstração de resultados, balanço patrimonial, etc.
Neste artigo, estudamos como obter dados de estoque usando Alpha Vantage em PHP. Para começar, pegue sua chave de API do site Alpha Vantage.
Integre APIs de ações gratuitas em PHP
Para buscar dados de estoque, precisamos enviar solicitações HTTP para o endpoint fornecido do Alpha Vantage. Pode-se fazer isso usando cURL. Pessoalmente, adoro o Guzzle para esse propósito. Aqui também vou enviar solicitações HTTP e lidar com as respostas usando o Guzzle.
Instale a biblioteca Guzzle usando o comando:
composer require guzzlehttp/guzzle
Ao interagir com as APIs Alpha Vantage, precisamos enviar solicitações GET para seu endpoint de API. O endpoint da API https://www.alphavantage.co/query
é o mesmo para todas as solicitações. A única mudança será nos parâmetros ‘GET’. Vamos começar buscando dados de estoque de forma prática.
Obtenha dados intradiários
Na documentação da API do Alpha Vantage, você encontrará os detalhes sobre o endpoint e seus parâmetros detalhadamente.
Você pode obter dados intradiários de qualquer ação da seguinte maneira. Como exemplo, estou usando a empresa ‘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);
Substitua o espaço reservado YOUR_API_KEY pela sua chave de API real. Aqui, estou usando um parâmetro de função as TIME_SERIES_INTRADAY
e intervalo as 5min
.
Dados Diários
Você pode obter os dados diários de estoque usando o mesmo ponto de extremidade, mas com parâmetros diferentes como segue.
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'TIME_SERIES_DAILY',
'symbol' => 'IBM',
'apikey' => 'YOUR_API_KEY',
]
]);
Na solicitação de API acima, o parâmetro de função necessário é TIME_SERIES_DAILY
.
Dados Fundamentais
Ao escolher as ações certas, você provavelmente deseja dar uma olhada nos detalhes fundamentais de uma empresa. Você pode obter esses detalhes facilmente com Alpha Vantage.
Visão Geral da Empresa
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'OVERVIEW',
'symbol' => 'IBM',
'apikey' => 'YOUR_API_KEY',
]
]);
Lucro da empresa
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'EARNINGS',
'symbol' => 'IBM',
'apikey' => 'YOUR_API_KEY',
]
]);
Declaração de rendimentos
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'INCOME_STATEMENT',
'symbol' => 'IBM',
'apikey' => 'YOUR_API_KEY',
]
]);
Balanço patrimonial
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'BALANCE_SHEET',
'symbol' => 'IBM',
'apikey' => 'YOUR_API_KEY',
]
]);
Observe que você obterá detalhes desses endpoints e seus parâmetros na documentação da API.
Taxa de câmbio estrangeiro
Se você deseja obter taxas de câmbio (FX) históricas e em tempo real, pode fazê-lo usando o código abaixo. Neste código, estou obtendo a taxa de USD da moeda INR.
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'CURRENCY_EXCHANGE_RATE',
'from_currency' => 'USD',
'to_currency' => 'INR',
'apikey' => 'YOUR_API_KEY',
]
]);
Da mesma forma, os usuários podem obter taxas históricas de câmbio (FX) entre 2 moedas.
$response = $client->request('GET', '/query', [
'query' => [
'function' => 'FX_DAILY',
'from_symbol' => 'USD',
'to_symbol' => 'INR',
'apikey' => 'YOUR_API_KEY',
]
]);
O código acima tem um parâmetro de função FX_DAILY
que lhe dará taxas de câmbio diárias. Você pode obter dados semanais com parâmetro FX_WEEKLY
, dados mensais com FX_MONTHLY
.
É tudo sobre a integração de APIs de estoque livre em PHP com Alpha Vantage. Eu gostaria de ouvir seus pensamentos e sugestões na seção de comentários abaixo.
Artigos relacionados
- Como ler e escrever arquivos de planilha em PHP
- Como criar reuniões de zoom com PHP e JWT
- Grave dados na planilha do OneDrive usando Microsoft Graph API e PHP