跳转到主要内容
POST
https://api.aisa.one/apis/v1
/
dataforseo
/
business_data
/
google
/
hotel_info
/
task_post
设置 Google 酒店信息任务
curl --request POST \
  --url https://api.aisa.one/apis/v1/dataforseo/business_data/google/hotel_info/task_post \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "hotel_identifier": "<string>",
  "keyword": "<string>",
  "location_name": "<string>",
  "location_code": 123,
  "location_coordinate": "<string>",
  "language_name": "<string>",
  "language_code": "<string>",
  "postback_data": "<string>",
  "priority": 123,
  "check_in": "<string>",
  "check_out": "<string>",
  "currency": "<string>",
  "adults": 123,
  "children": [
    "<string>"
  ],
  "load_prices_by_dates": true,
  "prices_start_date": "<string>",
  "prices_end_date": "<string>",
  "prices_date_range": "<string>",
  "tag": "<string>",
  "postback_url": "<string>",
  "pingback_url": "<string>"
}
'
import requests

url = "https://api.aisa.one/apis/v1/dataforseo/business_data/google/hotel_info/task_post"

payload = {
"hotel_identifier": "<string>",
"keyword": "<string>",
"location_name": "<string>",
"location_code": 123,
"location_coordinate": "<string>",
"language_name": "<string>",
"language_code": "<string>",
"postback_data": "<string>",
"priority": 123,
"check_in": "<string>",
"check_out": "<string>",
"currency": "<string>",
"adults": 123,
"children": ["<string>"],
"load_prices_by_dates": True,
"prices_start_date": "<string>",
"prices_end_date": "<string>",
"prices_date_range": "<string>",
"tag": "<string>",
"postback_url": "<string>",
"pingback_url": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
hotel_identifier: '<string>',
keyword: '<string>',
location_name: '<string>',
location_code: 123,
location_coordinate: '<string>',
language_name: '<string>',
language_code: '<string>',
postback_data: '<string>',
priority: 123,
check_in: '<string>',
check_out: '<string>',
currency: '<string>',
adults: 123,
children: ['<string>'],
load_prices_by_dates: true,
prices_start_date: '<string>',
prices_end_date: '<string>',
prices_date_range: '<string>',
tag: '<string>',
postback_url: '<string>',
pingback_url: '<string>'
})
};

fetch('https://api.aisa.one/apis/v1/dataforseo/business_data/google/hotel_info/task_post', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/dataforseo/business_data/google/hotel_info/task_post",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'hotel_identifier' => '<string>',
'keyword' => '<string>',
'location_name' => '<string>',
'location_code' => 123,
'location_coordinate' => '<string>',
'language_name' => '<string>',
'language_code' => '<string>',
'postback_data' => '<string>',
'priority' => 123,
'check_in' => '<string>',
'check_out' => '<string>',
'currency' => '<string>',
'adults' => 123,
'children' => [
'<string>'
],
'load_prices_by_dates' => true,
'prices_start_date' => '<string>',
'prices_end_date' => '<string>',
'prices_date_range' => '<string>',
'tag' => '<string>',
'postback_url' => '<string>',
'pingback_url' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.aisa.one/apis/v1/dataforseo/business_data/google/hotel_info/task_post"

payload := strings.NewReader("{\n \"hotel_identifier\": \"<string>\",\n \"keyword\": \"<string>\",\n \"location_name\": \"<string>\",\n \"location_code\": 123,\n \"location_coordinate\": \"<string>\",\n \"language_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"postback_data\": \"<string>\",\n \"priority\": 123,\n \"check_in\": \"<string>\",\n \"check_out\": \"<string>\",\n \"currency\": \"<string>\",\n \"adults\": 123,\n \"children\": [\n \"<string>\"\n ],\n \"load_prices_by_dates\": true,\n \"prices_start_date\": \"<string>\",\n \"prices_end_date\": \"<string>\",\n \"prices_date_range\": \"<string>\",\n \"tag\": \"<string>\",\n \"postback_url\": \"<string>\",\n \"pingback_url\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/dataforseo/business_data/google/hotel_info/task_post")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"hotel_identifier\": \"<string>\",\n \"keyword\": \"<string>\",\n \"location_name\": \"<string>\",\n \"location_code\": 123,\n \"location_coordinate\": \"<string>\",\n \"language_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"postback_data\": \"<string>\",\n \"priority\": 123,\n \"check_in\": \"<string>\",\n \"check_out\": \"<string>\",\n \"currency\": \"<string>\",\n \"adults\": 123,\n \"children\": [\n \"<string>\"\n ],\n \"load_prices_by_dates\": true,\n \"prices_start_date\": \"<string>\",\n \"prices_end_date\": \"<string>\",\n \"prices_date_range\": \"<string>\",\n \"tag\": \"<string>\",\n \"postback_url\": \"<string>\",\n \"pingback_url\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.aisa.one/apis/v1/dataforseo/business_data/google/hotel_info/task_post")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"hotel_identifier\": \"<string>\",\n \"keyword\": \"<string>\",\n \"location_name\": \"<string>\",\n \"location_code\": 123,\n \"location_coordinate\": \"<string>\",\n \"language_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"postback_data\": \"<string>\",\n \"priority\": 123,\n \"check_in\": \"<string>\",\n \"check_out\": \"<string>\",\n \"currency\": \"<string>\",\n \"adults\": 123,\n \"children\": [\n \"<string>\"\n ],\n \"load_prices_by_dates\": true,\n \"prices_start_date\": \"<string>\",\n \"prices_end_date\": \"<string>\",\n \"prices_date_range\": \"<string>\",\n \"tag\": \"<string>\",\n \"postback_url\": \"<string>\",\n \"pingback_url\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "version": "<string>",
  "version.status_code": 123,
  "version.status_message": "<string>",
  "version.time": "<string>",
  "version.cost": 123,
  "version.tasks_count": 123,
  "version.tasks_error": 123,
  "tasks": [
    "<string>"
  ],
  "tasks.id": "<string>",
  "tasks.status_code": 123,
  "tasks.status_message": "<string>",
  "tasks.time": "<string>",
  "tasks.cost": 123,
  "tasks.result_count": 123,
  "tasks.path": [
    "<string>"
  ],
  "tasks.data": {},
  "result": [
    "<string>"
  ]
}

