# API Key (/vi/api-key-guide) ## I. Các bước lấy API Key [#i-các-bước-lấy-api-key] * **Bước 1:** Sau khi đăng nhập thành công vào hệ thống, tại giao diện Dashboard, Quý khách tìm đến mục **"API Key của bạn"** để tiến hành sao chép. * **Bước 2:** Hoặc Quý khách có thể truy cập trực tiếp vào đường dẫn: [pisomap.tech/dashboard/api-keys](https://www.pisomap.tech/dashboard/api-keys) để quản lý và sao chép API Key. **Lưu ý (Cấp lại Key):** Trong trường hợp cần thay đổi hoặc nghi ngờ lộ Key, Quý khách nhấn vào nút **"Tạo lại" (Regenerate)** để hệ thống hủy Key cũ và cấp một API Key mới hoàn toàn. ## II. Hướng dẫn tích hợp nhanh (Quick Start) [#ii-hướng-dẫn-tích-hợp-nhanh-quick-start] Để kích hoạt và sử dụng PISO Map, Quý khách cần đính kèm API Key vào header `x-api-key` trong mỗi yêu cầu HTTP (HTTP Request). **Ví dụ cấu trúc gọi API qua Curl (Shell):** ```bash curl "https://api.pisomap.tech/api/maps/autocomplete?q=highland&lat=10.801671&lng=106.61744" \ -H "x-api-key: YOUR_API_KEY" ``` *(Lưu ý: Thay thế `YOUR_API_KEY` bằng chuỗi ký tự API Key thực tế đã sao chép ở Bước 1).* # Đăng ký & đăng nhập (/vi/auth-guide) ## I. Các bước thực hiện [#i-các-bước-thực-hiện] * **Bước 1: Truy cập trang đăng ký** Tại trang chủ (Landing Page) của PISO Map, nhấn vào nút **Bắt đầu miễn phí** hoặc truy cập trực tiếp vào đường dẫn: [pisomap.tech/start](https://pisomap.tech/start). * **Bước 2: Xác thực tài khoản** Hệ thống sẽ chuyển hướng đến giao diện xác thực. Quý khách vui lòng lựa chọn đăng nhập nhanh bằng tài khoản **Google** hoặc **GitHub**. * **Bước 3: Hoàn tất và vào Dashboard** Sau khi xác thực thành công, hệ thống sẽ tự động khởi tạo tài khoản và chuyển hướng Quý khách vào giao diện **Dashboard** quản trị để bắt đầu sử dụng dịch vụ. # Tổng quan (/vi) PISO Map là một nền tảng dịch vụ bản đồ mã nguồn mở được phát triển bởi Huỳnh Bá Quốc. Dự án ra đời với mục tiêu cung cấp các API bản đồ dễ sử dụng, chi phí thấp và dễ tiếp cận cho lập trình viên, sinh viên, nhà nghiên cứu và các dự án khởi nghiệp. Khác với nhiều nền tảng bản đồ thương mại tập trung vào khách hàng doanh nghiệp, PISO Map hướng tới cộng đồng phát triển phần mềm, giúp mọi người có thể xây dựng các ứng dụng liên quan đến bản đồ, địa chỉ và điều hướng mà không cần đầu tư chi phí lớn. PISO Map được xây dựng dựa trên các kỹ thuật Reverse Engineering, kết hợp nhiều nguồn dữ liệu bản đồ và địa chỉ nhằm mang lại trải nghiệm tìm kiếm địa điểm và điều hướng nhanh chóng, chính xác và thuận tiện cho người dùng. ## I. Các dịch vụ hiện có [#i-các-dịch-vụ-hiện-có] ### 1. Autocomplete API [#1-autocomplete-api] Gợi ý địa điểm và địa chỉ theo thời gian thực khi người dùng nhập từ khóa. [Xem tài liệu →](/api-docs/autocomplete) Phù hợp cho: * Website và ứng dụng có ô tìm kiếm địa chỉ. * Hệ thống đăng ký tài khoản. * Ứng dụng giao hàng. * Ứng dụng đặt xe. ### 2. Search API [#2-search-api] Tìm kiếm địa điểm, địa chỉ và các điểm quan tâm theo từ khóa. [Xem tài liệu →](/api-docs/search) Phù hợp cho: * Ứng dụng bản đồ. * Website tra cứu địa điểm. * Hệ thống quản lý dữ liệu địa lý. ### 3. Place Detail API [#3-place-detail-api] Cung cấp thông tin chi tiết của một địa điểm như tên, địa chỉ, tọa độ và các thông tin liên quan. [Xem tài liệu →](/api-docs/place-detail) Phù hợp cho: * Hiển thị thông tin địa điểm. * Xác thực dữ liệu địa chỉ. * Xây dựng cơ sở dữ liệu địa lý. ### 4. Reverse Geocoding API [#4-reverse-geocoding-api] Chuyển đổi tọa độ GPS thành địa chỉ có thể đọc được. [Xem tài liệu →](/api-docs/reverse-geocode) Phù hợp cho: * Định vị người dùng. * Theo dõi phương tiện. * Các ứng dụng sử dụng GPS. ### 5. Routing API [#5-routing-api] Tính toán lộ trình, khoảng cách và thời gian di chuyển giữa các điểm. [Xem tài liệu →](/api-docs/routing) Phù hợp cho: * Ứng dụng dẫn đường. * Hệ thống giao nhận. * Công cụ tính khoảng cách. ## II. Tầm nhìn [#ii-tầm-nhìn] PISO Map mong muốn trở thành một dự án bản đồ mã nguồn mở do cộng đồng xây dựng, giúp mọi lập trình viên có thể tiếp cận các dịch vụ bản đồ hiện đại với chi phí hợp lý, tài liệu rõ ràng và khả năng tích hợp đơn giản. Dự án được phát triển độc lập bởi Huỳnh Bá Quốc và liên tục được cải tiến dựa trên phản hồi từ cộng đồng người dùng. # Thanh toán & nâng cấp (/vi/payment-guide) Nhằm đảm bảo quá trình sử dụng các dịch vụ API của **PISO Map** không bị gián đoạn, Quý khách hàng vui lòng tham khảo hướng dẫn chi tiết về quy trình thanh toán và nâng cấp gói dịch vụ dưới đây. ## I. Quy trình nâng cấp gói dịch vụ qua mã QR (Tự động) [#i-quy-trình-nâng-cấp-gói-dịch-vụ-qua-mã-qr-tự-động] Hệ thống PISO Map hỗ trợ nâng cấp gói dịch vụ trực tuyến và xử lý tự động ngay sau khi Quý khách hoàn tất quét mã QR theo các bước sau: * **Bước 1: Truy cập tính năng Nâng cấp:** Tại giao diện Dashboard, Quý khách vui lòng nhấn vào nút **Nâng cấp** nằm ở góc trên cùng bên phải màn hình. * **Bước 2: Lựa chọn Gói dịch vụ (Plan):** Hệ thống sẽ hiển thị các gói dịch vụ hiện hành (bao gồm: *Sandbox Free, Go, Plus*...). Quý khách lựa chọn gói dịch vụ phù hợp với nhu cầu và nhấn **Xác nhận (Confirm)**. * **Bước 3: Quét mã QR thanh toán:** Màn hình Dashboard sẽ hiển thị một mã QR thanh toán cùng với đồng hồ đếm ngược. Quý khách vui lòng mở ứng dụng ngân hàng hoặc ví điện tử để quét mã và hoàn tất giao dịch trong vòng **05 phút**. Sau thời gian này, mã QR sẽ tự động hết hiệu lực. * **Bước 4: Xác minh và Kiểm tra trạng thái:** Sau khi giao dịch thành công, hệ thống PISO Map sẽ tự động cập nhật gói dịch vụ mới cho tài khoản. Quý khách có thể chủ động kiểm tra lại thông tin cấu hình tại mục **Hồ sơ cá nhân (Profile)** hoặc kiểm tra thông tin giao dịch tại mục **Hóa đơn**. ## II. Lưu ý quan trọng và điều khoản sử dụng [#ii-lưu-ý-quan-trọng-và-điều-khoản-sử-dụng] * **Điều khoản dịch vụ:** Quý khách vui lòng đọc kỹ các điều khoản sử dụng, chính sách và giới hạn băng thông của từng gói dịch vụ trước khi tiến hành quét mã thanh toán. Việc hoàn tất giao dịch đồng nghĩa với việc Quý khách đã đồng ý với các quy định của PISO Map. * **Hỗ trợ kỹ thuật & Xử lý sự cố:** Trong trường hợp gặp bất kỳ sự cố nào liên quan đến quá trình quét mã, lỗi không tự động cập nhật gói hoặc cần hỗ trợ về hóa đơn chứng từ, Quý khách vui lòng liên hệ trực tiếp bộ phận CSKH qua email: **[quochb3011@gmail.com](mailto:quochb3011@gmail.com)** để được hỗ trợ xử lý kịp thời. # Điều khoản Dịch vụ và Chính sách Quyền riêng tư (/vi/terms) # I. Điều khoản Dịch vụ [#i-điều-khoản-dịch-vụ] ## Tổng quan [#tổng-quan] Website này được vận hành bởi Piso Map (“chúng tôi”).Trong toàn bộ tài liệu, các từ “chúng tôi”, “của chúng tôi” và “dịch vụ” được dùng để chỉ Piso Map. Piso Map cung cấp website này, bao gồm tất cả thông tin, công cụ và dịch vụ có sẵn tại đây cho bạn (“Người dùng”), với điều kiện bạn chấp nhận toàn bộ điều khoản, điều kiện, chính sách và thông báo được nêu trong tài liệu này. Khi bạn truy cập website của chúng tôi hoặc sử dụng dịch vụ API, bạn đang tham gia vào “Dịch vụ” và đồng ý bị ràng buộc bởi các Điều khoản dịch vụ này, bao gồm các điều khoản và chính sách bổ sung được tham chiếu hoặc được cung cấp qua liên kết trên website. Bạn vui lòng đọc kỹ các Điều khoản dịch vụ này trước khi truy cập hoặc sử dụng website của chúng tôi. Khi bạn truy cập hoặc sử dụng bất kỳ phần nào của website, bạn được xem là đã đồng ý với các Điều khoản dịch vụ này. Nếu bạn không đồng ý với toàn bộ các điều khoản và điều kiện, bạn không được phép truy cập hoặc sử dụng dịch vụ. Bất kỳ tính năng hoặc công cụ mới nào được thêm vào website cũng sẽ tự động thuộc phạm vi áp dụng của các Điều khoản dịch vụ này. Bạn có thể xem phiên bản mới nhất của Điều khoản dịch vụ bất cứ lúc nào trên trang này. Chúng tôi có quyền cập nhật, thay đổi hoặc thay thế bất kỳ nội dung nào của Điều khoản dịch vụ bằng cách đăng tải phiên bản mới lên website. Bạn có trách nhiệm thường xuyên kiểm tra trang này để cập nhật các thay đổi. Việc bạn tiếp tục sử dụng website sau khi các thay đổi được đăng tải đồng nghĩa với việc bạn đã đồng ý với các nội dung thay đổi đó. ## Điều 1 – Điều khoản sử dụng website [#điều-1--điều-khoản-sử-dụng-website] Khi bạn đồng ý với các Điều khoản dịch vụ này, bạn xác nhận rằng bạn đã đủ độ tuổi theo quy định pháp luật tại quốc gia hoặc khu vực nơi bạn cư trú; hoặc nếu chưa đủ tuổi nhưng đã có sự đồng ý của người giám hộ hợp pháp thì bạn được phép sử dụng website này dưới sự cho phép đó. Bạn không được sử dụng dịch vụ hoặc sản phẩm của chúng tôi vào bất kỳ mục đích bất hợp pháp hoặc không được phép nào. Trong quá trình sử dụng dịch vụ, bạn cũng phải tuân thủ đầy đủ các quy định pháp luật hiện hành tại nơi bạn sinh sống, bao gồm nhưng không giới hạn ở các quy định về bản quyền. Bạn không được phép truyền tải hoặc phát tán bất kỳ loại mã độc nào, bao gồm virus, worm hoặc bất kỳ đoạn mã nào có tính chất gây hại, phá hoại hoặc ảnh hưởng đến hệ thống. Bất kỳ hành vi vi phạm nào đối với các điều khoản này đều có thể dẫn đến việc chúng tôi chấm dứt hoặc tạm ngừng quyền truy cập và sử dụng dịch vụ của bạn ngay lập tức, mà không cần thông báo trước. ## Điều 2 – Điều khoản chung [#điều-2--điều-khoản-chung] Chúng tôi có quyền từ chối cung cấp dịch vụ cho bất kỳ cá nhân hoặc tổ chức nào, vì bất kỳ lý do gì, vào bất kỳ thời điểm nào. Bạn hiểu rằng nội dung của bạn (không bao gồm thông tin thanh toán như thẻ tín dụng) có thể được truyền đi dưới dạng không mã hóa và có thể bao gồm: (a) việc truyền tải qua nhiều mạng khác nhau; và (b) việc điều chỉnh để phù hợp với yêu cầu kỹ thuật của hệ thống mạng hoặc thiết bị kết nối. Tuy nhiên, thông tin thẻ thanh toán luôn được mã hóa trong quá trình truyền tải qua mạng. Bạn đồng ý không được sao chép, nhân bản, bán lại, tái phân phối hoặc khai thác bất kỳ phần nào của Dịch vụ, việc sử dụng Dịch vụ, hoặc quyền truy cập Dịch vụ, cũng như bất kỳ thông tin liên hệ nào được cung cấp thông qua website, nếu không có sự chấp thuận bằng văn bản rõ ràng từ chúng tôi. Các tiêu đề trong Điều khoản này chỉ được sử dụng nhằm mục đích thuận tiện cho việc tra cứu và không làm hạn chế hoặc ảnh hưởng đến nội dung pháp lý của các điều khoản. ## Điều 3 – Tính chính xác, đầy đủ và tính cập nhật của thông tin [#điều-3--tính-chính-xác-đầy-đủ-và-tính-cập-nhật-của-thông-tin] Chúng tôi không chịu trách nhiệm trong trường hợp các thông tin được cung cấp trên website không chính xác, không đầy đủ hoặc không được cập nhật kịp thời. Toàn bộ nội dung trên website chỉ được cung cấp nhằm mục đích tham khảo chung. Vì vậy, bạn không nên dựa hoàn toàn vào các thông tin này để đưa ra quyết định mà không tham khảo thêm các nguồn thông tin chính thống, chính xác hơn, đầy đủ hơn hoặc cập nhật hơn. Mọi quyết định dựa trên thông tin từ website đều do bạn tự chịu trách nhiệm. Website có thể chứa một số thông tin mang tính lịch sử. Những thông tin này theo bản chất có thể không còn phù hợp tại thời điểm hiện tại và chỉ được cung cấp để tham khảo. Chúng tôi có quyền chỉnh sửa nội dung website vào bất kỳ thời điểm nào, tuy nhiên không có nghĩa vụ phải cập nhật mọi thông tin trên website. Bạn đồng ý rằng bạn có trách nhiệm tự theo dõi các thay đổi trên website của chúng tôi. ## Điều 4 – Thay đổi dịch vụ và giá cả [#điều-4--thay-đổi-dịch-vụ-và-giá-cả] Giá của các sản phẩm hoặc dịch vụ do chúng tôi cung cấp có thể được thay đổi bất kỳ lúc nào mà không cần thông báo trước. Chúng tôi có quyền, vào bất kỳ thời điểm nào, được sửa đổi, tạm ngừng hoặc chấm dứt toàn bộ hoặc một phần Dịch vụ (bao gồm cả nội dung hoặc tính năng của Dịch vụ) mà không cần thông báo trước. Chúng tôi không chịu trách nhiệm đối với bạn hoặc bất kỳ bên thứ ba nào về bất kỳ thay đổi nào liên quan đến Dịch vụ, bao gồm nhưng không giới hạn ở việc thay đổi giá, tạm ngừng cung cấp hoặc chấm dứt Dịch vụ. ## Điều 5 – Sản phẩm hoặc dịch vụ (nếu áp dụng) [#điều-5--sản-phẩm-hoặc-dịch-vụ-nếu-áp-dụng] Một số sản phẩm hoặc dịch vụ có thể chỉ được cung cấp trực tuyến thông qua website. Các sản phẩm hoặc dịch vụ này có thể bị giới hạn về số lượng hoặc phạm vi cung cấp. Chúng tôi có quyền giới hạn hoặc từ chối cung cấp sản phẩm và/hoặc dịch vụ cho bất kỳ cá nhân, khu vực hoặc quốc gia nào, tùy từng trường hợp cụ thể. Việc áp dụng các giới hạn này có thể được thực hiện mà không cần thông báo trước. Chúng tôi có quyền giới hạn số lượng sản phẩm hoặc dịch vụ được cung cấp cho mỗi người dùng hoặc mỗi đơn hàng. Toàn bộ mô tả về sản phẩm, dịch vụ và giá cả có thể được thay đổi bất kỳ lúc nào mà không cần thông báo trước, tùy theo quyết định của chúng tôi. Chúng tôi có quyền ngừng cung cấp bất kỳ sản phẩm hoặc dịch vụ nào vào bất kỳ thời điểm nào. Mọi đề nghị cung cấp sản phẩm hoặc dịch vụ trên website sẽ không có hiệu lực tại các khu vực pháp luật không cho phép. Chúng tôi không cam kết hoặc bảo đảm rằng chất lượng của bất kỳ sản phẩm, dịch vụ, thông tin hoặc tài liệu nào mà bạn mua hoặc nhận được từ chúng tôi sẽ đáp ứng đúng kỳ vọng của bạn, hoặc rằng mọi lỗi trong Dịch vụ sẽ luôn được khắc phục. ## Điều 6 – Tính chính xác của thông tin thanh toán và tài khoản [#điều-6--tính-chính-xác-của-thông-tin-thanh-toán-và-tài-khoản] Chúng tôi có quyền từ chối bất kỳ đơn đặt hàng nào do bạn thực hiện tại website của chúng tôi. Chúng tôi cũng có quyền, theo quyết định riêng của mình, giới hạn hoặc hủy bỏ số lượng mua theo từng cá nhân hoặc từng đơn hàng. Các giới hạn này có thể áp dụng đối với các đơn hàng sử dụng cùng một tài khoản khách hàng, cùng một thẻ thanh toán, và/hoặc cùng một địa chỉ thanh toán hoặc địa chỉ nhận hàng. Trong trường hợp chúng tôi thay đổi hoặc hủy đơn hàng, chúng tôi có thể cố gắng thông báo cho bạn thông qua email, địa chỉ thanh toán hoặc số điện thoại mà bạn đã cung cấp khi đặt hàng. Chúng tôi có quyền từ chối hoặc hạn chế các đơn hàng mà theo đánh giá của chúng tôi có dấu hiệu được thực hiện bởi đại lý, nhà phân phối hoặc bên trung gian mua đi bán lại dịch vụ mà không được sự cho phép. Bạn đồng ý cung cấp đầy đủ, chính xác và luôn cập nhật thông tin tài khoản cũng như thông tin thanh toán khi sử dụng website của chúng tôi. Bạn có trách nhiệm cập nhật kịp thời các thông tin như email và các thông tin liên quan khác để đảm bảo chúng tôi có thể xử lý giao dịch và liên hệ với bạn khi cần thiết. ## Điều 7 – Công cụ tùy chọn [#điều-7--công-cụ-tùy-chọn] Chúng tôi có thể cung cấp cho bạn quyền truy cập vào các công cụ hoặc dịch vụ của bên thứ ba, trong đó chúng tôi không kiểm soát, không giám sát và cũng không can thiệp vào hoạt động của các công cụ này. Bạn hiểu và đồng ý rằng các công cụ này được cung cấp theo nguyên tắc “nguyên trạng” và “tùy theo khả năng cung cấp”, không kèm theo bất kỳ cam kết, bảo đảm hay điều kiện nào, và cũng không được xem là sự xác nhận hay bảo chứng từ chúng tôi. Chúng tôi không chịu trách nhiệm đối với bất kỳ thiệt hại hoặc vấn đề nào phát sinh từ việc bạn sử dụng các công cụ của bên thứ ba này. Việc bạn sử dụng các công cụ tùy chọn này hoàn toàn do bạn tự quyết định và tự chịu rủi ro. Bạn có trách nhiệm tìm hiểu và đồng ý với các điều khoản sử dụng của nhà cung cấp bên thứ ba liên quan trước khi sử dụng các công cụ đó. Chúng tôi cũng có thể trong tương lai cung cấp thêm các dịch vụ, tính năng hoặc công cụ mới thông qua website. Các tính năng và dịch vụ mới này cũng sẽ chịu sự điều chỉnh của toàn bộ Điều khoản dịch vụ này. ## Điều 8 – Liên kết từ bên thứ ba [#điều-8--liên-kết-từ-bên-thứ-ba] Một số nội dung, sản phẩm hoặc dịch vụ được cung cấp thông qua Dịch vụ của chúng tôi có thể bao gồm hoặc liên quan đến tài liệu từ bên thứ ba. Các liên kết của bên thứ ba trên website có thể dẫn bạn đến các website không thuộc quyền sở hữu hoặc quản lý của chúng tôi. Chúng tôi không có trách nhiệm kiểm tra, đánh giá hoặc đảm bảo tính chính xác, đầy đủ của nội dung tại các website đó. Chúng tôi không bảo đảm và cũng không chịu trách nhiệm pháp lý đối với bất kỳ tài liệu, website, sản phẩm hoặc dịch vụ nào của bên thứ ba, bao gồm cả việc sử dụng hoặc truy cập các nội dung đó. Chúng tôi cũng không chịu trách nhiệm đối với bất kỳ thiệt hại hoặc tổn thất nào phát sinh từ việc bạn mua, sử dụng hoặc giao dịch liên quan đến hàng hóa, dịch vụ, tài nguyên hoặc nội dung từ các website bên thứ ba. Bạn cần tự tìm hiểu kỹ các chính sách, điều khoản và quy định của bên thứ ba trước khi thực hiện bất kỳ giao dịch nào. Mọi khiếu nại, thắc mắc hoặc tranh chấp liên quan đến sản phẩm hoặc dịch vụ của bên thứ ba cần được gửi trực tiếp đến bên cung cấp dịch vụ đó, không phải chúng tôi. ## Điều 9 – Chính sách hoàn tiền [#điều-9--chính-sách-hoàn-tiền] Chúng tôi hỗ trợ hoàn tiền toàn bộ trong vòng 14 ngày kể từ ngày bạn đăng ký gói dịch vụ, với điều kiện bạn chưa sử dụng quá 50% số lượt truy vấn được cấp trong gói đó. ## Điều 10 – Thông tin cá nhân [#điều-10--thông-tin-cá-nhân] Việc bạn cung cấp thông tin cá nhân thông qua website được điều chỉnh bởi Chính sách quyền riêng tư của chúng tôi. Bạn có thể xem Chính sách quyền riêng tư được đặt kèm ngay dưới tài liệu này hoặc tại trang Chính sách quyền riêng tư trên website của chúng tôi. ## Điều 11 – Sai sót, nhầm lẫn và thiếu sót thông tin [#điều-11--sai-sót-nhầm-lẫn-và-thiếu-sót-thông-tin] Đôi khi, trên website hoặc trong Dịch vụ có thể xuất hiện các lỗi đánh máy, sai sót, không chính xác hoặc thiếu thông tin. Các lỗi này có thể liên quan đến mô tả sản phẩm, giá cả, chương trình khuyến mãi, ưu đãi, phí gói dịch vụ, thời gian xử lý API hoặc tình trạng khả dụng của dịch vụ. Chúng tôi có quyền chỉnh sửa, cập nhật hoặc khắc phục các sai sót, không chính xác hoặc thiếu sót đó, đồng thời có quyền thay đổi, cập nhật thông tin hoặc hủy đơn hàng/gói dịch vụ nếu phát hiện bất kỳ thông tin nào không chính xác, vào bất kỳ thời điểm nào mà không cần thông báo trước (kể cả sau khi bạn đã đăng ký hoặc thanh toán gói dịch vụ). Chúng tôi không có nghĩa vụ phải cập nhật, sửa đổi hoặc làm rõ thông tin trong Dịch vụ hoặc trên bất kỳ website liên quan nào, bao gồm nhưng không giới hạn ở thông tin về giá cả, trừ trường hợp pháp luật có quy định khác. Mọi thông tin về ngày cập nhật hoặc làm mới hiển thị trên website không được hiểu là toàn bộ nội dung trong Dịch vụ hoặc website đã được cập nhật hoặc sửa đổi đầy đủ. ## Điều 12 – Các hành vi bị nghiêm cấm [#điều-12--các-hành-vi-bị-nghiêm-cấm] Ngoài các quy định khác được nêu trong Điều khoản dịch vụ này, bạn không được sử dụng website hoặc nội dung của website vào bất kỳ mục đích nào sau đây: (a) Thực hiện các hành vi trái pháp luật; (b) Lôi kéo, khuyến khích hoặc hỗ trợ người khác thực hiện hành vi vi phạm pháp luật; (c) Vi phạm các quy định, quy tắc, luật pháp hoặc quy định của cơ quan nhà nước có thẩm quyền ở bất kỳ quốc gia, khu vực hoặc địa phương nào; (d) Xâm phạm quyền sở hữu trí tuệ của chúng tôi hoặc của bất kỳ bên thứ ba nào; (e) Quấy rối, lạm dụng, xúc phạm, gây tổn hại, phỉ báng, vu khống, đe dọa hoặc phân biệt đối xử dựa trên giới tính, xu hướng tính dục, tôn giáo, dân tộc, chủng tộc, độ tuổi, quốc tịch hoặc tình trạng khuyết tật; (f) Cung cấp, đăng tải hoặc gửi thông tin sai lệch hoặc gây hiểu nhầm;(g) Tải lên, truyền tải hoặc phát tán virus, mã độc hoặc bất kỳ loại mã độc hại nào có thể ảnh hưởng đến hoạt động hoặc chức năng của Dịch vụ, website liên quan, các website khác hoặc Internet; (h) Can thiệp, phá vỡ hoặc tìm cách vượt qua các biện pháp bảo mật của Dịch vụ hoặc bất kỳ website liên quan nào khác. Chúng tôi có quyền chấm dứt hoặc tạm ngừng quyền truy cập và sử dụng Dịch vụ của bạn nếu bạn vi phạm bất kỳ điều khoản nào trong mục này. ## Điều 13 – Miễn trừ bảo đảm và giới hạn trách nhiệm [#điều-13--miễn-trừ-bảo-đảm-và-giới-hạn-trách-nhiệm] Bạn hiểu và đồng ý rằng việc sử dụng Dịch vụ hoàn toàn do bạn tự quyết định và tự chịu rủi ro. Trong phạm vi tối đa được pháp luật cho phép, chúng tôi không chịu bất kỳ trách nhiệm nào đối với bất kỳ gói dịch vụ nào mà bạn đã đăng ký hoặc sử dụng, cũng như không chịu trách nhiệm đối với bất kỳ thiệt hại, tổn thất hoặc mất mát nào phát sinh từ việc sử dụng hoặc không thể sử dụng Dịch vụ. Dịch vụ được cung cấp theo nguyên tắc “nguyên trạng” và “tùy theo khả năng cung cấp”, không kèm theo bất kỳ hình thức bảo đảm nào, dù là rõ ràng hay ngụ ý. Chúng tôi không cam kết rằng Dịch vụ sẽ luôn hoạt động liên tục, không bị gián đoạn, không có lỗi, hoặc luôn cung cấp kết quả chính xác và đáng tin cậy. Trong mọi trường hợp, chúng tôi không chịu trách nhiệm đối với bất kỳ loại thiệt hại nào, bao gồm nhưng không giới hạn ở mất dữ liệu, mất doanh thu, mất lợi nhuận, chi phí phát sinh hoặc bất kỳ thiệt hại trực tiếp, gián tiếp, ngẫu nhiên, đặc biệt hoặc hệ quả nào khác phát sinh từ việc sử dụng hoặc không thể sử dụng Dịch vụ, kể cả khi chúng tôi đã được thông báo trước về khả năng xảy ra các thiệt hại đó. ## Điều 14 – Bồi thường và miễn trừ trách nhiệm [#điều-14--bồi-thường-và-miễn-trừ-trách-nhiệm] Bạn đồng ý bồi thường, bảo vệ và giữ cho chúng tôi, bao gồm Piso Map cùng các bên liên kết, đối tác, nhân sự, đại diện, nhà thầu, nhà cung cấp dịch vụ và nhân viên của chúng tôi, không phải chịu bất kỳ khiếu nại, yêu cầu, tranh chấp hoặc trách nhiệm nào từ bên thứ ba phát sinh từ hoặc liên quan đến việc bạn vi phạm bất kỳ điều khoản nào trong Điều khoản dịch vụ này hoặc các tài liệu được dẫn chiếu kèm theo, việc bạn vi phạm bất kỳ quy định pháp luật hiện hành nào, hoặc việc bạn xâm phạm quyền của bất kỳ bên thứ ba nào, bao gồm cả các chi phí hợp lý cho luật sư và chi phí pháp lý liên quan (nếu có). ## Điều 15 – Tính tách biệt của điều khoản [#điều-15--tính-tách-biệt-của-điều-khoản] Trong trường hợp bất kỳ điều khoản nào trong Điều khoản dịch vụ này bị xác định là trái pháp luật, vô hiệu hoặc không thể thi hành theo quy định pháp luật hiện hành, thì điều khoản đó sẽ được áp dụng ở mức tối đa được pháp luật cho phép. Phần không thể thi hành sẽ được xem là tách riêng khỏi các Điều khoản dịch vụ này, và việc xác định tính vô hiệu đó sẽ không ảnh hưởng đến hiệu lực và khả năng thi hành của các điều khoản còn lại trong Điều khoản dịch vụ. ## Điều 16 – Chấm dứt dịch vụ [#điều-16--chấm-dứt-dịch-vụ] Các nghĩa vụ và trách nhiệm của các bên phát sinh trước ngày chấm dứt vẫn sẽ tiếp tục có hiệu lực và được áp dụng cho mọi mục đích sau khi thỏa thuận này chấm dứt. Các Điều khoản dịch vụ này có hiệu lực cho đến khi bị chấm dứt bởi bạn hoặc bởi chúng tôi. Bạn có thể chấm dứt việc sử dụng Điều khoản dịch vụ này bất kỳ lúc nào bằng cách thông báo rằng bạn không còn muốn sử dụng Dịch vụ của chúng tôi, hoặc khi bạn ngừng truy cập và sử dụng website. Trong trường hợp chúng tôi, theo toàn quyền quyết định của mình, xác định rằng bạn đã vi phạm hoặc có dấu hiệu vi phạm bất kỳ điều khoản nào trong Điều khoản dịch vụ này, chúng tôi có quyền chấm dứt thỏa thuận này vào bất kỳ thời điểm nào mà không cần thông báo trước. Khi đó, bạn vẫn phải chịu trách nhiệm đối với toàn bộ các khoản nghĩa vụ phát sinh đến thời điểm chấm dứt, đồng thời chúng tôi có quyền từ chối hoặc hạn chế quyền truy cập của bạn vào Dịch vụ (toàn bộ hoặc một phần). ## Điều 17 – Toàn bộ thỏa thuận [#điều-17--toàn-bộ-thỏa-thuận] Việc chúng tôi không thực hiện hoặc không yêu cầu thực thi bất kỳ quyền hoặc điều khoản nào trong Điều khoản dịch vụ này không được xem là sự từ bỏ quyền hoặc điều khoản đó. Các Điều khoản dịch vụ này cùng với mọi chính sách hoặc quy định vận hành được chúng tôi đăng tải trên website hoặc liên quan đến Dịch vụ cấu thành toàn bộ thỏa thuận giữa bạn và chúng tôi, và điều chỉnh toàn bộ việc bạn sử dụng Dịch vụ, thay thế cho mọi thỏa thuận, trao đổi hoặc đề xuất trước đó hoặc đồng thời, dù bằng miệng hay bằng văn bản, giữa bạn và chúng tôi, bao gồm nhưng không giới hạn các phiên bản trước của Điều khoản dịch vụ. Mọi nội dung không rõ ràng trong việc giải thích Điều khoản dịch vụ này sẽ không được hiểu theo hướng bất lợi cho bên soạn thảo. ## Điều 18 – Luật áp dụng [#điều-18--luật-áp-dụng] Các Điều khoản dịch vụ này và mọi thỏa thuận liên quan giữa bạn và chúng tôi trong quá trình cung cấp Dịch vụ được điều chỉnh và giải thích theo pháp luật của nước Cộng hòa Xã hội Chủ nghĩa Việt Nam. ## Điều 19 – Thay đổi Điều khoản dịch vụ [#điều-19--thay-đổi-điều-khoản-dịch-vụ] Bạn có thể xem phiên bản mới nhất của Điều khoản dịch vụ này bất kỳ lúc nào trên trang này. Chúng tôi có quyền, theo toàn quyền quyết định của mình, được cập nhật, sửa đổi hoặc thay thế bất kỳ nội dung nào trong Điều khoản dịch vụ bằng cách đăng tải phiên bản mới trên website. Bạn có trách nhiệm thường xuyên kiểm tra website để cập nhật các thay đổi. Việc bạn tiếp tục truy cập hoặc sử dụng website hoặc Dịch vụ sau khi các thay đổi được đăng tải đồng nghĩa với việc bạn đã chấp nhận các nội dung đã được sửa đổi đó. ## Điều 20 – Thông tin liên hệ [#điều-20--thông-tin-liên-hệ] Mọi câu hỏi liên quan đến Điều khoản dịch vụ vui lòng gửi về email: [quochbcontact@gmail.com](mailto:quochbcontact@gmail.com). ## Điều 21 – Tài liệu và hoạt động marketing [#điều-21--tài-liệu-và-hoạt-động-marketing] Chúng tôi có quyền sử dụng tên công ty, logo và thông tin thương hiệu của bạn trong các case study, tài liệu marketing hoặc các nội dung giới thiệu khác, trừ khi bạn có yêu cầu không cho phép bằng văn bản. Ngược lại, bạn cũng được quyền sử dụng tên, logo và thương hiệu của chúng tôi trong các case study, tài liệu marketing hoặc nội dung giới thiệu của bạn, trừ khi chúng tôi có yêu cầu không cho phép bằng văn bản. *** # II. Chính sách Quyền riêng tư [#ii-chính-sách-quyền-riêng-tư] ## Điều 1 – Chúng tôi thu thập và sử dụng thông tin gì? [#điều-1--chúng-tôi-thu-thập-và-sử-dụng-thông-tin-gì] Khi bạn đăng ký, mua hoặc sử dụng dịch vụ trên website của chúng tôi, trong quá trình cung cấp dịch vụ, chúng tôi có thể thu thập các thông tin cá nhân mà bạn cung cấp như địa chỉ email. Khi bạn truy cập hoặc sử dụng website của chúng tôi, hệ thống có thể tự động thu thập địa chỉ giao thức Internet (IP) của thiết bị bạn đang sử dụng nhằm phục vụ mục đích phân tích, bao gồm việc nhận diện trình duyệt, hệ điều hành và cải thiện trải nghiệm sử dụng dịch vụ. Trong trường hợp bạn đồng ý, chúng tôi có thể gửi email cho bạn về các cập nhật của dịch vụ, tính năng mới, sản phẩm mới hoặc các thông tin liên quan khác. Bạn có thể từ chối nhận các email này bất kỳ lúc nào thông qua chức năng hủy đăng ký (unsubscribe) trong email hoặc liên hệ trực tiếp với chúng tôi ## Điều 2 – Sự đồng ý (Consent) [#điều-2--sự-đồng-ý-consent] Bạn đồng ý với chúng tôi như thế nào? Khi bạn cung cấp thông tin cá nhân cho chúng tôi để thực hiện một giao dịch, xác minh thông tin thanh toán, đặt hàng, sử dụng dịch vụ, hoặc thực hiện các yêu cầu liên quan khác, bạn được xem là đã đồng ý cho chúng tôi thu thập và sử dụng thông tin đó cho mục đích cụ thể của giao dịch đó. Trong trường hợp chúng tôi muốn sử dụng thông tin cá nhân của bạn cho mục đích khác, ví dụ như tiếp thị hoặc gửi thông tin quảng bá, chúng tôi sẽ chỉ thực hiện khi có sự đồng ý rõ ràng từ bạn, hoặc cung cấp cho bạn quyền từ chối việc đó. Bạn có thể rút lại sự đồng ý như thế nào? Nếu sau khi đã đồng ý, bạn thay đổi quyết định, bạn có quyền rút lại sự đồng ý cho phép chúng tôi liên hệ, thu thập hoặc sử dụng thông tin cá nhân của bạn bất kỳ lúc nào. Bạn có thể thực hiện việc này bằng cách liên hệ với chúng tôi qua email: [quochbcontact@gmail.com](mailto:quochbcontact@gmail.com). ## Điều 3 – Tiết lộ thông tin [#điều-3--tiết-lộ-thông-tin] Chúng tôi có thể tiết lộ thông tin cá nhân của bạn trong trường hợp pháp luật có yêu cầu, hoặc khi bạn vi phạm Điều khoản dịch vụ của chúng tôi. ## Điều 4 – Nhà cung cấp dịch vụ hạ tầng (Cloud Service Providers) [#điều-4--nhà-cung-cấp-dịch-vụ-hạ-tầng-cloud-service-providers] Chúng tôi sử dụng các nhà cung cấp dịch vụ điện toán đám mây và hạ tầng lưu trữ để vận hành hệ thống, bao gồm Amazon Web Services (AWS), Render. ## Điều 5 – Dịch vụ bên thứ ba [#điều-5--dịch-vụ-bên-thứ-ba] Thông thường, các nhà cung cấp dịch vụ bên thứ ba mà chúng tôi sử dụng chỉ thu thập, sử dụng và tiết lộ thông tin cá nhân của bạn trong phạm vi cần thiết để họ có thể thực hiện dịch vụ mà họ cung cấp cho chúng tôi. Tuy nhiên, một số nhà cung cấp dịch vụ bên thứ ba như cổng thanh toán hoặc đơn vị xử lý giao dịch thanh toán có chính sách quyền riêng tư riêng đối với các thông tin mà chúng tôi cần cung cấp cho họ nhằm phục vụ cho các giao dịch liên quan đến thanh toán của bạn. Đối với các nhà cung cấp này, chúng tôi khuyến nghị bạn nên đọc kỹ chính sách quyền riêng tư của họ để hiểu cách thức thông tin cá nhân của bạn được xử lý. Bạn cần lưu ý rằng một số nhà cung cấp có thể được đặt tại hoặc vận hành tại các khu vực pháp lý khác với nơi bạn hoặc chúng tôi đang sinh sống. Do đó, nếu bạn thực hiện giao dịch có liên quan đến dịch vụ của bên thứ ba, thông tin của bạn có thể sẽ chịu sự điều chỉnh của pháp luật tại khu vực pháp lý nơi nhà cung cấp đó hoặc hệ thống của họ được đặt. Ví dụ, nếu bạn đang ở Việt Nam nhưng giao dịch của bạn được xử lý bởi một cổng thanh toán đặt tại Hoa Kỳ, thì thông tin cá nhân của bạn có thể chịu sự điều chỉnh bởi pháp luật của Hoa Kỳ, bao gồm cả các quy định về chia sẻ dữ liệu. Khi bạn rời khỏi website của chúng tôi hoặc được chuyển hướng đến một website hoặc ứng dụng của bên thứ ba, bạn sẽ không còn chịu sự điều chỉnh của Chính sách quyền riêng tư hoặc Điều khoản dịch vụ của chúng tôi nữa. Liên kết ngoài Khi bạn nhấp vào các liên kết trên website của chúng tôi, bạn có thể được chuyển hướng sang các website khác. Chúng tôi không chịu trách nhiệm về nội dung hoặc chính sách quyền riêng tư của các website đó và khuyến nghị bạn nên đọc kỹ chính sách riêng tư của từng website trước khi sử dụng. ## Điều 6 – Cookie [#điều-6--cookie] Chúng tôi sử dụng cookie nhằm mục đích phân tích (analytics) và duy trì phiên đăng nhập (session), giúp cải thiện trải nghiệm sử dụng dịch vụ của bạn. ## Điều 7 – Độ tuổi đồng ý sử dụng [#điều-7--độ-tuổi-đồng-ý-sử-dụng] Khi sử dụng website này, bạn xác nhận rằng bạn đã đủ độ tuổi theo quy định pháp luật tại nơi bạn cư trú. Nếu bạn chưa đủ độ tuổi nhưng được sự đồng ý của người giám hộ hợp pháp, bạn được phép sử dụng website này dưới sự cho phép đó. ## Điều 8 – Thay đổi Chính sách quyền riêng tư [#điều-8--thay-đổi-chính-sách-quyền-riêng-tư] Chúng tôi có quyền sửa đổi Chính sách quyền riêng tư này vào bất kỳ thời điểm nào, vì vậy bạn nên thường xuyên xem lại nội dung này. Mọi thay đổi hoặc làm rõ sẽ có hiệu lực ngay khi được đăng tải trên website. Trong trường hợp có thay đổi quan trọng, chúng tôi sẽ thông báo trên website để bạn biết rõ về việc chúng tôi thu thập thông tin gì, sử dụng như thế nào, và trong trường hợp nào có thể chia sẻ thông tin đó. Nếu website của chúng tôi được mua lại, sáp nhập hoặc chuyển giao cho một công ty khác, thông tin cá nhân của bạn có thể được chuyển giao cho chủ sở hữu mới để tiếp tục cung cấp dịch vụ cho bạn. ## Câu hỏi và thông tin liên hệ [#câu-hỏi-và-thông-tin-liên-hệ] Nếu bạn muốn truy cập, chỉnh sửa, cập nhật hoặc xóa bất kỳ thông tin cá nhân nào mà chúng tôi đang lưu giữ về bạn; hoặc nếu bạn muốn gửi khiếu nại, hoặc đơn giản là cần thêm thông tin, bạn có thể liên hệ với bộ phận phụ trách tuân thủ quyền riêng tư của chúng tôi qua email: [quochbcontact@gmail.com](mailto:quochbcontact@gmail.com) hoặc liên hệ qua các kênh hỗ trợ được công bố trên website của chúng tôi. # Autocomplete API (/vi/api-docs/autocomplete) Gợi ý địa điểm khi người dùng nhập. Trả về danh sách các địa điểm phù hợp kèm tọa độ và định danh. **So sánh với Search API:** * **Autocomplete:** 3-4 gợi ý nhẹ, phù hợp ô nhập liệu * **Search:** 20 kết quả chi tiết ## I. Endpoint [#i-endpoint] ```bash GET https://api.pisomap.tech/api/maps/autocomplete ``` ## II. Headers [#ii-headers] | Name | Value | Required | | ----------- | --------------- | -------- | | `x-api-key` | API key của bạn | Có | ## III. Tham số truy vấn [#iii-tham-số-truy-vấn] | Name | Type | Required | Default | Mô tả | | ----- | ------ | -------- | ------- | --------------------------------- | | `q` | string | Có | — | Tên hoặc địa chỉ địa điểm cần tìm | | `lat` | number | Có | — | Vĩ độ hiện tại của bạn | | `lng` | number | Có | — | Kinh độ hiện tại của bạn | ## IV. Ví dụ [#iv-ví-dụ] Vị trí hiện tại: Nhà hát Thành phố Hồ Chí Minh (10.77682358167437, 106.70313930948461) Tìm kiếm: "starbucks" ```bash curl "https://api.pisomap.tech/api/maps/autocomplete?q=starbucks&lat=10.77682358167437&lng=106.70313930948461" \ -H "x-api-key: YOUR_API_KEY" ``` Phản hồi (4 kết quả): ```json { "suggestions": [ { "data_id": "0x31752fd5abbc268f:0x209a24f81b1461d4", "value": "Starbucks Waterbus Thủ Thiêm, Thủ Thiêm, An Khánh, Hồ Chí Minh", "subtext": "Thủ Thiêm, An Khánh, Hồ Chí Minh", "latitude": 10.776872, "longitude": 106.7103264, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Waterbus%20Th%E1%BB%A7%20Thi%C3%AAm%2C%20Th%E1%BB%A7%20Thi%C3%AAm%2C%20An%20Kh%C3%A1nh%2C%20H%E1%BB%93%20Ch%C3%AD%20Minh&lat=10,776872&lng=106,7103264", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752fd5abbc268f%3A0x209a24f81b1461d4", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752fd5abbc268f%3A0x209a24f81b1461d4", "link_docs": "https://docs.pisomap.tech/vi/api-docs/autocomplete" }, { "data_id": "0x31752f8e69fb1817:0x99b4de4074cd2e5a", "value": "Starbucks Nguyễn Thị Minh Khai, Đường Nguyễn Thị Minh Khai, Xuân Hòa, Hồ Chí Minh", "subtext": "Đường Nguyễn Thị Minh Khai, Xuân Hòa, Hồ Chí Minh", "latitude": 10.7820814, "longitude": 106.6971085, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Nguy%E1%BB%85n%20Th%E1%BB%8B%20Minh%20Khai%2C%20%C4%90%C6%B0%E1%BB%9Dng%20Nguy%E1%BB%85n%20Th%E1%BB%8B%20Minh%20Khai%2C%20Xu%C3%A2n%20H%C3%B2a%2C%20H%E1%BB%93%20Ch%C3%AD%20Minh&lat=10,7820814&lng=106,6971085", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f8e69fb1817%3A0x99b4de4074cd2e5a", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f8e69fb1817%3A0x99b4de4074cd2e5a", "link_docs": "https://docs.pisomap.tech/vi/api-docs/autocomplete" }, { "data_id": "0x31752f46c63d2867:0x8ce11d6317e10879", "value": "Starbucks Nguyễn Huệ, Nguyễn Huệ, Sài Gòn, Hồ Chí Minh", "subtext": "Nguyễn Huệ, Sài Gòn, Hồ Chí Minh", "latitude": 10.7734074, "longitude": 106.7038845, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Nguy%E1%BB%85n%20Hu%E1%BB%87%2C%20Nguy%C3%AA%CC%83n%20Hu%C3%AA%CC%A3%2C%20S%C3%A0i%20G%C3%B2n%2C%20H%E1%BB%93%20Ch%C3%AD%20Minh&lat=10,7734074&lng=106,7038845", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f46c63d2867%3A0x8ce11d6317e10879", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f46c63d2867%3A0x8ce11d6317e10879", "link_docs": "https://docs.pisomap.tech/vi/api-docs/autocomplete" }, { "data_id": "0x31752f0a2323cb43:0xe43cbaeb2de16988", "value": "Starbucks Waterbus Bach Dang, Đường Tôn Đức Thắng, Sài Gòn, Hồ Chí Minh", "subtext": "Đường Tôn Đức Thắng, Sài Gòn, Hồ Chí Minh", "latitude": 10.775133, "longitude": 106.7070959, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Waterbus%20Bach%20Dang%2C%20%C4%90%C6%B0%E1%BB%9Dng%20T%C3%B4n%20%C4%90%E1%BB%A9c%20Th%E1%BA%AFng%2C%20S%C3%A0i%20G%C3%B2n%2C%20H%E1%BB%93%20Ch%C3%AD%20Minh&lat=10,775133&lng=106,7070959", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f0a2323cb43%3A0xe43cbaeb2de16988", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f0a2323cb43%3A0xe43cbaeb2de16988", "link_docs": "https://docs.pisomap.tech/vi/api-docs/autocomplete" } ] } ``` ## V. Các trường phản hồi [#v-các-trường-phản-hồi] | Field | Type | Mô tả | | ------------------- | ------ | ------------------------------- | | `suggestions` | array | Danh sách các gợi ý địa điểm | | `data_id` | string | ID nội bộ dùng cho Place Detail | | `value` | string | Tên hiển thị của địa điểm | | `subtext` | string | Địa chỉ hoặc khu vực mô tả | | `latitude` | number | Vĩ độ | | `longitude` | number | Kinh độ | | `link_search_value` | string | Liên kết đến Search API | | `link_place_detail` | string | Liên kết đến Place Detail API | | `link_google_maps` | string | Liên kết đến Google Maps | | `link_docs` | string | Liên kết đến tài liệu API | # Place Detail API (/vi/api-docs/place-detail) Truy xuất thông tin toàn diện về một địa điểm bao gồm mô tả, đánh giá, ảnh, giờ cao điểm và nhiều hơn nữa. ## I. Endpoint [#i-endpoint] ```bash GET https://api.pisomap.tech/api/maps/place ``` ## II. Headers [#ii-headers] | Name | Value | Required | | ----------- | --------------- | -------- | | `x-api-key` | API key của bạn | Có | ## III. Tham số truy vấn [#iii-tham-số-truy-vấn] | Name | Type | Required | Default | Mô tả | | --------- | ------ | -------- | ------- | ---------------------------------------------- | | `data_id` | string | Có | — | Định danh địa điểm từ Autocomplete hoặc Search | | `lat` | number | Không | — | Vĩ độ hiện tại của bạn | | `lng` | number | Không | — | Kinh độ hiện tại của bạn | ## IV. Ví dụ [#iv-ví-dụ] Địa điểm: Highlands Coffee - Aeon Mall Tân Phú data\_id: 0x31752bb396ca47f9:0x237d4c6fae045dd9 Tọa độ: 10.801698799999999, 106.6175257 ```bash curl "https://api.pisomap.tech/api/maps/place?data_id=0x31752bb396ca47f9:0x237d4c6fae045dd9&lat=10.801698799999999&lng=106.6175257" \ -H "x-api-key: YOUR_API_KEY" ``` Phản hồi: ```json { "place_result": { "data_id": "0x31752bb396ca47f9:0x237d4c6fae045dd9", "title": "Highlands Coffee - Aeon Mall Tân Phú", "description": "", "type": "COFFEE", "rating": 4, "reviews": 441, "pricing": { "min": 1, "max": 100000 }, "contacts": { "phone": "028 7101 6768", "website": "https://www.foody.vn/ho-chi-minh/highlands-coffee-aeon-mall-tan-phu" }, "location": { "address": { "full": "30 Tân Thắng, Celadon City, Tân Sơn Nhì, Hồ Chí Minh 700000, Việt Nam", "street": "30 Tân Thắng, Celadon City", "ward": "Tân Sơn Nhì", "city": "Hồ Chí Minh 700000", "country": "Việt Nam" }, "latitude": 10.801698799999999, "longitude": 106.6175257, "timezone": "Asia/Saigon", "country_code": "VN" }, "global_plus_code": "7P28RJ29+M2", "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 21:00" }, "opening_hours": [ { "day": "Thứ Hai", "hours": "07:00–21:00" }, { "day": "Thứ Ba", "hours": "07:00–21:00" }, { "day": "Thứ Tư", "hours": "07:00–21:00" }, { "day": "Thứ Năm", "hours": "07:00–21:00" }, { "day": "Thứ Sáu", "hours": "07:00–21:00" }, { "day": "Thứ Bảy", "hours": "07:00–21:00" }, { "day": "Chủ Nhật", "hours": "07:00–21:00" } ], "features": { "accessibility": ["has_wheelchair_accessible_restroom"], "parking": ["has_parking_lot_free", "parking_availability"], "payments": ["pay_mobile_nfc", "pay_debit_card", "pay_credit_card"], "service_options": ["has_delivery", "has_takeout"], "other": ["serves_dine_in", "serves_coffee_notable", "serves_dessert_notable", "serves_tea_notable", "serves_coffee", "quick_bite", "has_restroom", "feels_cozy", "suitable_for_groups", "welcomes_children"] }, "popular_times": [ { "day": "Chủ Nhật", "hours": [ { "hour": 9, "occupancy_percent": 87, "status": "Đông khách như mọi khi", "time_label": "09 giờ" }, { "hour": 10, "occupancy_percent": 92, "status": "Đông khách như mọi khi", "time_label": "10 giờ" }, { "hour": 11, "occupancy_percent": 100, "status": "Đông khách như mọi khi", "time_label": "11 giờ" }, { "hour": 12, "occupancy_percent": 82, "status": "Đông khách như mọi khi", "time_label": "12 giờ" } ] }, { "day": "Thứ Hai", "hours": [ { "hour": 7, "occupancy_percent": 45, "status": "Thường không quá đông đúc", "time_label": "07 giờ" }, { "hour": 8, "occupancy_percent": 45, "status": "Thường không quá đông đúc", "time_label": "08 giờ" }, { "hour": 12, "occupancy_percent": 55, "status": "Thường hơi đông đúc", "time_label": "12 giờ" }, { "hour": 19, "occupancy_percent": 61, "status": "Thường hơi đông đúc", "time_label": "19 giờ" } ] } ], "review_list": [ { "review_id": "Ci9DQUlRQUNvZENodHljRjlvT25aellrMVZSVFJWU25kTFExZHZhRU5oVWsxQ1NHYxAB", "author_name": "Sherry Dollette", "author_profile_pic": "https://lh3.googleusercontent.com/a-/ALV-UjXI2Arbh7Fo_uopTclrxLAU2hZk6IbswYWND7sc8d8UV2sTp2b3=s120-c-rp-mo-br100", "rating": 5, "text": "mình đi ngay cn lúc 9h10, chắc sắp đóng cửa với nhân viên mắc dọn :) nên lúc mình order, nhân viên thu ngân thể hiện thái độ trễ nãi rồi còn đùn đẩy cho 1 bạn khác order thay...", "photos": [ { "id": "CIABIhAjFsYbZ2DwqgTnbBWwu-OI", "url": "https://lh3.googleusercontent.com/grass-cs/ANxoTn11LpQoUvx2AL7CqJrD2cvLUCConDTNFYxtqdVcMfsGDxrtUNO54YiCcoFeddaxeBqtn-4vc8TZZsuHgyFRly47f3KR4zNR7Od0VtLPYb8KRErCL-ShJzkBI-EDIaJKYSZalzGBK8nwTlQT=s0", "width": 3024, "height": 4032 } ] }, { "review_id": "Ci9DQUlRQUNvZENodHljRjlvT2tWMU1sTkhiV3ByWkVGVk5GaEJSSHBhUzA5TVRGRRAB", "author_name": "Hiếu Trần", "author_profile_pic": "https://lh3.googleusercontent.com/a-/ALV-UjU2lm7ApLvLWZTB9BcMEQ0F3fDEc1oJT2Alf2Vv6i9XK2j_kGar=s120-c-rp-mo-ba12-br100", "rating": 5, "text": "Highlands Aeon Tân Phú có không gian rộng, máy lạnh mát rượi, rất hợp để ngồi làm việc hoặc nghỉ chân sau khi shopping. Phục vụ nhanh dù quán khá đông.", "photos": [ { "id": "CIABIhBEh92eWgtIFZeEl3znp04B", "url": "https://lh3.googleusercontent.com/grass-cs/ANxoTn0FACziWLTdAq4Xc5RGXnnFxMD_teUnQB_uli9qXIgpMEXzCohN7CO03T5alTpw5W4BKYw5ZJx0QJ1azvy6GpBqCj-lJvjlWRyNeytUhPuU8hIMamAf7OHFxgu8h_Iu1wOKjkL0hxd_-y9f=s0", "width": 1080, "height": 1920 } ] } ], "photos": [ { "category_id": "CgIgAQ==", "category_label": "Tất cả", "media": [ { "id": "CIABIhDCl_aDtp2mpF8qZhoaq09H", "url": "https://lh3.googleusercontent.com/gps-cs-s/APNQkAHwVJeChoP_0YBTl3Svd1bm_8xuR5a5h3vG0PuyfBDfEddO-DDKKVSQI2AXij_sczy9XKf4eu3yD73hig64zf_V9O6oNlA7pBfquR9vQhAfykR5v3bNdA97XenIkYbwa1Xl2WwErF9OmPcG=s0", "width": 1280, "height": 960 } ] }, { "category_id": "CgIYIQ==", "category_label": "Thực đơn", "media": [ { "id": "CIABIhBG7O-R0HC5459gofD8SlZM", "url": "https://lh3.googleusercontent.com/gps-cs-s/APNQkAFXK10QTj-EdGQAP0_tKWIA9VtqmfGPlHP-MdVzKax2UHDh2-BjaBhJFeiCkw3O2iuMGisN9f-fmf5HKa3f0s6f0hmRAq_6WrOzL8CeoDislQ-X23SYYR0kxXeHPbvXxT65cxEIIQLxP9Yr=s0", "width": 4716, "height": 3540 } ] } ], "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Highlands%20Coffee%20-%20Aeon%20Mall%20T%C3%A2n%20Ph%C3%BA&lat=10,801698799999999&lng=106,6175257", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752bb396ca47f9%3A0x237d4c6fae045dd9", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752bb396ca47f9%3A0x237d4c6fae045dd9", "link_docs": "https://docs.pisomap.tech/vi/api-docs/place-detail" } } ``` ## V. Các trường phản hồi [#v-các-trường-phản-hồi] | Field | Type | Mô tả | | ------------------------------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Field | Type | Mô tả | | ------- | ------ | ------- | | `place_result` | object | Đối tượng chi tiết địa điểm | | `data_id` | string | Định danh nội bộ của địa điểm | | `title` | string | Tên của địa điểm | | `description` | string | Mô tả của địa điểm | | `type` | string | Danh mục của địa điểm lấy từ Google Maps (vd: COFFEE, RESTAURANT) | | `rating` | number | Đánh giá trung bình của địa điểm (1.0–5.0) | | `reviews` | integer | Tổng số lượt đánh giá của địa điểm | | `pricing` | object | Khoảng giá của địa điểm `{ min, max }` | | `pricing.min` | number | Giá thấp nhất của địa điểm (VNĐ) | | `pricing.max` | number | Giá cao nhất của địa điểm (VNĐ) | | `contacts` | object | Thông tin liên hệ của địa điểm | | `contacts.phone` | string | Số điện thoại của địa điểm | | `contacts.website` | string | Trang web của địa điểm | | `location` | object | Dữ liệu vị trí của địa điểm | | `location.address` | object | Địa chỉ chi tiết của địa điểm | | `location.address.full` | string | Địa chỉ đầy đủ của địa điểm | | `location.address.street` | string | Tên đường/phố của địa điểm | | `location.address.ward` | string | Phường/xã của địa điểm | | `location.address.city` | string | Thành phố của địa điểm | | `location.address.country` | string | Quốc gia của địa điểm | | `location.latitude` | number | Vĩ độ của địa điểm | | `location.longitude` | number | Kinh độ của địa điểm | | `location.timezone` | string | Múi giờ của địa điểm (vd: Asia/Saigon) | | `location.country_code` | string | Mã quốc gia của địa điểm (vd: VN) | | `global_plus_code` | string | Mã plus code cho vị trí của địa điểm | | `open_state` | object | Trạng thái mở cửa của địa điểm | | `open_state.is_open_now` | boolean | Địa điểm có đang mở cửa hay không | | `open_state.text` | string | Trạng thái giờ hoạt động dạng chữ của địa điểm | | `opening_hours` | array | Giờ mở cửa hàng tuần của địa điểm | | `opening_hours[].day` | string | Ngày trong tuần (vd: Thứ Hai, Thứ Ba,...) | | `opening_hours[].hours` | string | Giờ hoạt động của địa điểm (vd: 07:00–21:00) | | `features` | object | Tiện nghi của địa điểm | | `features.accessibility` | array | Các tùy chọn tiếp cận của địa điểm | | `features.parking` | array | Các tùy chọn đỗ xe của địa điểm | | `features.payments` | array | Phương thức thanh toán được chấp nhận của địa điểm | | `features.service_options` | array | Các tùy chọn dịch vụ của địa điểm (vd: takeout, delivery) | | `features.other` | array | Các thuộc tính khác của địa điểm bao gồm không gian (vd: cozy, contemporary, historic), ẩm thực (vd: serves\_coffee, serves\_breakfast, quick\_bite), đối tượng khách (vd: suitable\_for\_groups, welcomes\_children, popular\_with\_tourists) và các tiện ích khác (vd: has\_restroom, has\_live\_music, serves\_alcohol) | | `popular_times` | array | Mức độ đông đúc theo từng giờ trong ngày của địa điểm | | `popular_times[].day` | string | Ngày trong tuần (vd: Chủ Nhật, Thứ Hai,...) | | `popular_times[].hours` | array | Mảng dữ liệu đông đúc theo từng giờ của địa điểm | | `popular_times[].hours[].hour` | integer | Giờ trong ngày (0–23) | | `popular_times[].hours[].occupancy_percent` | integer | Phần trăm khách (0–100) | | `popular_times[].hours[].status` | string | Trạng thái đông đúc của địa điểm (vd: 'Đông khách như mọi khi', 'Thường hơi đông đúc') | | `popular_times[].hours[].time_label` | string | Nhãn giờ hiển thị của địa điểm (vd: '09 giờ', '10 giờ') | | `review_list` | array | Danh sách đánh giá của người dùng cho địa điểm | | `review_list[].review_id` | string | Mã định danh của bài đánh giá | | `review_list[].author_name` | string | Tên tác giả của bài đánh giá | | `review_list[].author_profile_pic` | string | URL ảnh đại diện của tác giả | | `review_list[].rating` | integer | Điểm đánh giá (1–5) | | `review_list[].text` | string | Nội dung bình luận của bài đánh giá | | `review_list[].photos` | array | Ảnh kèm theo của bài đánh giá | | `review_list[].photos[].id` | string | Mã định danh của ảnh | | `review_list[].photos[].url` | string | URL của ảnh | | `review_list[].photos[].width` | integer | Chiều rộng của ảnh (px) | | `review_list[].photos[].height` | integer | Chiều cao của ảnh (px) | | `photos` | array | Thư viện ảnh của địa điểm được phân loại theo danh mục | | `photos[].category_id` | string | Mã định danh của danh mục ảnh | | `photos[].category_label` | string | Nhãn danh mục (vd: 'Tất cả', 'Nội thất', 'Thực đơn', 'Mới nhất') | | `photos[].media` | array | Mảng các ảnh trong danh mục | | `photos[].media[].id` | string | Mã định danh của ảnh | | `photos[].media[].url` | string | URL của ảnh | | `photos[].media[].width` | integer | Chiều rộng của ảnh (px) | | `photos[].media[].height` | integer | Chiều cao của ảnh (px) | | `link_search_value` | string | Liên kết đến Search API của địa điểm | | `link_place_detail` | string | Liên kết đến Place Detail API của địa điểm | | `link_google_maps` | string | Liên kết đến Google Maps của địa điểm | | `link_docs` | string | Liên kết đến tài liệu API của địa điểm | # Reverse Geocode API (/vi/api-docs/reverse-geocode) Tra cứu ngược tọa độ GPS để lấy địa chỉ. Trả về tên địa điểm, địa chỉ có cấu trúc, place ID và plus code. ## I. Endpoint [#i-endpoint] ```bash GET https://api.pisomap.tech/api/maps/reverse-geocode ``` ## II. Headers [#ii-headers] | Name | Value | Required | | ----------- | --------------- | -------- | | `x-api-key` | API key của bạn | Có | ## III. Tham số truy vấn [#iii-tham-số-truy-vấn] | Name | Type | Required | Default | Mô tả | | ----- | ------ | -------- | ------- | ------------------------------ | | `lat` | number | Có | — | Vĩ độ của tọa độ cần tra cứu | | `lng` | number | Có | — | Kinh độ của tọa độ cần tra cứu | ## IV. Ví dụ [#iv-ví-dụ] Vị trí hiện tại: Nhà hát Thành phố Hồ Chí Minh (10.77665494785082, 106.70311785181373) ```bash curl "https://api.pisomap.tech/api/maps/reverse-geocode?lat=10.77665494785082&lng=106.70311785181373" \ -H "x-api-key: YOUR_API_KEY" ``` Phản hồi: ```json { "reveal_result": { "place_name": "07 Công trường Lam Sơn", "address": { "full": "07 Công trường Lam Sơn, Sài Gòn, Hồ Chí Minh 700000, Việt Nam", "street": "Sài Gòn", "ward": "Hồ Chí Minh 700000", "city": "Việt Nam" }, "lat": 10.776612799999999, "lng": 106.7031715, "place_id": "0x31752f464a267e5f:0x62a0deaefa02edd7", "plus_code": "7P28QPG3+M69" } } ``` ## V. Các trường phản hồi [#v-các-trường-phản-hồi] | Field | Type | Mô tả | | ---------------- | ------ | -------------------------------------------- | | `reveal_result` | object | Phản hồi tra cứu ngược cấp cao nhất | | `place_name` | string | Tên địa điểm hoặc tòa nhà tại tọa độ | | `address` | object | Địa chỉ có cấu trúc của địa điểm | | `address.full` | string | Địa chỉ đầy đủ của địa điểm | | `address.street` | string | Đường/phố của địa điểm (từ Google Maps) | | `address.ward` | string | Phường/xã của địa điểm (từ Google Maps) | | `address.city` | string | Thành phố/quận của địa điểm (từ Google Maps) | | `lat` | number | Vĩ độ của địa điểm | | `lng` | number | Kinh độ của địa điểm | | `place_id` | string | ID của địa điểm trên Google Maps | | `plus_code` | string | Mã plus code vị trí của địa điểm | # Routing API (/vi/api-docs/routing) Lấy chỉ đường chi tiết giữa hai địa điểm. Trả về các tuyến đường với hướng dẫn từng bước, khoảng cách, thời gian di chuyển (có và không có giao thông), thông tin trạm thu phí, và nhãn hành động trực quan. ## I. Endpoint [#i-endpoint] ```bash GET https://api.pisomap.tech/api/maps/direction ``` ## II. Headers [#ii-headers] | Name | Value | Required | | ----------- | --------------- | -------- | | `x-api-key` | API key của bạn | Có | ## III. Tham số truy vấn [#iii-tham-số-truy-vấn] | Name | Type | Required | Default | Mô tả | | ------------ | ------ | -------- | ----------- | ---------------------------------------------------------------------------------------------------------- | | `origin_pid` | string | Có | — | Place ID của điểm xuất phát | | `originLat` | number | Có | `10.949642` | Vĩ độ điểm xuất phát | | `originLng` | number | Có | `107.00585` | Kinh độ điểm xuất phát | | `dest_pid` | string | Có | — | Place ID của điểm đến | | `destLat` | number | Có | `10.771341` | Vĩ độ điểm đến | | `destLng` | number | Có | `106.6956` | Kinh độ điểm đến | | `mode` | string | Không | `driving` | Phương thức di chuyển. `driving` dành cho ô tô/xe máy, `walking` dành cho đi bộ, `cycling` dành cho xe đạp | ## IV. Ví dụ [#iv-ví-dụ] * **Điểm xuất phát:** Ga Tân Cảng - MRT 1 (10.798757, 106.72314809999999) * **Điểm đến:** Bệnh viện Từ Dũ (10.768483699999999, 106.6853651) * **Phương tiện:** driving ```bash curl "https://api.pisomap.tech/api/maps/direction?origin_pid=0x3175290f2b82553d%3A0x21bbb1a653837f25&originLat=10.798757&originLng=106.72314809999999&dest_pid=0x31752f0ea36cbbdf%3A0xe71f8e168d92aad7&destLat=10.768483699999999&destLng=106.6853651&mode=driving" \ -H "x-api-key: YOUR_API_KEY" ``` Phản hồi: ```json { "direction_result": { "origin": { "address": { "full": "Ga Tân Cảng - MRT 1, 687 Điện Biên Phủ, Thạnh Mỹ Tây, Hồ Chí Minh, Việt Nam" }, "latitude": 10.798757, "longitude": 106.72314809999999, "timezone": "Asia/Ho_Chi_Minh", "country_code": "VN", "place_id": "0x3175290f2b82553d:0x21bbb1a653837f25" }, "destination": { "address": { "full": "Bệnh viện Từ Dũ, 284 Cống Quỳnh, Bến Thành, Hồ Chí Minh 700000, Việt Nam" }, "latitude": 10.768483699999999, "longitude": 106.6853651, "timezone": "Asia/Ho_Chi_Minh", "country_code": "VN", "place_id": "0x31752f0ea36cbbdf:0xe71f8e168d92aad7" }, "routes": [ { "name": "Nguyễn Hữu Cảnh và Nguyễn Du", "distance_meters": 6722, "distance_text": "6,7 km", "duration": { "without_traffic": { "seconds": 1244, "text": "21 p", "hours": 0, "minutes": 21 }, "with_traffic": { "seconds": 1299, "text": "22 p", "hours": 0, "minutes": 22 }, "range": { "min_seconds": 995, "min_text": "17 p", "text": "17 – 31 phút" } }, "has_toll": false, "traffic_note": "Tuyến đường nhanh nhất, dù giao thông vẫn như thường lệ", "steps": { "groups": [ { "distance": { "meters": 31, "text": "31 m" }, "duration": { "seconds": 11, "text": "11 giây", "hours": 0, "minutes": 0 }, "steps": [ { "action": { "text": "Đi thẳng", "type": "STRAIGHT" }, "instruction": "", "distance": { "meters": 31, "text": "31 m" }, "duration": { "seconds": 11, "text": "11 giây", "hours": 0, "minutes": 0 }, "start": { "lat": 10.798575503772271, "lng": 106.72314495616634 }, "end": { "lat": 10.798754299999999, "lng": 106.723124 } } ] }, { "description": "Đi theo Nguyễn Hữu Cảnh đến Nguyễn Du tại Sài Gòn", "distance": { "meters": 3666, "text": "3,7 km" }, "duration": { "seconds": 487, "text": "8 p", "hours": 0, "minutes": 8 }, "steps": [ { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại Sunwah - One-Bedroom Apartment", "distance": { "meters": 83, "text": "83 m" }, "duration": { "seconds": 40, "text": "40 giây", "hours": 0, "minutes": 0 }, "landmark": "Sunwah - One-Bedroom Apartment", "start": { "lat": 10.798856203772273, "lng": 106.72311205616634 }, "end": { "lat": 10.799035, "lng": 106.72309109999999 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải vào Cầu Vượt Nguyễn Hữu Cảnh", "distance": { "meters": 1337, "text": "1,3 km" }, "duration": { "seconds": 153, "text": "3 p", "hours": 0, "minutes": 3 }, "road": "Cầu Vượt Nguyễn Hữu Cảnh", "notes": [{ "type": "continue" }, { "type": "pass_by", "name": "Tiệm Trà Sữa INCHA", "position": "ở phía bên phải" }], "start": { "lat": 10.799057831695809, "lng": 106.7236671850363 }, "end": { "lat": 10.799033, "lng": 106.72384830000001 } }, { "action": { "text": "Đi thẳng", "type": "STRAIGHT" }, "instruction": "", "distance": { "meters": 590, "text": "600 m" }, "duration": { "seconds": 55, "text": "55 giây", "hours": 0, "minutes": 0 }, "start": { "lat": 10.791594714131636, "lng": 106.71813404909247 }, "end": { "lat": 10.7914154, "lng": 106.7181227 } }, { "action": { "text": "Nhập làn", "type": "MERGE" }, "instruction": "Nhập vào Cầu Văn Thánh 2", "distance": { "meters": 1198, "text": "1,2 km" }, "duration": { "seconds": 158, "text": "3 p", "hours": 0, "minutes": 3 }, "road": "Cầu Văn Thánh 2", "notes": [{ "type": "continue" }, { "type": "pass_by", "name": "Thảo Cầm Viên Sài Gòn", "position": "ở bên phải cách 800m" }], "start": { "lat": 10.789275952671893, "lng": 106.71410845472158 }, "end": { "lat": 10.7893718, "lng": 106.71395940000001 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Đi bên phải để vào Nguyễn Hữu Cảnh", "distance": { "meters": 106, "text": "110 m" }, "duration": { "seconds": 21, "text": "21 giây", "hours": 0, "minutes": 0 }, "road": "Nguyễn Hữu Cảnh", "notes": [{ "type": "pass_by", "name": "Language Service Providers", "position": "ở phía bên phải" }], "start": { "lat": 10.783292743935348, "lng": 106.70686443044998 }, "end": { "lat": 10.7831529, "lng": 106.7067491 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại Saigon Waterbus", "distance": { "meters": 352, "text": "350 m" }, "duration": { "seconds": 60, "text": "1 p", "hours": 0, "minutes": 1 }, "landmark": "Saigon Waterbus", "notes": [{ "type": "pass_by", "name": "Saigon Trade Center Tower - Office Saigon", "position": "ở bên trái cách 300m" }], "start": { "lat": 10.782691715430081, "lng": 106.70622959273763 }, "end": { "lat": 10.7826433, "lng": 106.70606149999999 } } ] }, { "distance": { "meters": 1918, "text": "1,9 km" }, "duration": { "seconds": 424, "text": "7 p", "hours": 0, "minutes": 7 }, "steps": [ { "action": { "text": "Rẽ trái", "type": "TURN", "direction": "LEFT" }, "instruction": "Rẽ trái tại Huy Béo Bia Hơi Hà Nội", "distance": { "meters": 1918, "text": "1,9 km" }, "duration": { "seconds": 424, "text": "7 p", "hours": 0, "minutes": 7 }, "landmark": "Huy Béo Bia Hơi Hà Nội", "notes": [{ "type": "pass_by", "name": "Trường THCS Nguyễn Du", "position": "Quận 1" }], "start": { "lat": 10.784644138832038, "lng": 106.7038132560302 }, "end": { "lat": 10.784765, "lng": 106.7036775 } } ] }, { "distance": { "meters": 143, "text": "140 m" }, "duration": { "seconds": 26, "text": "26 giây", "hours": 0, "minutes": 0 }, "steps": [ { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại Professional Records Dept - Department's Criminal Records Office - Receiving and issusing Criminal Record Certificates", "distance": { "meters": 143, "text": "140 m" }, "duration": { "seconds": 26, "text": "26 giây", "hours": 0, "minutes": 0 }, "landmark": "Professional Records Dept - Department's Criminal Records Office - Receiving and issusing Criminal Record Certificates", "notes": [{ "type": "pass_by", "name": "Ga Tao Đàn", "position": "ở phía bên phải" }], "start": { "lat": 10.772221156000283, "lng": 106.69247053982113 }, "end": { "lat": 10.772118299999999, "lng": 106.6923202 } } ] }, { "description": "Đi tiếp Bùi Thị Xuân đến điểm đến của bạn", "distance": { "meters": 964, "text": "1,0 km" }, "duration": { "seconds": 296, "text": "5 p", "hours": 0, "minutes": 5 }, "steps": [ { "action": { "text": "Rẽ trái", "type": "TURN", "direction": "LEFT" }, "instruction": "Rẽ trái vào Bùi Thị Xuân", "distance": { "meters": 784, "text": "800 m" }, "duration": { "seconds": 186, "text": "3 p", "hours": 0, "minutes": 3 }, "road": "Bùi Thị Xuân", "notes": [{ "type": "pass_by", "name": "hiệu thuốc", "position": "ở bên phải cách 450m" }], "start": { "lat": 10.77265427387119, "lng": 106.6913382240044 }, "end": { "lat": 10.7727417, "lng": 106.6911781 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại chó con", "distance": { "meters": 152, "text": "150 m" }, "duration": { "seconds": 36, "text": "36 giây", "hours": 0, "minutes": 0 }, "landmark": "chó con", "notes": [{ "type": "pass_by", "name": "Chuỗi cửa hàng embébò", "position": "ở phía bên trái" }], "start": { "lat": 10.76771469047144, "lng": 106.68641700071215 }, "end": { "lat": 10.7675846, "lng": 106.68629039999999 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại Chillout rooftop_Tropical style homestay in the center of District 1", "distance": { "meters": 28, "text": "28 m" }, "duration": { "seconds": 74, "text": "1 p", "hours": 0, "minutes": 1 }, "landmark": "Chillout rooftop_Tropical style homestay in the center of District 1", "notes": [{ "type": "annotation" }], "start": { "lat": 10.768093573026322, "lng": 106.68519729954859 }, "end": { "lat": 10.768186, "lng": 106.6850401 } } ] } ] } }, { "name": "Nguyễn Hữu Cảnh và Võ Văn Tần", "distance_meters": 7344, "distance_text": "7,3 km", "duration": { "without_traffic": { "seconds": 1402, "text": "23 p", "hours": 0, "minutes": 23 }, "with_traffic": { "seconds": 1491, "text": "25 p", "hours": 0, "minutes": 25 }, "range": { "min_seconds": 1139, "min_text": "19 p", "text": "19 – 36 phút" } }, "has_toll": false, "traffic_note": "Giao thông thưa thớt, như thường lệ", "steps": { "groups": [ { "distance": { "meters": 31, "text": "31 m" }, "duration": { "seconds": 11, "text": "11 giây", "hours": 0, "minutes": 0 }, "steps": [ { "action": { "text": "Đi thẳng", "type": "STRAIGHT" }, "instruction": "", "distance": { "meters": 31, "text": "31 m" }, "duration": { "seconds": 11, "text": "11 giây", "hours": 0, "minutes": 0 }, "start": { "lat": 10.798575503772271, "lng": 106.72314495616634 }, "end": { "lat": 10.798754299999999, "lng": 106.723124 } } ] }, { "description": "Đi theo Nguyễn Hữu Cảnh đến Lê Duẩn tại Sài Gòn", "distance": { "meters": 3743, "text": "3,7 km" }, "duration": { "seconds": 507, "text": "8 p", "hours": 0, "minutes": 8 }, "steps": [ { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại Sunwah - One-Bedroom Apartment", "distance": { "meters": 83, "text": "83 m" }, "duration": { "seconds": 40, "text": "40 giây", "hours": 0, "minutes": 0 }, "landmark": "Sunwah - One-Bedroom Apartment", "start": { "lat": 10.798856203772273, "lng": 106.72311205616634 }, "end": { "lat": 10.799035, "lng": 106.72309109999999 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải vào Cầu Vượt Nguyễn Hữu Cảnh", "distance": { "meters": 1337, "text": "1,3 km" }, "duration": { "seconds": 153, "text": "3 p", "hours": 0, "minutes": 3 }, "road": "Cầu Vượt Nguyễn Hữu Cảnh", "notes": [{ "type": "continue" }, { "type": "pass_by", "name": "Tiệm Trà Sữa INCHA", "position": "ở phía bên phải" }], "start": { "lat": 10.799057831695809, "lng": 106.7236671850363 }, "end": { "lat": 10.799033, "lng": 106.72384830000001 } }, { "action": { "text": "Đi thẳng", "type": "STRAIGHT" }, "instruction": "", "distance": { "meters": 590, "text": "600 m" }, "duration": { "seconds": 55, "text": "55 giây", "hours": 0, "minutes": 0 }, "start": { "lat": 10.791594714131636, "lng": 106.71813404909247 }, "end": { "lat": 10.7914154, "lng": 106.7181227 } }, { "action": { "text": "Nhập làn", "type": "MERGE" }, "instruction": "Nhập vào Cầu Văn Thánh 2", "distance": { "meters": 1198, "text": "1,2 km" }, "duration": { "seconds": 158, "text": "3 p", "hours": 0, "minutes": 3 }, "road": "Cầu Văn Thánh 2", "notes": [{ "type": "continue" }, { "type": "pass_by", "name": "Thảo Cầm Viên Sài Gòn", "position": "ở bên phải cách 800m" }], "start": { "lat": 10.789275952671893, "lng": 106.71410845472158 }, "end": { "lat": 10.7893718, "lng": 106.71395940000001 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Đi bên phải để vào Nguyễn Hữu Cảnh", "distance": { "meters": 106, "text": "110 m" }, "duration": { "seconds": 21, "text": "21 giây", "hours": 0, "minutes": 0 }, "road": "Nguyễn Hữu Cảnh", "notes": [{ "type": "pass_by", "name": "Language Service Providers", "position": "ở phía bên phải" }], "start": { "lat": 10.783292743935348, "lng": 106.70686443044998 }, "end": { "lat": 10.7831529, "lng": 106.7067491 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại Saigon Waterbus", "distance": { "meters": 429, "text": "450 m" }, "duration": { "seconds": 80, "text": "1 p", "hours": 0, "minutes": 1 }, "landmark": "Saigon Waterbus", "notes": [{ "type": "pass_by", "name": "Saigon Trade Center Tower - Office Saigon", "position": "ở bên trái cách 300m" }], "start": { "lat": 10.782691715430081, "lng": 106.70622959273763 }, "end": { "lat": 10.7826433, "lng": 106.70606149999999 } } ] }, { "description": "Đi theo Võ Văn Tần đến Nguyễn Thị Minh Khai tại Bàn Cờ", "distance": { "meters": 3439, "text": "3,4 km" }, "duration": { "seconds": 761, "text": "13 p", "hours": 0, "minutes": 13 }, "steps": [ { "action": { "text": "Rẽ trái", "type": "TURN", "direction": "LEFT" }, "instruction": "Rẽ trái tại Galleria New Collection By TrueStay w/ Pool & Gym", "distance": { "meters": 754, "text": "750 m" }, "duration": { "seconds": 151, "text": "3 p", "hours": 0, "minutes": 3 }, "landmark": "Galleria New Collection By TrueStay w/ Pool & Gym", "notes": [{ "type": "pass_by", "name": "Khoa Dược - Đại học Y Dược TP.HCM", "position": "ở phía bên phải" }], "start": { "lat": 10.78511285653108, "lng": 106.70329582069719 }, "end": { "lat": 10.785231999999999, "lng": 106.7031585 } }, { "action": { "text": "Vào vòng xuyến", "type": "ROUNDABOUT_ENTER_AND_EXIT" }, "instruction": "Tại vòng xuyến, đi theo lối ra thứ 1", "distance": { "meters": 337, "text": "350 m" }, "duration": { "seconds": 80, "text": "1 p", "hours": 0, "minutes": 1 }, "notes": [{ "type": "pass_by", "name": "HỢP PHÁP HÓA LÃNH SỰ TEM ĐSQ TẠI HCM", "position": "ở phía bên phải" }], "start": { "lat": 10.780546578894311, "lng": 106.69859545466234 }, "end": { "lat": 10.7804048, "lng": 106.69848259999999 } }, { "action": { "text": "Vào vòng xuyến", "type": "ROUNDABOUT_ENTER_AND_EXIT" }, "instruction": "Tại vòng xuyến, đi theo lối ra thứ 2", "distance": { "meters": 2203, "text": "2,2 km" }, "duration": { "seconds": 488, "text": "8 p", "hours": 0, "minutes": 8 }, "notes": [{ "type": "pass_by", "name": "Tyribee", "position": "ở bên trái cách 1,6 km" }], "start": { "lat": 10.782292478276819, "lng": 106.69635984440718 }, "end": { "lat": 10.7824173, "lng": 106.69622919999999 } }, { "action": { "text": "Rẽ trái", "type": "TURN", "direction": "LEFT" }, "instruction": "Rẽ trái tại LOVE QUALITY", "distance": { "meters": 145, "text": "150 m" }, "duration": { "seconds": 42, "text": "42 giây", "hours": 0, "minutes": 0 }, "landmark": "LOVE QUALITY", "notes": [{ "type": "pass_by", "name": "Công Ty Cổ Phần Giáo Dục Lvt", "position": "ở phía bên phải" }], "start": { "lat": 10.769182621680548, "lng": 106.68337693913587 }, "end": { "lat": 10.769049899999999, "lng": 106.6832532 } } ] }, { "distance": { "meters": 44, "text": "44 m" }, "duration": { "seconds": 16, "text": "16 giây", "hours": 0, "minutes": 0 }, "steps": [ { "action": { "text": "Rẽ trái", "type": "TURN", "direction": "LEFT" }, "instruction": "Rẽ trái sau Paris Baguette Cao Thắng Bánh Kem", "distance": { "meters": 44, "text": "44 m" }, "duration": { "seconds": 16, "text": "16 giây", "hours": 0, "minutes": 0 }, "landmark": "Paris Baguette Cao Thắng Bánh Kem", "notes": [{ "type": "pass_by", "name": "Công Ty Tnhh Foodmate", "position": "ở phía bên phải" }], "start": { "lat": 10.768304897695582, "lng": 106.68411061311767 }, "end": { "lat": 10.7681873, "lng": 106.68424929999999 } } ] }, { "description": "Đi tiếp Cống Quỳnh đến điểm đến của bạn", "distance": { "meters": 87, "text": "87 m" }, "duration": { "seconds": 107, "text": "2 p", "hours": 0, "minutes": 2 }, "steps": [ { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại 284 Cong Quynh", "distance": { "meters": 59, "text": "59 m" }, "duration": { "seconds": 16, "text": "16 giây", "hours": 0, "minutes": 0 }, "landmark": "284 Cong Quynh", "start": { "lat": 10.76825335603005, "lng": 106.68441300484055 }, "end": { "lat": 10.768386999999999, "lng": 106.6845357 } }, { "action": { "text": "Rẽ trái", "type": "TURN", "direction": "LEFT" }, "instruction": "Rẽ trái tại Chillout rooftop_Tropical style homestay in the center of District 1", "distance": { "meters": 28, "text": "28 m" }, "duration": { "seconds": 91, "text": "2 p", "hours": 0, "minutes": 2 }, "landmark": "Chillout rooftop_Tropical style homestay in the center of District 1", "notes": [{ "type": "annotation" }], "start": { "lat": 10.768253651452543, "lng": 106.68487033187729 }, "end": { "lat": 10.768186, "lng": 106.6850401 } } ] } ] } }, { "name": "Hầm Sông Sài Gòn", "distance_meters": 8890, "distance_text": "8,9 km", "duration": { "without_traffic": { "seconds": 1366, "text": "23 p", "hours": 0, "minutes": 23 }, "with_traffic": { "seconds": 1523, "text": "25 p", "hours": 0, "minutes": 25 }, "range": { "min_seconds": 1180, "min_text": "20 p", "text": "19 – 37 phút" } }, "has_toll": false, "traffic_note": "Giao thông thưa thớt, như thường lệ", "steps": { "groups": [ { "distance": { "meters": 31, "text": "31 m" }, "duration": { "seconds": 11, "text": "11 giây", "hours": 0, "minutes": 0 }, "steps": [ { "action": { "text": "Đi thẳng", "type": "STRAIGHT" }, "instruction": "", "distance": { "meters": 31, "text": "31 m" }, "duration": { "seconds": 11, "text": "11 giây", "hours": 0, "minutes": 0 }, "start": { "lat": 10.798575503772271, "lng": 106.72314495616634 }, "end": { "lat": 10.798754299999999, "lng": 106.723124 } } ] }, { "description": "Đi theo Nguyễn Hữu Cảnh, Cầu Thủ Thiêm, Nguyễn Cơ Thạch, Mai Chí Thọ, ... và Võ Văn Kiệt đến Hồ Hảo Hớn tại Cầu Ông Lãnh", "distance": { "meters": 7314, "text": "7,3 km" }, "duration": { "seconds": 939, "text": "16 p", "hours": 0, "minutes": 16 }, "steps": [ { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại Sunwah - One-Bedroom Apartment", "distance": { "meters": 83, "text": "83 m" }, "duration": { "seconds": 40, "text": "40 giây", "hours": 0, "minutes": 0 }, "landmark": "Sunwah - One-Bedroom Apartment", "start": { "lat": 10.798856203772273, "lng": 106.72311205616634 }, "end": { "lat": 10.799035, "lng": 106.72309109999999 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải vào Cầu Vượt Nguyễn Hữu Cảnh", "distance": { "meters": 1118, "text": "1,1 km" }, "duration": { "seconds": 123, "text": "2 p", "hours": 0, "minutes": 2 }, "road": "Cầu Vượt Nguyễn Hữu Cảnh", "notes": [{ "type": "continue" }, { "type": "pass_by", "name": "Tiệm Trà Sữa INCHA", "position": "ở phía bên phải" }], "start": { "lat": 10.799057831695809, "lng": 106.7236671850363 }, "end": { "lat": 10.799033, "lng": 106.72384830000001 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Đi bên phải để vào Nguyễn Hữu Cảnh", "distance": { "meters": 498, "text": "500 m" }, "duration": { "seconds": 74, "text": "1 p", "hours": 0, "minutes": 1 }, "road": "Nguyễn Hữu Cảnh", "notes": [{ "type": "pass_by", "name": "Cà phê Milano", "position": "ở bên phải cách 350m" }], "start": { "lat": 10.793563569828423, "lng": 106.71813957159344 }, "end": { "lat": 10.7933836, "lng": 106.7181379 } }, { "action": { "text": "Rẽ trái", "type": "TURN", "direction": "LEFT" }, "instruction": "Chếch sang bên trái", "distance": { "meters": 18, "text": "18 m" }, "duration": { "seconds": 3, "text": "3 giây", "hours": 0, "minutes": 0 }, "start": { "lat": 10.789727054373236, "lng": 106.71676853664536 }, "end": { "lat": 10.7896463, "lng": 106.7166048 } }, { "action": { "text": "Vào vòng xuyến", "type": "ROUNDABOUT_ENTER_AND_EXIT" }, "instruction": "Tại vòng xuyến, đi theo lối ra thứ 2", "distance": { "meters": 930, "text": "950 m" }, "duration": { "seconds": 85, "text": "1 p", "hours": 0, "minutes": 1 }, "start": { "lat": 10.7896463, "lng": 106.7166048 }, "end": { "lat": 10.789504299999999, "lng": 106.7165266 } }, { "action": { "text": "Nhập làn", "type": "MERGE" }, "instruction": "Nhập vào Nguyễn Cơ Thạch", "distance": { "meters": 1016, "text": "1,0 km" }, "duration": { "seconds": 164, "text": "3 p", "hours": 0, "minutes": 3 }, "road": "Nguyễn Cơ Thạch", "notes": [{ "type": "pass_by", "name": "Căn Hộ Thủ Thiêm Zeit - Thủ Thiêm Zeit - Nguyễn Cơ Thạch - Phường An Khánh", "position": "ở phía bên phải" }], "start": { "lat": 10.7823085899426, "lng": 106.72025147615248 }, "end": { "lat": 10.78215, "lng": 106.72033809999999 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải vào Mai Chí Thọ", "distance": { "meters": 670, "text": "650 m" }, "duration": { "seconds": 86, "text": "1 p", "hours": 0, "minutes": 1 }, "road": "Mai Chí Thọ", "notes": [{ "type": "pass_by", "name": "Empire City View Luxury Apartment", "position": "ở bên phải cách 500m" }], "start": { "lat": 10.77370087757005, "lng": 106.72247101886383 }, "end": { "lat": 10.773539099999999, "lng": 106.72255129999999 } }, { "action": { "text": "Đi thẳng", "type": "STRAIGHT" }, "instruction": "", "distance": { "meters": 254, "text": "250 m" }, "duration": { "seconds": 53, "text": "53 giây", "hours": 0, "minutes": 0 }, "start": { "lat": 10.77154746446051, "lng": 106.71697543696484 }, "end": { "lat": 10.771501899999999, "lng": 106.7167982 } }, { "action": { "text": "Đường đổi tên", "type": "NAME_CHANGE" }, "instruction": "Tiếp tục vào Hầm Sông Sài Gòn", "distance": { "meters": 1780, "text": "1,8 km" }, "duration": { "seconds": 156, "text": "3 p", "hours": 0, "minutes": 3 }, "road": "Hầm Sông Sài Gòn", "notes": [{ "type": "continue" }, { "type": "pass_by", "name": "[The Tresor] Saigon Luxury AP 2 bedroom Pool Gym Center", "position": "ở bên phải cách 1,5 km" }], "start": { "lat": 10.770898221050821, "lng": 106.71487339380502 }, "end": { "lat": 10.770855599999999, "lng": 106.7146954 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Đi bên phải để đi tiếp Võ Văn Kiệt", "distance": { "meters": 117, "text": "120 m" }, "duration": { "seconds": 25, "text": "25 giây", "hours": 0, "minutes": 0 }, "road": "Võ Văn Kiệt", "notes": [{ "type": "pass_by", "name": "Dịch Vụ In Big", "position": "ở phía bên phải" }], "start": { "lat": 10.765433895449574, "lng": 106.70032614830353 }, "end": { "lat": 10.765336, "lng": 106.7001727 } }, { "action": { "text": "Rẽ trái", "type": "TURN", "direction": "LEFT" }, "instruction": "Chếch sang trái tại Pixel Hub", "distance": { "meters": 830, "text": "850 m" }, "duration": { "seconds": 130, "text": "2 p", "hours": 0, "minutes": 2 }, "landmark": "Pixel Hub", "notes": [{ "type": "pass_by", "name": "Jessie Apartment - Infinity pool - Masteri Millennium - Deluxe Apartment", "position": "ở phía bên phải" }], "start": { "lat": 10.765133900465708, "lng": 106.69946164434803 }, "end": { "lat": 10.765045299999999, "lng": 106.69930219999999 } } ] }, { "description": "Đi tiếp Hồ Hảo Hớn đến điểm đến của bạn tại Bến Thành", "distance": { "meters": 1545, "text": "1,5 km" }, "duration": { "seconds": 415, "text": "7 p", "hours": 0, "minutes": 7 }, "steps": [ { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại Brita", "distance": { "meters": 470, "text": "450 m" }, "duration": { "seconds": 110, "text": "2 p", "hours": 0, "minutes": 2 }, "landmark": "Brita", "notes": [{ "type": "pass_by", "name": "Dai Tung Manufacturing & Trading Co., Ltd.", "position": "ở phía bên trái" }], "start": { "lat": 10.759940885920296, "lng": 106.6941348969706 }, "end": { "lat": 10.759846999999999, "lng": 106.6939786 } }, { "action": { "text": "Đường đổi tên", "type": "NAME_CHANGE" }, "instruction": "Tại Ardent Heart Hostel, tiếp tục vào Đ. Cống Quỳnh", "distance": { "meters": 144, "text": "140 m" }, "duration": { "seconds": 37, "text": "37 giây", "hours": 0, "minutes": 0 }, "road": "Đ. Cống Quỳnh", "landmark": "Ardent Heart Hostel", "notes": [{ "type": "pass_by", "name": "Trà Sữa Gạo Rang - Chipa Chip MilkTea", "position": "ở phía bên phải" }], "start": { "lat": 10.762738721602107, "lng": 106.69111717178284 }, "end": { "lat": 10.762877399999999, "lng": 106.6910004 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại CÔNG TY TNHH XÂY DỰNG THƯƠNG MẠI TOÀN THIÊN PHÁT", "distance": { "meters": 49, "text": "49 m" }, "duration": { "seconds": 10, "text": "10 giây", "hours": 0, "minutes": 0 }, "landmark": "CÔNG TY TNHH XÂY DỰNG THƯƠNG MẠI TOÀN THIÊN PHÁT", "notes": [{ "type": "pass_by", "name": "Mama Masala Indian Cuisine HCMC", "position": "ở phía bên phải" }], "start": { "lat": 10.763791671099025, "lng": 106.69035215993041 }, "end": { "lat": 10.7639484, "lng": 106.6902621 } }, { "action": { "text": "Vào vòng xuyến", "type": "ROUNDABOUT_ENTER_AND_EXIT" }, "instruction": "Tại vòng xuyến, đi theo lối ra thứ 2", "distance": { "meters": 854, "text": "850 m" }, "duration": { "seconds": 184, "text": "3 p", "hours": 0, "minutes": 3 }, "notes": [{ "type": "pass_by" }, { "type": "pass_by", "name": "Family Homestay", "position": "ở phía bên phải" }], "start": { "lat": 10.76409518261952, "lng": 106.69047186267852 }, "end": { "lat": 10.7641563, "lng": 106.6906441 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại Chillout rooftop_Tropical style homestay in the center of District 1", "distance": { "meters": 28, "text": "28 m" }, "duration": { "seconds": 74, "text": "1 p", "hours": 0, "minutes": 1 }, "landmark": "Chillout rooftop_Tropical style homestay in the center of District 1", "notes": [{ "type": "annotation" }], "start": { "lat": 10.768093573026322, "lng": 106.68519729954859 }, "end": { "lat": 10.768186, "lng": 106.6850401 } } ] } ] } } ] } } ``` ## V. Các trường phản hồi [#v-các-trường-phản-hồi] | Field | Type | Mô tả | | ------------------------------------------- | ------- | ------------------------------------------------------------------------------------------- | | `direction_result` | object | Phản hồi chỉ đường cấp cao nhất, chứa điểm xuất phát, điểm đến và danh sách các tuyến đường | | `origin` | object | Thông tin điểm xuất phát (địa chỉ, tọa độ, múi giờ, place\_id) | | `origin.address` | object | Địa chỉ của điểm xuất phát | | `origin.address.full` | string | Địa chỉ đầy đủ của điểm xuất phát | | `origin.latitude` | number | Vĩ độ của điểm xuất phát | | `origin.longitude` | number | Kinh độ của điểm xuất phát | | `origin.timezone` | string | Múi giờ địa phương của điểm xuất phát (vd: "Asia/Ho\_Chi\_Minh") | | `origin.country_code` | string | Mã quốc gia hai ký tự của điểm xuất phát (vd: "VN") | | `origin.place_id` | string | Place ID của điểm xuất phát | | `destination` | object | Thông tin điểm đến (địa chỉ, tọa độ, múi giờ, place\_id) | | `destination.address` | object | Địa chỉ của điểm đến | | `destination.address.full` | string | Địa chỉ đầy đủ của điểm đến | | `destination.latitude` | number | Vĩ độ của điểm đến | | `destination.longitude` | number | Kinh độ của điểm đến | | `destination.timezone` | string | Múi giờ của điểm đến | | `destination.country_code` | string | Mã quốc gia của điểm đến | | `destination.place_id` | string | Place ID của điểm đến | | `routes` | array | Danh sách các tuyến đường, mỗi tuyến có khoảng cách, thời gian và chỉ đường từng bước | | `routes[]` | object | Một tuyến đường với thông tin chi tiết về lộ trình | | `routes[].name` | string | Tên tuyến đường mô tả lộ trình (vd: "Nguyễn Hữu Cảnh và Nguyễn Du") | | `routes[].distance_meters` | number | Tổng khoảng cách của tuyến tính bằng mét | | `routes[].distance_text` | string | Khoảng cách dạng văn bản thân thiện (vd: "6,7 km") | | `routes[].duration` | object | Đối tượng thời gian di chuyển: không giao thông, có giao thông và khoảng ước tính | | `routes[].duration.without_traffic` | object | Thời gian trong điều kiện lý tưởng | | `routes[].duration.without_traffic.seconds` | integer | Thời gian tính bằng giây | | `routes[].duration.without_traffic.text` | string | Thời gian dạng văn bản (vd: "21 p") | | `routes[].duration.without_traffic.hours` | integer | Số giờ | | `routes[].duration.without_traffic.minutes` | integer | Số phút | | `routes[].duration.with_traffic` | object | Thời gian với giao thông hiện tại | | `routes[].duration.with_traffic.seconds` | integer | Thời gian tính bằng giây | | `routes[].duration.with_traffic.text` | string | Thời gian dạng văn bản | | `routes[].duration.with_traffic.hours` | integer | Số giờ | | `routes[].duration.with_traffic.minutes` | integer | Số phút | | `routes[].duration.range` | object | Khoảng thời gian ước tính từ tối thiểu đến tối đa | | `routes[].duration.range.min_seconds` | integer | Thời gian tối thiểu tính bằng giây (khi không có giao thông) | | `routes[].duration.range.min_text` | string | Thời gian tối thiểu dạng văn bản (vd: "17 p") | | `routes[].duration.range.text` | string | Khoảng thời gian dạng văn bản (vd: "17 – 31 phút") | | `routes[].has_toll` | boolean | `true` nếu tuyến đường có trạm thu phí | | `routes[].toll_text` | string | Thông báo về phí đường bộ dạng văn bản (nếu có) | | `routes[].traffic_note` | string | Mô tả tình trạng giao thông bằng tiếng Việt (vd: "Giao thông thưa thớt") | | `routes[].steps` | object | Đối tượng chứa các bước chỉ đường được nhóm theo từng chặng | | `routes[].steps.groups` | array | Mảng các nhóm bước chỉ đường, mỗi nhóm là một chặng | | `groups[].description` | string | Mô tả tổng quan chặng đường (vd: "Đi theo Nguyễn Hữu Cảnh đến Nguyễn Du") | | `groups[].center` | object | Điểm trung tâm của nhóm | | `groups[].center.lat` | number | Vĩ độ trung tâm | | `groups[].center.lng` | number | Kinh độ trung tâm | | `groups[].distance` | object | Khoảng cách của nhóm | | `groups[].distance.meters` | number | Khoảng cách tính bằng mét | | `groups[].distance.text` | string | Khoảng cách dạng văn bản | | `groups[].duration` | object | Thời gian của nhóm | | `groups[].duration.seconds` | integer | Thời gian tính bằng giây | | `groups[].duration.text` | string | Thời gian dạng văn bản | | `groups[].duration.hours` | integer | Số giờ | | `groups[].duration.minutes` | integer | Số phút | | `groups[].steps` | array | Các bước chỉ đường trong nhóm | | `step.action` | object | Nhãn hành động trực quan (rẽ trái/phải, đi thẳng, nhập làn, vào vòng xuyến...) | | `step.action.text` | string | Văn bản hành động bằng tiếng Việt (vd: "Rẽ phải", "Đi thẳng") | | `step.action.type` | string | Loại hành động (vd: TURN, STRAIGHT, MERGE, NAME\_CHANGE) | | `step.action.direction` | string | Hướng rẽ (vd: LEFT, RIGHT) | | `step.action.modifier` | string | Mức độ điều chỉnh (vd: SLIGHT) | | `step.instruction` | string | Hướng dẫn lái xe đầy đủ bằng tiếng Việt | | `step.distance` | object | Khoảng cách của bước | | `step.distance.meters` | number | Khoảng cách tính bằng mét | | `step.distance.text` | string | Khoảng cách dạng văn bản | | `step.duration` | object | Thời gian của bước | | `step.duration.seconds` | integer | Thời gian tính bằng giây | | `step.duration.text` | string | Thời gian dạng văn bản | | `step.duration.hours` | integer | Số giờ | | `step.duration.minutes` | integer | Số phút | | `step.road` | string | Tên đường hoặc công trình (vd: "Cầu Văn Thánh 2") | | `step.landmark` | string | Mốc hoặc địa danh nổi bật gần điểm rẽ (nếu có) | | `step.notes` | array | Mảng ghi chú bổ sung: đi tiếp (continue), đi qua (pass\_by), chú thích (annotation) | | `step.notes[].type` | string | Loại ghi chú (vd: continue, pass\_by, annotation, destination\_hint) | | `step.notes[].name` | string | Tên địa danh trong ghi chú | | `step.notes[].position` | string | Vị trí tương đối (vd: "ở phía bên phải") | | `step.start` | object | Tọa độ bắt đầu | | `step.start.lat` | number | Vĩ độ bắt đầu | | `step.start.lng` | number | Kinh độ bắt đầu | | `step.end` | object | Tọa độ kết thúc | | `step.end.lat` | number | Vĩ độ kết thúc | | `step.end.lng` | number | Kinh độ kết thúc | | `routes[].steps.destination_note` | array | Mảng ghi chú khi gần đến nơi (vd: "Điểm đến sẽ ở bên trái") | # Search API (/vi/api-docs/search) Tìm kiếm địa điểm theo từ khóa và vị trí. Trả về khoảng 20 kết quả với đánh giá, giá cả, giờ mở cửa và nhiều thông tin khác. **So sánh với Autocomplete API:** * **Autocomplete:** 3-4 gợi ý nhẹ, phù hợp ô nhập liệu * **Search:** 20 kết quả chi tiết ## I. Endpoint [#i-endpoint] ```bash GET https://api.pisomap.tech/api/maps/search ``` ## II. Headers [#ii-headers] | Name | Value | Required | | ----------- | --------------- | -------- | | `x-api-key` | API key của bạn | Có | ## III. Tham số truy vấn [#iii-tham-số-truy-vấn] | Name | Type | Required | Default | Mô tả | | ------ | ------ | -------- | ----------- | ---------------------------------------------------------------------------------------------- | | `q` | string | Có | — | Tên hoặc địa chỉ địa điểm cần tìm | | `lat` | number | Không | `10.801671` | Vĩ độ hiện tại của bạn | | `lng` | number | Không | `106.61744` | Kinh độ hiện tại của bạn | | `type` | string | Không | `minimal` | Mức độ chi tiết. `minimal` trả về thông tin cơ bản. `full` bổ sung opening\_hours và features. | ## IV. Ví dụ [#iv-ví-dụ] Vị trí hiện tại: Nhà hát Thành phố Hồ Chí Minh (10.77682358167437, 106.70313930948461) Tìm kiếm: "starbucks" ```bash curl "https://api.pisomap.tech/api/maps/search?q=starbucks&lat=10.77682358167437&lng=106.70313930948461&type=minimal" \ -H "x-api-key: YOUR_API_KEY" ``` Phản hồi (20 kết quả): ```json { "local_result": [ { "data_id": "0x31752f3a964f9e8b:0x4c2082b77387c5da", "title": "Starbucks", "type": "COFFEE", "rating": 4.5, "reviews": 1195, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3930 1092", "website": "http://www.starbucks.vn/" }, "location": { "address": { "full": "Tòa nhà Léman Luxury Apartments, 117 Nguyễn Đình Chiểu, Xuân Hòa, Hồ Chí Minh 70000, Việt Nam", "street": "Tòa nhà Léman Luxury Apartments, 117 Nguyễn Đình Chiểu", "ward": "Xuân Hòa", "city": "Hồ Chí Minh 70000", "country": "Việt Nam" }, "latitude": 10.777900299999999, "longitude": 106.69003889999999, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 21:30" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f3a964f9e8b%3A0x4c2082b77387c5da", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f3a964f9e8b%3A0x4c2082b77387c5da", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" }, { "data_id": "0x31752f8b43af3a03:0xea266aac228b664c", "title": "Starbucks Union Square", "type": "COFFEE", "rating": 5, "reviews": 548, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3622 4324", "website": "" }, "location": { "address": { "full": "TTTM Union Square, 171 Đồng Khởi, Sài Gòn, Hồ Chí Minh 70000, Việt Nam", "street": "TTTM Union Square, 171 Đồng Khởi", "ward": "Sài Gòn", "city": "Hồ Chí Minh 70000", "country": "Việt Nam" }, "latitude": 10.7763495, "longitude": 106.7023643, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 21:30" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Union%20Square&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f8b43af3a03%3A0xea266aac228b664c", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f8b43af3a03%3A0xea266aac228b664c", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" }, { "data_id": "0x31752fba632eae55:0xf5c3a8bab8a2b405", "title": "Starbucks Vincom Dong Khoi", "type": "COFFEE", "rating": 4.7, "reviews": 1183, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3939 0058", "website": "http://www.starbucks.vn/" }, "location": { "address": { "full": "Tòa nhà Trung tâm Thương mại Vincom Center, Đồng Khởi/72 Lê Thánh Tôn, Sài Gòn, Hồ Chí Minh 700000, Việt Nam", "street": "Tòa nhà Trung tâm Thương mại Vincom Center, Đồng Khởi/72 Lê Thánh Tôn", "ward": "Sài Gòn", "city": "Hồ Chí Minh 700000", "country": "Việt Nam" }, "latitude": 10.778138199999999, "longitude": 106.7018186, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Vincom%20Dong%20Khoi&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752fba632eae55%3A0xf5c3a8bab8a2b405", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752fba632eae55%3A0xf5c3a8bab8a2b405", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" }, { "data_id": "0x31752f8e69fb1817:0x99b4de4074cd2e5a", "title": "Starbucks Nguyễn Thị Minh Khai", "type": "COFFEE", "rating": 4.7, "reviews": 1055, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3535 2364", "website": "https://starbucks.vn/" }, "location": { "address": { "full": "82 Nguyễn Thị Minh Khai, Xuân Hòa, Hồ Chí Minh 700000, Việt Nam", "street": "82 Nguyễn Thị Minh Khai", "ward": "Xuân Hòa", "city": "Hồ Chí Minh 700000", "country": "Việt Nam" }, "latitude": 10.7820814, "longitude": 106.6971085, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Nguy%E1%BB%85n%20Th%E1%BB%8B%20Minh%20Khai&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f8e69fb1817%3A0x99b4de4074cd2e5a", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f8e69fb1817%3A0x99b4de4074cd2e5a", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" }, { "data_id": "0x31752f8055ef81a7:0x805dd4f684706978", "title": "Starbucks Reserve Diamond Plaza Hồ Chí Minh", "type": "COFFEE", "rating": 4.7, "reviews": 498, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3824 6196", "website": "https://www.starbucks.vn/" }, "location": { "address": { "full": "Gian hàng XA12505, 34 Lê Duẩn, Sài Gòn, Hồ Chí Minh 700000, Việt Nam", "street": "Gian hàng XA12505, 34 Lê Duẩn", "ward": "Sài Gòn", "city": "Hồ Chí Minh 700000", "country": "Việt Nam" }, "latitude": 10.780987, "longitude": 106.6984947, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Reserve%20Diamond%20Plaza%20H%E1%BB%93%20Ch%C3%AD%20Minh&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f8055ef81a7%3A0x805dd4f684706978", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f8055ef81a7%3A0x805dd4f684706978", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" }, { "data_id": "0x31752f555aa34309:0xa8b101d1009e03b9", "title": "Starbucks Saigon Centre", "type": "COFFEE", "rating": 4.5, "reviews": 649, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3636 5244", "website": "http://www.starbucks.vn/" }, "location": { "address": { "full": "Saigon Centre, 67 Lê Lợi, Sài Gòn, Hồ Chí Minh 700000, Việt Nam", "street": "Saigon Centre, 67 Lê Lợi", "ward": "Sài Gòn", "city": "Hồ Chí Minh 700000", "country": "Việt Nam" }, "latitude": 10.773938, "longitude": 106.7010286, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Saigon%20Centre&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f555aa34309%3A0xa8b101d1009e03b9", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f555aa34309%3A0xa8b101d1009e03b9", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" }, { "data_id": "0x31752f3c28f5bde9:0x788dc799aaeca353", "title": "Starbucks Coffee New World", "type": "COFFEE", "rating": 4.4, "reviews": 6048, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3823 7952", "website": "http://www.starbucks.vn/" }, "location": { "address": { "full": "khách sạn New World, 76 Lê Lai, Bến Thành, Hồ Chí Minh 700000, Việt Nam", "street": "khách sạn New World, 76 Lê Lai", "ward": "Bến Thành", "city": "Hồ Chí Minh 700000", "country": "Việt Nam" }, "latitude": 10.7710435, "longitude": 106.6939455, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 0:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Coffee%20New%20World&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f3c28f5bde9%3A0x788dc799aaeca353", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f3c28f5bde9%3A0x788dc799aaeca353", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" }, { "data_id": "0x31752f25b511d1ed:0xe875d2b94d2f136f", "title": "Starbucks", "type": "COFFEE", "rating": 4.4, "reviews": 1234, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3929 1221", "website": "http://www.starbucks.vn/" }, "location": { "address": { "full": "241Bis Cách Mạng Tháng Tám, Bàn Cờ, Hồ Chí Minh 700000, Việt Nam", "street": "241Bis Cách Mạng Tháng Tám", "ward": "Bàn Cờ", "city": "Hồ Chí Minh 700000", "country": "Việt Nam" }, "latitude": 10.776406099999999, "longitude": 106.6837656, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 21:30" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f25b511d1ed%3A0xe875d2b94d2f136f", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f25b511d1ed%3A0xe875d2b94d2f136f", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" }, { "data_id": "0x31752f46c63d2867:0x8ce11d6317e10879", "title": "Starbucks Nguyễn Huệ", "type": "COFFEE", "rating": 4.3, "reviews": 1356, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3821 0105", "website": "http://www.starbucks.vn/" }, "location": { "address": { "full": "Tòa nhà Saigoi Garden, 99 Nguyễn Huệ, Sài Gòn, Hồ Chí Minh 700000, Việt Nam", "street": "Tòa nhà Saigoi Garden, 99 Nguyễn Huệ", "ward": "Sài Gòn", "city": "Hồ Chí Minh 700000", "country": "Việt Nam" }, "latitude": 10.7734074, "longitude": 106.7038845, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 23:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Nguy%E1%BB%85n%20Hu%E1%BB%87&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f46c63d2867%3A0x8ce11d6317e10879", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f46c63d2867%3A0x8ce11d6317e10879", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" }, { "data_id": "0x31752f0054cd0bef:0xf9f1ee8c18497162", "title": "Starbucks Coffee", "type": "COFFEE", "rating": 4.4, "reviews": 7, "pricing": { "min": 120, "max": 120 }, "contacts": { "phone": "", "website": "https://business.google.com/create?fp=18010438670301622626&hl=vi&authuser=0&gmbsrc=-vi-et-ip-z-gmb-s-z-l~mrc%7Cclaimbz%7Cu&ppsrc=GMBMI&utm_campaign=-vi-et-ip-z-gmb-s-z-l~mrc%7Cclaimbz%7Cu&utm_source=gmb_mrc81&utm_medium=et&getstarted" }, "location": { "address": { "full": "120 Pasteur, Sài Gòn, Hồ Chí Minh, Việt Nam", "street": "120 Pasteur", "ward": "Sài Gòn", "city": "Hồ Chí Minh", "country": "Việt Nam" }, "latitude": 10.7738395, "longitude": 106.701084, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Coffee&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f0054cd0bef%3A0xf9f1ee8c18497162", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f0054cd0bef%3A0xf9f1ee8c18497162", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" }, { "data_id": "0x31752f00454346b5:0x4c42126547597312", "title": "Starbucks Reserve Bitexco", "type": "COFFEE", "rating": 4.5, "reviews": 480, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3824 6054", "website": "https://starbucks.vn/" }, "location": { "address": { "full": "2 Đ. Hải Triều, Sài Gòn, Hồ Chí Minh 71016, Việt Nam", "street": "2 Đ. Hải Triều", "ward": "Sài Gòn", "city": "Hồ Chí Minh 71016", "country": "Việt Nam" }, "latitude": 10.771463299999999, "longitude": 106.7044973, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 0:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Reserve%20Bitexco&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f00454346b5%3A0x4c42126547597312", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f00454346b5%3A0x4c42126547597312", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" }, { "data_id": "0x31752f892ec8a91b:0xb11f87781e26c9cb", "title": "Starbucks The Waterfront Saigon​", "type": "COFFEE", "rating": 4.7, "reviews": 917, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3535 9856", "website": "" }, "location": { "address": { "full": "số 1-1A-2, Tôn Đức Thắng, Sài Gòn, Hồ Chí Minh 70000, Việt Nam", "street": "số 1-1A-2, Tôn Đức Thắng", "ward": "Sài Gòn", "city": "Hồ Chí Minh 70000", "country": "Việt Nam" }, "latitude": 10.7805921, "longitude": 106.7077509, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20The%20Waterfront%20Saigon%E2%80%8B&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f892ec8a91b%3A0xb11f87781e26c9cb", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f892ec8a91b%3A0xb11f87781e26c9cb", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" }, { "data_id": "0x31752f49d3ade7f5:0xaea225954cd45713", "title": "Starbucks mPlaza Sài Gòn", "type": "COFFEE", "rating": 4.3, "reviews": 1621, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3823 4990", "website": "http://www.starbucks.vn/" }, "location": { "address": { "full": "39 Lê Duẩn, Sài Gòn, Hồ Chí Minh 700900, Việt Nam", "street": "39 Lê Duẩn", "ward": "Sài Gòn", "city": "Hồ Chí Minh 700900", "country": "Việt Nam" }, "latitude": 10.781593899999999, "longitude": 106.7002792, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20mPlaza%20S%C3%A0i%20G%C3%B2n&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f49d3ade7f5%3A0xaea225954cd45713", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f49d3ade7f5%3A0xaea225954cd45713", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" }, { "data_id": "0x31752f0a2323cb43:0xe43cbaeb2de16988", "title": "Starbucks Waterbus Bach Dang", "type": "COFFEE", "rating": 4.6, "reviews": 623, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3622 6098", "website": "https://www.starbucks.vn/" }, "location": { "address": { "full": "10B Tôn Đức Thắng, Sài Gòn, Hồ Chí Minh 71006, Việt Nam", "street": "10B Tôn Đức Thắng", "ward": "Sài Gòn", "city": "Hồ Chí Minh 71006", "country": "Việt Nam" }, "latitude": 10.775133, "longitude": 106.7070959, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 0:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Waterbus%20Bach%20Dang&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f0a2323cb43%3A0xe43cbaeb2de16988", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f0a2323cb43%3A0xe43cbaeb2de16988", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" }, { "data_id": "0x31752fba6420bef7:0xdd10ac24591d67f9", "title": "Starbucks Me Linh Point", "type": "COFFEE", "rating": 4.2, "reviews": 356, "pricing": { "min": 1, "max": 100000 }, "contacts": { "phone": "028 3535 2692", "website": "https://www.starbucks.vn/" }, "location": { "address": { "full": "nhà Mê Linh Point, 2 Ngô Đức Kế, Sài Gòn, Hồ Chí Minh 700000, Việt Nam", "street": "nhà Mê Linh Point, 2 Ngô Đức Kế", "ward": "Sài Gòn", "city": "Hồ Chí Minh 700000", "country": "Việt Nam" }, "latitude": 10.7745, "longitude": 106.7058193, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Me%20Linh%20Point&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752fba6420bef7%3A0xdd10ac24591d67f9", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752fba6420bef7%3A0xdd10ac24591d67f9", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" }, { "data_id": "0x31752f6c2c18eb59:0x12b52c2cd53f24d2", "title": "Starbucks Saigon Royal", "type": "COFFEE", "rating": 4.7, "reviews": 877, "pricing": { "min": 1, "max": 100000 }, "contacts": { "phone": "028 3535 6122", "website": "http://starbucks.vn/" }, "location": { "address": { "full": "Tháp SaiGon Royal A, SaiGon Royal, Bến Vân Đồn/34-35 phường Xóm Chiếu, Xóm Chiếu, Hồ Chí Minh 700000, Việt Nam", "street": "Tháp SaiGon Royal A, SaiGon Royal, Bến Vân Đồn/34-35 phường Xóm Chiếu", "ward": "Xóm Chiếu", "city": "Hồ Chí Minh 700000", "country": "Việt Nam" }, "latitude": 10.7672042, "longitude": 106.7038333, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Saigon%20Royal&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f6c2c18eb59%3A0x12b52c2cd53f24d2", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f6c2c18eb59%3A0x12b52c2cd53f24d2", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" }, { "data_id": "0x31752fd5abbc268f:0x209a24f81b1461d4", "title": "Starbucks Waterbus Thủ Thiêm", "type": "COFFEE", "rating": 4.4, "reviews": 1073, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3535 0925", "website": "https://www.starbucks.vn/" }, "location": { "address": { "full": "Lô HMI, bến tàu, Thủ Thiêm, An Khánh, Hồ Chí Minh 71110, Việt Nam", "street": "Lô HMI, bến tàu, Thủ Thiêm", "ward": "An Khánh", "city": "Hồ Chí Minh 71110", "country": "Việt Nam" }, "latitude": 10.776872, "longitude": 106.7103264, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 23:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Waterbus%20Th%E1%BB%A7%20Thi%C3%AAm&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752fd5abbc268f%3A0x209a24f81b1461d4", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752fd5abbc268f%3A0x209a24f81b1461d4", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" }, { "data_id": "0x31752f003dec7897:0x3edf179a5226e027", "title": "Starbucks JW Marriott Saigon", "type": "COFFEE", "rating": 5, "reviews": 1, "pricing": { "min": 86, "max": 86 }, "contacts": { "phone": "", "website": "https://business.google.com/create?fp=4530365701728690215&hl=vi&authuser=0&gmbsrc=-vi-et-ip-z-gmb-s-z-l~mrc%7Cclaimbz%7Cu&ppsrc=GMBMI&utm_campaign=-vi-et-ip-z-gmb-s-z-l~mrc%7Cclaimbz%7Cu&utm_source=gmb_mrc81&utm_medium=et&getstarted" }, "location": { "address": { "full": "86 Hai Bà Trưng, Sài Gòn, Hồ Chí Minh, Việt Nam", "street": "86 Hai Bà Trưng", "ward": "Sài Gòn", "city": "Hồ Chí Minh", "country": "Việt Nam" }, "latitude": 10.781167499999999, "longitude": 106.70022159999999, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": false, "text": "" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20JW%20Marriott%20Saigon&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f003dec7897%3A0x3edf179a5226e027", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f003dec7897%3A0x3edf179a5226e027", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" }, { "data_id": "0x317528d5ee197131:0x1ffb3dea3491e41a", "title": "Starbucks Nguyễn Văn Trỗi", "type": "COFFEE", "rating": 4.3, "reviews": 1699, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3842 2171", "website": "http://www.starbucks.vn/" }, "location": { "address": { "full": "66 Đ. Nguyễn Văn Trỗi, Phú Nhuận, Hồ Chí Minh 070000, Việt Nam", "street": "66 Đ. Nguyễn Văn Trỗi", "ward": "Phú Nhuận", "city": "Hồ Chí Minh 070000", "country": "Việt Nam" }, "latitude": 10.794915, "longitude": 106.67706199999999, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Nguy%E1%BB%85n%20V%C4%83n%20Tr%E1%BB%97i&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x317528d5ee197131%3A0x1ffb3dea3491e41a", "link_google_maps": "https://www.google.com/maps/place/?cid=0x317528d5ee197131%3A0x1ffb3dea3491e41a", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" }, { "data_id": "0x317528ce4ee86ae3:0xc9a12ce65fee808c", "title": "Starbucks Phan Xích Long", "type": "COFFEE", "rating": 4.2, "reviews": 2372, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3517 6461", "website": "http://www.starbucks.vn/" }, "location": { "address": { "full": "125 - 127 Phan Xích Long, Cầu Kiệu, Hồ Chí Minh 70000, Việt Nam", "street": "125 - 127 Phan Xích Long", "ward": "Cầu Kiệu", "city": "Hồ Chí Minh 70000", "country": "Việt Nam" }, "latitude": 10.797436699999999, "longitude": 106.6899859, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Phan%20X%C3%ADch%20Long&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x317528ce4ee86ae3%3A0xc9a12ce65fee808c", "link_google_maps": "https://www.google.com/maps/place/?cid=0x317528ce4ee86ae3%3A0xc9a12ce65fee808c", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" } ] } ``` **Phản hồi full (type=full):** ```bash curl "https://api.pisomap.tech/api/maps/search?q=starbucks&lat=10.77682358167437&lng=106.70313930948461&type=full" \ -H "x-api-key: YOUR_API_KEY" ``` ```json { "local_result": [ { "data_id": "0x31752f8b43af3a03:0xea266aac228b664c", "title": "Starbucks Union Square", "type": "COFFEE", "rating": 5, "reviews": 548, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3622 4324", "website": "" }, "location": { "address": { "full": "TTTM Union Square, 171 Đồng Khởi, Sài Gòn, Hồ Chí Minh 70000, Việt Nam", "street": "TTTM Union Square, 171 Đồng Khởi", "ward": "Sài Gòn", "city": "Hồ Chí Minh 70000", "country": "Việt Nam" }, "latitude": 10.7763495, "longitude": 106.7023643, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 21:30" }, "opening_hours": [ { "day": "Thứ Hai", "hours": "07:00–21:30" }, { "day": "Thứ Ba", "hours": "07:00–21:30" }, { "day": "Thứ Tư", "hours": "07:00–21:30" }, { "day": "Thứ Năm", "hours": "07:00–21:30" }, { "day": "Thứ Sáu", "hours": "07:00–21:30" }, { "day": "Thứ Bảy", "hours": "07:00–21:30" }, { "day": "Chủ Nhật", "hours": "07:00–21:30" } ], "features": { "accessibility": [], "parking": [], "payments": [ "pay_mobile_nfc", "pay_debit_card", "pay_credit_card" ], "service_options": [ "has_takeout" ], "other": [ "has_onsite_services", "serves_dine_in", "serves_coffee_notable", "serves_dessert_notable", "serves_tea_notable", "serves_coffee", "quick_bite", "serves_dessert", "has_restroom", "feels_cozy", "feels_casual", "popular_with_tourists", "suitable_for_groups", "popular_with_students", "has_fireplace", "has_live_music", "suitable_for_watching_sports", "serves_beer", "has_private_dining_room", "serves_alcohol", "serves_cocktails", "serves_liquor", "serves_wine", "has_bar_onsite", "feels_contemporary", "feels_historic", "requires_cash_only" ] }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Union%20Square&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f8b43af3a03%3A0xea266aac228b664c", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f8b43af3a03%3A0xea266aac228b664c", "link_docs": "https://docs.pisomap.tech/vi/api-docs/search" } ] } ``` ## V. Các trường phản hồi [#v-các-trường-phản-hồi] | Field | Type | Mô tả | | ------------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `local_result` | array | Danh sách các địa điểm phù hợp | | `data_id` | string | ID nội bộ của địa điểm dùng cho Place Detail | | `title` | string | Tên địa điểm | | `type` | string | Danh mục rút gọn của địa điểm lấy từ Google Maps (vd: COFFEE, CAFE, RESTAURANT, HOTEL, SHOPPING\_MALL,...). Giá trị phụ thuộc vào Google Maps, không có danh sách cố định. | | `rating` | number | Đánh giá trung bình của địa điểm (1.0–5.0) | | `reviews` | integer | Tổng số lượt đánh giá của địa điểm | | `pricing.min` | number | Giá thấp nhất của địa điểm (VNĐ) | | `pricing.max` | number | Giá cao nhất của địa điểm (VNĐ) | | `contacts` | object | Số điện thoại và trang web của địa điểm | | `location.address` | object | Địa chỉ chi tiết: đường/phố, phường/xã, thành phố và quốc gia | | `location.latitude` | number | Vĩ độ của địa điểm | | `location.longitude` | number | Kinh độ của địa điểm | | `location.timezone` | string | Múi giờ của địa điểm (vd: Asia/Saigon) | | `location.country_code` | string | Mã quốc gia của địa điểm (vd: VN) | | `open_state.is_open_now` | boolean | Địa điểm có đang mở cửa hay không | | `open_state.text` | string | Trạng thái giờ hoạt động dạng chữ của địa điểm | | `link_search_value` | string | Liên kết đến Search API của địa điểm | | `link_place_detail` | string | Liên kết đến Place Detail API của địa điểm | | `link_google_maps` | string | Liên kết đến Google Maps của địa điểm | | `link_docs` | string | Liên kết đến tài liệu API của địa điểm | **Các trường bổ sung khi `type=full`:** | Field | Type | Mô tả | | -------------------------- | ------ | ---------------------------------------------------------------------------------- | | `opening_hours` | array | Giờ mở cửa hàng tuần của địa điểm | | `opening_hours[].day` | string | Ngày trong tuần (vd: Thứ Hai, Thứ Ba,...) | | `opening_hours[].hours` | string | Giờ hoạt động (vd: 07:00–21:30) | | `features` | object | Tiện nghi của địa điểm (accessibility, parking, payments, service\_options, other) | | `features.accessibility` | array | Các tùy chọn tiếp cận của địa điểm | | `features.parking` | array | Các tùy chọn đỗ xe của địa điểm | | `features.payments` | array | Phương thức thanh toán được chấp nhận của địa điểm | | `features.service_options` | array | Các tùy chọn dịch vụ của địa điểm (vd: takeout, delivery) | | `features.other` | array | Các thuộc tính khác của địa điểm (không gian, ẩm thực, loại khách) | # API Key (/en/api-key-guide) ## I. Getting Your API Key [#i-getting-your-api-key] * **Step 1:** After successfully logging into the system, go to the Dashboard and find the **"Your API Key"** section to copy it. * **Step 2:** Alternatively, you can directly access [pisomap.tech/dashboard/api-keys](https://www.pisomap.tech/dashboard/api-keys) to manage and copy your API Key. **Note (Regenerate Key):** If you need to change your key or suspect it has been exposed, click the **"Regenerate"** button. The system will revoke the old key and issue a completely new API Key. ## II. Quick Start Integration [#ii-quick-start-integration] To activate and use PISO Map, you must include your API Key in the `x-api-key` header of every HTTP request. **Example API call via Curl (Shell):** ```bash curl "https://api.pisomap.tech/api/maps/autocomplete?q=highland&lat=10.801671&lng=106.61744" \ -H "x-api-key: YOUR_API_KEY" ``` *(Note: Replace `YOUR_API_KEY` with the actual API Key string you copied in Step 1).* # Authentication (/en/auth-guide) ## I. Steps [#i-steps] * **Step 1: Access the registration page** On the PISO Map landing page, click the **Get started free** button or go directly to: `pisomap.tech/start`. * **Step 2: Authenticate** The system will redirect you to the authentication screen. Choose to sign in quickly with **Google** or **GitHub**. * **Step 3: Complete and enter Dashboard** After successful authentication, the system will automatically create your account and redirect you to the **Dashboard** to start using the service. # Overview (/en) ## ABOUT PISO MAP [#about-piso-map] PISO Map is an open-source map service platform developed by Huỳnh Bá Quốc. The project aims to provide easy-to-use, low-cost, and accessible map APIs for developers, students, researchers, and startups. Unlike many commercial map platforms focused on enterprise customers, PISO Map targets the software development community, enabling everyone to build map, address, and navigation applications without significant upfront investment. PISO Map is built using reverse engineering techniques, combining multiple map and address data sources to deliver fast, accurate, and convenient place search and navigation experiences. ## I. Available Services [#i-available-services] ### 1. Autocomplete API [#1-autocomplete-api] Real-time place and address suggestions as the user types. [View docs →](/api-docs/autocomplete) Ideal for: * Websites and apps with address search fields. * Account registration systems. * Delivery applications. * Ride-hailing applications. ### 2. Search API [#2-search-api] Search for places, addresses, and points of interest by keyword. [View docs →](/api-docs/search) Ideal for: * Map applications. * Place lookup websites. * Geographic data management systems. ### 3. Place Detail API [#3-place-detail-api] Get detailed information about a place including name, address, coordinates, and related data. [View docs →](/api-docs/place-detail) Ideal for: * Displaying place information. * Address data validation. * Building geographic databases. ### 4. Reverse Geocoding API [#4-reverse-geocoding-api] Convert GPS coordinates into a readable address. [View docs →](/api-docs/reverse-geocode) Ideal for: * User location positioning. * Vehicle tracking. * GPS-enabled applications. ### 5. Routing API [#5-routing-api] Calculate routes, distance, and travel time between points. [View docs →](/api-docs/routing) Ideal for: * Navigation applications. * Delivery management systems. * Distance calculation tools. ## II. Vision [#ii-vision] PISO Map aspires to become a community-driven open-source map project, helping every developer access modern map services at reasonable cost, with clear documentation and simple integration. The project is independently developed by Huỳnh Bá Quốc and continuously improved based on feedback from the user community. # Thanh toán & nâng cấp (/en/payment-guide) Nhằm đảm bảo quá trình sử dụng các dịch vụ API của **PISO Map** không bị gián đoạn, Quý khách hàng vui lòng tham khảo hướng dẫn chi tiết về quy trình thanh toán và nâng cấp gói dịch vụ dưới đây. ## I. Quy trình nâng cấp gói dịch vụ qua mã QR (Tự động) [#i-quy-trình-nâng-cấp-gói-dịch-vụ-qua-mã-qr-tự-động] Hệ thống PISO Map hỗ trợ nâng cấp gói dịch vụ trực tuyến và xử lý tự động ngay sau khi Quý khách hoàn tất quét mã QR theo các bước sau: * **Bước 1: Truy cập tính năng Nâng cấp:** Tại giao diện Dashboard, Quý khách vui lòng nhấn vào nút **Nâng cấp** nằm ở góc trên cùng bên phải màn hình. * **Bước 2: Lựa chọn Gói dịch vụ (Plan):** Hệ thống sẽ hiển thị các gói dịch vụ hiện hành (bao gồm: *Sandbox Free, Go, Plus*...). Quý khách lựa chọn gói dịch vụ phù hợp với nhu cầu và nhấn **Xác nhận (Confirm)**. * **Bước 3: Quét mã QR thanh toán:** Màn hình Dashboard sẽ hiển thị một mã QR thanh toán cùng với đồng hồ đếm ngược. Quý khách vui lòng mở ứng dụng ngân hàng hoặc ví điện tử để quét mã và hoàn tất giao dịch trong vòng **05 phút**. Sau thời gian này, mã QR sẽ tự động hết hiệu lực. * **Bước 4: Xác minh và Kiểm tra trạng thái:** Sau khi giao dịch thành công, hệ thống PISO Map sẽ tự động cập nhật gói dịch vụ mới cho tài khoản. Quý khách có thể chủ động kiểm tra lại thông tin cấu hình tại mục **Hồ sơ cá nhân (Profile)** hoặc kiểm tra thông tin giao dịch tại mục **Hóa đơn**. ## II. Lưu ý quan trọng và điều khoản sử dụng [#ii-lưu-ý-quan-trọng-và-điều-khoản-sử-dụng] * **Điều khoản dịch vụ:** Quý khách vui lòng đọc kỹ các điều khoản sử dụng, chính sách và giới hạn băng thông của từng gói dịch vụ trước khi tiến hành quét mã thanh toán. Việc hoàn tất giao dịch đồng nghĩa với việc Quý khách đã đồng ý với các quy định của PISO Map. * **Hỗ trợ kỹ thuật & Xử lý sự cố:** Trong trường hợp gặp bất kỳ sự cố nào liên quan đến quá trình quét mã, lỗi không tự động cập nhật gói hoặc cần hỗ trợ về hóa đơn chứng từ, Quý khách vui lòng liên hệ trực tiếp bộ phận CSKH qua email: **[quochb3011@gmail.com](mailto:quochb3011@gmail.com)** để được hỗ trợ xử lý kịp thời. # Điều khoản Dịch vụ và Chính sách Quyền riêng tư (/en/terms) # I. Điều khoản Dịch vụ [#i-điều-khoản-dịch-vụ] ## Tổng quan [#tổng-quan] Website này được vận hành bởi Piso Map (“chúng tôi”).Trong toàn bộ tài liệu, các từ “chúng tôi”, “của chúng tôi” và “dịch vụ” được dùng để chỉ Piso Map. Piso Map cung cấp website này, bao gồm tất cả thông tin, công cụ và dịch vụ có sẵn tại đây cho bạn (“Người dùng”), với điều kiện bạn chấp nhận toàn bộ điều khoản, điều kiện, chính sách và thông báo được nêu trong tài liệu này. Khi bạn truy cập website của chúng tôi hoặc sử dụng dịch vụ API, bạn đang tham gia vào “Dịch vụ” và đồng ý bị ràng buộc bởi các Điều khoản dịch vụ này, bao gồm các điều khoản và chính sách bổ sung được tham chiếu hoặc được cung cấp qua liên kết trên website. Bạn vui lòng đọc kỹ các Điều khoản dịch vụ này trước khi truy cập hoặc sử dụng website của chúng tôi. Khi bạn truy cập hoặc sử dụng bất kỳ phần nào của website, bạn được xem là đã đồng ý với các Điều khoản dịch vụ này. Nếu bạn không đồng ý với toàn bộ các điều khoản và điều kiện, bạn không được phép truy cập hoặc sử dụng dịch vụ. Bất kỳ tính năng hoặc công cụ mới nào được thêm vào website cũng sẽ tự động thuộc phạm vi áp dụng của các Điều khoản dịch vụ này. Bạn có thể xem phiên bản mới nhất của Điều khoản dịch vụ bất cứ lúc nào trên trang này. Chúng tôi có quyền cập nhật, thay đổi hoặc thay thế bất kỳ nội dung nào của Điều khoản dịch vụ bằng cách đăng tải phiên bản mới lên website. Bạn có trách nhiệm thường xuyên kiểm tra trang này để cập nhật các thay đổi. Việc bạn tiếp tục sử dụng website sau khi các thay đổi được đăng tải đồng nghĩa với việc bạn đã đồng ý với các nội dung thay đổi đó. ## Điều 1 – Điều khoản sử dụng website [#điều-1--điều-khoản-sử-dụng-website] Khi bạn đồng ý với các Điều khoản dịch vụ này, bạn xác nhận rằng bạn đã đủ độ tuổi theo quy định pháp luật tại quốc gia hoặc khu vực nơi bạn cư trú; hoặc nếu chưa đủ tuổi nhưng đã có sự đồng ý của người giám hộ hợp pháp thì bạn được phép sử dụng website này dưới sự cho phép đó. Bạn không được sử dụng dịch vụ hoặc sản phẩm của chúng tôi vào bất kỳ mục đích bất hợp pháp hoặc không được phép nào. Trong quá trình sử dụng dịch vụ, bạn cũng phải tuân thủ đầy đủ các quy định pháp luật hiện hành tại nơi bạn sinh sống, bao gồm nhưng không giới hạn ở các quy định về bản quyền. Bạn không được phép truyền tải hoặc phát tán bất kỳ loại mã độc nào, bao gồm virus, worm hoặc bất kỳ đoạn mã nào có tính chất gây hại, phá hoại hoặc ảnh hưởng đến hệ thống. Bất kỳ hành vi vi phạm nào đối với các điều khoản này đều có thể dẫn đến việc chúng tôi chấm dứt hoặc tạm ngừng quyền truy cập và sử dụng dịch vụ của bạn ngay lập tức, mà không cần thông báo trước. ## Điều 2 – Điều khoản chung [#điều-2--điều-khoản-chung] Chúng tôi có quyền từ chối cung cấp dịch vụ cho bất kỳ cá nhân hoặc tổ chức nào, vì bất kỳ lý do gì, vào bất kỳ thời điểm nào. Bạn hiểu rằng nội dung của bạn (không bao gồm thông tin thanh toán như thẻ tín dụng) có thể được truyền đi dưới dạng không mã hóa và có thể bao gồm: (a) việc truyền tải qua nhiều mạng khác nhau; và (b) việc điều chỉnh để phù hợp với yêu cầu kỹ thuật của hệ thống mạng hoặc thiết bị kết nối. Tuy nhiên, thông tin thẻ thanh toán luôn được mã hóa trong quá trình truyền tải qua mạng. Bạn đồng ý không được sao chép, nhân bản, bán lại, tái phân phối hoặc khai thác bất kỳ phần nào của Dịch vụ, việc sử dụng Dịch vụ, hoặc quyền truy cập Dịch vụ, cũng như bất kỳ thông tin liên hệ nào được cung cấp thông qua website, nếu không có sự chấp thuận bằng văn bản rõ ràng từ chúng tôi. Các tiêu đề trong Điều khoản này chỉ được sử dụng nhằm mục đích thuận tiện cho việc tra cứu và không làm hạn chế hoặc ảnh hưởng đến nội dung pháp lý của các điều khoản. ## Điều 3 – Tính chính xác, đầy đủ và tính cập nhật của thông tin [#điều-3--tính-chính-xác-đầy-đủ-và-tính-cập-nhật-của-thông-tin] Chúng tôi không chịu trách nhiệm trong trường hợp các thông tin được cung cấp trên website không chính xác, không đầy đủ hoặc không được cập nhật kịp thời. Toàn bộ nội dung trên website chỉ được cung cấp nhằm mục đích tham khảo chung. Vì vậy, bạn không nên dựa hoàn toàn vào các thông tin này để đưa ra quyết định mà không tham khảo thêm các nguồn thông tin chính thống, chính xác hơn, đầy đủ hơn hoặc cập nhật hơn. Mọi quyết định dựa trên thông tin từ website đều do bạn tự chịu trách nhiệm. Website có thể chứa một số thông tin mang tính lịch sử. Những thông tin này theo bản chất có thể không còn phù hợp tại thời điểm hiện tại và chỉ được cung cấp để tham khảo. Chúng tôi có quyền chỉnh sửa nội dung website vào bất kỳ thời điểm nào, tuy nhiên không có nghĩa vụ phải cập nhật mọi thông tin trên website. Bạn đồng ý rằng bạn có trách nhiệm tự theo dõi các thay đổi trên website của chúng tôi. ## Điều 4 – Thay đổi dịch vụ và giá cả [#điều-4--thay-đổi-dịch-vụ-và-giá-cả] Giá của các sản phẩm hoặc dịch vụ do chúng tôi cung cấp có thể được thay đổi bất kỳ lúc nào mà không cần thông báo trước. Chúng tôi có quyền, vào bất kỳ thời điểm nào, được sửa đổi, tạm ngừng hoặc chấm dứt toàn bộ hoặc một phần Dịch vụ (bao gồm cả nội dung hoặc tính năng của Dịch vụ) mà không cần thông báo trước. Chúng tôi không chịu trách nhiệm đối với bạn hoặc bất kỳ bên thứ ba nào về bất kỳ thay đổi nào liên quan đến Dịch vụ, bao gồm nhưng không giới hạn ở việc thay đổi giá, tạm ngừng cung cấp hoặc chấm dứt Dịch vụ. ## Điều 5 – Sản phẩm hoặc dịch vụ (nếu áp dụng) [#điều-5--sản-phẩm-hoặc-dịch-vụ-nếu-áp-dụng] Một số sản phẩm hoặc dịch vụ có thể chỉ được cung cấp trực tuyến thông qua website. Các sản phẩm hoặc dịch vụ này có thể bị giới hạn về số lượng hoặc phạm vi cung cấp. Chúng tôi có quyền giới hạn hoặc từ chối cung cấp sản phẩm và/hoặc dịch vụ cho bất kỳ cá nhân, khu vực hoặc quốc gia nào, tùy từng trường hợp cụ thể. Việc áp dụng các giới hạn này có thể được thực hiện mà không cần thông báo trước. Chúng tôi có quyền giới hạn số lượng sản phẩm hoặc dịch vụ được cung cấp cho mỗi người dùng hoặc mỗi đơn hàng. Toàn bộ mô tả về sản phẩm, dịch vụ và giá cả có thể được thay đổi bất kỳ lúc nào mà không cần thông báo trước, tùy theo quyết định của chúng tôi. Chúng tôi có quyền ngừng cung cấp bất kỳ sản phẩm hoặc dịch vụ nào vào bất kỳ thời điểm nào. Mọi đề nghị cung cấp sản phẩm hoặc dịch vụ trên website sẽ không có hiệu lực tại các khu vực pháp luật không cho phép. Chúng tôi không cam kết hoặc bảo đảm rằng chất lượng của bất kỳ sản phẩm, dịch vụ, thông tin hoặc tài liệu nào mà bạn mua hoặc nhận được từ chúng tôi sẽ đáp ứng đúng kỳ vọng của bạn, hoặc rằng mọi lỗi trong Dịch vụ sẽ luôn được khắc phục. ## Điều 6 – Tính chính xác của thông tin thanh toán và tài khoản [#điều-6--tính-chính-xác-của-thông-tin-thanh-toán-và-tài-khoản] Chúng tôi có quyền từ chối bất kỳ đơn đặt hàng nào do bạn thực hiện tại website của chúng tôi. Chúng tôi cũng có quyền, theo quyết định riêng của mình, giới hạn hoặc hủy bỏ số lượng mua theo từng cá nhân hoặc từng đơn hàng. Các giới hạn này có thể áp dụng đối với các đơn hàng sử dụng cùng một tài khoản khách hàng, cùng một thẻ thanh toán, và/hoặc cùng một địa chỉ thanh toán hoặc địa chỉ nhận hàng. Trong trường hợp chúng tôi thay đổi hoặc hủy đơn hàng, chúng tôi có thể cố gắng thông báo cho bạn thông qua email, địa chỉ thanh toán hoặc số điện thoại mà bạn đã cung cấp khi đặt hàng. Chúng tôi có quyền từ chối hoặc hạn chế các đơn hàng mà theo đánh giá của chúng tôi có dấu hiệu được thực hiện bởi đại lý, nhà phân phối hoặc bên trung gian mua đi bán lại dịch vụ mà không được sự cho phép. Bạn đồng ý cung cấp đầy đủ, chính xác và luôn cập nhật thông tin tài khoản cũng như thông tin thanh toán khi sử dụng website của chúng tôi. Bạn có trách nhiệm cập nhật kịp thời các thông tin như email và các thông tin liên quan khác để đảm bảo chúng tôi có thể xử lý giao dịch và liên hệ với bạn khi cần thiết. ## Điều 7 – Công cụ tùy chọn [#điều-7--công-cụ-tùy-chọn] Chúng tôi có thể cung cấp cho bạn quyền truy cập vào các công cụ hoặc dịch vụ của bên thứ ba, trong đó chúng tôi không kiểm soát, không giám sát và cũng không can thiệp vào hoạt động của các công cụ này. Bạn hiểu và đồng ý rằng các công cụ này được cung cấp theo nguyên tắc “nguyên trạng” và “tùy theo khả năng cung cấp”, không kèm theo bất kỳ cam kết, bảo đảm hay điều kiện nào, và cũng không được xem là sự xác nhận hay bảo chứng từ chúng tôi. Chúng tôi không chịu trách nhiệm đối với bất kỳ thiệt hại hoặc vấn đề nào phát sinh từ việc bạn sử dụng các công cụ của bên thứ ba này. Việc bạn sử dụng các công cụ tùy chọn này hoàn toàn do bạn tự quyết định và tự chịu rủi ro. Bạn có trách nhiệm tìm hiểu và đồng ý với các điều khoản sử dụng của nhà cung cấp bên thứ ba liên quan trước khi sử dụng các công cụ đó. Chúng tôi cũng có thể trong tương lai cung cấp thêm các dịch vụ, tính năng hoặc công cụ mới thông qua website. Các tính năng và dịch vụ mới này cũng sẽ chịu sự điều chỉnh của toàn bộ Điều khoản dịch vụ này. ## Điều 8 – Liên kết từ bên thứ ba [#điều-8--liên-kết-từ-bên-thứ-ba] Một số nội dung, sản phẩm hoặc dịch vụ được cung cấp thông qua Dịch vụ của chúng tôi có thể bao gồm hoặc liên quan đến tài liệu từ bên thứ ba. Các liên kết của bên thứ ba trên website có thể dẫn bạn đến các website không thuộc quyền sở hữu hoặc quản lý của chúng tôi. Chúng tôi không có trách nhiệm kiểm tra, đánh giá hoặc đảm bảo tính chính xác, đầy đủ của nội dung tại các website đó. Chúng tôi không bảo đảm và cũng không chịu trách nhiệm pháp lý đối với bất kỳ tài liệu, website, sản phẩm hoặc dịch vụ nào của bên thứ ba, bao gồm cả việc sử dụng hoặc truy cập các nội dung đó. Chúng tôi cũng không chịu trách nhiệm đối với bất kỳ thiệt hại hoặc tổn thất nào phát sinh từ việc bạn mua, sử dụng hoặc giao dịch liên quan đến hàng hóa, dịch vụ, tài nguyên hoặc nội dung từ các website bên thứ ba. Bạn cần tự tìm hiểu kỹ các chính sách, điều khoản và quy định của bên thứ ba trước khi thực hiện bất kỳ giao dịch nào. Mọi khiếu nại, thắc mắc hoặc tranh chấp liên quan đến sản phẩm hoặc dịch vụ của bên thứ ba cần được gửi trực tiếp đến bên cung cấp dịch vụ đó, không phải chúng tôi. ## Điều 9 – Chính sách hoàn tiền [#điều-9--chính-sách-hoàn-tiền] Chúng tôi hỗ trợ hoàn tiền toàn bộ trong vòng 14 ngày kể từ ngày bạn đăng ký gói dịch vụ, với điều kiện bạn chưa sử dụng quá 50% số lượt truy vấn được cấp trong gói đó. ## Điều 10 – Thông tin cá nhân [#điều-10--thông-tin-cá-nhân] Việc bạn cung cấp thông tin cá nhân thông qua website được điều chỉnh bởi Chính sách quyền riêng tư của chúng tôi. Bạn có thể xem Chính sách quyền riêng tư được đặt kèm ngay dưới tài liệu này hoặc tại trang Chính sách quyền riêng tư trên website của chúng tôi. ## Điều 11 – Sai sót, nhầm lẫn và thiếu sót thông tin [#điều-11--sai-sót-nhầm-lẫn-và-thiếu-sót-thông-tin] Đôi khi, trên website hoặc trong Dịch vụ có thể xuất hiện các lỗi đánh máy, sai sót, không chính xác hoặc thiếu thông tin. Các lỗi này có thể liên quan đến mô tả sản phẩm, giá cả, chương trình khuyến mãi, ưu đãi, phí gói dịch vụ, thời gian xử lý API hoặc tình trạng khả dụng của dịch vụ. Chúng tôi có quyền chỉnh sửa, cập nhật hoặc khắc phục các sai sót, không chính xác hoặc thiếu sót đó, đồng thời có quyền thay đổi, cập nhật thông tin hoặc hủy đơn hàng/gói dịch vụ nếu phát hiện bất kỳ thông tin nào không chính xác, vào bất kỳ thời điểm nào mà không cần thông báo trước (kể cả sau khi bạn đã đăng ký hoặc thanh toán gói dịch vụ). Chúng tôi không có nghĩa vụ phải cập nhật, sửa đổi hoặc làm rõ thông tin trong Dịch vụ hoặc trên bất kỳ website liên quan nào, bao gồm nhưng không giới hạn ở thông tin về giá cả, trừ trường hợp pháp luật có quy định khác. Mọi thông tin về ngày cập nhật hoặc làm mới hiển thị trên website không được hiểu là toàn bộ nội dung trong Dịch vụ hoặc website đã được cập nhật hoặc sửa đổi đầy đủ. ## Điều 12 – Các hành vi bị nghiêm cấm [#điều-12--các-hành-vi-bị-nghiêm-cấm] Ngoài các quy định khác được nêu trong Điều khoản dịch vụ này, bạn không được sử dụng website hoặc nội dung của website vào bất kỳ mục đích nào sau đây: (a) Thực hiện các hành vi trái pháp luật; (b) Lôi kéo, khuyến khích hoặc hỗ trợ người khác thực hiện hành vi vi phạm pháp luật; (c) Vi phạm các quy định, quy tắc, luật pháp hoặc quy định của cơ quan nhà nước có thẩm quyền ở bất kỳ quốc gia, khu vực hoặc địa phương nào; (d) Xâm phạm quyền sở hữu trí tuệ của chúng tôi hoặc của bất kỳ bên thứ ba nào; (e) Quấy rối, lạm dụng, xúc phạm, gây tổn hại, phỉ báng, vu khống, đe dọa hoặc phân biệt đối xử dựa trên giới tính, xu hướng tính dục, tôn giáo, dân tộc, chủng tộc, độ tuổi, quốc tịch hoặc tình trạng khuyết tật; (f) Cung cấp, đăng tải hoặc gửi thông tin sai lệch hoặc gây hiểu nhầm;(g) Tải lên, truyền tải hoặc phát tán virus, mã độc hoặc bất kỳ loại mã độc hại nào có thể ảnh hưởng đến hoạt động hoặc chức năng của Dịch vụ, website liên quan, các website khác hoặc Internet; (h) Can thiệp, phá vỡ hoặc tìm cách vượt qua các biện pháp bảo mật của Dịch vụ hoặc bất kỳ website liên quan nào khác. Chúng tôi có quyền chấm dứt hoặc tạm ngừng quyền truy cập và sử dụng Dịch vụ của bạn nếu bạn vi phạm bất kỳ điều khoản nào trong mục này. ## Điều 13 – Miễn trừ bảo đảm và giới hạn trách nhiệm [#điều-13--miễn-trừ-bảo-đảm-và-giới-hạn-trách-nhiệm] Bạn hiểu và đồng ý rằng việc sử dụng Dịch vụ hoàn toàn do bạn tự quyết định và tự chịu rủi ro. Trong phạm vi tối đa được pháp luật cho phép, chúng tôi không chịu bất kỳ trách nhiệm nào đối với bất kỳ gói dịch vụ nào mà bạn đã đăng ký hoặc sử dụng, cũng như không chịu trách nhiệm đối với bất kỳ thiệt hại, tổn thất hoặc mất mát nào phát sinh từ việc sử dụng hoặc không thể sử dụng Dịch vụ. Dịch vụ được cung cấp theo nguyên tắc “nguyên trạng” và “tùy theo khả năng cung cấp”, không kèm theo bất kỳ hình thức bảo đảm nào, dù là rõ ràng hay ngụ ý. Chúng tôi không cam kết rằng Dịch vụ sẽ luôn hoạt động liên tục, không bị gián đoạn, không có lỗi, hoặc luôn cung cấp kết quả chính xác và đáng tin cậy. Trong mọi trường hợp, chúng tôi không chịu trách nhiệm đối với bất kỳ loại thiệt hại nào, bao gồm nhưng không giới hạn ở mất dữ liệu, mất doanh thu, mất lợi nhuận, chi phí phát sinh hoặc bất kỳ thiệt hại trực tiếp, gián tiếp, ngẫu nhiên, đặc biệt hoặc hệ quả nào khác phát sinh từ việc sử dụng hoặc không thể sử dụng Dịch vụ, kể cả khi chúng tôi đã được thông báo trước về khả năng xảy ra các thiệt hại đó. ## Điều 14 – Bồi thường và miễn trừ trách nhiệm [#điều-14--bồi-thường-và-miễn-trừ-trách-nhiệm] Bạn đồng ý bồi thường, bảo vệ và giữ cho chúng tôi, bao gồm Piso Map cùng các bên liên kết, đối tác, nhân sự, đại diện, nhà thầu, nhà cung cấp dịch vụ và nhân viên của chúng tôi, không phải chịu bất kỳ khiếu nại, yêu cầu, tranh chấp hoặc trách nhiệm nào từ bên thứ ba phát sinh từ hoặc liên quan đến việc bạn vi phạm bất kỳ điều khoản nào trong Điều khoản dịch vụ này hoặc các tài liệu được dẫn chiếu kèm theo, việc bạn vi phạm bất kỳ quy định pháp luật hiện hành nào, hoặc việc bạn xâm phạm quyền của bất kỳ bên thứ ba nào, bao gồm cả các chi phí hợp lý cho luật sư và chi phí pháp lý liên quan (nếu có). ## Điều 15 – Tính tách biệt của điều khoản [#điều-15--tính-tách-biệt-của-điều-khoản] Trong trường hợp bất kỳ điều khoản nào trong Điều khoản dịch vụ này bị xác định là trái pháp luật, vô hiệu hoặc không thể thi hành theo quy định pháp luật hiện hành, thì điều khoản đó sẽ được áp dụng ở mức tối đa được pháp luật cho phép. Phần không thể thi hành sẽ được xem là tách riêng khỏi các Điều khoản dịch vụ này, và việc xác định tính vô hiệu đó sẽ không ảnh hưởng đến hiệu lực và khả năng thi hành của các điều khoản còn lại trong Điều khoản dịch vụ. ## Điều 16 – Chấm dứt dịch vụ [#điều-16--chấm-dứt-dịch-vụ] Các nghĩa vụ và trách nhiệm của các bên phát sinh trước ngày chấm dứt vẫn sẽ tiếp tục có hiệu lực và được áp dụng cho mọi mục đích sau khi thỏa thuận này chấm dứt. Các Điều khoản dịch vụ này có hiệu lực cho đến khi bị chấm dứt bởi bạn hoặc bởi chúng tôi. Bạn có thể chấm dứt việc sử dụng Điều khoản dịch vụ này bất kỳ lúc nào bằng cách thông báo rằng bạn không còn muốn sử dụng Dịch vụ của chúng tôi, hoặc khi bạn ngừng truy cập và sử dụng website. Trong trường hợp chúng tôi, theo toàn quyền quyết định của mình, xác định rằng bạn đã vi phạm hoặc có dấu hiệu vi phạm bất kỳ điều khoản nào trong Điều khoản dịch vụ này, chúng tôi có quyền chấm dứt thỏa thuận này vào bất kỳ thời điểm nào mà không cần thông báo trước. Khi đó, bạn vẫn phải chịu trách nhiệm đối với toàn bộ các khoản nghĩa vụ phát sinh đến thời điểm chấm dứt, đồng thời chúng tôi có quyền từ chối hoặc hạn chế quyền truy cập của bạn vào Dịch vụ (toàn bộ hoặc một phần). ## Điều 17 – Toàn bộ thỏa thuận [#điều-17--toàn-bộ-thỏa-thuận] Việc chúng tôi không thực hiện hoặc không yêu cầu thực thi bất kỳ quyền hoặc điều khoản nào trong Điều khoản dịch vụ này không được xem là sự từ bỏ quyền hoặc điều khoản đó. Các Điều khoản dịch vụ này cùng với mọi chính sách hoặc quy định vận hành được chúng tôi đăng tải trên website hoặc liên quan đến Dịch vụ cấu thành toàn bộ thỏa thuận giữa bạn và chúng tôi, và điều chỉnh toàn bộ việc bạn sử dụng Dịch vụ, thay thế cho mọi thỏa thuận, trao đổi hoặc đề xuất trước đó hoặc đồng thời, dù bằng miệng hay bằng văn bản, giữa bạn và chúng tôi, bao gồm nhưng không giới hạn các phiên bản trước của Điều khoản dịch vụ. Mọi nội dung không rõ ràng trong việc giải thích Điều khoản dịch vụ này sẽ không được hiểu theo hướng bất lợi cho bên soạn thảo. ## Điều 18 – Luật áp dụng [#điều-18--luật-áp-dụng] Các Điều khoản dịch vụ này và mọi thỏa thuận liên quan giữa bạn và chúng tôi trong quá trình cung cấp Dịch vụ được điều chỉnh và giải thích theo pháp luật của nước Cộng hòa Xã hội Chủ nghĩa Việt Nam. ## Điều 19 – Thay đổi Điều khoản dịch vụ [#điều-19--thay-đổi-điều-khoản-dịch-vụ] Bạn có thể xem phiên bản mới nhất của Điều khoản dịch vụ này bất kỳ lúc nào trên trang này. Chúng tôi có quyền, theo toàn quyền quyết định của mình, được cập nhật, sửa đổi hoặc thay thế bất kỳ nội dung nào trong Điều khoản dịch vụ bằng cách đăng tải phiên bản mới trên website. Bạn có trách nhiệm thường xuyên kiểm tra website để cập nhật các thay đổi. Việc bạn tiếp tục truy cập hoặc sử dụng website hoặc Dịch vụ sau khi các thay đổi được đăng tải đồng nghĩa với việc bạn đã chấp nhận các nội dung đã được sửa đổi đó. ## Điều 20 – Thông tin liên hệ [#điều-20--thông-tin-liên-hệ] Mọi câu hỏi liên quan đến Điều khoản dịch vụ vui lòng gửi về email: [quochbcontact@gmail.com](mailto:quochbcontact@gmail.com). ## Điều 21 – Tài liệu và hoạt động marketing [#điều-21--tài-liệu-và-hoạt-động-marketing] Chúng tôi có quyền sử dụng tên công ty, logo và thông tin thương hiệu của bạn trong các case study, tài liệu marketing hoặc các nội dung giới thiệu khác, trừ khi bạn có yêu cầu không cho phép bằng văn bản. Ngược lại, bạn cũng được quyền sử dụng tên, logo và thương hiệu của chúng tôi trong các case study, tài liệu marketing hoặc nội dung giới thiệu của bạn, trừ khi chúng tôi có yêu cầu không cho phép bằng văn bản. *** # II. Chính sách Quyền riêng tư [#ii-chính-sách-quyền-riêng-tư] ## Điều 1 – Chúng tôi thu thập và sử dụng thông tin gì? [#điều-1--chúng-tôi-thu-thập-và-sử-dụng-thông-tin-gì] Khi bạn đăng ký, mua hoặc sử dụng dịch vụ trên website của chúng tôi, trong quá trình cung cấp dịch vụ, chúng tôi có thể thu thập các thông tin cá nhân mà bạn cung cấp như địa chỉ email. Khi bạn truy cập hoặc sử dụng website của chúng tôi, hệ thống có thể tự động thu thập địa chỉ giao thức Internet (IP) của thiết bị bạn đang sử dụng nhằm phục vụ mục đích phân tích, bao gồm việc nhận diện trình duyệt, hệ điều hành và cải thiện trải nghiệm sử dụng dịch vụ. Trong trường hợp bạn đồng ý, chúng tôi có thể gửi email cho bạn về các cập nhật của dịch vụ, tính năng mới, sản phẩm mới hoặc các thông tin liên quan khác. Bạn có thể từ chối nhận các email này bất kỳ lúc nào thông qua chức năng hủy đăng ký (unsubscribe) trong email hoặc liên hệ trực tiếp với chúng tôi ## Điều 2 – Sự đồng ý (Consent) [#điều-2--sự-đồng-ý-consent] Bạn đồng ý với chúng tôi như thế nào? Khi bạn cung cấp thông tin cá nhân cho chúng tôi để thực hiện một giao dịch, xác minh thông tin thanh toán, đặt hàng, sử dụng dịch vụ, hoặc thực hiện các yêu cầu liên quan khác, bạn được xem là đã đồng ý cho chúng tôi thu thập và sử dụng thông tin đó cho mục đích cụ thể của giao dịch đó. Trong trường hợp chúng tôi muốn sử dụng thông tin cá nhân của bạn cho mục đích khác, ví dụ như tiếp thị hoặc gửi thông tin quảng bá, chúng tôi sẽ chỉ thực hiện khi có sự đồng ý rõ ràng từ bạn, hoặc cung cấp cho bạn quyền từ chối việc đó. Bạn có thể rút lại sự đồng ý như thế nào? Nếu sau khi đã đồng ý, bạn thay đổi quyết định, bạn có quyền rút lại sự đồng ý cho phép chúng tôi liên hệ, thu thập hoặc sử dụng thông tin cá nhân của bạn bất kỳ lúc nào. Bạn có thể thực hiện việc này bằng cách liên hệ với chúng tôi qua email: [quochbcontact@gmail.com](mailto:quochbcontact@gmail.com). ## Điều 3 – Tiết lộ thông tin [#điều-3--tiết-lộ-thông-tin] Chúng tôi có thể tiết lộ thông tin cá nhân của bạn trong trường hợp pháp luật có yêu cầu, hoặc khi bạn vi phạm Điều khoản dịch vụ của chúng tôi. ## Điều 4 – Nhà cung cấp dịch vụ hạ tầng (Cloud Service Providers) [#điều-4--nhà-cung-cấp-dịch-vụ-hạ-tầng-cloud-service-providers] Chúng tôi sử dụng các nhà cung cấp dịch vụ điện toán đám mây và hạ tầng lưu trữ để vận hành hệ thống, bao gồm Amazon Web Services (AWS), Render. ## Điều 5 – Dịch vụ bên thứ ba [#điều-5--dịch-vụ-bên-thứ-ba] Thông thường, các nhà cung cấp dịch vụ bên thứ ba mà chúng tôi sử dụng chỉ thu thập, sử dụng và tiết lộ thông tin cá nhân của bạn trong phạm vi cần thiết để họ có thể thực hiện dịch vụ mà họ cung cấp cho chúng tôi. Tuy nhiên, một số nhà cung cấp dịch vụ bên thứ ba như cổng thanh toán hoặc đơn vị xử lý giao dịch thanh toán có chính sách quyền riêng tư riêng đối với các thông tin mà chúng tôi cần cung cấp cho họ nhằm phục vụ cho các giao dịch liên quan đến thanh toán của bạn. Đối với các nhà cung cấp này, chúng tôi khuyến nghị bạn nên đọc kỹ chính sách quyền riêng tư của họ để hiểu cách thức thông tin cá nhân của bạn được xử lý. Bạn cần lưu ý rằng một số nhà cung cấp có thể được đặt tại hoặc vận hành tại các khu vực pháp lý khác với nơi bạn hoặc chúng tôi đang sinh sống. Do đó, nếu bạn thực hiện giao dịch có liên quan đến dịch vụ của bên thứ ba, thông tin của bạn có thể sẽ chịu sự điều chỉnh của pháp luật tại khu vực pháp lý nơi nhà cung cấp đó hoặc hệ thống của họ được đặt. Ví dụ, nếu bạn đang ở Việt Nam nhưng giao dịch của bạn được xử lý bởi một cổng thanh toán đặt tại Hoa Kỳ, thì thông tin cá nhân của bạn có thể chịu sự điều chỉnh bởi pháp luật của Hoa Kỳ, bao gồm cả các quy định về chia sẻ dữ liệu. Khi bạn rời khỏi website của chúng tôi hoặc được chuyển hướng đến một website hoặc ứng dụng của bên thứ ba, bạn sẽ không còn chịu sự điều chỉnh của Chính sách quyền riêng tư hoặc Điều khoản dịch vụ của chúng tôi nữa. Liên kết ngoài Khi bạn nhấp vào các liên kết trên website của chúng tôi, bạn có thể được chuyển hướng sang các website khác. Chúng tôi không chịu trách nhiệm về nội dung hoặc chính sách quyền riêng tư của các website đó và khuyến nghị bạn nên đọc kỹ chính sách riêng tư của từng website trước khi sử dụng. ## Điều 6 – Cookie [#điều-6--cookie] Chúng tôi sử dụng cookie nhằm mục đích phân tích (analytics) và duy trì phiên đăng nhập (session), giúp cải thiện trải nghiệm sử dụng dịch vụ của bạn. ## Điều 7 – Độ tuổi đồng ý sử dụng [#điều-7--độ-tuổi-đồng-ý-sử-dụng] Khi sử dụng website này, bạn xác nhận rằng bạn đã đủ độ tuổi theo quy định pháp luật tại nơi bạn cư trú. Nếu bạn chưa đủ độ tuổi nhưng được sự đồng ý của người giám hộ hợp pháp, bạn được phép sử dụng website này dưới sự cho phép đó. ## Điều 8 – Thay đổi Chính sách quyền riêng tư [#điều-8--thay-đổi-chính-sách-quyền-riêng-tư] Chúng tôi có quyền sửa đổi Chính sách quyền riêng tư này vào bất kỳ thời điểm nào, vì vậy bạn nên thường xuyên xem lại nội dung này. Mọi thay đổi hoặc làm rõ sẽ có hiệu lực ngay khi được đăng tải trên website. Trong trường hợp có thay đổi quan trọng, chúng tôi sẽ thông báo trên website để bạn biết rõ về việc chúng tôi thu thập thông tin gì, sử dụng như thế nào, và trong trường hợp nào có thể chia sẻ thông tin đó. Nếu website của chúng tôi được mua lại, sáp nhập hoặc chuyển giao cho một công ty khác, thông tin cá nhân của bạn có thể được chuyển giao cho chủ sở hữu mới để tiếp tục cung cấp dịch vụ cho bạn. ## Câu hỏi và thông tin liên hệ [#câu-hỏi-và-thông-tin-liên-hệ] Nếu bạn muốn truy cập, chỉnh sửa, cập nhật hoặc xóa bất kỳ thông tin cá nhân nào mà chúng tôi đang lưu giữ về bạn; hoặc nếu bạn muốn gửi khiếu nại, hoặc đơn giản là cần thêm thông tin, bạn có thể liên hệ với bộ phận phụ trách tuân thủ quyền riêng tư của chúng tôi qua email: [quochbcontact@gmail.com](mailto:quochbcontact@gmail.com) hoặc liên hệ qua các kênh hỗ trợ được công bố trên website của chúng tôi. # Autocomplete API (/en/api-docs/autocomplete) Suggest places as the user types. Returns a list of matching locations with coordinates and identifiers. **Comparison with Search API:** * **Autocomplete:** 3-4 lightweight suggestions, ideal for input fields * **Search:** 20 detailed results ## I. Endpoint [#i-endpoint] ```bash GET https://api.pisomap.tech/api/maps/autocomplete ``` ## II. Headers [#ii-headers] | Name | Value | Required | | ----------- | ------------ | -------- | | `x-api-key` | Your API key | Yes | ## III. Query Parameters [#iii-query-parameters] | Name | Type | Required | Default | Description | | ----- | ------ | -------- | ------- | ----------------------------------- | | `q` | string | Yes | — | Place name or address to search for | | `lat` | number | Yes | — | Your current latitude | | `lng` | number | Yes | — | Your current longitude | ## IV. Example [#iv-example] Your current location: Saigon Opera House (10.77682358167437, 106.70313930948461) Search: "starbucks" ```bash curl "https://api.pisomap.tech/api/maps/autocomplete?q=starbucks&lat=10.77682358167437&lng=106.70313930948461" \ -H "x-api-key: YOUR_API_KEY" ``` Response: ```json { "suggestions": [ { "data_id": "0x31752fd5abbc268f:0x209a24f81b1461d4", "value": "Starbucks Waterbus Thủ Thiêm, Thủ Thiêm, An Khánh, Hồ Chí Minh", "subtext": "Thủ Thiêm, An Khánh, Hồ Chí Minh", "latitude": 10.776872, "longitude": 106.7103264, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Waterbus%20Th%E1%BB%A7%20Thi%C3%AAm%2C%20Th%E1%BB%A7%20Thi%C3%AAm%2C%20An%20Kh%C3%A1nh%2C%20H%E1%BB%93%20Ch%C3%AD%20Minh&lat=10,776872&lng=106,7103264", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752fd5abbc268f%3A0x209a24f81b1461d4", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752fd5abbc268f%3A0x209a24f81b1461d4", "link_docs": "https://docs.pisomap.tech/en/api-docs/autocomplete" }, { "data_id": "0x31752f8e69fb1817:0x99b4de4074cd2e5a", "value": "Starbucks Nguyễn Thị Minh Khai, Đường Nguyễn Thị Minh Khai, Xuân Hòa, Hồ Chí Minh", "subtext": "Đường Nguyễn Thị Minh Khai, Xuân Hòa, Hồ Chí Minh", "latitude": 10.7820814, "longitude": 106.6971085, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Nguy%E1%BB%85n%20Th%E1%BB%8B%20Minh%20Khai%2C%20%C4%90%C6%B0%E1%BB%9Dng%20Nguy%E1%BB%85n%20Th%E1%BB%8B%20Minh%20Khai%2C%20Xu%C3%A2n%20H%C3%B2a%2C%20H%E1%BB%93%20Ch%C3%AD%20Minh&lat=10,7820814&lng=106,6971085", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f8e69fb1817%3A0x99b4de4074cd2e5a", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f8e69fb1817%3A0x99b4de4074cd2e5a", "link_docs": "https://docs.pisomap.tech/en/api-docs/autocomplete" }, { "data_id": "0x31752f46c63d2867:0x8ce11d6317e10879", "value": "Starbucks Nguyễn Huệ, Nguyễn Huệ, Sài Gòn, Hồ Chí Minh", "subtext": "Nguyễn Huệ, Sài Gòn, Hồ Chí Minh", "latitude": 10.7734074, "longitude": 106.7038845, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Nguy%E1%BB%85n%20Hu%E1%BB%87%2C%20Nguy%C3%AA%CC%83n%20Hu%C3%AA%CC%A3%2C%20S%C3%A0i%20G%C3%B2n%2C%20H%E1%BB%93%20Ch%C3%AD%20Minh&lat=10,7734074&lng=106,7038845", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f46c63d2867%3A0x8ce11d6317e10879", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f46c63d2867%3A0x8ce11d6317e10879", "link_docs": "https://docs.pisomap.tech/en/api-docs/autocomplete" }, { "data_id": "0x31752f0a2323cb43:0xe43cbaeb2de16988", "value": "Starbucks Waterbus Bach Dang, Đường Tôn Đức Thắng, Sài Gòn, Hồ Chí Minh", "subtext": "Đường Tôn Đức Thắng, Sài Gòn, Hồ Chí Minh", "latitude": 10.775133, "longitude": 106.7070959, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Waterbus%20Bach%20Dang%2C%20%C4%90%C6%B0%E1%BB%9Dng%20T%C3%B4n%20%C4%90%E1%BB%A9c%20Th%E1%BA%AFng%2C%20S%C3%A0i%20G%C3%B2n%2C%20H%E1%BB%93%20Ch%C3%AD%20Minh&lat=10,775133&lng=106,7070959", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f0a2323cb43%3A0xe43cbaeb2de16988", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f0a2323cb43%3A0xe43cbaeb2de16988", "link_docs": "https://docs.pisomap.tech/en/api-docs/autocomplete" } ] } ``` ## V. Response Fields [#v-response-fields] | Field | Type | Description | | ------------------- | ------ | --------------------------------- | | `suggestions` | array | List of place suggestions | | `data_id` | string | Internal ID used for Place Detail | | `value` | string | Display name of the place | | `subtext` | string | Address or area description | | `latitude` | number | Latitude | | `longitude` | number | Longitude | | `link_search_value` | string | Link to Search API for this place | | `link_place_detail` | string | Link to Place Detail API | | `link_google_maps` | string | Link to Google Maps page | | `link_docs` | string | Link to API documentation | ## VI. Errors [#vi-errors] | Status | Meaning | | ------ | ---------------------------------- | | 401 | Missing or invalid API key | | 422 | Invalid or missing query parameter | | 429 | Rate limit exceeded | | 500 | Internal server error | # Place Detail API (/en/api-docs/place-detail) Retrieve comprehensive information about a place including description, reviews, photos, popular times, and more. ## I. Endpoint [#i-endpoint] ```bash GET https://api.pisomap.tech/api/maps/place ``` ## II. Headers [#ii-headers] | Name | Value | Required | | ----------- | ------------ | -------- | | `x-api-key` | Your API key | Yes | ## III. Query Parameters [#iii-query-parameters] | Name | Type | Required | Default | Description | | --------- | ------ | -------- | ------- | -------------------------------------------- | | `data_id` | string | Yes | — | Place identifier from Autocomplete or Search | | `lat` | number | No | — | Your current latitude | | `lng` | number | No | — | Your current longitude | ## IV. Example [#iv-example] Place: Highlands Coffee - Aeon Mall Tân Phú data\_id: 0x31752bb396ca47f9:0x237d4c6fae045dd9 Coordinates: 10.801698799999999, 106.6175257 ```bash curl "https://api.pisomap.tech/api/maps/place?data_id=0x31752bb396ca47f9:0x237d4c6fae045dd9&lat=10.801698799999999&lng=106.6175257" \ -H "x-api-key: YOUR_API_KEY" ``` Response: ```json { "place_result": { "data_id": "0x31752bb396ca47f9:0x237d4c6fae045dd9", "title": "Highlands Coffee - Aeon Mall Tân Phú", "description": "", "type": "COFFEE", "rating": 4, "reviews": 441, "pricing": { "min": 1, "max": 100000 }, "contacts": { "phone": "028 7101 6768", "website": "https://www.foody.vn/ho-chi-minh/highlands-coffee-aeon-mall-tan-phu" }, "location": { "address": { "full": "30 Tân Thắng, Celadon City, Tân Sơn Nhì, Hồ Chí Minh 700000, Việt Nam", "street": "30 Tân Thắng, Celadon City", "ward": "Tân Sơn Nhì", "city": "Hồ Chí Minh 700000", "country": "Việt Nam" }, "latitude": 10.801698799999999, "longitude": 106.6175257, "timezone": "Asia/Saigon", "country_code": "VN" }, "global_plus_code": "7P28RJ29+M2", "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 21:00" }, "opening_hours": [ { "day": "Thứ Hai", "hours": "07:00–21:00" }, { "day": "Thứ Ba", "hours": "07:00–21:00" }, { "day": "Thứ Tư", "hours": "07:00–21:00" }, { "day": "Thứ Năm", "hours": "07:00–21:00" }, { "day": "Thứ Sáu", "hours": "07:00–21:00" }, { "day": "Thứ Bảy", "hours": "07:00–21:00" }, { "day": "Chủ Nhật", "hours": "07:00–21:00" } ], "features": { "accessibility": ["has_wheelchair_accessible_restroom"], "parking": ["has_parking_lot_free", "parking_availability"], "payments": ["pay_mobile_nfc", "pay_debit_card", "pay_credit_card"], "service_options": ["has_delivery", "has_takeout"], "other": ["serves_dine_in", "serves_coffee_notable", "serves_dessert_notable", "serves_tea_notable", "serves_coffee", "quick_bite", "has_restroom", "feels_cozy", "suitable_for_groups", "welcomes_children"] }, "popular_times": [ { "day": "Chủ Nhật", "hours": [ { "hour": 9, "occupancy_percent": 87, "status": "Đông khách như mọi khi", "time_label": "09 giờ" }, { "hour": 10, "occupancy_percent": 92, "status": "Đông khách như mọi khi", "time_label": "10 giờ" }, { "hour": 11, "occupancy_percent": 100, "status": "Đông khách như mọi khi", "time_label": "11 giờ" }, { "hour": 12, "occupancy_percent": 82, "status": "Đông khách như mọi khi", "time_label": "12 giờ" } ] }, { "day": "Thứ Hai", "hours": [ { "hour": 7, "occupancy_percent": 45, "status": "Thường không quá đông đúc", "time_label": "07 giờ" }, { "hour": 8, "occupancy_percent": 45, "status": "Thường không quá đông đúc", "time_label": "08 giờ" }, { "hour": 12, "occupancy_percent": 55, "status": "Thường hơi đông đúc", "time_label": "12 giờ" }, { "hour": 19, "occupancy_percent": 61, "status": "Thường hơi đông đúc", "time_label": "19 giờ" } ] } ], "review_list": [ { "review_id": "Ci9DQUlRQUNvZENodHljRjlvT25aellrMVZSVFJWU25kTFExZHZhRU5oVWsxQ1NHYxAB", "author_name": "Sherry Dollette", "author_profile_pic": "https://lh3.googleusercontent.com/a-/ALV-UjXI2Arbh7Fo_uopTclrxLAU2hZk6IbswYWND7sc8d8UV2sTp2b3=s120-c-rp-mo-br100", "rating": 5, "text": "mình đi ngay cn lúc 9h10, chắc sắp đóng cửa với nhân viên mắc dọn :) nên lúc mình order, nhân viên thu ngân thể hiện thái độ trễ nãi rồi còn đùn đẩy cho 1 bạn khác order thay...", "photos": [ { "id": "CIABIhAjFsYbZ2DwqgTnbBWwu-OI", "url": "https://lh3.googleusercontent.com/grass-cs/ANxoTn11LpQoUvx2AL7CqJrD2cvLUCConDTNFYxtqdVcMfsGDxrtUNO54YiCcoFeddaxeBqtn-4vc8TZZsuHgyFRly47f3KR4zNR7Od0VtLPYb8KRErCL-ShJzkBI-EDIaJKYSZalzGBK8nwTlQT=s0", "width": 3024, "height": 4032 } ] }, { "review_id": "Ci9DQUlRQUNvZENodHljRjlvT2tWMU1sTkhiV3ByWkVGVk5GaEJSSHBhUzA5TVRGRRAB", "author_name": "Hiếu Trần", "author_profile_pic": "https://lh3.googleusercontent.com/a-/ALV-UjU2lm7ApLvLWZTB9BcMEQ0F3fDEc1oJT2Alf2Vv6i9XK2j_kGar=s120-c-rp-mo-ba12-br100", "rating": 5, "text": "Highlands Aeon Tân Phú có không gian rộng, máy lạnh mát rượi, rất hợp để ngồi làm việc hoặc nghỉ chân sau khi shopping. Phục vụ nhanh dù quán khá đông.", "photos": [ { "id": "CIABIhBEh92eWgtIFZeEl3znp04B", "url": "https://lh3.googleusercontent.com/grass-cs/ANxoTn0FACziWLTdAq4Xc5RGXnnFxMD_teUnQB_uli9qXIgpMEXzCohN7CO03T5alTpw5W4BKYw5ZJx0QJ1azvy6GpBqCj-lJvjlWRyNeytUhPuU8hIMamAf7OHFxgu8h_Iu1wOKjkL0hxd_-y9f=s0", "width": 1080, "height": 1920 } ] } ], "photos": [ { "category_id": "CgIgAQ==", "category_label": "Tất cả", "media": [ { "id": "CIABIhDCl_aDtp2mpF8qZhoaq09H", "url": "https://lh3.googleusercontent.com/gps-cs-s/APNQkAHwVJeChoP_0YBTl3Svd1bm_8xuR5a5h3vG0PuyfBDfEddO-DDKKVSQI2AXij_sczy9XKf4eu3yD73hig64zf_V9O6oNlA7pBfquR9vQhAfykR5v3bNdA97XenIkYbwa1Xl2WwErF9OmPcG=s0", "width": 1280, "height": 960 } ] }, { "category_id": "CgIYIQ==", "category_label": "Thực đơn", "media": [ { "id": "CIABIhBG7O-R0HC5459gofD8SlZM", "url": "https://lh3.googleusercontent.com/gps-cs-s/APNQkAFXK10QTj-EdGQAP0_tKWIA9VtqmfGPlHP-MdVzKax2UHDh2-BjaBhJFeiCkw3O2iuMGisN9f-fmf5HKa3f0s6f0hmRAq_6WrOzL8CeoDislQ-X23SYYR0kxXeHPbvXxT65cxEIIQLxP9Yr=s0", "width": 4716, "height": 3540 } ] } ], "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Highlands%20Coffee%20-%20Aeon%20Mall%20T%C3%A2n%20Ph%C3%BA&lat=10,801698799999999&lng=106,6175257", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752bb396ca47f9%3A0x237d4c6fae045dd9", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752bb396ca47f9%3A0x237d4c6fae045dd9", "link_docs": "https://docs.pisomap.tech/en/api-docs/place-detail" } } ``` ## V. Response Fields [#v-response-fields] | Field | Type | Description | | ------------------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `place_result` | object | Full place detail object | | `data_id` | string | Internal identifier of the place | | `title` | string | Name of the place | | `description` | string | Description of the place | | `type` | string | Category of the place extracted from Google Maps (e.g. COFFEE, RESTAURANT) | | `rating` | number | Average rating of the place (1.0–5.0) | | `reviews` | integer | Total review count of the place | | `pricing` | object | Price range of the place `{ min, max }` | | `pricing.min` | number | Minimum price of the place (VND) | | `pricing.max` | number | Maximum price of the place (VND) | | `contacts` | object | Contact information of the place | | `contacts.phone` | string | Phone number of the place | | `contacts.website` | string | Website URL of the place | | `location` | object | Location data of the place | | `location.address` | object | Structured address of the place | | `location.address.full` | string | Full address of the place | | `location.address.street` | string | Street name of the place | | `location.address.ward` | string | Ward of the place | | `location.address.city` | string | City of the place | | `location.address.country` | string | Country of the place | | `location.latitude` | number | Latitude of the place | | `location.longitude` | number | Longitude of the place | | `location.timezone` | string | Timezone of the place (e.g. Asia/Saigon) | | `location.country_code` | string | Country code of the place (e.g. VN) | | `global_plus_code` | string | Plus code of the place | | `open_state` | object | Open status of the place | | `open_state.is_open_now` | boolean | Whether the place is currently open | | `open_state.text` | string | Human-readable open status of the place | | `opening_hours` | array | Weekly hours of the place | | `opening_hours[].day` | string | Day of week (e.g. Thứ Hai, Thứ Ba,...) | | `opening_hours[].hours` | string | Operating hours of the place (e.g. 07:00–21:00) | | `features` | object | Features of the place | | `features.accessibility` | array | Accessibility options of the place | | `features.parking` | array | Parking options of the place | | `features.payments` | array | Accepted payment methods of the place | | `features.service_options` | array | Service options of the place | | `features.other` | array | Other attributes of the place including atmosphere (e.g. cozy, contemporary, historic), dining (e.g. serves\_coffee, serves\_breakfast, quick\_bite), crowd type (e.g. suitable\_for\_groups, welcomes\_children, popular\_with\_tourists), and additional amenities (e.g. has\_restroom, has\_live\_music, serves\_alcohol) | | `popular_times` | array | Busyness data per hour by day of the place | | `popular_times[].day` | string | Day of week (e.g. Chủ Nhật, Thứ Hai,...) | | `popular_times[].hours` | array | Array of hourly busyness data of the place | | `popular_times[].hours[].hour` | integer | Hour of day (0–23) | | `popular_times[].hours[].occupancy_percent` | integer | Occupancy percentage (0–100) | | `popular_times[].hours[].status` | string | Busyness status label of the place (e.g. 'Đông khách như mọi khi', 'Thường hơi đông đúc') | | `popular_times[].hours[].time_label` | string | Display time label of the place (e.g. '09 giờ', '10 giờ') | | `review_list` | array | List of user reviews for the place | | `review_list[].review_id` | string | Review identifier | | `review_list[].author_name` | string | Author name of the review | | `review_list[].author_profile_pic` | string | URL of the author's profile picture | | `review_list[].rating` | integer | Rating score (1–5) | | `review_list[].text` | string | Review comment text | | `review_list[].photos` | array | Photos attached to the review | | `review_list[].photos[].id` | string | Photo identifier | | `review_list[].photos[].url` | string | Photo URL | | `review_list[].photos[].width` | integer | Photo width (px) | | `review_list[].photos[].height` | integer | Photo height (px) | | `photos` | array | Photo gallery of the place categorized by label | | `photos[].category_id` | string | Category identifier of the photo gallery | | `photos[].category_label` | string | Category label (e.g. 'Tất cả', 'Nội thất', 'Thực đơn', 'Mới nhất') | | `photos[].media` | array | Array of media objects in the category | | `photos[].media[].id` | string | Media identifier | | `photos[].media[].url` | string | Media URL | | `photos[].media[].width` | integer | Media width (px) | | `photos[].media[].height` | integer | Media height (px) | | `link_search_value` | string | Link to Search API for this place | | `link_place_detail` | string | Link to Place Detail API | | `link_google_maps` | string | Link to Google Maps page of the place | | `link_docs` | string | Link to API documentation | ## VI. Errors [#vi-errors] | Status | Meaning | | ------ | ---------------------------------- | | 401 | Missing or invalid API key | | 422 | Invalid or missing query parameter | | 429 | Rate limit exceeded | | 500 | Internal server error | # Reverse Geocode API (/en/api-docs/reverse-geocode) Reverse geocode a GPS coordinate into a structured address. Returns place name, address components, place ID, and plus code. ## I. Endpoint [#i-endpoint] ```bash GET https://api.pisomap.tech/api/maps/reverse-geocode ``` ## II. Headers [#ii-headers] | Name | Value | Required | | ----------- | ------------ | -------- | | `x-api-key` | Your API key | Yes | ## III. Query Parameters [#iii-query-parameters] | Name | Type | Required | Default | Description | | ----- | ------ | -------- | ------- | ---------------------------------------------- | | `lat` | number | Yes | — | Latitude of the coordinate to reverse geocode | | `lng` | number | Yes | — | Longitude of the coordinate to reverse geocode | ## IV. Example [#iv-example] Your current location: Saigon Opera House (10.77665494785082, 106.70311785181373) ```bash curl "https://api.pisomap.tech/api/maps/reverse-geocode?lat=10.77665494785082&lng=106.70311785181373" \ -H "x-api-key: YOUR_API_KEY" ``` Response: ```json { "reveal_result": { "place_name": "07 Công trường Lam Sơn", "address": { "full": "07 Công trường Lam Sơn, Sài Gòn, Hồ Chí Minh 700000, Việt Nam", "street": "Sài Gòn", "ward": "Hồ Chí Minh 700000", "city": "Việt Nam" }, "lat": 10.776612799999999, "lng": 106.7031715, "place_id": "0x31752f464a267e5f:0x62a0deaefa02edd7", "plus_code": "7P28QPG3+M69" } } ``` ## V. Response Fields [#v-response-fields] | Field | Type | Description | | ---------------- | ------ | ----------------------------------------------- | | `reveal_result` | object | Top-level reverse geocode response | | `place_name` | string | Place or building name at the coordinate | | `address` | object | Structured address of the place | | `address.full` | string | Full address of the place | | `address.street` | string | Street of the place (from Google Maps) | | `address.ward` | string | Ward / commune of the place (from Google Maps) | | `address.city` | string | City / district of the place (from Google Maps) | | `lat` | number | Latitude of the place | | `lng` | number | Longitude of the place | | `place_id` | string | Maps place ID | | `plus_code` | string | Plus code of the place | ## VI. Errors [#vi-errors] | Status | Meaning | | ------ | ---------------------------------- | | 401 | Missing or invalid API key | | 422 | Invalid or missing query parameter | | 429 | Rate limit exceeded | | 500 | Internal server error | # Routing API (/en/api-docs/routing) Get turn-by-turn directions between two places. Returns route options with step-by-step instructions, distance, duration (with and without traffic), toll information, and visual action labels. ## I. Endpoint [#i-endpoint] ```bash GET https://api.pisomap.tech/api/maps/direction ``` ## II. Headers [#ii-headers] | Name | Value | Required | | ----------- | ------------ | -------- | | `x-api-key` | Your API key | Yes | ## III. Query Parameters [#iii-query-parameters] | Name | Type | Required | Default | Description | | ------------ | ------ | -------- | ----------- | -------------------------------------------------------------------------------------------------------- | | `origin_pid` | string | Yes | — | Place ID of the origin | | `originLat` | number | Yes | `10.949642` | Origin latitude | | `originLng` | number | Yes | `107.00585` | Origin longitude | | `dest_pid` | string | Yes | — | Place ID of the destination | | `destLat` | number | Yes | `10.771341` | Destination latitude | | `destLng` | number | Yes | `106.6956` | Destination longitude | | `mode` | string | No | `driving` | Travel mode. `driving` for car navigation, `walking` for pedestrian routes, `cycling` for bicycle routes | ## IV. Example [#iv-example] * **Origin:** Ga Tân Cảng - MRT 1 (10.798757, 106.72314809999999) * **Destination:** Bệnh viện Từ Dũ (10.768483699999999, 106.6853651) * **Travel mode:** driving ```bash curl "https://api.pisomap.tech/api/maps/direction?origin_pid=0x3175290f2b82553d%3A0x21bbb1a653837f25&originLat=10.798757&originLng=106.72314809999999&dest_pid=0x31752f0ea36cbbdf%3A0xe71f8e168d92aad7&destLat=10.768483699999999&destLng=106.6853651&mode=driving" \ -H "x-api-key: YOUR_API_KEY" ``` Response: ```json { "direction_result": { "origin": { "address": { "full": "Ga Tân Cảng - MRT 1, 687 Điện Biên Phủ, Thạnh Mỹ Tây, Hồ Chí Minh, Việt Nam" }, "latitude": 10.798757, "longitude": 106.72314809999999, "timezone": "Asia/Ho_Chi_Minh", "country_code": "VN", "place_id": "0x3175290f2b82553d:0x21bbb1a653837f25" }, "destination": { "address": { "full": "Bệnh viện Từ Dũ, 284 Cống Quỳnh, Bến Thành, Hồ Chí Minh 700000, Việt Nam" }, "latitude": 10.768483699999999, "longitude": 106.6853651, "timezone": "Asia/Ho_Chi_Minh", "country_code": "VN", "place_id": "0x31752f0ea36cbbdf:0xe71f8e168d92aad7" }, "routes": [ { "name": "Nguyễn Hữu Cảnh và Nguyễn Du", "distance_meters": 6722, "distance_text": "6,7 km", "duration": { "without_traffic": { "seconds": 1244, "text": "21 p", "hours": 0, "minutes": 21 }, "with_traffic": { "seconds": 1299, "text": "22 p", "hours": 0, "minutes": 22 }, "range": { "min_seconds": 995, "min_text": "17 p", "text": "17 – 31 phút" } }, "has_toll": false, "traffic_note": "Tuyến đường nhanh nhất, dù giao thông vẫn như thường lệ", "steps": { "groups": [ { "distance": { "meters": 31, "text": "31 m" }, "duration": { "seconds": 11, "text": "11 giây", "hours": 0, "minutes": 0 }, "steps": [ { "action": { "text": "Đi thẳng", "type": "STRAIGHT" }, "instruction": "", "distance": { "meters": 31, "text": "31 m" }, "duration": { "seconds": 11, "text": "11 giây", "hours": 0, "minutes": 0 }, "start": { "lat": 10.798575503772271, "lng": 106.72314495616634 }, "end": { "lat": 10.798754299999999, "lng": 106.723124 } } ] }, { "description": "Đi theo Nguyễn Hữu Cảnh đến Nguyễn Du tại Sài Gòn", "distance": { "meters": 3666, "text": "3,7 km" }, "duration": { "seconds": 487, "text": "8 p", "hours": 0, "minutes": 8 }, "steps": [ { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại Sunwah - One-Bedroom Apartment", "distance": { "meters": 83, "text": "83 m" }, "duration": { "seconds": 40, "text": "40 giây", "hours": 0, "minutes": 0 }, "landmark": "Sunwah - One-Bedroom Apartment", "start": { "lat": 10.798856203772273, "lng": 106.72311205616634 }, "end": { "lat": 10.799035, "lng": 106.72309109999999 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải vào Cầu Vượt Nguyễn Hữu Cảnh", "distance": { "meters": 1337, "text": "1,3 km" }, "duration": { "seconds": 153, "text": "3 p", "hours": 0, "minutes": 3 }, "road": "Cầu Vượt Nguyễn Hữu Cảnh", "notes": [{ "type": "continue" }, { "type": "pass_by", "name": "Tiệm Trà Sữa INCHA", "position": "ở phía bên phải" }], "start": { "lat": 10.799057831695809, "lng": 106.7236671850363 }, "end": { "lat": 10.799033, "lng": 106.72384830000001 } }, { "action": { "text": "Đi thẳng", "type": "STRAIGHT" }, "instruction": "", "distance": { "meters": 590, "text": "600 m" }, "duration": { "seconds": 55, "text": "55 giây", "hours": 0, "minutes": 0 }, "start": { "lat": 10.791594714131636, "lng": 106.71813404909247 }, "end": { "lat": 10.7914154, "lng": 106.7181227 } }, { "action": { "text": "Nhập làn", "type": "MERGE" }, "instruction": "Nhập vào Cầu Văn Thánh 2", "distance": { "meters": 1198, "text": "1,2 km" }, "duration": { "seconds": 158, "text": "3 p", "hours": 0, "minutes": 3 }, "road": "Cầu Văn Thánh 2", "notes": [{ "type": "continue" }, { "type": "pass_by", "name": "Thảo Cầm Viên Sài Gòn", "position": "ở bên phải cách 800m" }], "start": { "lat": 10.789275952671893, "lng": 106.71410845472158 }, "end": { "lat": 10.7893718, "lng": 106.71395940000001 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Đi bên phải để vào Nguyễn Hữu Cảnh", "distance": { "meters": 106, "text": "110 m" }, "duration": { "seconds": 21, "text": "21 giây", "hours": 0, "minutes": 0 }, "road": "Nguyễn Hữu Cảnh", "notes": [{ "type": "pass_by", "name": "Language Service Providers", "position": "ở phía bên phải" }], "start": { "lat": 10.783292743935348, "lng": 106.70686443044998 }, "end": { "lat": 10.7831529, "lng": 106.7067491 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại Saigon Waterbus", "distance": { "meters": 352, "text": "350 m" }, "duration": { "seconds": 60, "text": "1 p", "hours": 0, "minutes": 1 }, "landmark": "Saigon Waterbus", "notes": [{ "type": "pass_by", "name": "Saigon Trade Center Tower - Office Saigon", "position": "ở bên trái cách 300m" }], "start": { "lat": 10.782691715430081, "lng": 106.70622959273763 }, "end": { "lat": 10.7826433, "lng": 106.70606149999999 } } ] }, { "distance": { "meters": 1918, "text": "1,9 km" }, "duration": { "seconds": 424, "text": "7 p", "hours": 0, "minutes": 7 }, "steps": [ { "action": { "text": "Rẽ trái", "type": "TURN", "direction": "LEFT" }, "instruction": "Rẽ trái tại Huy Béo Bia Hơi Hà Nội", "distance": { "meters": 1918, "text": "1,9 km" }, "duration": { "seconds": 424, "text": "7 p", "hours": 0, "minutes": 7 }, "landmark": "Huy Béo Bia Hơi Hà Nội", "notes": [{ "type": "pass_by", "name": "Trường THCS Nguyễn Du", "position": "Quận 1" }], "start": { "lat": 10.784644138832038, "lng": 106.7038132560302 }, "end": { "lat": 10.784765, "lng": 106.7036775 } } ] }, { "distance": { "meters": 143, "text": "140 m" }, "duration": { "seconds": 26, "text": "26 giây", "hours": 0, "minutes": 0 }, "steps": [ { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại Professional Records Dept - Department's Criminal Records Office - Receiving and issusing Criminal Record Certificates", "distance": { "meters": 143, "text": "140 m" }, "duration": { "seconds": 26, "text": "26 giây", "hours": 0, "minutes": 0 }, "landmark": "Professional Records Dept - Department's Criminal Records Office - Receiving and issusing Criminal Record Certificates", "notes": [{ "type": "pass_by", "name": "Ga Tao Đàn", "position": "ở phía bên phải" }], "start": { "lat": 10.772221156000283, "lng": 106.69247053982113 }, "end": { "lat": 10.772118299999999, "lng": 106.6923202 } } ] }, { "description": "Đi tiếp Bùi Thị Xuân đến điểm đến của bạn", "distance": { "meters": 964, "text": "1,0 km" }, "duration": { "seconds": 296, "text": "5 p", "hours": 0, "minutes": 5 }, "steps": [ { "action": { "text": "Rẽ trái", "type": "TURN", "direction": "LEFT" }, "instruction": "Rẽ trái vào Bùi Thị Xuân", "distance": { "meters": 784, "text": "800 m" }, "duration": { "seconds": 186, "text": "3 p", "hours": 0, "minutes": 3 }, "road": "Bùi Thị Xuân", "notes": [{ "type": "pass_by", "name": "hiệu thuốc", "position": "ở bên phải cách 450m" }], "start": { "lat": 10.77265427387119, "lng": 106.6913382240044 }, "end": { "lat": 10.7727417, "lng": 106.6911781 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại chó con", "distance": { "meters": 152, "text": "150 m" }, "duration": { "seconds": 36, "text": "36 giây", "hours": 0, "minutes": 0 }, "landmark": "chó con", "notes": [{ "type": "pass_by", "name": "Chuỗi cửa hàng embébò", "position": "ở phía bên trái" }], "start": { "lat": 10.76771469047144, "lng": 106.68641700071215 }, "end": { "lat": 10.7675846, "lng": 106.68629039999999 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại Chillout rooftop_Tropical style homestay in the center of District 1", "distance": { "meters": 28, "text": "28 m" }, "duration": { "seconds": 74, "text": "1 p", "hours": 0, "minutes": 1 }, "landmark": "Chillout rooftop_Tropical style homestay in the center of District 1", "notes": [{ "type": "annotation" }], "start": { "lat": 10.768093573026322, "lng": 106.68519729954859 }, "end": { "lat": 10.768186, "lng": 106.6850401 } } ] } ] } }, { "name": "Nguyễn Hữu Cảnh và Võ Văn Tần", "distance_meters": 7344, "distance_text": "7,3 km", "duration": { "without_traffic": { "seconds": 1402, "text": "23 p", "hours": 0, "minutes": 23 }, "with_traffic": { "seconds": 1491, "text": "25 p", "hours": 0, "minutes": 25 }, "range": { "min_seconds": 1139, "min_text": "19 p", "text": "19 – 36 phút" } }, "has_toll": false, "traffic_note": "Giao thông thưa thớt, như thường lệ", "steps": { "groups": [ { "distance": { "meters": 31, "text": "31 m" }, "duration": { "seconds": 11, "text": "11 giây", "hours": 0, "minutes": 0 }, "steps": [ { "action": { "text": "Đi thẳng", "type": "STRAIGHT" }, "instruction": "", "distance": { "meters": 31, "text": "31 m" }, "duration": { "seconds": 11, "text": "11 giây", "hours": 0, "minutes": 0 }, "start": { "lat": 10.798575503772271, "lng": 106.72314495616634 }, "end": { "lat": 10.798754299999999, "lng": 106.723124 } } ] }, { "description": "Đi theo Nguyễn Hữu Cảnh đến Lê Duẩn tại Sài Gòn", "distance": { "meters": 3743, "text": "3,7 km" }, "duration": { "seconds": 507, "text": "8 p", "hours": 0, "minutes": 8 }, "steps": [ { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại Sunwah - One-Bedroom Apartment", "distance": { "meters": 83, "text": "83 m" }, "duration": { "seconds": 40, "text": "40 giây", "hours": 0, "minutes": 0 }, "landmark": "Sunwah - One-Bedroom Apartment", "start": { "lat": 10.798856203772273, "lng": 106.72311205616634 }, "end": { "lat": 10.799035, "lng": 106.72309109999999 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải vào Cầu Vượt Nguyễn Hữu Cảnh", "distance": { "meters": 1337, "text": "1,3 km" }, "duration": { "seconds": 153, "text": "3 p", "hours": 0, "minutes": 3 }, "road": "Cầu Vượt Nguyễn Hữu Cảnh", "notes": [{ "type": "continue" }, { "type": "pass_by", "name": "Tiệm Trà Sữa INCHA", "position": "ở phía bên phải" }], "start": { "lat": 10.799057831695809, "lng": 106.7236671850363 }, "end": { "lat": 10.799033, "lng": 106.72384830000001 } }, { "action": { "text": "Đi thẳng", "type": "STRAIGHT" }, "instruction": "", "distance": { "meters": 590, "text": "600 m" }, "duration": { "seconds": 55, "text": "55 giây", "hours": 0, "minutes": 0 }, "start": { "lat": 10.791594714131636, "lng": 106.71813404909247 }, "end": { "lat": 10.7914154, "lng": 106.7181227 } }, { "action": { "text": "Nhập làn", "type": "MERGE" }, "instruction": "Nhập vào Cầu Văn Thánh 2", "distance": { "meters": 1198, "text": "1,2 km" }, "duration": { "seconds": 158, "text": "3 p", "hours": 0, "minutes": 3 }, "road": "Cầu Văn Thánh 2", "notes": [{ "type": "continue" }, { "type": "pass_by", "name": "Thảo Cầm Viên Sài Gòn", "position": "ở bên phải cách 800m" }], "start": { "lat": 10.789275952671893, "lng": 106.71410845472158 }, "end": { "lat": 10.7893718, "lng": 106.71395940000001 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Đi bên phải để vào Nguyễn Hữu Cảnh", "distance": { "meters": 106, "text": "110 m" }, "duration": { "seconds": 21, "text": "21 giây", "hours": 0, "minutes": 0 }, "road": "Nguyễn Hữu Cảnh", "notes": [{ "type": "pass_by", "name": "Language Service Providers", "position": "ở phía bên phải" }], "start": { "lat": 10.783292743935348, "lng": 106.70686443044998 }, "end": { "lat": 10.7831529, "lng": 106.7067491 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại Saigon Waterbus", "distance": { "meters": 429, "text": "450 m" }, "duration": { "seconds": 80, "text": "1 p", "hours": 0, "minutes": 1 }, "landmark": "Saigon Waterbus", "notes": [{ "type": "pass_by", "name": "Saigon Trade Center Tower - Office Saigon", "position": "ở bên trái cách 300m" }], "start": { "lat": 10.782691715430081, "lng": 106.70622959273763 }, "end": { "lat": 10.7826433, "lng": 106.70606149999999 } } ] }, { "description": "Đi theo Võ Văn Tần đến Nguyễn Thị Minh Khai tại Bàn Cờ", "distance": { "meters": 3439, "text": "3,4 km" }, "duration": { "seconds": 761, "text": "13 p", "hours": 0, "minutes": 13 }, "steps": [ { "action": { "text": "Rẽ trái", "type": "TURN", "direction": "LEFT" }, "instruction": "Rẽ trái tại Galleria New Collection By TrueStay w/ Pool & Gym", "distance": { "meters": 754, "text": "750 m" }, "duration": { "seconds": 151, "text": "3 p", "hours": 0, "minutes": 3 }, "landmark": "Galleria New Collection By TrueStay w/ Pool & Gym", "notes": [{ "type": "pass_by", "name": "Khoa Dược - Đại học Y Dược TP.HCM", "position": "ở phía bên phải" }], "start": { "lat": 10.78511285653108, "lng": 106.70329582069719 }, "end": { "lat": 10.785231999999999, "lng": 106.7031585 } }, { "action": { "text": "Vào vòng xuyến", "type": "ROUNDABOUT_ENTER_AND_EXIT" }, "instruction": "Tại vòng xuyến, đi theo lối ra thứ 1", "distance": { "meters": 337, "text": "350 m" }, "duration": { "seconds": 80, "text": "1 p", "hours": 0, "minutes": 1 }, "notes": [{ "type": "pass_by", "name": "HỢP PHÁP HÓA LÃNH SỰ TEM ĐSQ TẠI HCM", "position": "ở phía bên phải" }], "start": { "lat": 10.780546578894311, "lng": 106.69859545466234 }, "end": { "lat": 10.7804048, "lng": 106.69848259999999 } }, { "action": { "text": "Vào vòng xuyến", "type": "ROUNDABOUT_ENTER_AND_EXIT" }, "instruction": "Tại vòng xuyến, đi theo lối ra thứ 2", "distance": { "meters": 2203, "text": "2,2 km" }, "duration": { "seconds": 488, "text": "8 p", "hours": 0, "minutes": 8 }, "notes": [{ "type": "pass_by", "name": "Tyribee", "position": "ở bên trái cách 1,6 km" }], "start": { "lat": 10.782292478276819, "lng": 106.69635984440718 }, "end": { "lat": 10.7824173, "lng": 106.69622919999999 } }, { "action": { "text": "Rẽ trái", "type": "TURN", "direction": "LEFT" }, "instruction": "Rẽ trái tại LOVE QUALITY", "distance": { "meters": 145, "text": "150 m" }, "duration": { "seconds": 42, "text": "42 giây", "hours": 0, "minutes": 0 }, "landmark": "LOVE QUALITY", "notes": [{ "type": "pass_by", "name": "Công Ty Cổ Phần Giáo Dục Lvt", "position": "ở phía bên phải" }], "start": { "lat": 10.769182621680548, "lng": 106.68337693913587 }, "end": { "lat": 10.769049899999999, "lng": 106.6832532 } } ] }, { "distance": { "meters": 44, "text": "44 m" }, "duration": { "seconds": 16, "text": "16 giây", "hours": 0, "minutes": 0 }, "steps": [ { "action": { "text": "Rẽ trái", "type": "TURN", "direction": "LEFT" }, "instruction": "Rẽ trái sau Paris Baguette Cao Thắng Bánh Kem", "distance": { "meters": 44, "text": "44 m" }, "duration": { "seconds": 16, "text": "16 giây", "hours": 0, "minutes": 0 }, "landmark": "Paris Baguette Cao Thắng Bánh Kem", "notes": [{ "type": "pass_by", "name": "Công Ty Tnhh Foodmate", "position": "ở phía bên phải" }], "start": { "lat": 10.768304897695582, "lng": 106.68411061311767 }, "end": { "lat": 10.7681873, "lng": 106.68424929999999 } } ] }, { "description": "Đi tiếp Cống Quỳnh đến điểm đến của bạn", "distance": { "meters": 87, "text": "87 m" }, "duration": { "seconds": 107, "text": "2 p", "hours": 0, "minutes": 2 }, "steps": [ { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại 284 Cong Quynh", "distance": { "meters": 59, "text": "59 m" }, "duration": { "seconds": 16, "text": "16 giây", "hours": 0, "minutes": 0 }, "landmark": "284 Cong Quynh", "start": { "lat": 10.76825335603005, "lng": 106.68441300484055 }, "end": { "lat": 10.768386999999999, "lng": 106.6845357 } }, { "action": { "text": "Rẽ trái", "type": "TURN", "direction": "LEFT" }, "instruction": "Rẽ trái tại Chillout rooftop_Tropical style homestay in the center of District 1", "distance": { "meters": 28, "text": "28 m" }, "duration": { "seconds": 91, "text": "2 p", "hours": 0, "minutes": 2 }, "landmark": "Chillout rooftop_Tropical style homestay in the center of District 1", "notes": [{ "type": "annotation" }], "start": { "lat": 10.768253651452543, "lng": 106.68487033187729 }, "end": { "lat": 10.768186, "lng": 106.6850401 } } ] } ] } }, { "name": "Hầm Sông Sài Gòn", "distance_meters": 8890, "distance_text": "8,9 km", "duration": { "without_traffic": { "seconds": 1366, "text": "23 p", "hours": 0, "minutes": 23 }, "with_traffic": { "seconds": 1523, "text": "25 p", "hours": 0, "minutes": 25 }, "range": { "min_seconds": 1180, "min_text": "20 p", "text": "19 – 37 phút" } }, "has_toll": false, "traffic_note": "Giao thông thưa thớt, như thường lệ", "steps": { "groups": [ { "distance": { "meters": 31, "text": "31 m" }, "duration": { "seconds": 11, "text": "11 giây", "hours": 0, "minutes": 0 }, "steps": [ { "action": { "text": "Đi thẳng", "type": "STRAIGHT" }, "instruction": "", "distance": { "meters": 31, "text": "31 m" }, "duration": { "seconds": 11, "text": "11 giây", "hours": 0, "minutes": 0 }, "start": { "lat": 10.798575503772271, "lng": 106.72314495616634 }, "end": { "lat": 10.798754299999999, "lng": 106.723124 } } ] }, { "description": "Đi theo Nguyễn Hữu Cảnh, Cầu Thủ Thiêm, Nguyễn Cơ Thạch, Mai Chí Thọ, ... và Võ Văn Kiệt đến Hồ Hảo Hớn tại Cầu Ông Lãnh", "distance": { "meters": 7314, "text": "7,3 km" }, "duration": { "seconds": 939, "text": "16 p", "hours": 0, "minutes": 16 }, "steps": [ { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại Sunwah - One-Bedroom Apartment", "distance": { "meters": 83, "text": "83 m" }, "duration": { "seconds": 40, "text": "40 giây", "hours": 0, "minutes": 0 }, "landmark": "Sunwah - One-Bedroom Apartment", "start": { "lat": 10.798856203772273, "lng": 106.72311205616634 }, "end": { "lat": 10.799035, "lng": 106.72309109999999 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải vào Cầu Vượt Nguyễn Hữu Cảnh", "distance": { "meters": 1118, "text": "1,1 km" }, "duration": { "seconds": 123, "text": "2 p", "hours": 0, "minutes": 2 }, "road": "Cầu Vượt Nguyễn Hữu Cảnh", "notes": [{ "type": "continue" }, { "type": "pass_by", "name": "Tiệm Trà Sữa INCHA", "position": "ở phía bên phải" }], "start": { "lat": 10.799057831695809, "lng": 106.7236671850363 }, "end": { "lat": 10.799033, "lng": 106.72384830000001 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Đi bên phải để vào Nguyễn Hữu Cảnh", "distance": { "meters": 498, "text": "500 m" }, "duration": { "seconds": 74, "text": "1 p", "hours": 0, "minutes": 1 }, "road": "Nguyễn Hữu Cảnh", "notes": [{ "type": "pass_by", "name": "Cà phê Milano", "position": "ở bên phải cách 350m" }], "start": { "lat": 10.793563569828423, "lng": 106.71813957159344 }, "end": { "lat": 10.7933836, "lng": 106.7181379 } }, { "action": { "text": "Rẽ trái", "type": "TURN", "direction": "LEFT" }, "instruction": "Chếch sang bên trái", "distance": { "meters": 18, "text": "18 m" }, "duration": { "seconds": 3, "text": "3 giây", "hours": 0, "minutes": 0 }, "start": { "lat": 10.789727054373236, "lng": 106.71676853664536 }, "end": { "lat": 10.7896463, "lng": 106.7166048 } }, { "action": { "text": "Vào vòng xuyến", "type": "ROUNDABOUT_ENTER_AND_EXIT" }, "instruction": "Tại vòng xuyến, đi theo lối ra thứ 2", "distance": { "meters": 930, "text": "950 m" }, "duration": { "seconds": 85, "text": "1 p", "hours": 0, "minutes": 1 }, "start": { "lat": 10.7896463, "lng": 106.7166048 }, "end": { "lat": 10.789504299999999, "lng": 106.7165266 } }, { "action": { "text": "Nhập làn", "type": "MERGE" }, "instruction": "Nhập vào Nguyễn Cơ Thạch", "distance": { "meters": 1016, "text": "1,0 km" }, "duration": { "seconds": 164, "text": "3 p", "hours": 0, "minutes": 3 }, "road": "Nguyễn Cơ Thạch", "notes": [{ "type": "pass_by", "name": "Căn Hộ Thủ Thiêm Zeit - Thủ Thiêm Zeit - Nguyễn Cơ Thạch - Phường An Khánh", "position": "ở phía bên phải" }], "start": { "lat": 10.7823085899426, "lng": 106.72025147615248 }, "end": { "lat": 10.78215, "lng": 106.72033809999999 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải vào Mai Chí Thọ", "distance": { "meters": 670, "text": "650 m" }, "duration": { "seconds": 86, "text": "1 p", "hours": 0, "minutes": 1 }, "road": "Mai Chí Thọ", "notes": [{ "type": "pass_by", "name": "Empire City View Luxury Apartment", "position": "ở bên phải cách 500m" }], "start": { "lat": 10.77370087757005, "lng": 106.72247101886383 }, "end": { "lat": 10.773539099999999, "lng": 106.72255129999999 } }, { "action": { "text": "Đi thẳng", "type": "STRAIGHT" }, "instruction": "", "distance": { "meters": 254, "text": "250 m" }, "duration": { "seconds": 53, "text": "53 giây", "hours": 0, "minutes": 0 }, "start": { "lat": 10.77154746446051, "lng": 106.71697543696484 }, "end": { "lat": 10.771501899999999, "lng": 106.7167982 } }, { "action": { "text": "Đường đổi tên", "type": "NAME_CHANGE" }, "instruction": "Tiếp tục vào Hầm Sông Sài Gòn", "distance": { "meters": 1780, "text": "1,8 km" }, "duration": { "seconds": 156, "text": "3 p", "hours": 0, "minutes": 3 }, "road": "Hầm Sông Sài Gòn", "notes": [{ "type": "continue" }, { "type": "pass_by", "name": "[The Tresor] Saigon Luxury AP 2 bedroom Pool Gym Center", "position": "ở bên phải cách 1,5 km" }], "start": { "lat": 10.770898221050821, "lng": 106.71487339380502 }, "end": { "lat": 10.770855599999999, "lng": 106.7146954 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Đi bên phải để đi tiếp Võ Văn Kiệt", "distance": { "meters": 117, "text": "120 m" }, "duration": { "seconds": 25, "text": "25 giây", "hours": 0, "minutes": 0 }, "road": "Võ Văn Kiệt", "notes": [{ "type": "pass_by", "name": "Dịch Vụ In Big", "position": "ở phía bên phải" }], "start": { "lat": 10.765433895449574, "lng": 106.70032614830353 }, "end": { "lat": 10.765336, "lng": 106.7001727 } }, { "action": { "text": "Rẽ trái", "type": "TURN", "direction": "LEFT" }, "instruction": "Chếch sang trái tại Pixel Hub", "distance": { "meters": 830, "text": "850 m" }, "duration": { "seconds": 130, "text": "2 p", "hours": 0, "minutes": 2 }, "landmark": "Pixel Hub", "notes": [{ "type": "pass_by", "name": "Jessie Apartment - Infinity pool - Masteri Millennium - Deluxe Apartment", "position": "ở phía bên phải" }], "start": { "lat": 10.765133900465708, "lng": 106.69946164434803 }, "end": { "lat": 10.765045299999999, "lng": 106.69930219999999 } } ] }, { "description": "Đi tiếp Hồ Hảo Hớn đến điểm đến của bạn tại Bến Thành", "distance": { "meters": 1545, "text": "1,5 km" }, "duration": { "seconds": 415, "text": "7 p", "hours": 0, "minutes": 7 }, "steps": [ { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại Brita", "distance": { "meters": 470, "text": "450 m" }, "duration": { "seconds": 110, "text": "2 p", "hours": 0, "minutes": 2 }, "landmark": "Brita", "notes": [{ "type": "pass_by", "name": "Dai Tung Manufacturing & Trading Co., Ltd.", "position": "ở phía bên trái" }], "start": { "lat": 10.759940885920296, "lng": 106.6941348969706 }, "end": { "lat": 10.759846999999999, "lng": 106.6939786 } }, { "action": { "text": "Đường đổi tên", "type": "NAME_CHANGE" }, "instruction": "Tại Ardent Heart Hostel, tiếp tục vào Đ. Cống Quỳnh", "distance": { "meters": 144, "text": "140 m" }, "duration": { "seconds": 37, "text": "37 giây", "hours": 0, "minutes": 0 }, "road": "Đ. Cống Quỳnh", "landmark": "Ardent Heart Hostel", "notes": [{ "type": "pass_by", "name": "Trà Sữa Gạo Rang - Chipa Chip MilkTea", "position": "ở phía bên phải" }], "start": { "lat": 10.762738721602107, "lng": 106.69111717178284 }, "end": { "lat": 10.762877399999999, "lng": 106.6910004 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại CÔNG TY TNHH XÂY DỰNG THƯƠNG MẠI TOÀN THIÊN PHÁT", "distance": { "meters": 49, "text": "49 m" }, "duration": { "seconds": 10, "text": "10 giây", "hours": 0, "minutes": 0 }, "landmark": "CÔNG TY TNHH XÂY DỰNG THƯƠNG MẠI TOÀN THIÊN PHÁT", "notes": [{ "type": "pass_by", "name": "Mama Masala Indian Cuisine HCMC", "position": "ở phía bên phải" }], "start": { "lat": 10.763791671099025, "lng": 106.69035215993041 }, "end": { "lat": 10.7639484, "lng": 106.6902621 } }, { "action": { "text": "Vào vòng xuyến", "type": "ROUNDABOUT_ENTER_AND_EXIT" }, "instruction": "Tại vòng xuyến, đi theo lối ra thứ 2", "distance": { "meters": 854, "text": "850 m" }, "duration": { "seconds": 184, "text": "3 p", "hours": 0, "minutes": 3 }, "notes": [{ "type": "pass_by" }, { "type": "pass_by", "name": "Family Homestay", "position": "ở phía bên phải" }], "start": { "lat": 10.76409518261952, "lng": 106.69047186267852 }, "end": { "lat": 10.7641563, "lng": 106.6906441 } }, { "action": { "text": "Rẽ phải", "type": "TURN", "direction": "RIGHT" }, "instruction": "Rẽ phải tại Chillout rooftop_Tropical style homestay in the center of District 1", "distance": { "meters": 28, "text": "28 m" }, "duration": { "seconds": 74, "text": "1 p", "hours": 0, "minutes": 1 }, "landmark": "Chillout rooftop_Tropical style homestay in the center of District 1", "notes": [{ "type": "annotation" }], "start": { "lat": 10.768093573026322, "lng": 106.68519729954859 }, "end": { "lat": 10.768186, "lng": 106.6850401 } } ] } ] } } ] } } ``` ## V. Response Fields [#v-response-fields] | Field | Type | Description | | ------------------------------------------- | ------- | -------------------------------------------------------------------------------- | | `direction_result` | object | Top-level routing response containing origin, destination, and route list | | `origin` | object | Origin waypoint info (address, coordinates, timezone, place\_id) | | `origin.address` | object | Address of the origin | | `origin.address.full` | string | Full address of the origin | | `origin.latitude` | number | Latitude of the origin | | `origin.longitude` | number | Longitude of the origin | | `origin.timezone` | string | Local timezone of the origin (e.g. "Asia/Ho\_Chi\_Minh") | | `origin.country_code` | string | Two-letter country code of the origin (e.g. "VN") | | `origin.place_id` | string | Place ID of the origin | | `destination` | object | Destination waypoint info (address, coordinates, timezone, place\_id) | | `destination.address` | object | Address of the destination | | `destination.address.full` | string | Full address of the destination | | `destination.latitude` | number | Latitude of the destination | | `destination.longitude` | number | Longitude of the destination | | `destination.timezone` | string | Timezone of the destination | | `destination.country_code` | string | Country code of the destination | | `destination.place_id` | string | Place ID of the destination | | `routes` | array | List of route options, each with distance, duration, and turn-by-turn directions | | `routes[]` | object | A single route with detailed itinerary information | | `routes[].name` | string | Route name describing the itinerary (e.g. "Nguyễn Hữu Cảnh và Nguyễn Du") | | `routes[].distance_meters` | number | Total route distance in meters | | `routes[].distance_text` | string | Human-friendly distance text (e.g. "6,7 km") | | `routes[].duration` | object | Duration object: without traffic, with traffic, and estimated range | | `routes[].duration.without_traffic` | object | Duration in ideal conditions | | `routes[].duration.without_traffic.seconds` | integer | Duration in seconds | | `routes[].duration.without_traffic.text` | string | Human-readable duration (e.g. "21 p") | | `routes[].duration.without_traffic.hours` | integer | Number of hours | | `routes[].duration.without_traffic.minutes` | integer | Number of minutes | | `routes[].duration.with_traffic` | object | Duration with current traffic | | `routes[].duration.with_traffic.seconds` | integer | Duration in seconds | | `routes[].duration.with_traffic.text` | string | Human-readable duration | | `routes[].duration.with_traffic.hours` | integer | Number of hours | | `routes[].duration.with_traffic.minutes` | integer | Number of minutes | | `routes[].duration.range` | object | Min–max duration range | | `routes[].duration.range.min_seconds` | integer | Best-case duration in seconds (no traffic) | | `routes[].duration.range.min_text` | string | Best-case duration text (e.g. "17 p") | | `routes[].duration.range.text` | string | Range text (e.g. "17 – 31 phút") | | `routes[].has_toll` | boolean | `true` if the route includes toll roads | | `routes[].toll_text` | string | Toll fee description text (if applicable) | | `routes[].traffic_note` | string | Traffic condition description in Vietnamese (e.g. "Giao thông thưa thớt") | | `routes[].steps` | object | Step groups wrapper containing grouped turn-by-turn directions | | `routes[].steps.groups` | array | Array of step groups, each representing one leg of the journey | | `groups[].description` | string | Overall leg description (e.g. "Đi theo Nguyễn Hữu Cảnh đến Nguyễn Du") | | `groups[].center` | object | Center point of the group | | `groups[].center.lat` | number | Center latitude | | `groups[].center.lng` | number | Center longitude | | `groups[].distance` | object | Group distance | | `groups[].distance.meters` | number | Distance in meters | | `groups[].distance.text` | string | Human-readable distance | | `groups[].duration` | object | Group duration | | `groups[].duration.seconds` | integer | Duration in seconds | | `groups[].duration.text` | string | Human-readable duration | | `groups[].duration.hours` | integer | Number of hours | | `groups[].duration.minutes` | integer | Number of minutes | | `groups[].steps` | array | Individual steps within the group | | `step.action` | object | Visual action label (turn left/right, go straight, merge, roundabout...) | | `step.action.text` | string | Vietnamese action text (e.g. "Rẽ phải", "Đi thẳng") | | `step.action.type` | string | Action type (e.g. TURN, STRAIGHT, MERGE, NAME\_CHANGE) | | `step.action.direction` | string | Turn direction (e.g. LEFT, RIGHT) | | `step.action.modifier` | string | Turn modifier (e.g. SLIGHT) | | `step.instruction` | string | Full driving instruction in Vietnamese | | `step.distance` | object | Step distance | | `step.distance.meters` | number | Distance in meters | | `step.distance.text` | string | Human-readable distance | | `step.duration` | object | Step duration | | `step.duration.seconds` | integer | Duration in seconds | | `step.duration.text` | string | Human-readable duration | | `step.duration.hours` | integer | Number of hours | | `step.duration.minutes` | integer | Number of minutes | | `step.road` | string | Road or structure name (e.g. "Cầu Văn Thánh 2") | | `step.landmark` | string | Nearby landmark at the turn point (optional) | | `step.notes` | array | Array of additional notes: continue, pass\_by, annotation | | `step.notes[].type` | string | Note type (e.g. continue, pass\_by, annotation, destination\_hint) | | `step.notes[].name` | string | Landmark name in the note | | `step.notes[].position` | string | Relative position (e.g. "ở phía bên phải") | | `step.start` | object | Step start coordinates | | `step.start.lat` | number | Start latitude | | `step.start.lng` | number | Start longitude | | `step.end` | object | Step end coordinates | | `step.end.lat` | number | End latitude | | `step.end.lng` | number | End longitude | | `routes[].steps.destination_note` | array | Array of arrival notes (e.g. "Điểm đến sẽ ở bên trái") | ## VI. Errors [#vi-errors] | Status | Meaning | | ------ | ---------------------------------- | | 401 | Missing or invalid API key | | 422 | Invalid or missing query parameter | | 429 | Rate limit exceeded | | 500 | Internal server error | # Search API (/en/api-docs/search) Search for places by keyword and location. Returns about 20 results with ratings, pricing, hours, and detailed place data. **Comparison with Autocomplete API:** * **Autocomplete:** 3-4 lightweight suggestions, ideal for input fields * **Search:** 20 detailed results ## I. Endpoint [#i-endpoint] ```bash GET https://api.pisomap.tech/api/maps/search ``` ## II. Headers [#ii-headers] | Name | Value | Required | | ----------- | ------------ | -------- | | `x-api-key` | Your API key | Yes | ## III. Query Parameters [#iii-query-parameters] | Name | Type | Required | Default | Description | | ------ | ------ | -------- | ----------- | --------------------------------------------------------------------------------------------- | | `q` | string | Yes | — | Place name or address to search for | | `lat` | number | No | `10.801671` | Your current latitude | | `lng` | number | No | `106.61744` | Your current longitude | | `type` | string | No | `minimal` | Response detail level. `minimal` returns basic info. `full` adds opening\_hours and features. | ## IV. Example [#iv-example] Your current location: Saigon Opera House (10.77682358167437, 106.70313930948461) Search: "starbucks" ```bash curl "https://api.pisomap.tech/api/maps/search?q=starbucks&lat=10.77682358167437&lng=106.70313930948461&type=minimal" \ -H "x-api-key: YOUR_API_KEY" ``` Response: ```json { "local_result": [ { "data_id": "0x31752f3a964f9e8b:0x4c2082b77387c5da", "title": "Starbucks", "type": "COFFEE", "rating": 4.5, "reviews": 1195, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3930 1092", "website": "http://www.starbucks.vn/" }, "location": { "address": { "full": "Tòa nhà Léman Luxury Apartments, 117 Nguyễn Đình Chiểu, Xuân Hòa, Hồ Chí Minh 70000, Việt Nam", "street": "Tòa nhà Léman Luxury Apartments, 117 Nguyễn Đình Chiểu", "ward": "Xuân Hòa", "city": "Hồ Chí Minh 70000", "country": "Việt Nam" }, "latitude": 10.777900299999999, "longitude": 106.69003889999999, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 21:30" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f3a964f9e8b%3A0x4c2082b77387c5da", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f3a964f9e8b%3A0x4c2082b77387c5da", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" }, { "data_id": "0x31752f8b43af3a03:0xea266aac228b664c", "title": "Starbucks Union Square", "type": "COFFEE", "rating": 5, "reviews": 548, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3622 4324", "website": "" }, "location": { "address": { "full": "TTTM Union Square, 171 Đồng Khởi, Sài Gòn, Hồ Chí Minh 70000, Việt Nam", "street": "TTTM Union Square, 171 Đồng Khởi", "ward": "Sài Gòn", "city": "Hồ Chí Minh 70000", "country": "Việt Nam" }, "latitude": 10.7763495, "longitude": 106.7023643, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 21:30" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Union%20Square&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f8b43af3a03%3A0xea266aac228b664c", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f8b43af3a03%3A0xea266aac228b664c", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" }, { "data_id": "0x31752fba632eae55:0xf5c3a8bab8a2b405", "title": "Starbucks Vincom Dong Khoi", "type": "COFFEE", "rating": 4.7, "reviews": 1183, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3939 0058", "website": "http://www.starbucks.vn/" }, "location": { "address": { "full": "Tòa nhà Trung tâm Thương mại Vincom Center, Đồng Khởi/72 Lê Thánh Tôn, Sài Gòn, Hồ Chí Minh 700000, Việt Nam", "street": "Tòa nhà Trung tâm Thương mại Vincom Center, Đồng Khởi/72 Lê Thánh Tôn", "ward": "Sài Gòn", "city": "Hồ Chí Minh 700000", "country": "Việt Nam" }, "latitude": 10.778138199999999, "longitude": 106.7018186, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Vincom%20Dong%20Khoi&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752fba632eae55%3A0xf5c3a8bab8a2b405", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752fba632eae55%3A0xf5c3a8bab8a2b405", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" }, { "data_id": "0x31752f8e69fb1817:0x99b4de4074cd2e5a", "title": "Starbucks Nguyễn Thị Minh Khai", "type": "COFFEE", "rating": 4.7, "reviews": 1055, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3535 2364", "website": "https://starbucks.vn/" }, "location": { "address": { "full": "82 Nguyễn Thị Minh Khai, Xuân Hòa, Hồ Chí Minh 700000, Việt Nam", "street": "82 Nguyễn Thị Minh Khai", "ward": "Xuân Hòa", "city": "Hồ Chí Minh 700000", "country": "Việt Nam" }, "latitude": 10.7820814, "longitude": 106.6971085, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Nguy%E1%BB%85n%20Th%E1%BB%8B%20Minh%20Khai&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f8e69fb1817%3A0x99b4de4074cd2e5a", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f8e69fb1817%3A0x99b4de4074cd2e5a", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" }, { "data_id": "0x31752f8055ef81a7:0x805dd4f684706978", "title": "Starbucks Reserve Diamond Plaza Hồ Chí Minh", "type": "COFFEE", "rating": 4.7, "reviews": 498, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3824 6196", "website": "https://www.starbucks.vn/" }, "location": { "address": { "full": "Gian hàng XA12505, 34 Lê Duẩn, Sài Gòn, Hồ Chí Minh 700000, Việt Nam", "street": "Gian hàng XA12505, 34 Lê Duẩn", "ward": "Sài Gòn", "city": "Hồ Chí Minh 700000", "country": "Việt Nam" }, "latitude": 10.780987, "longitude": 106.6984947, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Reserve%20Diamond%20Plaza%20H%E1%BB%93%20Ch%C3%AD%20Minh&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f8055ef81a7%3A0x805dd4f684706978", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f8055ef81a7%3A0x805dd4f684706978", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" }, { "data_id": "0x31752f555aa34309:0xa8b101d1009e03b9", "title": "Starbucks Saigon Centre", "type": "COFFEE", "rating": 4.5, "reviews": 649, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3636 5244", "website": "http://www.starbucks.vn/" }, "location": { "address": { "full": "Saigon Centre, 67 Lê Lợi, Sài Gòn, Hồ Chí Minh 700000, Việt Nam", "street": "Saigon Centre, 67 Lê Lợi", "ward": "Sài Gòn", "city": "Hồ Chí Minh 700000", "country": "Việt Nam" }, "latitude": 10.773938, "longitude": 106.7010286, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Saigon%20Centre&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f555aa34309%3A0xa8b101d1009e03b9", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f555aa34309%3A0xa8b101d1009e03b9", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" }, { "data_id": "0x31752f3c28f5bde9:0x788dc799aaeca353", "title": "Starbucks Coffee New World", "type": "COFFEE", "rating": 4.4, "reviews": 6048, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3823 7952", "website": "http://www.starbucks.vn/" }, "location": { "address": { "full": "khách sạn New World, 76 Lê Lai, Bến Thành, Hồ Chí Minh 700000, Việt Nam", "street": "khách sạn New World, 76 Lê Lai", "ward": "Bến Thành", "city": "Hồ Chí Minh 700000", "country": "Việt Nam" }, "latitude": 10.7710435, "longitude": 106.6939455, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 0:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Coffee%20New%20World&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f3c28f5bde9%3A0x788dc799aaeca353", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f3c28f5bde9%3A0x788dc799aaeca353", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" }, { "data_id": "0x31752f25b511d1ed:0xe875d2b94d2f136f", "title": "Starbucks", "type": "COFFEE", "rating": 4.4, "reviews": 1234, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3929 1221", "website": "http://www.starbucks.vn/" }, "location": { "address": { "full": "241Bis Cách Mạng Tháng Tám, Bàn Cờ, Hồ Chí Minh 700000, Việt Nam", "street": "241Bis Cách Mạng Tháng Tám", "ward": "Bàn Cờ", "city": "Hồ Chí Minh 700000", "country": "Việt Nam" }, "latitude": 10.776406099999999, "longitude": 106.6837656, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 21:30" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f25b511d1ed%3A0xe875d2b94d2f136f", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f25b511d1ed%3A0xe875d2b94d2f136f", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" }, { "data_id": "0x31752f46c63d2867:0x8ce11d6317e10879", "title": "Starbucks Nguyễn Huệ", "type": "COFFEE", "rating": 4.3, "reviews": 1356, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3821 0105", "website": "http://www.starbucks.vn/" }, "location": { "address": { "full": "Tòa nhà Saigoi Garden, 99 Nguyễn Huệ, Sài Gòn, Hồ Chí Minh 700000, Việt Nam", "street": "Tòa nhà Saigoi Garden, 99 Nguyễn Huệ", "ward": "Sài Gòn", "city": "Hồ Chí Minh 700000", "country": "Việt Nam" }, "latitude": 10.7734074, "longitude": 106.7038845, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 23:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Nguy%E1%BB%85n%20Hu%E1%BB%87&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f46c63d2867%3A0x8ce11d6317e10879", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f46c63d2867%3A0x8ce11d6317e10879", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" }, { "data_id": "0x31752f0054cd0bef:0xf9f1ee8c18497162", "title": "Starbucks Coffee", "type": "COFFEE", "rating": 4.4, "reviews": 7, "pricing": { "min": 120, "max": 120 }, "contacts": { "phone": "", "website": "https://business.google.com/create?fp=18010438670301622626&hl=vi&authuser=0&gmbsrc=-vi-et-ip-z-gmb-s-z-l~mrc%7Cclaimbz%7Cu&ppsrc=GMBMI&utm_campaign=-vi-et-ip-z-gmb-s-z-l~mrc%7Cclaimbz%7Cu&utm_source=gmb_mrc81&utm_medium=et&getstarted" }, "location": { "address": { "full": "120 Pasteur, Sài Gòn, Hồ Chí Minh, Việt Nam", "street": "120 Pasteur", "ward": "Sài Gòn", "city": "Hồ Chí Minh", "country": "Việt Nam" }, "latitude": 10.7738395, "longitude": 106.701084, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Coffee&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f0054cd0bef%3A0xf9f1ee8c18497162", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f0054cd0bef%3A0xf9f1ee8c18497162", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" }, { "data_id": "0x31752f00454346b5:0x4c42126547597312", "title": "Starbucks Reserve Bitexco", "type": "COFFEE", "rating": 4.5, "reviews": 480, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3824 6054", "website": "https://starbucks.vn/" }, "location": { "address": { "full": "2 Đ. Hải Triều, Sài Gòn, Hồ Chí Minh 71016, Việt Nam", "street": "2 Đ. Hải Triều", "ward": "Sài Gòn", "city": "Hồ Chí Minh 71016", "country": "Việt Nam" }, "latitude": 10.771463299999999, "longitude": 106.7044973, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 0:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Reserve%20Bitexco&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f00454346b5%3A0x4c42126547597312", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f00454346b5%3A0x4c42126547597312", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" }, { "data_id": "0x31752f892ec8a91b:0xb11f87781e26c9cb", "title": "Starbucks The Waterfront Saigon​", "type": "COFFEE", "rating": 4.7, "reviews": 917, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3535 9856", "website": "" }, "location": { "address": { "full": "số 1-1A-2, Tôn Đức Thắng, Sài Gòn, Hồ Chí Minh 70000, Việt Nam", "street": "số 1-1A-2, Tôn Đức Thắng", "ward": "Sài Gòn", "city": "Hồ Chí Minh 70000", "country": "Việt Nam" }, "latitude": 10.7805921, "longitude": 106.7077509, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20The%20Waterfront%20Saigon%E2%80%8B&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f892ec8a91b%3A0xb11f87781e26c9cb", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f892ec8a91b%3A0xb11f87781e26c9cb", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" }, { "data_id": "0x31752f49d3ade7f5:0xaea225954cd45713", "title": "Starbucks mPlaza Sài Gòn", "type": "COFFEE", "rating": 4.3, "reviews": 1621, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3823 4990", "website": "http://www.starbucks.vn/" }, "location": { "address": { "full": "39 Lê Duẩn, Sài Gòn, Hồ Chí Minh 700900, Việt Nam", "street": "39 Lê Duẩn", "ward": "Sài Gòn", "city": "Hồ Chí Minh 700900", "country": "Việt Nam" }, "latitude": 10.781593899999999, "longitude": 106.7002792, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20mPlaza%20S%C3%A0i%20G%C3%B2n&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f49d3ade7f5%3A0xaea225954cd45713", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f49d3ade7f5%3A0xaea225954cd45713", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" }, { "data_id": "0x31752f0a2323cb43:0xe43cbaeb2de16988", "title": "Starbucks Waterbus Bach Dang", "type": "COFFEE", "rating": 4.6, "reviews": 623, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3622 6098", "website": "https://www.starbucks.vn/" }, "location": { "address": { "full": "10B Tôn Đức Thắng, Sài Gòn, Hồ Chí Minh 71006, Việt Nam", "street": "10B Tôn Đức Thắng", "ward": "Sài Gòn", "city": "Hồ Chí Minh 71006", "country": "Việt Nam" }, "latitude": 10.775133, "longitude": 106.7070959, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 0:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Waterbus%20Bach%20Dang&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f0a2323cb43%3A0xe43cbaeb2de16988", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f0a2323cb43%3A0xe43cbaeb2de16988", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" }, { "data_id": "0x31752fba6420bef7:0xdd10ac24591d67f9", "title": "Starbucks Me Linh Point", "type": "COFFEE", "rating": 4.2, "reviews": 356, "pricing": { "min": 1, "max": 100000 }, "contacts": { "phone": "028 3535 2692", "website": "https://www.starbucks.vn/" }, "location": { "address": { "full": "nhà Mê Linh Point, 2 Ngô Đức Kế, Sài Gòn, Hồ Chí Minh 700000, Việt Nam", "street": "nhà Mê Linh Point, 2 Ngô Đức Kế", "ward": "Sài Gòn", "city": "Hồ Chí Minh 700000", "country": "Việt Nam" }, "latitude": 10.7745, "longitude": 106.7058193, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Me%20Linh%20Point&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752fba6420bef7%3A0xdd10ac24591d67f9", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752fba6420bef7%3A0xdd10ac24591d67f9", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" }, { "data_id": "0x31752f6c2c18eb59:0x12b52c2cd53f24d2", "title": "Starbucks Saigon Royal", "type": "COFFEE", "rating": 4.7, "reviews": 877, "pricing": { "min": 1, "max": 100000 }, "contacts": { "phone": "028 3535 6122", "website": "http://starbucks.vn/" }, "location": { "address": { "full": "Tháp SaiGon Royal A, SaiGon Royal, Bến Vân Đồn/34-35 phường Xóm Chiếu, Xóm Chiếu, Hồ Chí Minh 700000, Việt Nam", "street": "Tháp SaiGon Royal A, SaiGon Royal, Bến Vân Đồn/34-35 phường Xóm Chiếu", "ward": "Xóm Chiếu", "city": "Hồ Chí Minh 700000", "country": "Việt Nam" }, "latitude": 10.7672042, "longitude": 106.7038333, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Saigon%20Royal&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f6c2c18eb59%3A0x12b52c2cd53f24d2", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f6c2c18eb59%3A0x12b52c2cd53f24d2", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" }, { "data_id": "0x31752fd5abbc268f:0x209a24f81b1461d4", "title": "Starbucks Waterbus Thủ Thiêm", "type": "COFFEE", "rating": 4.4, "reviews": 1073, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3535 0925", "website": "https://www.starbucks.vn/" }, "location": { "address": { "full": "Lô HMI, bến tàu, Thủ Thiêm, An Khánh, Hồ Chí Minh 71110, Việt Nam", "street": "Lô HMI, bến tàu, Thủ Thiêm", "ward": "An Khánh", "city": "Hồ Chí Minh 71110", "country": "Việt Nam" }, "latitude": 10.776872, "longitude": 106.7103264, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 23:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Waterbus%20Th%E1%BB%A7%20Thi%C3%AAm&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752fd5abbc268f%3A0x209a24f81b1461d4", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752fd5abbc268f%3A0x209a24f81b1461d4", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" }, { "data_id": "0x31752f003dec7897:0x3edf179a5226e027", "title": "Starbucks JW Marriott Saigon", "type": "COFFEE", "rating": 5, "reviews": 1, "pricing": { "min": 86, "max": 86 }, "contacts": { "phone": "", "website": "https://business.google.com/create?fp=4530365701728690215&hl=vi&authuser=0&gmbsrc=-vi-et-ip-z-gmb-s-z-l~mrc%7Cclaimbz%7Cu&ppsrc=GMBMI&utm_campaign=-vi-et-ip-z-gmb-s-z-l~mrc%7Cclaimbz%7Cu&utm_source=gmb_mrc81&utm_medium=et&getstarted" }, "location": { "address": { "full": "86 Hai Bà Trưng, Sài Gòn, Hồ Chí Minh, Việt Nam", "street": "86 Hai Bà Trưng", "ward": "Sài Gòn", "city": "Hồ Chí Minh", "country": "Việt Nam" }, "latitude": 10.781167499999999, "longitude": 106.70022159999999, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": false, "text": "" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20JW%20Marriott%20Saigon&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f003dec7897%3A0x3edf179a5226e027", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f003dec7897%3A0x3edf179a5226e027", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" }, { "data_id": "0x317528d5ee197131:0x1ffb3dea3491e41a", "title": "Starbucks Nguyễn Văn Trỗi", "type": "COFFEE", "rating": 4.3, "reviews": 1699, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3842 2171", "website": "http://www.starbucks.vn/" }, "location": { "address": { "full": "66 Đ. Nguyễn Văn Trỗi, Phú Nhuận, Hồ Chí Minh 070000, Việt Nam", "street": "66 Đ. Nguyễn Văn Trỗi", "ward": "Phú Nhuận", "city": "Hồ Chí Minh 070000", "country": "Việt Nam" }, "latitude": 10.794915, "longitude": 106.67706199999999, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Nguy%E1%BB%85n%20V%C4%83n%20Tr%E1%BB%97i&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x317528d5ee197131%3A0x1ffb3dea3491e41a", "link_google_maps": "https://www.google.com/maps/place/?cid=0x317528d5ee197131%3A0x1ffb3dea3491e41a", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" }, { "data_id": "0x317528ce4ee86ae3:0xc9a12ce65fee808c", "title": "Starbucks Phan Xích Long", "type": "COFFEE", "rating": 4.2, "reviews": 2372, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3517 6461", "website": "http://www.starbucks.vn/" }, "location": { "address": { "full": "125 - 127 Phan Xích Long, Cầu Kiệu, Hồ Chí Minh 70000, Việt Nam", "street": "125 - 127 Phan Xích Long", "ward": "Cầu Kiệu", "city": "Hồ Chí Minh 70000", "country": "Việt Nam" }, "latitude": 10.797436699999999, "longitude": 106.6899859, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 22:00" }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Phan%20X%C3%ADch%20Long&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x317528ce4ee86ae3%3A0xc9a12ce65fee808c", "link_google_maps": "https://www.google.com/maps/place/?cid=0x317528ce4ee86ae3%3A0xc9a12ce65fee808c", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" } ] } ``` **Full response (type=full):** ```bash curl "https://api.pisomap.tech/api/maps/search?q=starbucks&lat=10.77682358167437&lng=106.70313930948461&type=full" \ -H "x-api-key: YOUR_API_KEY" ``` ```json { "local_result": [ { "data_id": "0x31752f8b43af3a03:0xea266aac228b664c", "title": "Starbucks Union Square", "type": "COFFEE", "rating": 5, "reviews": 548, "pricing": { "min": 100000, "max": 200000 }, "contacts": { "phone": "028 3622 4324", "website": "" }, "location": { "address": { "full": "TTTM Union Square, 171 Đồng Khởi, Sài Gòn, Hồ Chí Minh 70000, Việt Nam", "street": "TTTM Union Square, 171 Đồng Khởi", "ward": "Sài Gòn", "city": "Hồ Chí Minh 70000", "country": "Việt Nam" }, "latitude": 10.7763495, "longitude": 106.7023643, "timezone": "Asia/Saigon", "country_code": "VN" }, "open_state": { "is_open_now": true, "text": "Đang mở cửa · Đóng cửa vào 21:30" }, "opening_hours": [ { "day": "Thứ Hai", "hours": "07:00–21:30" }, { "day": "Thứ Ba", "hours": "07:00–21:30" }, { "day": "Thứ Tư", "hours": "07:00–21:30" }, { "day": "Thứ Năm", "hours": "07:00–21:30" }, { "day": "Thứ Sáu", "hours": "07:00–21:30" }, { "day": "Thứ Bảy", "hours": "07:00–21:30" }, { "day": "Chủ Nhật", "hours": "07:00–21:30" } ], "features": { "accessibility": [], "parking": [], "payments": [ "pay_mobile_nfc", "pay_debit_card", "pay_credit_card" ], "service_options": [ "has_takeout" ], "other": [ "has_onsite_services", "serves_dine_in", "serves_coffee_notable", "serves_dessert_notable", "serves_tea_notable", "serves_coffee", "quick_bite", "serves_dessert", "has_restroom", "feels_cozy", "feels_casual", "popular_with_tourists", "suitable_for_groups", "popular_with_students", "has_fireplace", "has_live_music", "suitable_for_watching_sports", "serves_beer", "has_private_dining_room", "serves_alcohol", "serves_cocktails", "serves_liquor", "serves_wine", "has_bar_onsite", "feels_contemporary", "feels_historic", "requires_cash_only" ] }, "link_search_value": "https://api.pisomap.tech/api/maps/search?q=Starbucks%20Union%20Square&lat=10,77682358167437&lng=106,70313930948461", "link_place_detail": "https://api.pisomap.tech/api/maps/place?data_id=0x31752f8b43af3a03%3A0xea266aac228b664c", "link_google_maps": "https://www.google.com/maps/place/?cid=0x31752f8b43af3a03%3A0xea266aac228b664c", "link_docs": "https://docs.pisomap.tech/en/api-docs/search" } ] } ``` ## V. Response Fields [#v-response-fields] | Field | Type | Description | | --------------------------------------- | ------- | ----------------------------------------------------------- | | `local_result` | array | List of matching places | | `local_result[].data_id` | string | Internal ID used for Place Detail | | `local_result[].title` | string | Place name | | `local_result[].type` | string | Category (e.g. COFFEE, RESTAURANT) | | `local_result[].rating` | number | Average rating (1.0–5.0) | | `local_result[].reviews` | integer | Total review count | | `local_result[].pricing` | object | Price range: `{ min, max }` | | `local_result[].contacts` | object | Contact info: `{ phone, website }` | | `local_result[].location` | object | Location data (lat, lng, address, timezone, country\_code) | | `local_result[].location.address` | object | Structured address: `{ full, street, ward, city, country }` | | `local_result[].open_state.is_open_now` | boolean | Whether the place is currently open | | `local_result[].open_state.text` | string | Human-readable open status text | | `local_result[].link_search_value` | string | Link to Search API for this place | | `local_result[].link_place_detail` | string | Link to Place Detail API | | `local_result[].link_google_maps` | string | Link to Google Maps page | | `local_result[].link_docs` | string | Link to API documentation | **Additional fields when `type=full`:** | Field | Type | Description | | ----------------------------------------- | ------ | -------------------------------------------------------------------------- | | `local_result[].opening_hours` | array | Weekly hours | | `local_result[].opening_hours[].day` | string | Day of week (e.g. Monday, Tuesday,...) | | `local_result[].opening_hours[].hours` | string | Operating hours (e.g. 07:00–21:30) | | `local_result[].features` | object | Place features (accessibility, parking, payments, service\_options, other) | | `local_result[].features.accessibility` | array | Accessibility options | | `local_result[].features.parking` | array | Parking options | | `local_result[].features.payments` | array | Accepted payment methods | | `local_result[].features.service_options` | array | Service options (e.g. takeout, delivery) | | `local_result[].features.other` | array | Other attributes (atmosphere, dining options, crowd type) | ## VI. Errors [#vi-errors] | Status | Meaning | | ------ | ---------------------------------- | | 401 | Missing or invalid API key | | 422 | Invalid or missing query parameter | | 429 | Rate limit exceeded | | 500 | Internal server error |