22
LOGO PHPDay 2010 18/12/2010 1 Phan Thái Trung PHP Day 2010 Tự động đặt hàng từ Hệ thống bán lẻ lớn nhất Trung Quốc

05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

LOGOPHPDay 2010

18/12/2010 1

Phan Thái TrungPHP Day 2010

Tự động đặt hàng từ Hệ thống bán lẻ lớn nhất Trung Quốc

Tự động đặt hàng từ Hệ thống bán lẻ lớn nhất Trung Quốc

Page 2: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

18/12/20102

Nội dung

Giới thiệu Đặt hàng web TQ1

Giới thiệu Kami8x2

Bên trong Kami8x3

Kết luận – Trao đổi4

Page 3: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

18/12/20103

Giới thiệu Đặt hàng qua web Trung Quốc

Trung Quốc là trung tâm hàng hoá của thế giới

Đặt hàng sỉ, lẻ qua web có nhiều ưu điểm mà ai cũng biết

Đối tượng: Các shop kinh doanh thời trang, mỹ phẩm Người dùng lẻ

Hãy xem họ hoạt động như thế nào: http://www.google.com.vn/search?

q=đặt+hàng+web+trung+quốc

Page 4: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

18/12/20104

Alibaba.com & Taobao.com

Alibaba là thị trường giao dịch bán buôn lớn nhất Trung quốc và thế giới.

Taobao.com Là thương hiệu bán lẻ hàng hoá của Alibaba. Là hệ thống trang web ưu tiên số 1 của

người mua hàng VN và thế giới. “Cần tìm sản phẩm gì, vào taobao.com”.

Page 5: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

18/12/20105

Ví dụ minh hoạ: Taobao.com

Thẻ nhớ SD 32G SD SDHCVi mạch robotQuạt không cánh Dyson Áo thời trang dành cho teen giống các

hot girl Áo da beo H&M: H&M 豹 http://item.taobao.com/item.htm?id=85792189

72

http://item.taobao.com/item.htm?id=6013307001&cm_cat=16

Page 6: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

18/12/20106

Phần 2: Giới thiệu Kami8x

Dịch vụ đặt hàng toàn cầuCó chi nhánh đại lý tại 4 tỉnh thành Hà

Nội, Hải Phòng, Đà Nẵng, Hồ Chí Minh.

Đầu tư rất kỹ cho đặt hàng taobao.com mà không dịch vụ cạnh tranh nào có được.

Page 7: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

18/12/20107

Kami8x đặt hàng tự động như thế nào

Phía người dùng khách hàng Chỉ cần nhập đường dẫn link web Chọn thuộc tính sản phẩm (màu sắc, kích cỡ…) (tự

dịch từ tiếng TQ sang tiếng Việt) Danh sách các sản phẩm cùng hình ảnh, giá, số

lượng và thuộc tính được quản lý trong CSDL. Phía đại lý, nhân viên Kami8x

Tự động đặt hàng hàng nghìn sản phẩm mỗi đợt Kiểm hàng về và báo cho khách qua email, SMS. Quản lý danh sách các đợt hàng từ trước

Page 8: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

18/12/20108

Các công nghệ đã sử dụng Drupal CMS (Framework) Tự động dịch: Google translate API Taobao Open Platform (TOP)

http://open.taobao.com PHP Http Client Class:

http://scripts.incutio.com/httpclient/ PHPExcel:

http://www.codeplex.com/PHPExcel Mã PHP chuyển từ số sang chữ tiếng Việt (đếm bằng chữ)

SMS gate way phpQuery:

jQuery-like DOM manipulation for PHP Bảo Kim API (class BaoKimPayment) Ngân lượng API (class NL_Checkout)

Page 9: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

18/12/20109

Drupal CMS / Framework

Drupal là một hệ thống rất mạnh để phát triển CMS và ứng dụng web

Với Drupal, người phát triển không phải lo viết các mã cấp thấp mà chỉ tập trung vào phát triển phần ứng dụng

Ví dụ nâng cao: AHAH form Batch API Bulk Views Operations Phân quyền khách, đại lý, quản lý

Sử dụng Google Apps Email (SMTP) cho gửi mail với Drupal

Page 10: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

18/12/201010

Công cụ dịch Google dịch (tiếng TQ – tiếng Anh và ngược

lại) http://translate.google.com.vn/#zh-CN|en|

Dịch tích hợp Mozilla Firefox: gTranslator

https://addons.mozilla.org/en-US/firefox/addon/76233/ “Google translate gadget for firefox. This extension

translates entire webpages into a language of your choice with one click. Idea comes from Google Translation Bar for Chrome”.

Dịch tích hợp Internet Explorer: Google Toolbar

Dịch tích hợp Google Chrome: Đã tích hợp sẵn.

Page 11: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

18/12/201011

Google translate APIfunction _digipro_google_translate ( $text, $destLang = 'vi', $srcLang = 'zh') {   $text = urlencode( $text );   $google_url =

"http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q={$text}&langpair={$srcLang}|{$destLang}";

  $trans = @file_get_contents( $google_url );  $json = json_decode( $trans, true );   if( $json['responseStatus'] != '200' ) return false;   else return $json['responseData']['translatedText']; }

Page 12: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

18/12/201012

Taobao Open Platform (TOP)

Hỗ trợ tự động tương tác với hệ thống taobao qua API

Kami8x đã sử dụng các lệnh sau: taobao.item.get

• Lấy thông tin thuộc tính, hình ảnh sản phẩm

taobao.itempropvalues.get• Lấy thông tin về các thuộc tính (màu sắc, size…)

taobao.items.get• Tự động nhập sản phẩm cho theo các danh mục hoặc theo

từng shop

taobao.itemcats.get• Lấy hết các danh mục hàng hoá của taobao.com về.

Page 13: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

18/12/201013

Taobao Open Platform (tiếp)

API test: http://open.taobao.com/api_tool/api_test.html

Ví dụ minh hoạ:

Page 14: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

18/12/201014

SMS gateway

Brand name SMS gateway

Gateway API

Demo Gateway API

Page 15: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

18/12/201015

Kami8x – tự động đặt hàng Từ danh sách hàng nghìn sản phẩm của khách hàng

đã nhập Dùng javascript (client side) mở cửa sổ named popup

sang đường link web sản phẩm Dùng GreaseMonkey để chèn mã js vào trang web Gọi hàm trigger để giả lập sự kiện kích nút Nhập vào

giỏ hàng.var evt = document.createEvent("MouseEvents"); evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false,

false, false, false, 0, null);

var aaa = document.querySelector("ul li[data-value='" + data_key_value + "']:not(.tb-selected) a");

if (aaa) { aaa.dispatchEvent(evt); }

(tiếp trang sau)

Page 16: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

18/12/201016

Kami8x – tự động đặt hàng (tiếp) Dùng querySelector() để tìm thành

phần DOMvar li = document.querySelector("ul li[data-value='" +

data_key_value + "'].tb-selected");

Dùng addEventListener() với sự kiện 'DOMNodeInserted‘ để bắt sự kiện Giỏ hàng thành công hay không

Dùng javascript opener.postMessage() để phản hồi lại tình trạng tới người đặt hàng

(Demo)

