Tự động đặt hàng từHệ thống bán lẻ lớn nhấtTrung QuốcPhan Thái TrungPHP Day 2010                      PHPDay 2010         ...
Nội dung                  1   Giới thiệu Đặt hàng web TQ                  2       Giới thiệu Kami8x                  3    ...
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 we...
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.c...
Ví dụ minh hoạ: Taobao.com     Thẻ nhớ SD 32 G SD SDHC     Vi mạch robot     Quạt không cánh Dyson     Áo thời trang d...
Phần 2: Giới thiệu Kami8x     Dịch vụ đặt hàng toàn cầu     Có chi nhánh đại lý tại 4 tỉnh thành Hà      Nội, Hải Phòng,...
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 t...
Các công nghệ đã sử dụng     Drupal CMS (Framework)     Tự động dịch: Google translate API     Taobao Open Platform (TO...
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 ...
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...
Google translate API     function _digipro_google_translate (       $text,       $destLang = vi,       $srcLang = zh)     ...
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ệ...
Taobao Open Platform (tiếp)      API test:        http://open.taobao.com/api_tool/api_test.html      Ví dụ minh hoạ:13 ...
SMS gateway      Brand name SMS       gateway      Gateway API      Demo Gateway API14     18/12/2010
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 (clien...
Kami8x – tự động đặt hàng (tiếp)      Dùng querySelector() để tìm thành       phần DOM        var li = document.querySele...
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...
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 ...
Bonus – Mã chuyển số thành chữ -     PHP        http://phanthaitrung.thxd.nuce.edu.vn/article/helper-function-for-countin...
Tham khảo      How to Buy from Taobao (English       version)         http://taobaofieldguide.com/how-to-buy-from-      ...
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ử ...
Chúc hội thảo thành công tốt đẹp!      Phan Thái Trung                                          PHPDay 2010               ...
Upcoming SlideShare
Loading in …5
×

Tu dong dat hang tu he thong ban le lon nhat trung quoc

948 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
948
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Tu dong dat hang tu he thong ban le lon nhat trung quoc

  1. 1. Tự động đặt hàng từHệ thống bán lẻ lớn nhấtTrung QuốcPhan Thái TrungPHP Day 2010 PHPDay 2010 LOGO18/12/2010 1
  2. 2. Nội dung 1 Giới thiệu Đặt hàng web TQ 2 Giới thiệu Kami8x 3 Bên trong Kami8x 4 Kết luận – Trao đổi2 18/12/2010
  3. 3. 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ốc3 18/12/2010
  4. 4. 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”.4 18/12/2010
  5. 5. Ví dụ minh hoạ: Taobao.com  Thẻ nhớ SD 32 G SD SDHC  Vi mạch robot  Quạ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=8579218972  http://item.taobao.com/item.htm?id=6013307001&5 18/12/2010
  6. 6. Phần 2: Giới thiệu Kami8x  Dịch vụ đặt hàng toàn cầu  Có 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.6 18/12/2010
  7. 7. 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ước7 18/12/2010
  8. 8. 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)8 18/12/2010
  9. 9. 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 Drupal9 18/12/2010
  10. 10. 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.10 18/12/2010
  11. 11. Google translate API function _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]; }11 18/12/2010
  12. 12. 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ề.12 18/12/2010
  13. 13. Taobao Open Platform (tiếp)  API test:  http://open.taobao.com/api_tool/api_test.html  Ví dụ minh hoạ:13 18/12/2010
  14. 14. SMS gateway  Brand name SMS gateway  Gateway API  Demo Gateway API14 18/12/2010
  15. 15. 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)15 18/12/2010
  16. 16. Kami8x – tự động đặt hàng (tiếp)  Dùng querySelector() để tìm thành phần DOM var 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);16 18/12/2010
  17. 17. 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.js17 18/12/2010
  18. 18. 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ượng18 18/12/2010
  19. 19. 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;}19 18/12/2010
  20. 20. Tham khảo  How to Buy from Taobao (English version)  http://taobaofieldguide.com/how-to-buy-from- taobao/how-to-buy-from-taobao  Hướng dẫn xem hàng từ website Taobao.com và Paipai.com  http://kami8x.net/huong-dan-xem-hang-tu- website-taobaocom-va-paipaicom  Công cụ tính giá & đặt hàng ngay trong Taobao  http://kami8x.net/cong-cu-tinh-gia-dat-hang- ngay-trong-taobao20 18/12/2010
  21. 21. 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ạ21 18/12/2010
  22. 22. Chúc hội thảo thành công tốt đẹp! Phan Thái Trung PHPDay 2010 LOGO18/12/2010 22

×