Binance-API
view release on metacpan or search on metacpan
lib/Binance/API.pm view on Meta::CPAN
=item limit
[OPTIONAL] Default 500; max 500.
=item fromId
[OPTIONAL] TradeId to fetch from. Default gets most recent
trades.
=item recvWindow
[OPTIONAL]
=back
B<RETURNS>
An ARRAYref of HASHrefs
[
{
"id": 28457,
"orderId": 100234,
"price": "4.00000100",
"qty": "12.00000000",
"commission": "10.10000000",
"commissionAsset": "BNB",
"time": 1499865549590,
"isBuyer": true,
"isMaker": false,
"isBestMatch": true
}
]
=cut
sub my_trades {
my ($self, %params) = @_;
unless ($params{'symbol'}) {
$self->log->error('Parameter "symbol" required');
Binance::Exception::Parameter::Required->throw(
error => 'Parameter "symbol" required',
parameters => ['symbol']
);
}
my $query = {
symbol => $params{'symbol'},
limit => $params{'limit'},
fromId => $params{'fromId'},
recvWindow => $params{'recvWindow'},
};
return $self->ua->get(
'/api/v3/myTrades', { signed => 1, query => $query }
);
}
=head2 start_user_data_stream
$api->start_user_data_stream();
Start a new user data stream. The stream will close after 60 minutes unless
a keepalive is sent.
B<PARAMETERS>
=over
=item Takes no parameters.
=back
B<RETURNS>
A HASHref
{
"listenKey": "pqia91ma19a5s61cv6a81va65sdf19v8a65a1a5s61cv6a81va65sdf19v8a65a1"
}
=cut
sub start_user_data_stream {
return $_[0]->ua->post('/api/v3/userDataStream');
}
=head2 keep_alive_user_data_stream
$api->keep_alive_user_data_stream();
Keepalive a user data stream to prevent a time out. User data streams will close
after 60 minutes. It's recommended to send a ping about every 30 minutes.
B<PARAMETERS>
=over
=item listenKey
[REQUIRED]
=back
B<RETURNS>
An empty HASHref
{}
=cut
sub keep_alive_user_data_stream {
my ($self, %params) = @_;
unless ($params{'listenKey'}) {
$self->log->error('Parameter "listenKey" required');
Binance::Exception::Parameter::Required->throw(
error => 'Parameter "listenKey" required',
parameters => ['listenKey']
);
}
my $query = {
listenKey => $params{'listenKey'},
};
return $self->ua->put('/api/v3/userDataStream', { query => $query } );
}
=head2 delete_user_data_stream
$api->delete_user_data_stream();
Close out a user data stream.
B<PARAMETERS>
=over
=item listenKey
[REQUIRED]
=back
B<RETURNS>
An empty HASHref
{}
=cut
sub delete_user_data_stream {
my ($self, %params) = @_;
unless ($params{'listenKey'}) {
$self->log->error('Parameter "listenKey" required');
Binance::Exception::Parameter::Required->throw(
error => 'Parameter "listenKey" required',
parameters => ['listenKey']
);
}
my $query = {
listenKey => $params{'listenKey'},
};
return $self->ua->delete('/api/v3/userDataStream', { query => $query } );
}
=head2 log
$api->log->warn("This is a warning");
B<PARAMETERS>
=over
( run in 1.143 second using v1.01-cache-2.11-cpan-39bf76dae61 )