/v1/discovery/get_best_places
#Get the AppointmentTrader city hotlist. Ranking is not evidence of available reservations.
Public-by-design: exposes public city rankings, without account data or API charges.
参数
| 名称 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
citySlug |
string |
是的 |
— |
Canonical city slug from /v1/discovery/get_cities. |
categorySlug |
string |
否 |
"" |
Optional canonical category, such as restaurants. |
pageSize |
int |
否 |
10 |
Number of results, 1-25. |
pageNumber |
int |
否 |
0 |
Zero-based page, 0-20. |
请求示例(cURL)
curl --get \
'https://cn.appointmenttrader.com/v1/discovery/get_best_places' \
--data-urlencode 'key={{API_KEY}}' \
--data-urlencode 'citySlug={{citySlug}}' \
--data-urlencode 'categorySlug={{categorySlug}}' \
--data-urlencode 'pageSize={{pageSize}}' \
--data-urlencode 'pageNumber={{pageNumber}}'
返回值
JSON See the shared response schema and synthetic example.
响应字段
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
$ | discovery_get_best_places_Response |
是的 | |
$.oneOf[0] | |
是的 | |
$.oneOf[0].allOf[0] | object |
是的 | |
$.oneOf[0].allOf[0].RequestUserAlias | string |
是的 | |
$.oneOf[0].allOf[0].RequestPath | string | null |
是的 | |
$.oneOf[0].allOf[0].RequestStatus | = "Succeeded" |
是的 | |
$.oneOf[0].allOf[0].ResponseCode | integer |
是的 | |
$.oneOf[0].allOf[0].ResponseMessage | APIResponseMessage |
是的 | |
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0] | string | number | boolean | null |
是的 | |
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1] | array |
是的 | |
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][] | APIResponseMessage |
否 | |
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2] | object |
是的 | |
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].* | APIResponseMessage |
否 | |
$.oneOf[0].allOf[0].RequestImpersonatedByUserAlias | string |
否 | |
$.oneOf[0].allOf[1] | object |
是的 | |
$.oneOf[0].allOf[1].Payload | object |
是的 | |
$.oneOf[0].allOf[1].Payload.city | object |
是的 | |
$.oneOf[0].allOf[1].Payload.city.cityName | |
是的 | |
$.oneOf[0].allOf[1].Payload.city.cityName.anyOf[0] | string |
是的 | |
$.oneOf[0].allOf[1].Payload.city.cityName.anyOf[1] | null |
是的 | |
$.oneOf[0].allOf[1].Payload.city.citySlug | string |
是的 | |
$.oneOf[0].allOf[1].Payload.city.countryCode | |
是的 | |
$.oneOf[0].allOf[1].Payload.city.countryCode.anyOf[0] | string |
是的 | |
$.oneOf[0].allOf[1].Payload.city.countryCode.anyOf[1] | null |
是的 | |
$.oneOf[0].allOf[1].Payload.city.isoRegion | |
否 | |
$.oneOf[0].allOf[1].Payload.city.isoRegion.anyOf[0] | string |
否 | |
$.oneOf[0].allOf[1].Payload.city.isoRegion.anyOf[1] | null |
否 | |
$.oneOf[0].allOf[1].Payload.city.stateShort | |
否 | |
$.oneOf[0].allOf[1].Payload.city.stateShort.anyOf[0] | string |
否 | |
$.oneOf[0].allOf[1].Payload.city.stateShort.anyOf[1] | null |
否 | |
$.oneOf[0].allOf[1].Payload.places | array |
是的 | |
$.oneOf[0].allOf[1].Payload.places[] | object |
否 | |
$.oneOf[0].allOf[1].Payload.places[].locationAlias | string |
是的 | |
$.oneOf[0].allOf[1].Payload.places[].name | string |
是的 | |
$.oneOf[0].allOf[1].Payload.places[].cityName | string |
是的 | |
$.oneOf[0].allOf[1].Payload.places[].citySlug | string |
是的 | |
$.oneOf[0].allOf[1].Payload.places[].countryCode | string |
是的 | |
$.oneOf[0].allOf[1].Payload.places[].categorySlug | string |
是的 | |
$.oneOf[0].allOf[1].Payload.places[].address | string |
是的 | |
$.oneOf[0].allOf[1].Payload.places[].url | string |
是的 | |
$.oneOf[0].allOf[1].Payload.places[].rank | integer |
是的 | |
$.oneOf[0].allOf[1].Payload.places[].locationID | integer |
是的 | |
$.oneOf[0].allOf[1].Payload.rankingBasis | = "AppointmentTrader city hotlist" |
是的 | |
$.oneOf[0].allOf[1].Payload.rankingCacheSeconds | = 86400 |
是的 | |
$.oneOf[0].allOf[1].Payload.availabilityIncluded | = false |
是的 | |
$.oneOf[0].allOf[1].Payload.checkedAt | string |
是的 | |
$.oneOf[0].allOf[1].Payload.pagination | object |
是的 | |
$.oneOf[0].allOf[1].Payload.pagination.pageSize | integer |
是的 | |
$.oneOf[0].allOf[1].Payload.pagination.pageNumber | integer |
是的 | |
$.oneOf[0].allOf[1].Payload.pagination.nextPageNumber | |
是的 | |
$.oneOf[0].allOf[1].Payload.pagination.nextPageNumber.anyOf[0] | integer |
是的 | |
$.oneOf[0].allOf[1].Payload.pagination.nextPageNumber.anyOf[1] | null |
是的 | |
$.oneOf[0].allOf[1].Payload.pagination.hasMore | boolean |
是的 | |
$.oneOf[0].allOf[1].Payload.pagination.refineSearch | boolean |
是的 | |
$.oneOf[1] | object |
是的 | |
$.oneOf[1].RequestUserAlias | string |
是的 | |
$.oneOf[1].RequestPath | string | null |
是的 | |
$.oneOf[1].RequestStatus | = "Failed" |
是的 | |
$.oneOf[1].ResponseCode | integer |
是的 | |
$.oneOf[1].ResponseMessage | APIResponseMessage |
是的 | |
$.oneOf[1].ResponseMessage.oneOf[0] | string | number | boolean | null |
是的 | |
$.oneOf[1].ResponseMessage.oneOf[1] | array |
是的 | |
$.oneOf[1].ResponseMessage.oneOf[1][] | APIResponseMessage |
否 | |
$.oneOf[1].ResponseMessage.oneOf[2] | object |
是的 | |
$.oneOf[1].ResponseMessage.oneOf[2].* | APIResponseMessage |
否 | |
$.oneOf[1].RequestImpersonatedByUserAlias | string |
否 |
响应示例
{
"RequestStatus": "Succeeded",
"ResponseCode": 100,
"ResponseMessage": "Synthetic success example.",
"RequestPath": "/v1/discovery/get_best_places",
"RequestUserAlias": "example-user",
"Payload": {
"city": {
"cityName": "synthetic-example",
"citySlug": "synthetic-example",
"countryCode": "synthetic-example"
},
"places": [],
"rankingBasis": "AppointmentTrader city hotlist",
"rankingCacheSeconds": 86400,
"availabilityIncluded": false,
"checkedAt": "2030-01-01T12:00:00Z",
"pagination": {
"pageSize": 1,
"pageNumber": 0,
"nextPageNumber": 1,
"hasMore": false,
"refineSearch": false
}
}
}