京東大商戶對接 API 的 Composer 包

xiaoyukarl發表於2020-01-15

京東大客戶開發平臺VOP對接

京東VOP文件連結 https://vop.jd.com/doc/api

使用方法
  • github github.com/xiaoyukarl/jd_biz
  • 下載composer包 composer require xiaoyukarl/jd_biz
  • 修改配置檔案config.php
  • 呼叫介面方法
      //使用地址介面
      $address = new \jd\biz\request\AddressRequest();
      //獲取省份列表
      var_dump($address->getProvinces());exit;
config.php配置檔案說明
return [
    'client_id' => '', //對接client_id
    'client_secret' => '',//對接賬號密碼
    'username' => '',//京東使用者名稱,可能是中文
    'password' => '',//京東的密碼
    'jdBaseUrl' => 'https://bizapi.jd.com/',
];
說明
  • 介面返回資料格式

    [
      'code' => 0, //當code等於0時,代表介面請求成功
      'message' => 'success', //當介面請求發生錯誤時, 顯示錯誤資訊
      'data' => [],//具體返回引數,
    ]
  • 介面提供方法

AddressRequest.php 地址API包含方法
[
    查詢一級地址 getProvinces()
    查詢二級地址 getCity($provinceId)
    查詢三級地址 getCounty($cityId)
    查詢四級地址 getTown($countyId)
    驗證地址有效性 checkArea($address)
    地址詳情轉換京東地址編碼 getJDAddressFromAddress($address)
]
ProductRequest.php 商品API包含方法
[
    查詢所有商品池編號,商品池編號將用於獲取池內商品編號 getProductPool()
    查詢單個商品池下的商品列表 getSkuByPage($pageNum, $pageNo)
    查詢單個商品的詳細資訊 getDetail($sku, $queryExts)
    查詢單個商品的主圖、輪播圖 getImage($skuIds)
    查詢商品的上下架狀態 saleStatus($skuIds)
    查詢商品可售性、是否支援專票等影響銷售的重要屬性 checkProduct($skuIds)
    查詢商品在特定區域是否可售 checkProductAreaLimit($skuIds, $province, $city, $county, $town)
    根據此介面查詢主商品附帶的贈品 getSkuGift($skuId, $province, $city, $county, $town)
    根據此介面查詢可隨主商品一併購買的延保等服務商品 getYanbaoSku($skuIds, $province, $city, $county, $town)
    驗證商品在指定區域是否可使用貨到付款 checkCashOnDelivery($skuIds, $province, $city, $county, $town)
    批次驗證商品在指定區域是否可使用貨到付款 atchCheckCashOnDelivery($skuIds, $province, $city, $county, $town)
    根據搜尋條件查詢符合要求的商品列表 searchProduct($params)
    查詢被指定為同一類的商品 getSimilarProduct($skuId)
    根據分類id查詢對應分類資訊 getProductCategory($categoryId)
]

StockRequest.php 庫存API包含方法
[
    批次獲取庫存介面 getNewStockById($skuNums, $area)
]

PriceRequest.php 商品價格API包含方法
[
    批次查詢商品售賣價  getSellPrice($skuIds, $queryExts)
]

BalanceRequest.php 餘額支付API包含方法
[
    查詢金採和預存款餘額的餘額 getUnionBalance($pin, $type)
    僅支援預存款餘額明細查詢,不支援金採餘額明細查詢 getBalanceDetail($pageNum = 1, $pageSize = 20, $orderNum = '', $startDate = '', $endDate = '')
    下單成功支付失敗的情況,可以呼叫此介面重新支付 payOrder($jdOrderNum)
]

OrderRequest.php 訂單API包含方法
[
    查詢準備提交的訂單的運費 getOrderFreight($skuNums, $paymentType, $province, $city, $county, $town)
    獲取京東預約日曆 promiseCalendarNew($skuNums, $paymentType, $province, $city, $county, $town)
    提交訂單資訊,生成京東訂單 submitOrder(array $order)
    訂單反查介面,根據第三方訂單號反查京東的訂單號  getJDOrder($orderNum)
    確認預佔庫存訂單介面 confirmOrder($jdOrderNum)
    取消未確認訂單介面 cancelOrder($jdOrderNum)
    查詢京東訂單資訊介面 orderDetail($jdOrderNum, $queryExts = [])
    查詢配送資訊 orderTrack($jdOrderNum, $waybillCode = 1)
    確認收貨 confirmReceivedOrder($jdOrderNum)
    更新採購單號 saveOrUpdatePoNo($jdOrderNum, $poNo)
    查詢所有新建的訂單列表。可用於核對訂單 orderList($startDate, $pageNo = 1, $pageSize = 20, $endDate = '', $jdOrderIdIndex = '')
    查詢所有妥投的訂單列表。可用於核對訂單 checkDeliveredOrder($startDate, $pageNo = 1, $pageSize = 20, $endDate = '', $jdOrderIdIndex = '')
    查詢所有拒收的訂單列表。可用於核對訂單 checkRefuseOrder($startDate, $pageNo = 1, $pageSize = 20, $endDate = '', $jdOrderIdIndex = '')
    查詢所有完成的訂單列表。可用於核對訂單 checkCompleteOrder($startDate, $pageNo = 1, $pageSize = 20, $endDate = '', $jdOrderIdIndex = '')
    查詢配送預計送達時間  getPromiseTips($skuId, $num, $province, $city, $county, $town = 0)
]

AfterSaleRequest.php    售後服務API
[
    校驗某訂單中某商品是否可以提交售後服務 getAvailableNumberComp($jdOrderNum, $skuId)
    根據訂單號、商品編號查詢支援的服務型別 getCustomerExpectComp($jdOrderNum, $skuId)
    根據訂單號、商品編號查詢支援的商品返回京東方式 getWareReturnJdComp($jdOrderNum, $skuId)
    發起售後申請  createAfsApply($params)
    填寫發運資訊  updateSendSku($afsServiceId, $expressCompany, $deliverDate, $expressCode, $freightMoney = 0.0)
    查詢訂單下服務單彙總資訊   getServiceListPage($jdOrderNum, $pageIndex = 1, $pageSize = 20)
    查詢服務單明細資訊。  getServiceDetailInfo($afsServiceId, $appendInfoSteps = [1,2,3,4,5])
    取消已經生成的服務單  auditCancel(array $serviceIdList, $approveNotes)
    確認服務單   confirmAfsOrder($customerName, $username, $afsServiceId)
    查詢訂單下服務單彙總列表資訊。 getAfsServiceListPage(array $query = ['pageIndex' => 1, 'pageSize' => 20])
]

InvoiceRequest.php    發票API
[
    申請開票    createInvoice(array $invoice)
    透過的訂單號查詢對應的第三方申請單號  queryThrApplyNo($jdOrderNum)
    查詢第三方申請單號下的發票概要資訊   queryInvoiceDesc($markId)
    查詢發票明細資訊。目前只支援紙質發票  queryInvoiceItem($invoiceId, $invoiceCode)
    查詢電子發票明細資訊  getInvoiceList($jdOrderNum, $invoiceType, $queryExts = ['prefixZero', 'electronicVAT'])
    紙質發票如果需要郵寄,使用此介面查詢配送單號  getInvoiceWaybill($markId)
    查詢發票物流訊息資訊  queryDeliveryNo($jdOrderNum)
    取消已經提交的開票申請     cancelInvoice($markId)
]

MessageRequest.php     訊息服務API
[
    獲取推送資訊介面    getMessage($type)
    根據推送id,刪除推送資訊介面 delMessage( array $ids)
]
目錄結構
jd_biz
├─ README.md
├─ composer.json
├─ composer.lock
├─ src 
│  ├─ configs
│  │  └─ config.php 配置檔案
│  ├─ lib
│  │  ├─ ConfigLib.php  獲取配置檔案
│  │  ├─ CurlLib.php    curl
│  │  ├─ HelperLib.php    幫助類
│  │  ├─ QueryTools.php    curl工具類
│  │  └─ TokenLib.php   獲取token工具類
│  ├─ request
│  │  ├─ AddressRequest.php     地址介面請求  
│  │  ├─ AfterSaleRequest.php     售後介面請求
│  │  ├─ BalanceRequest.php     餘額和支付介面請求
│  │  ├─ InvoiceRequest.php     發票介面請求
│  │  ├─ MessageRequest.php     資訊介面請求
│  │  ├─ OrderRequest.php       訂單介面請求
│  │  ├─ PriceRequest.php       商品價格介面請求
│  │  ├─ ProductRequest.php     產品介面請求
│  │  ├─ StockRequest.php    庫存介面請求
│  │  └─ Request.php   介面請求父類
│  └─ storage token快取目錄
├─ test
│  └─ test.php 測試檔案
└─ vendor 自動載入目錄
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章