Tautan Tindakan Lokasi
Kelola tombol tindakan Google untuk suatu lokasi (pemesanan, pengantaran, bawa pulang, reservasi, janji temu) melalui Listings API.
Tautan tindakan lokasi adalah tombol tindakan yang ditampilkan Google pada profil bisnis: Order online (Pesan online), Get delivery (Pesan antar), Reserve a table (Reservasi meja), Book an appointment (Buat janji temu), dan sebagainya. Listings API mengelolanya sebagai bagian dari lokasi, sehingga Anda mengaturnya melalui endpoint pembuatan dan pembaruan yang sudah Anda gunakan, dan membacanya kembali melalui setiap endpoint pembacaan lokasi.
Field placeActionLinks
Operasi pembuatan dan pembaruan sama-sama menerima array placeActionLinks pada input. Setiap elemen:
Nilai placeActionType yang valid:
APPOINTMENT ONLINE_APPOINTMENT DINING_RESERVATIONFOOD_ORDERING FOOD_DELIVERY FOOD_TAKEOUT SHOP_ONLINECara tautan dicocokkan (untuk pengeditan / penghapusan): berdasarkan name jika ada, atau berdasarkan placeActionType + uri jika tidak ada. Sertakan name jika Anda memilikinya (dari hasil pembacaan) untuk pencocokan yang paling akurat. Tautan yang baru ditambahkan dan belum disinkronkan ke Google tidak memiliki name, sehingga dicocokkan berdasarkan placeActionType + uri.
Tindakan
Model penulisannya adalah append/upsert, bukan penggantian. Saat pembaruan, hanya tautan yang Anda rujuk yang terpengaruh; tautan yang tidak Anda sertakan dibiarkan tanpa perubahan.
Untuk mengubah URL tautan, hapus tautan lama dan tambahkan tautan baru dalam permintaan yang sama (lihat Mengubah URL tautan).
Alur yang direkomendasikan
Ada dua cara yang didukung untuk mengisi tautan tindakan suatu lokasi dan menjaganya tetap sinkron dengan Google.
Alur 1: buat di Google terlebih dahulu, lalu hubungkan
- Pemilik bisnis menyiapkan tautan tindakan lokasi langsung di Google Business Profile miliknya.
- Lokasi Google Business Profile tersebut dihubungkan ke Listings API.
- Saat dihubungkan, Listings API mengambil tautan aktif dari Google ke dalam kumpulan tautan yang dikelola untuk lokasi tersebut. Anda tidak perlu memasukkannya kembali melalui API.
Alur 2: buat di Listings API terlebih dahulu, lalu hubungkan
- Buat lokasi di Listings API beserta tautan tindakan lokasinya (buat lokasi), atau tambahkan tautan tersebut nanti (perbarui lokasi).
- Saat dihubungkan ke Google Business Profile, Listings API mengambil tautan aktif dan menggabungkannya dengan kumpulan tautan yang dikelola:
- tautan yang cocok tanpa ambiguitas masuk ke dalam kumpulan tautan yang dikelola;
- tautan apa pun di Google yang tidak dapat digabungkan secara otomatis (atau yang belum ada dalam kumpulan tautan yang dikelola) ditampilkan di bagian
discoveredPlaceActionLinksuntuk Anda tinjau.
- Pada setiap pengiriman ke Google, Listings API memeriksa ulang tautan aktif. Setiap tautan baru yang ditemukan langsung di Google Business Profile dan tidak dikelola oleh Listings API ditambahkan ke
discoveredPlaceActionLinks.
Tautan yang ditemukan
Tautan yang ditemukan adalah tautan tindakan tempat yang ada di profil Google bisnis tetapi tidak dikelola di Listings API. Tautan ini diambil melalui alur di atas (tautan tambahan yang ditemukan saat menghubungkan, atau tautan baru yang ditemukan pada pengiriman berikutnya) dan dikembalikan secara terpisah dari tautan yang Anda kelola, di bawah discoveredPlaceActionLinks (dengan struktur yang sama seperti placeActionLinks), oleh setiap endpoint baca: daftar, berdasarkan ID, berdasarkan kode toko, dan pencarian.
{ "id": "TG9jYXRpb246MTgwMTAyMQ==", "placeActionLinks": [ /* links you already manage */ ], "discoveredPlaceActionLinks": [ { "placeActionType": "APPOINTMENT", "uri": "https://book.example.com", "isPreferred": false, "name": "locations/1944.../placeActionLinks/abc123", "providerType": "MERCHANT", "isEditable": true } ]}Ambil alih pengelolaan tautan yang ditemukan
Untuk mulai mengelola tautan yang ditemukan, kirim tautan tersebut ke perbarui lokasi dengan action: "add", menggunakan panggilan yang sama seperti saat menambahkan tautan apa pun (diidentifikasi oleh placeActionType + uri). Tautan lain tidak diubah.
curl -X POST 'https://listingsapi.com/api/v4/locations/update' \ -H "Authorization: API $LISTINGSAPI_KEY" \ -H 'Content-Type: application/json' \ -d '{ "input": { "id": "<encoded-location-id>", "placeActionLinks": [ { "placeActionType": "APPOINTMENT", "uri": "https://book.example.com", "isPreferred": false, "action": "add" } ] } }'Setelah itu, tautan tersebut muncul di bawah placeActionLinks dan dihapus dari discoveredPlaceActionLinks. Tautan yang ditemukan tetapi tidak Anda ambil alih pengelolaannya akan tetap tercantum (dan akan hilang dengan sendirinya jika kemudian tidak lagi ada di Google); tidak diperlukan tindakan apa pun.
Contoh
Setiap pembaruan mengembalikan kumpulan placeActionLinks lokasi yang lengkap dan terkini (yang mencerminkan perubahan tersebut). Tepat setelah operasi tulis, name dan submissionStatus pada tautan bernilai null; keduanya akan terisi setelah tautan disinkronkan ke Google.
Tambahkan tautan
curl -X POST 'https://listingsapi.com/api/v4/locations/update' \ -H "Authorization: API $LISTINGSAPI_KEY" \ -H 'Content-Type: application/json' \ -d '{ "input": { "id": "<encoded-location-id>", "placeActionLinks": [ { "placeActionType": "FOOD_ORDERING", "uri": "https://order.example.com", "isPreferred": true, "action": "add" } ] } }'Ubah URL tautan
Perubahan URL dilakukan dengan menghapus tautan lama dan menambahkan tautan baru dalam permintaan yang sama. Jika tautan lama sudah disinkronkan ke Google, sertakan name miliknya pada delete agar pencocokan seakurat mungkin; jika belum, placeActionType + uri digunakan.
curl -X POST 'https://listingsapi.com/api/v4/locations/update' \ -H "Authorization: API $LISTINGSAPI_KEY" \ -H 'Content-Type: application/json' \ -d '{ "input": { "id": "<encoded-location-id>", "placeActionLinks": [ { "placeActionType": "FOOD_ORDERING", "uri": "https://order.example.com", "name": "<link-name-if-synced>", "action": "delete" }, { "placeActionType": "FOOD_ORDERING", "uri": "https://new-order.example.com", "isPreferred": true, "action": "add" } ] } }'Untuk hanya mengubah isPreferred (dengan URL yang sama), kirim ulang tautan dengan action: "add" dan nilai baru.
Hapus tautan
curl -X POST 'https://listingsapi.com/api/v4/locations/update' \ -H "Authorization: API $LISTINGSAPI_KEY" \ -H 'Content-Type: application/json' \ -d '{ "input": { "id": "<encoded-location-id>", "placeActionLinks": [ { "placeActionType": "FOOD_DELIVERY", "uri": "https://deliver.example.com", "name": "<link-name-if-synced>", "action": "delete" } ] } }'Buat lokasi dengan tautan
Saat pembuatan, setiap tautan merupakan tautan baru, sehingga nilai default action adalah add.
curl -X POST 'https://listingsapi.com/api/v4/locations' \ -H "Authorization: API $LISTINGSAPI_KEY" \ -H 'Content-Type: application/json' \ -d '{ "input": { "name": "Acme Dental", "description": "<business description, minimum 200 characters>", "countryIso": "US", "city": "New York", "subCategoryId": 1432, "placeActionLinks": [ { "placeActionType": "APPOINTMENT", "uri": "https://book.acmedental.example.com", "isPreferred": true }, { "placeActionType": "ONLINE_APPOINTMENT", "uri": "https://virtual.acmedental.example.com" } ] } }'Catatan
- Maksimal satu tautan pilihan per jenis.
submissionStatuspada tautan mencerminkan sinkronisasi terakhir ke Google (success,failed, dan seterusnya), dengansubmissionMessageyang dapat dibaca manusia.- Google hanya menerapkan tautan tindakan tempat pada lokasi yang telah diverifikasi.