授权

Authorization
string
header
必填

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

请求体

application/json
hotel_identifier
string
必填

酒店唯一标识符 如果未指定 keyword,则为必填字段 如果使用此字段,则无需指定 keyword Google 搜索中酒店实体的唯一标识符;可以通过请求高级 Google SERP API(该值包含在响应的 hotels_pack 元素中),或 Business Data API 的 Hotel Searches 端点获取该值;示例:ChYIq6SB--i6p6cpGgovbS8wN2s5ODZfEAE

keyword
string
必填

keyword 如果未指定 hotel_identifier,则为必填字段 如果使用此字段,则无需指定 hotel_identifier。你指定的关键词应表示酒店实体的名称。keyword 字段最多可以指定 700 个字符所有 %## 都将被解码(加号字符“+”将被解码为空格字符)。如果需要在 keyword 中使用“%”字符,请将其指定为“%25”。

location_name
string
必填

搜索引擎位置的完整名称 如果未指定 location_codelocation_coordinate,则此字段为必填字段如果使用此字段,则无需指定 location_codelocation_coordinate。您可以单独请求 https://api.dataforseo.com/v3/business_data/google/locations,获取包含 location_name 的可用位置列表。示例:London,England,United Kingdom

location_code
integer
必填

搜索引擎位置代码 如果未指定 location_namelocation_coordinate,则为必填字段 如果使用此字段,则无需指定 location_namelocation_coordinate 可通过向 https://api.dataforseo.com/v3/business_data/google/locations 单独发送请求,获取包含 location_code 的可用位置列表。示例:2840

location_coordinate
string
必填

位置的 GPS 坐标 如果未指定 location_namelocation_code,则为必填字段 如果使用此字段,则无需指定 location_namelocation_code location_coordinate 参数应以 “latitude,longitude” 格式指定 “latitude”“longitude” 的最大小数位数:7 注意:如果使用坐标设置位置,搜索将在最近的居民点进行;示例:53.476225,-2.243572

language_name
string
必填

搜索引擎语言的完整名称 如果未指定 language_code,则为必填字段 如果使用此字段,则无需指定 language_code 您可以通过向 https://api.dataforseo.com/v3/business_data/google/languages 单独发送请求,获取包含 language_name 的可用语言列表。示例:English

language_code
string
必填

搜索引擎语言代码 如果未指定 language_name,则为必填字段 如果使用此字段,则无需指定 language_name 可通过向 https://api.dataforseo.com/v3/business_data/google/languages 单独发送请求,获取可用语言及其 language_code 的列表 示例:en

postback_data
string
必填

postback_url 数据类型 如果指定 postback_url,则此字段为必填 对应将发送到服务器的数据类型。可选值:advancedhtml

priority
integer

