Tài liệu API
Place Detail API
Retrieve comprehensive information about a place including description, reviews, photos, popular times, and more.
I. Endpoint
GET https://api.pisomap.tech/api/maps/placeII. Headers
| Name | Value | Required |
|---|---|---|
x-api-key | Your API key | Yes |
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
Place: Highlands Coffee - Aeon Mall Tân Phú data_id: 0x31752bb396ca47f9:0x237d4c6fae045dd9 Coordinates: 10.801698799999999, 106.6175257
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:
{
"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
| 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
| Status | Meaning |
|---|---|
| 401 | Missing or invalid API key |
| 422 | Invalid or missing query parameter |
| 429 | Rate limit exceeded |
| 500 | Internal server error |