Tìm hiểu về Zip code - Hướng dẫn tạo chức năng nhập zip code hiển thị địa chỉ trong Ruby on Rails

1. Zip code là gì?

  • Zip code được dịch có nghĩa là mã bưu chính (thư tín). Một hệ thống mã được quy định bởi liên hiệp bưu chính toàn cầu, nhằm giúp định vị trong việc chuyển phát thư, bưu phẩm….Mã này cũng rất hay được sử dụng trong việc đăng ký các tài khoản mạng, đặc biệt là tài khoản các trang ví điện tử, các trang kiếm tiền online, đặt hàng online…

  • Mã bưu chính ở Việt Nam là 1 dãy số bao gồm 6 chữ số, trong đó hai chữ số đầu tiên xác định tên tỉnh / thành phố trực thuộc trung ương, hai chữ số tiếp theo xác định mã quận / huyện / thị xã / thành phố trực thuộc tỉnh, số tiếp theo xác định phường / xã / thị trấn và số cuối cùng xác định thôn / ấp / phố hoặc đối tượng cụ thể.

    VD: Ví dụ: ZIP code tại Vĩnh Đông 1 (0) – Xã Núi Sam (9) – Huyện Châu Đốc (31) – tỉnh An Giang (88) là: 883190.

  • Zip code tùy theo từng quốc gia có sự thay đổi khác nhau ví dụ ở Việt Nam mã zip code gồm 6 chữ số, Nhật Bản zip code gồm 7 chữ số, Thái Lan là 5 chữ số...

  • Kinh nghiệm cho thấy bạn chỉ cần tìm bưu cục theo tỉnh là có thể dò nhanh ra zip code. Ở nước ngoài zip code được sử dụng rất nhiều trên trang web bán hàng, nó hỗ trợ quá trình vận chuyển thư từ hàng hóa tại bưu điện, cụ thể, nó xác định điểm cuối của thư tín, bưu phẩm. Nó cũng giúp các công ty chuyển phát hàng hóa dễ dàng tình toán được những chi phí khi gửi hàng đến các khu vực dân cư, vùng sâu vùng xa hoặc thời gian vận chuyển…

  • Zip code còn được biết đến với với những cái tên Zip Postal Code, Postal Code…

2. Công dụng của zip code.

  • Đến đây các bạn cũng đã hiểu cơ bản zip code là gì, hay mã thư tín là gì, ở trên mình cũng đề cập sơ qua về các công dụng của zip code rùi, phần này mình giải thích lợi ích thực tế của nó cũng như xem các nước phát triển trên thế giới sử dụng zip code như thế nào.

  • _Postal code Vietnam giúp xác định điểm cuối của bưu phẩm, hàng hóa.

  • Đây là ứng dụng cơ bản, phổ biến nhất của Zip Code, cũng là mục đích chính nó ra đời. Khi mua hàng online, bạn sẽ cung cấp thông tin này cho người bán, người bán sẽ cung cấp cho bưu điện khi gửi hàng, bưu điện sẽ dựa vào yếu tố này để lên kế hoạch phân phối hàng hóa hiệu quả nhất để tiết kiệm chi phí, nhân lực và thời gian.

  • _Zip code giúp xác định chi phí phát sinh khi chuyển phát hàng hóa.

  • Khi bưu điện hoặc các đơn vị chuyển phát phân phối hàng hóa, sẽ có những khu vực ít khi có người gửi hàng, điều này có nghĩa là họ sẽ tốn nhiều chi phí hơn khi vận chuyển món hàng đó, vì vậy người gửi sẽ tốn thêm một khoản phụ phí để bù lại khoản này. Zip code sẽ giúp xác định khoản chi phí này là bao nhiêu, cũng như đưa ra thời gian cụ thể khi nào món hàng được vận chuyển đến nơi.

  • Một công dụng cũng quan trọng không kém mà Việt Nam chúng ta chưa khai thác nhiều. Bạn có biết lí do tại sao các website nước ngoài luôn yêu cầu thông tin Zip Code trong phần thanh toán không? Vâng, mọi người đều tin rằng để dễ dàng vận chuyển hàng hóa, đó là một phần lí do, nhưng ngay cả với những dịch vụ online như mua tên miền website hoặc mua phần mềm, họ cũng yêu cầu thì sao?

  • Lí do là vì Zip Code kết hợp với tên đăng kí trong thẻ tín dụng sẽ cung cấp manh mối để xác định địa chỉ, số điện thoại và cả lịch sử mua hàng trước đây của bạn, cách này đang được các công ty ở Mỹ triển khai khá rộng rãi, thậm chí có hẳn một dịch vụ chuyên sâu trong lĩnh vực này.

  • Công ty dịch vụ marketing trực tiếp Harte-Hanks của Mỹ, chuyên cung cấp một dịch dịch vụ có tên GeoCapture, đã mô tả dịch vụ của họ như sau:

  • “Người dùng (Ở đây là các doanh nghiệp, người bán hàng của doanh nghiệp) chỉ cần chụp tên từ thẻ tín dụng và hỏi mã ZIP của khách khi thanh toán, GeoCapture sẽ kết hợp với cơ sở dữ liệu tiêu dùng hiện có để kiểm tra thông tin và trả về địa chỉ khách hàng, tỉ lệ chính xác đến 100%”.

  • Và cách này hoàn toàn có thể áp dụng khi bán hàng trực tiếp, không nhất định phải thanh toán online.

