Versi Graph API

Lokasi Halaman

Ini mewakili berbagai lokasi halaman yang berbeda dari sebuah Halaman bisnis induk. Sebagai contoh, halaman untuk setiap restoran dalam serangkaian restoran.

Kemampuan membaca edge ini tersedia untuk semua aplikasi. Beberapa jenis operasi penerbitan hanya tersedia untuk developer tertentu.

Saat menggunakan operasi penerbitan dari API ini, harap ikuti panduan ini:

  • Jangan mengenakan biaya untuk membuat atau mengeklaim Halaman.
  • Sebelum memungkinkan klien untuk membuat Halaman, pertama-tama Anda harus menyediakan cara untuk mengeklaim Tempat yang sudah ada untuk mencegah duplikasi Halaman.
  • Pastikan Anda hanya membuat Halaman yang terkait dengan alamat fisik yang nyata, bukan Tempat yang palsu atau virtual.
  • Jika membuat Halaman atas nama klien, Anda harus mentransfer administrasi lengkap atas Halaman itu saat diminta klien.
  • Jangan memberitahukan administrator suatu Halaman kepada pihak ketiga tanpa persetujuan klien, kecuali diwajibkan oleh undang-undang yang berlaku, oleh peraturan atau regulasi pengadilan atau lembaga pemerintah di yurisdiksi yang berwenang, atau untuk mematuhi proses hukum.

Membaca