任务优先级 可选字段 可采用以下值:1 – 普通执行优先级(默认设置)2 – 高执行优先级 使用高执行优先级的任务将额外收费。费用可在定价页面计算。

check_in
string

入住日期;可选字段;如果未指定此字段,默认使用明天的日期;该值不得早于今天的日期;日期格式:"yyyy-mm-dd";示例:"2019-01-15"

check_out
string

退房日期 可选字段。如果未指定此字段,系统将默认使用从现在起两天后的日期;注意:该值不能小于或等于 check_incheck_incheck_out 值之间的范围不能超过 30 天。日期格式:"yyyy-mm-dd",示例:"2019-01-15"

currency
string

货币 可选字段示例:"USD"

adults
integer

成人数量 可选字段,如果不指定此字段,默认使用两名成人;示例:1

children
string[]

儿童人数和年龄;可选字段;如果未指定此字段,搜索中将不包含儿童;如果要包含一名 14 岁儿童,请设置以下值:[14];如果要包含一名 13 岁儿童和一名 8 岁儿童,请设置以下值:[13,8]

load_prices_by_dates
boolean

按日期加载酒店住宿价格;可选字段;如果将此参数指定为 true,响应将包含 prices_by_dates 数组,其中酒店住宿价格按日期划分;如果使用此参数,将按请求基础价格的两倍收费

prices_start_date
string

按日期加载价格的开始日期 可选字段。要使用此参数,必须将 load_prices_by_dates 指定为 true。如果未指定此参数,开始日期将设置为 check_in 日期。日期格式:yyyy-mm-dd,示例:2025-05-20

prices_end_date
string

按日期加载价格的结束日期 可选字段 要使用此参数,必须将 load_prices_by_dates 指定为 true 如果未指定此参数,您将获得当月按日期列出的价格 日期格式:yyyy-mm-dd 示例:2025-05-21

prices_date_range
string

用于检索每日价格数据的预定义时间段 可选字段。要使用此参数,必须将 load_prices_by_dates 指定为 true。如果未指定 prices_start_date,则开始日期设为 check_in 日期。可选值:monththree_monthssix_monthsyear。默认值:month

tag
string

用户定义的任务标识符 可选字段 字符数上限为 255;你可以使用此参数标识任务并将其与结果匹配;你将在响应的 data 对象中找到指定的 tag

postback_url
string

用于发送任务结果的返回 URL,可选字段。任务完成后,我们会向您指定的 postback_url 发送 POST 请求,结果将以 gzip 格式压缩;您可以将字符串 ‘$id’ 用作 $id 变量,并将 ‘$tag’ 用作经过 URL 编码的 $tag 变量。我们将在发送请求前设置必要的值;示例:http://your-server.com/postbackscript?id=$id http://your-server.com/postbackscript?id=$id&tag=$tag 注意:postback_url 中的特殊字符将经过 URL 编码;例如,# 字符将编码为 %23。有关更多信息,请参阅我们的帮助中心

pingback_url
string

任务完成通知 URL,可选字段。任务完成后,我们将向你指定的 URL 发送 GET 请求以通知你;你可以使用字符串 ‘$id’ 作为 $id 变量,并使用 ‘$tag’ 作为经过 URL 编码的 $tag 变量;我们会在发送请求前设置必要的值;示例:http://your-server.com/pingscript?id=$id http://your-server.com/pingscript?id=$id&tag=$tag 注意:pingback_url 中的特殊字符将进行 URL 编码;例如,# 字符将被编码为 %23。请访问我们的帮助中心了解更多信息。

响应

成功响应

version
string

API 的当前版本

version.status_code
integer

常规状态代码 您可以在此处查看完整的响应代码列表。注意:我们强烈建议设计必要的系统来处理相关异常或错误情况

version.status_message
string

一般信息消息 你可以在此处查看一般信息消息的完整列表

version.time
string

执行时间(秒)

version.cost
number

任务总成本(美元)

version.tasks_count
integer

tasks数组中的任务数量

version.tasks_error
integer

返回的 tasks 数组中发生错误的任务数量

tasks
string[]

任务数组

tasks.id
string

我们系统中的唯一任务标识符,采用通用唯一标识符 (UUID) 格式

tasks.status_code
integer

DataForSEO 生成的任务状态码;取值范围为:10000-60000

tasks.status_message
string

任务信息消息

tasks.time
string

执行时间(秒)

tasks.cost
number

任务成本(美元)

tasks.result_count
integer

result 数组中的元素数量

tasks.path
string[]

URL 路径

tasks.data
object

包含与您在 POST 请求中指定的参数相同的参数

result
string[]

结果数组;在这种情况下,该值将为 null