Версия API Graph

Product Catalog Hotels

Hotels in a catalog used in Dynamic Ads for Travel. See Dynamic Ads for Travel, Catalog Setup.

When you use this, you can provide Batch Requests to combine a number of API calls into one HTTP request.

For example, to get the total number of hotels in a catalog:

curl -G \
-d "summary=total_count" \
-d "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<API_VERSION>/<PRODUCT_CATALOG_ID>/hotels

To fetch hotels whose name contains "suites":

curl -G \
-d 'fields=["hotel_id","name"]' \
-d 'filter={"name":{"i_contains":"suites"}}' \
-d 'access_token=<ACCESS_TOKEN>'
https://graph.facebook.com/<API_VERSION>/<PRODUCT_CATALOG_ID>/hotels

Чтение

Endpoint that returns the hotels from a catalog

Пример

Graph API Explorer
GET /v19.0/{product-catalog-id}/hotels HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->get(
    '/{product-catalog-id}/hotels',
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
    "/{product-catalog-id}/hotels",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{product-catalog-id}/hotels",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{product-catalog-id}/hotels"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];
Чтобы узнать, как использовать API Graph, ознакомьтесь с нашим руководством по API Graph.

Параметры

ПараметрОписание
bulk_pagination
boolean

Used for iterating over the edge in large chunks

filter
A JSON-encoded rule

JSON-encoded WCA rule expression representing the filter to be applied for the edge

Поля

При чтении с данной границы контекста будет возвращен результат в формате JSON:

{ "data": [], "paging": {}, "summary": {} }

data

Список узлов «Hotel».

paging

Для получения дополнительных сведений о пагинации смотрите Руководство по API Graph.

summary

Совокупная информация о ребре, такая как «количество». Укажите поля для получения суммарного параметра (такого как summary=total_count).

ПолеОписание
total_count
unsigned int32

Total number of hotels returned by the query

Error Codes

ОшибкаОписание
368The action attempted has been deemed abusive or is otherwise disallowed
100Invalid parameter
2500Error parsing graph query

Создание

Example

Example to create a hotel:

curl \
-X POST \
-F "hotel_id=h_157" \
-F "name=Sample Hotel" \
-F "images= [ \
  {'image_url':'http://www.example.com/pic1.jpg', 'tags':['front view']}, \
  {'image_url':'http://www.example.com/pic2.jpg', 'tags':['lobby view']} \
]" \
-F "url=http://www.example.com/samplehotel" \
-F "address={ \
  street_address:'1 Hacker Way', \
  city:'Menlo Park', \
  region:'California', \
  country:'United States', \
  postal_code:'94025', \
  neighborhoods:['Palo Alto','Menlo Park'], \
  latitude:37.484116, \
  longitude:-122.148244 \
}" \
-F "brand=hotel brand" \
-F "description=hotel description" \
-F "guest_ratings= [ \
  {'score':7.8, 'rating_system':'sample_rating', 'number_of_raters':780} \
]" \
-F "star_rating=4" \
-F "loyalty_program=Sample rewards club" \
-F "phone=+351234123456" \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<API_VERSION>/<PRODUCT_CATALOG_ID>/hotels

Вы можете сделать запрос POST к границе hotels из этих местоположений:
При размещении публикации на этой границе создается a Hotel.

Параметры

ПараметрОписание
address
Object

The address of the hotel

Обязательно
city
string

Обязательно
city_id
string

country
string

Обязательно
latitude
float

Обязательно
longitude
float

Обязательно
neighborhoods
list<string>

postal_code
string

region
string

Обязательно
street_address
string

Обязательно
applinks
Object

App links for native platforms, e.g. Android, IOS and Windows Phone.

web

android

ios

ipad

iphone

windows_phone

base_price
int64

The base price of the hotel

brand
string

Hotel brand

currency
ISO 4217 Currency Code
Значение по умолчанию: USD

The currency for base_price, e.g. USD

description
string

Description of the hotel

Обязательно
guest_ratings
list<Object>

Guest ratings for this hotel.

score
float

Обязательно
max_score
int64

Обязательно
rating_system
string

Обязательно
number_of_raters
int64

Обязательно
hotel_id
string

A unique identifier for this hotel provided by advertiser. (i.e. from the id field in the feed

images
list<Object>

Links to hotel images. Please note that carousel format utilizes a square 1:1 aspect ratio images (recommended size - 600x600px) while single hotel ad uses 1.91:1 aspect ratio image(recommended size - 1200x630px). Please provide at least one image.

Обязательно
image_url
URL

Обязательно
tags
list<string>

name
string

Name of the hotel

Обязательно
phone
phone number string

Hotel's phone number

star_rating
float

The star rating of the hotel

url
URL

Link to the external site where you can book a hotel room

Обязательно

Тип возврата

Эта конечная точка поддерживаетчтение после записи и будет считывать узел, представленный id в типе возврата.
Struct {
id: numeric string,
}

Error Codes

ОшибкаОписание
100Invalid parameter

Обновление

Нельзя выполнить эту операцию в этой конечной точке.

Удаление

Нельзя выполнить эту операцию в этой конечной точке.