/api/v4/connected-accounts/confirm-matchesBağlantı eşleşmelerini onaylayın
Bağlantı önerileri uç noktasının döndürdüğü, önerilen konum-işletme kaydı eşleşmelerini onaylar.
Parametreler
Gövde
| Ad | Tür | Zorunlu | Açıklama |
|---|---|---|---|
| input | object | zorunlu | Wrapper object. The entire request body must be nested under `input`. |
| input.matchRecordIds | array of strings | zorunlu | Match-record global IDs to confirm: the standard base64 of `<MatchRecordType>:<matchedDataDatabaseId>`, built from a connection-suggestion record. At least one ID is required. |
Örnek istek
Yapıştırmaya hazır gövde. Yer tutucu kimlikleri ve değerleri kendi değerlerinizle değiştirin.
{ "input": { "matchRecordIds": [ "R21iTG9jYXRpb25NYXRjaGVkRGF0YTowZDVlMzA2Zi0wZGEwLTQ2ZTMtOTI5Zi1mZDNjNjdjY2Q4Y2M=" ] }}Yanıtlar
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.
Önerilen konum-işletme kaydı eşleştirmelerini kabul edip onaylayarak Listings API konumları ile bunlara karşılık gelen Google Business Profile veya Facebook işletme kayıtları arasında etkin bağlantıyı kurar. Onaylandıktan sonra işletme kaydı, eşleştirildiği Listings API konumuyla senkronize olmaya başlar.
İstek yapısı. Gövde bir input nesnesi içine alınmalıdır ve bu nesnenin kabul ettiği tek alan, eşleşme kaydı kimliklerinden oluşan bir dizi olan matchRecordIds alanıdır ([ID!]!, zorunlu). Düz (bir nesne içine alınmamış) bir gövde gönderilmesi HTTP 400 ile reddedilir; input nesnesinin içinde connectedAccountId veya eski matchIds gibi bilinmeyen bir alan bulunması da aynı şekilde reddedilir (Unknown field "connectedAccountId"). input nesnesinin dışında bulunan fazladan bir anahtar ise reddedilmek yerine yok sayılır. Bu istekte connectedAccountId alanı yoktur; hesap, eşleşme kayıtlarının kendisinden belirlenir.
matchRecordIds değeri oluşturma. Bir bağlantı önerisi kaydında id bulunmaz. Kaydın matchedDataDatabaseId ve accountType değerlerini alın, eşleşme kaydı türü adının arkasına iki nokta üst üste ile birleştirerek ekleyin ve sonucu base64 ile kodlayın:
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()Kodu çözüldüğünde bu üç türden birine karşılık gelmeyen bir kimlik, 400 üretmez. Çağrı, success: false ile birlikte ve failedIds olmadan HTTP 200 döndürür; bu nedenle her çağrıda success değerini kontrol edin.
Bu uç nokta, toplu bağlantı kurma iş akışının son adımıdır: hesabı bağlayın, önerileri oluşturmak için POST /connected-accounts/trigger-matches çalıştırın, bağlantı önerileri uç noktasıyla bunları inceleyin, ardından onaylanan kayıtları burada onaylayın.
Kullanım senaryosu: incelenen eşleşmeleri topluca kabul etme. Bir ajans, müşterisinin Google hesabını içe aktarıp önerilen eşleştirmeleri sizin kullanıcı arayüzünüzde inceledikten sonra, onaylanan matchRecordIds değerlerini her eşleşme için ayrı bir çağrı yapmak yerine tek bir çağrıda gönderin. İncelenmemiş veya yanlış önerilere dokunulmaması için yalnızca operatörün onayladığı kimlikleri gönderin.
Bir eşleşmeyi onaylamak, verileri hemen Google veya Facebook'a göndermez; Listings API konumunu yayın platformundaki işletme kaydına bağlayarak sonraki işletme kaydı güncellemelerinin iletilmesini sağlar. Başarılı bir çağrı, failedIds: null ile birlikte success: true döndürür. Bir veya daha fazla kimlik onaylanamadığında (örneğin, bilinmeyen veya zaten kullanılmış bir eşleşme kaydı ya da konumu sonradan arşivlenmiş bir eşleşme söz konusu olduğunda), bu kimlikler failedIds içinde döndürülür ve success değeri false olur; böylece yeniden deneyebilir veya yalnızca başarısız olanları gösterebilirsiniz. failedIds, gönderdiğiniz kodlanmış değerleri değil, kodu çözülmüş veritabanı kimliklerini içerir; bu nedenle bunları matchedDataDatabaseId ile karşılaştırarak eşleştirin. Öneriler üzerinden ilerlemeden tek bir işletme kaydını elle seçmek için bunun yerine işletme kaydı bağlama uç noktasını kullanın.
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=" ] } }'