土曜日, 10月 11, 2008

【EC開発体験記-出荷-】 ヤマトB2と連携する このエントリーを含むはてなブックマーク


 今回は出荷管理システムについて説明する。

 受注管理機能や決済機能が充実しているECサイトは多いが出荷機能が備わっているものは意外と少ない。楽天やYahooなどの大手のモールであっても、実際には受注だけが可能であり、出荷のためには別途システムを使わなければならないのが現状である。通常は、その日に受付けた注文をモールからEXPORTして出荷管理システムにIMPORTしなおすといったことをしなければならない。また、実際の商品の出荷では送り状が必要になるため、送り状発行ソフトとの連携も必要になる。

このように出荷管理システムでは以下のようなモールには備わっていない機能が必要となる。


1.受け付けた注文を取込む機能
2.送り状発行ソフトに渡す出荷データを出力する機能
3.(送り状発行ソフトから)出荷済となったものを取込む機能
4.納品書発行機能
5.ステータス管理機能(受付、確定、出荷済、キャンセル、配完、返品など)

また、必須ではないが以下のような機能も求められる。

6.確定時のカードオーソリ機能
7.受付時と出荷時に案内メールを送信する機能


 送り状発行ソフトは、4辺160㎝までの小物商品であればヤマト運輸のB2という送り状発行ソフトを使うと便利である。B2には、顧客データの一括取込機能があるので、出荷管理システム側でB2の指定するレイアウトにしたがってCSVを出力する機能を用意すればよい。また、ステータスの一括出力機能もあるため、出荷管理システム側で、出荷済となったステータスデータを取込み、商品のステータスを一括で更新する機能を持たせればよい。

B2 顧客データの一括取込

<B2用CSVを出力PHPサンプル>


# データ出力
$n = 0;
while ($n < mysql_num_rows($res)) {

  $l = array();

  # CSV編集
  $l[] = date('Ymd');   # 出荷日
  $l[] = $d[$n]["odrno"]; # 受注番号
  if($d[$n]["pay_flg"]=="1") {
    # 代引受注のとき
    $l[] = "2";
  }else {
    # その他
    $l[] = "0";
  }
  $l[] = "";
  $l[] = "";
  $l[] = $d[$n]["to_tel"]; # 届先電話番号
  $l[] = "";
  $l[] = $d[$n]["to_name"]; #届先氏名
  $l[] = $d[$n]["to_zip"];  #届先郵便番号
  $l[] = $d[$n]["to_add1"] . $d[$n]["to_add2"] . $d[$n]["to_add3"];  $l[] = ""; #届先住所
  $l[] = "";
  $l[] = "";
  $l[] = mb_convert_encoding("様", "CP932","UTF-8");
  $l[] = "";
  $l[] = "0311112222"; # 電話番号
  $l[] = "";
  $l[] = mb_convert_encoding("XXXX商店", "CP932","UTF-8"); # 送主名
  $l[] = "1050014"; # 送主郵便番号
  $l[] = mb_convert_encoding("東京都港区芝3-X-X","CP932","UTF-8"); # 送主住所
  $l[] = "";
  $l[] = "XXXXXXXXX"; # B2契約番号
  $l[] = "";
  $l[] = "1";
  $l[] = $d[$n]["product_code"]; # 商品コード
  $l[] = mb_convert_encoding("XXXXご注文商品", "CP932","UTF-8");
  $l[] = "";
  $l[] = "";
  $l[] = "";
  $l[] = "";
  $l[] = "";
  $l[] = $d[$n]["sitei_date"];
  if($d[$n]["sitei_class"]=="1") {
    # 午前中指定のとき
    $l[] = "0812";
  }else {
    # それ以外    
    if($d[$n]["sitei_class"]=="2") {
    # 午前中指定のとき
      $l[] = "1214";
    }else {
      if($d[$n]["sitei_class"]=="3") {
      # 1214指定のとき
        $l[] = "1416";
      }else {        
        if($d[$n]["sitei_class"]=="4") {
        # 1618指定のとき
          $l[] = "1618";
        }else {
            if($d[$n]["sitei_class"]=="5") {
          # 1820指定のとき
            $l[] = "1820";
          }else {
            if($d[$n]["sitei_class"]=="6") {
            # 2021指定のとき
              $l[] = "2021";
            }else {
              if($d[$n]["sitei_class"]=="7") {
              # 午前後指定のとき
                $l[] = "0017";
              }else {
              # その他
                $l[] = "";
              }
            }
          }
        }
      }
    }    
  }
  $l[] = $d[$n]["amt"]; # 金額
  
  fwrite($h, join(",", $l) . "\r\n");  # MS改行コード
  
  $n ++;
}



0 件のコメント:

 
© 2006-2015 Virtual Technology
当サイトではGoogle Analyticsを使ってウェブサイトのトラフィック情報を収集しています。詳しくは、プライバシーポリシーを参照してください。