3. Nhập zip code hiển thị địa chỉ.

  • Phần này mình xin giành cho các bạn làm việc học tập lĩnh vực công nghệ thông tin nhé. Đối với những người làm phần mềm, website thì không còn xa lạ với chức năng này. Chức năng này cho phép người dùng nhập địa chỉ zip code của tình thành mình, sau đó nó sẽ load dữ liệu địa chỉ, tỉnh, thành phố, quận vào ô điền thông tin rất hữu ích phải không nào.

  • Mình cũng chia sẻ mình mới đi làm về thiết kế website ngôn ngữ Ruby on Rails, trong dự án cũng gặp chức năng này và qua quá trình tìm hiểu cũng có vài cách để giải quyến vấn đề trên. Ở đây mình sẽ giới thiệu một số cách lấy zip code Japan bằng ngôn ngữ Ruby on Rails nhé.

3.1 Sử dụng YubinBango.

Đây là một thư viện hoàn toàn mới sử dụng ajaxzip 3 được phát hành từ công việc cập nhật dữ liệu mã zip sau khi cài đặt.

  • Các bước thực hiện:
  • Thêm link script:

      <script src="https://yubinbango.github.io/yubinbango/yubinbango.js" charset="UTF-8"></script>
    
  • Trong form nhập thông tin thêm đọan code:

     <form class="h-adr">
         <span class="p-country-name" style="display:none;">Japan</span>
         <label for="">Input Zip Code</label>
         <input type="text" class="p-postal-code">
         <br>
         <label for="">Addrest province</label>
         <input type="text" class="p-region" readonly />
         <br>
         <label for="">Address district</label>
         <input type="text" class="p-locality" readonly />
         <br>
         <label for="">Address buiding</label>
         <input type="text" class="p-street-address" />
      </form>
    
  • Và chức năng sẽ được hiển thị:

3.2 Sử dụng gem 'zip_code_jp'

  • Gem này sau khi cài vào Rails và chạy thì sẽ lấy được địa chỉ theo zip code Japan.
  • Các bước thực hiện:
  • Thêm dòng này vào ứng dụng Gemfile:

       gem 'zip_code_jp'
    
  • Sau đó chạy bundle install.

  • Hoặc cài trực tiếp chạy lệnh :

       $ gem install zip_code_jp
    
  • Cuối cùng là cách lấy ra địa chỉ:

       address = ZipCodeJp.find '102-0072'
        address.prefecture      # 東京都
        address.prefecture_kana # トウキョウト
        address.prefecture_code # 13
        address.city            # 千代田区
        address.city_kana       # チヨダク
        address.town            # 飯田橋
        address.town_kana       # イイダバシ
        address.zip_code        # 102007
    

Kết luận.

Trên đây là những chia sẻ của mình tìm hiểu về zip code cũng như cách tra cứu, hay giúp các bạn lập trình viên có thể dễ dàng tạo ra ứng dụng trang web sử dụng zip code. Tài liệu tham khảo: