MakeshopAPIで受注データを取得する方法 vol.1

MakeshopAPIで受注データを取得

必要なもの:
ショップID
Makeshop API アクセストークン

※Makeshopパートナー限定

仕様

受注情報を取得

ショップIDとアクセストークンをパラメタで送信し、受注情報を取得します。

実装

MakeShopOrder Class

  public function get_order_ease($params){

    $url = "https://www.makeshop.jp/api/orderinfo/index.html";
    $url .= "?".http_build_query($params);

    $xml = simplexml_load_file($url);

    $mkdata = array();

    foreach($xml->order as $item){
      $base_data = array();
      $date = substr((string)$item->date, 0, 10);
      $time = substr((string)$item->date, 11, 9);
      $ordernum = (string)$item->ordernum;
      $status = (string)$item->status;

      if ($status !== "1") { //status = 1 が決済完了 0 = キャンセル、99=仮状態
        continue;  //1以外は未処理
      }

      $base_data['ordernum'] = $ordernum;
      $base_data['date'] = $date;
      $base_data['time'] = $time;
      $base_data['paymethod'] = (string)$item->paymethod;
      $base_data['status'] = (string)$item->status;

      $base_data['buyer_name'] = (string)$item->buyer->name;

      $base_data['delivery_status'] = (string)$item->deliveries->delivery->delivery_status;
      if ((string)$item->deliveries->delivery->delivery_status == "0") {
        $base_data['delivery_status'] = "未処理";
      }else if((string)$item->deliveries->delivery->delivery_status == "1"){
        $base_data['delivery_status'] = "配送";
      }else if((string)$item->deliveries->delivery->delivery_status == "2"){
        $base_data['delivery_status'] = "返送";
      }else if((string)$item->deliveries->delivery->delivery_status == "3"){
        $base_data['delivery_status'] = "注文キャンセル";
      }
      array_push($mkdata, $base_data);
    }
    return $mkdata;

  }

パラメタとfunctionの呼び出し

MakeShop受注データを取得し配列に設定します。

//受注データ取得開始日-終了日
$start = date("Ymd000000", strtotime('0 day')); //受注データ取得日  (取得日調整: 0 day を変更. 0 day = 本日 -1=削除から)
$end = date("YmdHis");


//MakeShop API params
$params = array(
  "cmd" => "get",
  "shopid" => "{SHOP ID}",
  "token" => "{ACCESS TOKEN}",
  "start" => $start,
  "end" => $end
);

$order = new MakeShopOrder();
$mkdata = $order->get_order_ease($params);

print_r($mkdata);

次回は取得した受注データをSlackで通知する部分の実装をご紹介。

この記事のご感想やコメントはこちら

メールアドレスが公開されることはありません。 が付いている欄は必須項目です