/api/v4/connected-accounts/confirm-matchesKonfirmasi kecocokan koneksi
Mengonfirmasi saran kecocokan antara lokasi dan profil bisnis yang dikembalikan oleh endpoint saran koneksi.
Parameter
Body
| Nama | Tipe | Wajib | Deskripsi |
|---|---|---|---|
| input | object | wajib | Wrapper object. The entire request body must be nested under `input`. |
| input.matchRecordIds | array of strings | wajib | Match-record global IDs to confirm: the standard base64 of `<MatchRecordType>:<matchedDataDatabaseId>`, built from a connection-suggestion record. At least one ID is required. |
Contoh permintaan
Body siap tempel. Ganti ID dan nilai placeholder dengan milik Anda.
{ "input": { "matchRecordIds": [ "R21iTG9jYXRpb25NYXRjaGVkRGF0YTowZDVlMzA2Zi0wZGEwLTQ2ZTMtOTI5Zi1mZDNjNjdjY2Q4Y2M=" ] }}Respons
200Request accepted. `success` is `true` when every match was confirmed; when some IDs could not be confirmed they are listed in `failedIds` and `success` is `false`.
{ "data": { "confirmConnectMatches": { "failedIds": null, "success": true } }}400Bad request, the body was not wrapped in `input`, `matchRecordIds` was omitted (error message: `Field value.matchRecordIds of required type [ID!]! was not provided`), or `input` carried a field the endpoint does not accept.
401Unauthenticated, missing or invalid API key.
Menerima dan mengonfirmasi saran pasangan lokasi dan profil bisnis, sehingga membentuk koneksi aktif antara lokasi Listings API dan profil bisnis Google Business Profile atau Facebook yang sesuai. Setelah dikonfirmasi, profil bisnis mulai disinkronkan dengan lokasi Listings API yang cocok.
Struktur permintaan. Isi permintaan harus dibungkus dalam objek input, dan satu-satunya field yang diterimanya adalah matchRecordIds, yaitu array ID catatan kecocokan ([ID!]!, wajib). Pengiriman isi permintaan tanpa pembungkus ditolak dengan HTTP 400, begitu pula field yang tidak dikenal di dalam input, seperti connectedAccountId atau field lama matchIds (Unknown field "connectedAccountId"). Key tambahan di luar input diabaikan, bukan ditolak. Tidak ada field connectedAccountId dalam permintaan ini; akun ditentukan dari catatan kecocokan itu sendiri.
Membuat nilai matchRecordIds. Catatan saran koneksi tidak memiliki id. Ambil matchedDataDatabaseId dan accountType dari catatan tersebut, gabungkan keduanya dengan tanda titik dua setelah nama tipe catatan kecocokan, lalu enkode hasilnya dengan base64:
import base64 TYPES = { "GMB": "GmbLocationMatchedData", "FB": "FbLocationMatchedData", "APPLE": "AppleLocationMatchedData",} def match_record_id(record): raw = f"{TYPES[record['accountType']]}:{record['matchedDataDatabaseId']}" return base64.b64encode(raw.encode()).decode()ID yang hasil dekodenya bukan salah satu dari ketiga tipe tersebut tidak menghasilkan 400. Pemanggilan mengembalikan HTTP 200 dengan success: false dan tanpa failedIds, jadi periksa success pada setiap pemanggilan.
Endpoint ini merupakan langkah terakhir dalam alur kerja koneksi massal: hubungkan akun, jalankan POST /connected-accounts/trigger-matches untuk menghasilkan saran, tinjau saran tersebut melalui endpoint saran koneksi, lalu konfirmasikan catatan yang telah disetujui di sini.
Kasus penggunaan: menerima kecocokan yang telah ditinjau secara massal. Setelah agensi mengimpor akun Google klien dan meninjau saran pasangan di UI Anda sendiri, kirimkan matchRecordIds yang telah disetujui dalam satu pemanggilan, alih-alih satu pemanggilan untuk setiap kecocokan. Kirimkan hanya ID yang telah disetujui operator agar saran yang belum ditinjau atau salah tetap tidak diubah.
Mengonfirmasi kecocokan tidak langsung mengirimkan data ke Google atau Facebook; tindakan ini menghubungkan lokasi Listings API dengan profil bisnis di platform publikasi agar pembaruan profil bisnis berikutnya dapat diteruskan. Pemanggilan yang berhasil mengembalikan success: true dengan failedIds: null. Jika satu atau beberapa ID tidak dapat dikonfirmasi (misalnya, catatan kecocokan yang tidak dikenal atau sudah digunakan, atau kecocokan yang lokasinya telah diarsipkan sejak saat itu), ID tersebut dikembalikan dalam failedIds dan success bernilai false, sehingga Anda dapat mencoba lagi atau hanya menampilkan yang gagal. failedIds berisi ID basis data yang telah didekode, bukan nilai terenkode yang Anda kirimkan, jadi cocokkan kembali ID tersebut dengan matchedDataDatabaseId. Untuk memilih satu profil bisnis secara manual tanpa melalui saran, gunakan endpoint connect-listing.
curl -X POST 'https://listingsapi.com/api/v4/connected-accounts/confirm-matches' \ -H "Authorization: API $LISTINGSAPI_KEY" \ -H 'Content-Type: application/json' \ -d '{ "input": { "matchRecordIds": [ "R21iTG9jYXRpb25NYXRjaGVkRGF0YTowZDVlMzA2Zi0wZGEwLTQ2ZTMtOTI5Zi1mZDNjNjdjY2Q4Y2M=" ] } }'