1. 程式人生 > 實用技巧 >呼叫EcStore中的API介面

呼叫EcStore中的API介面

<?php
dorequest_order_list();
function dorequest_order_list()
{
    $posturl='http://192.168.1.112/index.php/api';//介面地址
    $token ='';// '73b2395d6f20b1de2cfc7a755433de7fa7bbb3bcc21508c2a5e17cff2eeef382';//生成sign用的token,xgang的
    $apiParams['v'] = 'v1';
    $apiParams['format'] = 'json';
    $apiParams['method'] ='trade.get.list';
    $apiParams['format'] = 'json';

    $apiParams['create_time_start'] = '1514801250';
    $apiParams['create_time_end'] = '1516334603';

    /*    $apiParams['item_id'] = 188;
        $apiParams['sku_id'] = 594;*/
    //$apiParams['status'] ='';
    $apiParams['fields'] ='tid';

    $apiParams['timestamp'] = time();
    $apiParams['sign_type'] = 'MD5';
    $apiParams['sign'] =sign($apiParams,$token);
    $ret=docurl($posturl,$apiParams);
    //echo 'params:'."\r\n";
   // print_r($apiParams);
    //echo "\r\n";
   // echo "response:"."\r\n";
    print_r($ret);
    exit;

}

function dorequest()
{
    $posturl='http://www.xgang.net/index.php/api';//介面地址
    $token = '73b2395d6f20b1de2cfc7a755433de7fa7bbb3bcc21508c2a5e17cff2eeef382';//生成sign用的token,xgang的
    $apiParams['v'] = 'v1';
    $apiParams['format'] = 'json';
    $apiParams['method'] ='item.sku.get';
    $apiParams['item_id'] = 188;
    $apiParams['sku_id'] = 594;
    $apiParams['method'] = 'item.sku.get';
    $apiParams['timestamp'] = time();
    $apiParams['sign_type'] = 'MD5';
    $apiParams['sign'] =sign($apiParams,$token);
    $ret=docurl($posturl,$apiParams);
    echo 'params:'."\r\n";
    print_r($apiParams);
    echo "\r\n";
    echo "response:"."\r\n";
    print_r($ret);
    exit;

}
//curl請求
function docurl($url,$post_data){
    //初始化
    $curl = curl_init();
    //設定抓取的url
    curl_setopt($curl, CURLOPT_URL,$url);
    //設定標頭檔案的資訊作為資料流輸出
    curl_setopt($curl, CURLOPT_HEADER, 0);
    //設定獲取的資訊以檔案流的形式返回,而不是直接輸出。
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    //設定post方式提交
    curl_setopt($curl, CURLOPT_POST, 1);
    //設定post資料

    curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
    //執行命令
    $data = curl_exec($curl);
    //關閉URL請求
    curl_close($curl);
    //顯示獲得的資料
    return $data;
}
//生成簽名
function sign($params, $token) {
    return strtoupper(md5(strtoupper(md5(assemble($params))).$token));
}
//拼接引數
function assemble($params) {
    if(!is_array($params))  return null;
    ksort($params, SORT_STRING);
    $sign = '';
    foreach($params AS $key=>$val){
    if(is_null($val))   continue;
    if(is_bool($val))   $val = ($val) ? 1 : 0;
    $sign .= $key . (is_array($val) ? assemble($val) : $val);
    }
    return $sign;
}
?>

  

API呼叫方式:POST

API介面的地址: http://域名/api
API呼叫引數:
系統級引數:
'to_api_v' => '2.0', API版本號
'direct' => 'true', 直接呼叫方式(主要用於測試)
'app_id' => 'ecos.b2c', 實現API服務的Ecstore App

業務級引數:
'method' => 'b2c.goods.get_goods_intro', 呼叫的API介面名
'goods_id' => '8010', 商品ID

安全簽名引數:
'sign' => 引數組鍵值對和金鑰token組合後的MD5值

用於API呼叫的金鑰token,在伺服器安裝後在config目錄下尋找certi.php,就是裡面的token值

--------------------------------------------------------------------
ecstore 被外部系統請求的api介面

訂單相關
b2c.order.iframe_url 外部訂單編輯url地址獲取
b2c.payment.create 新增訂單支付單
b2c.refund.create 新增訂單退款單
b2c.delivery.create 添加發貨單
b2c.delivery.update 修改發貨單
b2c.reship.create 新增退貨單
b2c.order.search 搜尋訂單
b2c.order.detail 查詢訂單詳情
b2c.order.remark 修改訂單備註
b2c.order.leave_message 新增訂單買家留言
b2c.order.status_update 修改訂單狀態
b2c.order.ship_status_update 訂單發貨狀態更新介面
b2c.order.check_cost 確認訂單價格統計介面
b2c.order.get_wap_order_detail 訂單詳情介面

售後相關
b2c.aftersale.create 新增售後申請
b2c.aftersale.update 修改售後申請

支付方式相關
ectools.get_payments.get_all(獲取所有支付方式)

商品相關
b2c.update_store.updateStore 更新商品庫存
b2c.goods.get_cat_list 根據商品分類ID獲取下級分類列表
b2c.goods.get_type_detial 根據商品型別ID,獲取商品型別詳情
b2c.goods.get_store 根據貨品ID 查詢貨品庫存
b2c.goods.get_lv_price 根據貨品ID 查詢貨品對應等級價格
b2c.goods.get_goods_intro 根據商品ID,查詢商品詳情
b2c.goods.search_properties_goods 根據篩選條件查詢商品
b2c.goods.get_goods_detail 根據貨品ID獲取單個貨品的詳細資訊
b2c.brand.get_brand_detail 獲取品牌資料(根據品牌排序查詢列表)

會員相關
b2c.member.get_encrypt_params 獲取會員加密密碼引數
b2c.member.signin 會員登入
b2c.member.send_signup_sms 對註冊的手機號傳送驗證碼
b2c.member.signup 會員註冊介面
b2c.member.change_password 會員修改密碼
b2c.member.lost_send_vcode 找回密碼1,根據手機號碼傳送驗證碼
b2c.member.lost_verify_vcode 找回密碼2,驗證碼驗證
b2c.member.lost_reset_password 找回密碼3,設定新密碼 ,並進行修改密碼後續操作(傳送簡訊或郵件)
b2c.member.get_cart_info 根據會員ID獲取購物車資訊
b2c.member.add_cart 儲存會員新新增的購物車資訊
b2c.member.update_cart 更新購物車資訊購物車資訊
b2c.member.remove_cart 清除購物車資訊購物車資訊
b2c.member.save_address 儲存會員新建/編輯的收貨地址
b2c.member.get_address 根據會員查詢收貨地址
b2c.member.get_member_info 使用者基本資訊查詢
b2c.member.get_fav 根據使用者id獲取商品收藏列表
b2c.member.get_order_list 根據使用者id調取其訂單列表,按照下單時間降序排序
b2c.member.add_comments 發表評論
b2c.member.is_discuss 根據商品ID判斷時候能進行評論
b2c.member.get_cat_comments 根據商品ID獲取評論列表
b2c.member.get_point_params 獲取商品評論的評分引數