parentPopup[0].addEventListener ('DOMNodeInserted', function (event) {

var textNode = event.target;

if (textNode.id == "J_CartInfo") { if (opener) {

opener.postMessage( checksum , "*"); // feedback }}}, false);

Page 17: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

18/12/201017

Một ví dụ nữa của GreaseMonkey

Công cụ tính giá & đặt hàng ngay trong Taobao http://kami8x.net/cong-cu-tinh-gia-dat-hang-ngay-trong-taobao

“Với công cụ này, ngay trong trang web Taobao, người sử dụng có thể trực tiếp tính giá sản phẩm theo VNĐ, và thực hiện đặt hàng sản phẩm tới hệ thống của Kami8x.net một cách dễ dàng”

http://kami8x.net/sites/kami8x.net/files/greasemonkey/kami8x_order.user.js

Page 18: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

18/12/201018

Kami8x – tự động kiểm hàng và báo giá Kiểm hàng bằng

Views Bulk Operation (VBO)

Gửi thông báo có hàng / hết hàng / lỗi web tới khách hàng qua Email, SMS

Lập file báo giá Excel và tính giá tuỳ theo số lượng

Page 19: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

18/12/201019

Bonus – Mã chuyển số thành chữ - PHP http://phanthaitrung.thxd.nuce.edu.vn/article/helper-function-for-counting-big-number-currency-in-

vietnamese-string

function so_bang_chu($so, $mien_nam = false){ $NHOM = array('', 'mươi', 'trăm'); $NHOM_NGHIN = array(($mien_nam ? 'ngàn' : 'nghìn'), 'triệu', ($mien_nam ? 'tỷ' : 'tỉ')); $CHU = array('không', 'một' , 'hai' , 'ba' , 'bốn' , 'năm' , 'sáu' , 'bảy' , 'tám' , 'chín'); $LINH = ($mien_nam ? 'lẻ' : 'linh'); $chuso = (string)$so; $chuso = str_replace(' ', '', $chuso); $kq = array(); $nhom = 3; if ($nhom > strlen($chuso)) { $count = 3 - $nhom + strlen($chuso); if ($count <= 0) return; $nhom = strlen($chuso); } $count = 3; $has_last_group = false; while ($nhom3so = substr($chuso, -$nhom, $count)) { if (intval($nhom3so)) { $kq_nhom = array(); $last= ''; for ($j = -strlen($nhom3so); $j <= -1; $j++) { // đếm ngược từ hàng trăm $has_NHOM = true; $chu = (substr($nhom3so, $j, 1)); if (strlen($chu)) { if ($chu == '1' && $last && $last != '0' && $last != '1') { $kq_nhom[] = 'mốt'; } else if ($chu == '5' && $last != '0' && $last) { $kq_nhom[] = 'lăm'; } else if ($chu == '0' && $j == -1) { // 0 don vi // nothing } else if ($chu != '0' && $last === '0' && $j == -1) { // 0 chuc x don vi $kq_nhom[] = $LINH; $kq_nhom[] = $CHU[$chu]; } else if ($chu == '0' && $j == -2) { // 0 chuc // nothing $has_NHOM = false; } else if ($chu == '1' && $j == -2) { // 1 chuc $kq_nhom[] = 'mười'; $has_NHOM = false; } else if ($j == -3 && $chu == '0' && !$has_last_group && substr($nhom3so, -2, 1) == '0') { // 0 tram // nothing $has_NHOM = false; } else { $kq_nhom[] = $CHU[$chu]; } if ($has_NHOM && $NHOM[-1 - $j]) $kq_nhom[] = $NHOM[-1 - $j]; } $last = $chu; } $NHOM_NGHIN_index = ceil($nhom / 3) - 2; if ($NHOM_NGHIN_index >= 0) $kq_nhom[] = $NHOM_NGHIN[$NHOM_NGHIN_index % 3]; if ($NHOM_NGHIN_index > 2) { for ($i = 2; $i < $NHOM_NGHIN_index; $i += 3) { $kq_nhom[] = $NHOM_NGHIN[2]; // ty? } } $has_last_group = true; $kq[] = implode(' ', $kq_nhom); } else { $has_last_group = false; } $nhom += 3; if ($nhom > strlen($chuso)) { $count = 3 - $nhom + strlen($chuso); if ($count <= 0) break; $nhom = strlen($chuso); } } $kq = array_reverse($kq); $kq = implode(', ', $kq); // remove ", linh" to no comas $kq = str_replace(', ' . $LINH, ' ' . $LINH, $kq); $kq = ucfirst($kq); return $kq;}

Page 20: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

18/12/201020

Tham khảo

How to Buy from Taobao (English version) http://taobaofieldguide.com/how-to-buy-from-

taobao/how-to-buy-from-taobaoHướng dẫn xem hàng từ website

Taobao.com và Paipai.com http://kami8x.net/huong-dan-xem-hang-tu-

website-taobaocom-va-paipaicomCông cụ tính giá & đặt hàng ngay

trong Taobao http://kami8x.net/cong-cu-tinh-gia-dat-hang-

ngay-trong-taobao

Page 21: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

18/12/201021

Kết luận – Trao đổi

Kết luận Sử dụng rất nhiều công nghệ để làm nên một

hệ thống thương mại điện tử tuỳ biến.Trao đổi

Trao đổi với cử toạ

Page 22: 05 - Phan Thai Trung - Tu dong dat hang tu he thong ban le lon nhat Trung Quoc

LOGOPHPDay 2010

18/12/2010 22

Chúc hội thảo thành công tốt đẹp!

Phan Thái Trung