Graph API Explorer
GET /v21.0/{page-id}/locations 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(
    '/{page-id}/locations',
    '{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(
    "/{page-id}/locations",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{page-id}/locations",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{page-id}/locations"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Izin

  • Token akses yang valid diperlukan untuk mengambil lokasi.

Kolom

Sebuah array objek Halaman, masing-masing mewakili setiap lokasi untuk bisnis.

Penerbitan

Anda dapat menambahkan Halaman berbasis lokasi yang sudah ada ke daftar ini dengan menerbitkan di edge ini:

POST /v21.0/{page-id}/locations HTTP/1.1
Host: graph.facebook.com

main_page_id=%7Bpage-id%7D&store_number=12345&location_page_id=%7Bsubpage-id%7D
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/{page-id}/locations',
    array (
      'main_page_id' => '{page-id}',
      'store_number' => '12345',
      'location_page_id' => '{subpage-id}',
    ),
    '{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(
    "/{page-id}/locations",
    "POST",
    {
        "main_page_id": "{page-id}",
        "store_number": "12345",
        "location_page_id": "{subpage-id}"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
Bundle params = new Bundle();
params.putString("main_page_id", "{page-id}");
params.putString("store_number", "12345");
params.putString("location_page_id", "{subpage-id}");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{page-id}/locations",
    params,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"main_page_id": @"{page-id}",
  @"store_number": @"12345",
  @"location_page_id": @"{subpage-id}",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{page-id}/locations"
                                      parameters:params
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Izin

  • Token akses halaman diperlukan untuk menerbitkan lokasi yang sudah ada ke sebuah halaman.
  • Token akses halaman diperlukan untuk membuat lokasi baru dan menambahkannya ke sebuah halaman. Hanya developer terpilih yang akan memiliki akses ke fungsi ini.

Kolom

NamaDeskripsiJenis

differently_open_offerings

Untuk digunakan saat temporary_status diatur ke differently_open untuk menunjukkan perubahan operasi bisnis dibanding biasanya, misalnya sebuah restoran menawarkan layanan bungkus. Kunci enum bisa jadi satu atau lebih dari yang berikut: ONLINE_SERVICES, DELIVERY, PICKUP, OTHER dengan nilai yang diatur ke true atau false. Contoh: sebuah restoran yang menawarkan layanan makanan siap ambil tetapi menghentikan sementara layanan pengiriman akan menjadi differently_open_offerings:{"DELIVERY":"false", "PICKUP":"true"}

object

hours

Menentukan jam buka untuk lokasi ini.

object

{day}_{number}_{status}

Menentukan sebuah rentang jam buka untuk satu hari. Setiap hari dapat memiliki 2 rentang jam yang berbeda. {day} haruslah 3 karakter pertama dari nama hari, {number} harus 1 atau 2 untuk mengizinkan dua rentang jam yang berbeda per hari. {status} harus open atau close untuk menandai awal atau akhir rentang waktu. Contohnya adalah mon_1_open dengan nilai 17:00 dan mon_1_close dengan nilai 21:15 yang akan mewakili satu rentang jam buka dari pukul 17.00 hingga 21.15 pada hari Senin.

string

ignore_warnings

Untuk menentukan apakah akan menonaktifkan peringatan (bukan kesalahan) yang dihasilkan dari panggilan API ini, misalnya garis lintang dan bujur tidak cocok dengan alamat.

bool

is_franchise

Apakah ini lokasi waralaba?

bool

country

Nama negara. Jika city_id tidak disertakan, ini wajib.

string

city

Nama kota. Jika city_id tidak disertakan, ini wajib.

string

city_id

ID kota. Ini adalah nilai key dari opsi penargetan adcity. Jika ini tidak disertakan, city dan country adalah wajib (state dan zip juga wajib untuk lokasi di AS).

int

latitude

Garis lintang berbasis desimal. Ini wajib untuk location.

string

location

Ini menetapkan lokasi untuk halaman ini. Ini wajib jika location_page_id tidak ditetapkan. Kamus harus menyertakan street kunci (alamat). Kamus juga harus menyertakan city_id atau semua data, yaitu city, state, dan country (tetapi state bersifat opsional jika alamat tidak di AS). Kolom zip juga bersifat opsional kecuali jika itu alamat AS. Lihat di bagian selanjutnya dalam dokumen ini untuk informasi tentang menghasilkan id kota.

object

longitude

Garis bujur berbasis desimal. Ini wajib untuk location.

string

state

Nama negara bagian (atau ekuivalen lokal).

string

street

Alamat jalan. Ini wajib untuk location.

string

zip

Kode pos lokasi (atau ekuivalen lokal).

string

location_page_id

ID Halaman Facebook yang ingin Anda tambahkan sebagai lokasi. Jika kolom ini tidak disertakan, Anda harus menentukan kolom location, place_topics, dan phone untuk membuat Halaman lokasi baru.

numeric string

main_page_id

ID Halaman Facebook yang menjadi induk dari semua lokasi. Kolom ini wajib diisi.

numeric string

permanently_closed

Apakah lokasi ini tutup permanen?

bool

phone

Nomor telepon untuk lokasi ini. Ini wajib jika location_page_id tidak ditetapkan.

string

pickup_options

Daftar opsi pengambilan tersedia di lokasi ini.

enum[] {CURBSIDE, IN_STORE, OTHER}

place_topics

Topik tempat untuk lokasi ini. Ini wajib jika location_page_id tidak ditetapkan.

int[]

store_number

ID arbitrer yang ditentukan oleh developer untuk lokasi ini, biasanya digunakan untuk menautkan balik ke database internal lokasi. Kolom ini wajib diisi.

int

temporary_status

Menunjukkan perubahan operasi bisnis yang terkait dengan Halaman dibandingkan biasanya. Jika diatur ke differently_open, gunakan dengan differently_open_offerings untuk mengatur status.

enum {differently_open, temporarily_closed, operating_as_usual, no_data}

Tanggapan

Setelah berhasil, aplikasi Anda akan menerima yang berikut ini:

{
  "success": true
}

Jika tidak, pesan kesalahan yang relevan akan ditampilkan.

Menghapus

Anda dapat menghapus halaman lokasi dari daftar lokasi induk dengan menghapusnya pada edge ini:

DELETE /v21.0/{page-id}/locations HTTP/1.1
Host: graph.facebook.com

main_page_id=%7Bpage-id%7D&store_number=12345&location_page_id=%7Bsubpage-id%7D
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->delete(
    '/{page-id}/locations',
    array (
      'main_page_id' => '{page-id}',
      'store_number' => '12345',
      'location_page_id' => '{subpage-id}',
    ),
    '{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(
    "/{page-id}/locations",
    "DELETE",
    {
        "main_page_id": "{page-id}",
        "store_number": "12345",
        "location_page_id": "{subpage-id}"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
Bundle params = new Bundle();
params.putString("main_page_id", "{page-id}");
params.putString("store_number", "12345");
params.putString("location_page_id", "{subpage-id}");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{page-id}/locations",
    params,
    HttpMethod.DELETE,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"main_page_id": @"{page-id}",
  @"store_number": @"12345",
  @"location_page_id": @"{subpage-id}",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{page-id}/locations"
                                      parameters:params
                                      HTTPMethod:@"DELETE"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Izin

  • Token akses halaman diperlukan untuk menghapus lokasi dari halaman induk.

Kolom

Semua kolom wajib diisi.

Nama Deskripsi Jenis

main_page_id

ID Halaman Facebook utama untuk lokasi ini.

numeric string

store_number

ID yang ditentukan developer untuk lokasi ini.

numeric string

location_page_id

ID yang ditentukan Facebook untuk lokasi ini.

numeric string

Tanggapan

Jika berhasil:

{
  "success": true
}

Jika tidak, pesan kesalahan yang relevan akan ditampilkan.

Memperbarui

Endpoint ini didukung untuk Pengalaman Halaman Baru.

POST /v21.0/{page-id}/locations HTTP/1.1
Host: graph.facebook.com

main_page_id=%7Bpage-id%7D&store_number=12345&location_page_id=%7Bsubpage-id%7D
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/{page-id}/locations',
    array (
      'main_page_id' => '{page-id}',
      'store_number' => '12345',
      'location_page_id' => '{subpage-id}',
    ),
    '{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(
    "/{page-id}/locations",
    "POST",
    {
        "main_page_id": "{page-id}",
        "store_number": "12345",
        "location_page_id": "{subpage-id}"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
Bundle params = new Bundle();
params.putString("main_page_id", "{page-id}");
params.putString("store_number", "12345");
params.putString("location_page_id", "{subpage-id}");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{page-id}/locations",
    params,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"main_page_id": @"{page-id}",
  @"store_number": @"12345",
  @"location_page_id": @"{subpage-id}",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{page-id}/locations"
                                      parameters:params
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Izin

  • Token akses halaman diperlukan untuk memperbarui lokasi di halaman induk.

Kolom

Untuk memperbarui, sertakan kolom penerbitan apa pun yang diperlukan, dan kolom penerbitan lainnya yang nilainya ingin Anda ubah.

Tanggapan

Jika berhasil:

{
  "success": true
}

Jika tidak, pesan kesalahan yang relevan akan ditampilkan.