betfair php api - ошибка DSC-0021

У меня всегда ошибка DSC-0021 на каждом методе, кроме getAccountFunds.

у меня есть эта функция запроса

function send_request($api_method, $action, $params){

    if(!isset($_SESSION['session']) or empty($_SESSION['session'])){
        $_SESSION['session'] = login_non_interactive(APP_KEY);
    }

    $endpoint = 'https://api.betfair.com/exchange/account/json-rpc/v1';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $endpoint);
    curl_setopt($ch, CURLOPT_POST, 1);


    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'X-Application: ' . APP_KEY,
        'X-Authentication: ' . $_SESSION['session'],
        'Accept: application/json',
        'Content-Type: application/json'
    ));

    $postData =
        '[{ "jsonrpc": "2.0", "method": "'.$api_method.'/v1.0/' . $action . '", "params" :' . $params . ', "id": 1}]';

    curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);

    if( ! $response = curl_exec($ch)){
        trigger_error(curl_error($ch)); 
    }

    $http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    if ($http_status == 200) {
        return json_decode($response);
    } else {
        echo  'Error: ' . $response;
    }
}
  • для баланса (getAccountFunds) я получил правильный и правильный ответ

    $ params = '{"wallet": "UK"}';

    $ action = 'getAccountFunds';

    $ api_method = 'AccountAPING';

    $ balance = send_request ($ api_method, $ action, $ params);

  • для других методов я всегда получаю DSC-0021

    $ params = '{"filter": {}}';

    $ action = 'listEventTypes';

    $ api_method = 'SportsAPING';

    $ res = send_request ($ api_method, $ action, $ params);

  • sessionToken действителен и ключ тоже

Спасибо

1 ответ

Разве это не просто неправильная конечная точка? Апис спортивные ставки находятся на другой конечной точке, чем аккаунт apis. Смотрите здесь для счетов и здесь для ставок.

Другие вопросы по тегам