betfair php api - 错误DSC-0021

时间:2015-07-10 10:47:33

标签: curl betfair

除了getAccountFunds之外,我在每个方法上都有DSC-0021错误。

我有这个请求功能

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;
    }
}
  • for balance(getAccountFunds)我收到了有效且正常的回复

    $ params =' {"钱包":"英国"}';

    $ action =' getAccountFunds';

    $ api_method =' AccountAPING';

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

  • 其他方法我总是得到DSC-0021

    $ params =' {"过滤":{}}';

    $ action =' listEventTypes';

    $ api_method =' SportsAPING';

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

  • sessionToken有效且关键

由于

1 个答案:

答案 0 :(得分:1)

这不仅仅是错误的终点吗?体育博彩apis与账户apis的端点不同。请参阅here for accountshere for betting