Bağlı hesaplar
cURL, Python, Node uç nokta örnekleri: Google/Facebook bağlama, hesap listeleme, işletme kaydı eşleme/bağlama, klasörler, GMB oluşturma, bağlantı kesme.
Bağlı hesap, bir Google Business Profile veya Facebook Pages sahibinin verdiği ve API'nin bu hesabın erişebildiği işletme kayıtlarını okumasına ve yönetmesine olanak tanıyan bir OAuth yetkilendirmesidir. Bu kaynak üç işi kapsar: OAuth bağlantılarını oluşturmak, hesabın işletme kayıtlarını konumlarınızla eşleştirmek veya konumlarınıza bağlamak ve bağlantıyı kaldırmak. Liste ve ayrıntı okumaları için kullanılan iki GET işlemi bir Read (okuma) anahtarıyla çalışır; salt okunur işletme kaydı getirme işlemi dahil her POST işlemi bir Write (yazma) anahtarı gerektirir ve bir yazma işleminde Read anahtarı kullanılması, SY90016 ile birlikte HTTP 400 döndürür.
Aşağıdaki her örnek, ilk örnekte gösterildiği gibi bir kez oluşturulmuş bir istemcinin kullanıldığını varsayar ve LISTINGSAPI_KEY değerini ortamdan okur. Kimlikler, liste uç noktasından alınan connectedAccountId UUID'si ve base64 konum kimliğidir (TG9jYXRpb246MTgwMDI4OQ==); ikisine de hiçbir zaman URL kodlaması uygulamayın.
Uç noktalara genel bakış
Google bağlama bağlantısı oluşturun
POST /connected-accounts/connect-google
Kısa süre geçerli bir OAuth URL'si döndürür. Hesap sahibini bu URL'ye yönlendirin; Google, hesap sahibini successUrl veya errorUrl adresinize geri yönlendirir. Bağlantı, API anahtarının sahibi olan hesapla sınırlıdır; bu nedenle gövde yalnızca iki yönlendirme adresinizi içerir. Yetkilendirmesinin süresi dolmuş bir hesap için yeniden bağlantı oluşturmak, yinelenen bir bağlantı oluşturmak yerine mevcut bağlantıyı yeniler.
curl -X POST https://listingsapi.com/api/v4/connected-accounts/connect-google \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "successUrl": "https://app.example.com/connect/google/success", "errorUrl": "https://app.example.com/connect/google/error" }}'{ "data": { "bulkConnectLinkForGoogle": { "success": true, "url": "https://connect.example.com/oauth?token=8f3c1d92-...", "errors": null } }}Yukarıdaki url bir yer tutucudur. Hesap sahibini kendi yanıtınızda döndürülen url adresine yönlendirin.
Bağlantı 24 saat geçerlidir. errors yalnızca oluşturma işlemi başarısız olduğunda doldurulur; bu nedenle url değerinin null olmadığını kontrol edin. Kapsayıcı nesne olmadan gönderilen veya accountId içeren bir gövde, HTTP 400 ile reddedilir.
Facebook bağlama bağlantısı oluşturun
POST /connected-accounts/connect-facebook
Aynı gövdeyi kullanan Facebook karşılığıdır. İşlem sırasında hesap sahibi Facebook'un koşullarını kabul eder ve API'nin ihtiyaç duyduğu sayfa yönetimi izinlerini verir; izinlerden birini atlarsa bağlantı eşitleme yapamaz, bu nedenle bağlantıyı yeniden oluşturun ve hesap sahibinin yeniden izin vermesini sağlayın.
curl -X POST https://listingsapi.com/api/v4/connected-accounts/connect-facebook \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "successUrl": "https://app.example.com/connect/facebook/success", "errorUrl": "https://app.example.com/connect/facebook/error" }}'{ "data": { "bulkConnectLinkForFacebook": { "success": true, "url": "https://connect.example.com/oauth?token=8f3c1d92-...", "errors": null } }}Yukarıdaki url bir yer tutucudur. Hesap sahibini kendi yanıtınızda döndürülen url adresine yönlendirin.
Yanıttaki anahtar bulkConnectLinkForFacebook olur; bunun dışında yanıtı Google bağlantısının yanıtıyla tamamen aynı şekilde okuyun. Hesap sahibi işlemi tamamladığında hesap, liste uç noktasında bir FacebookAccount olarak görünür.
Tek bir konum için bağlama bağlantısı oluşturun
POST /locations/oauth_connect_url
İşletme sahibinin hangi konumu bağlayacağını zaten biliyorsanız bunu kullanın. Bağlantı, belirttiğiniz konuma bağlıdır; bu nedenle ardından eşleştirme adımı gelmez: işletme sahibi izin verdiğinde kimlik bilgileri doğrudan o konuma bağlanır. Yukarıdaki iki toplu bağlantı ise hesabın tamamını bağlar.
curl -X POST https://listingsapi.com/api/v4/locations/oauth_connect_url \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "site": "GOOGLE", "successUrl": "https://app.example.com/locations/1800289/connected", "errorUrl": "https://app.example.com/locations/1800289/connect-failed" }}'{ "data": { "createConnectUrl": { "success": true, "url": "https://connect.example.com/oauth?token=8f3c1d92-...", "errors": null } }}Yukarıdaki url bir yer tutucudur. İşletme sahibini kendi yanıtınızda döndürülen url adresine yönlendirin.
Bağlantı tek kullanımlıktır; bu nedenle önbelleğe almak yerine her deneme için yeni bir bağlantı oluşturun. Göreli veya ayrıştırılamayan bir yönlendirme URL'si, null url içeren bir success: true yanıtıyla döner; bu nedenle yalnızca success değerini değil, url değerini de kontrol edin. Bu konum üzerinde işlem yapma yetkisi olmayan bir anahtar, SY90003 içeren bir 403 yanıtı alır. SDK'lar site değerini sizin için büyük harfe dönüştürür.
Bağlı hesapları listeleyin
GET /connected-accounts
API hesabınız üzerinden yetkilendirilmiş tüm hesapları, bağlantı durumları ve her birinin kaç konuma bağlı olduğu bilgisiyle döndürür. Bu, ofset tabanlı bir sayfadır: records[] ve pageInfo.totalRecords içerir, iç içe olmayan page ve perPage sorgu parametreleriyle sayfalanır. Sıralama, hesap e-posta adresine göre artan olarak sabittir.
curl "https://listingsapi.com/api/v4/connected-accounts?publisher=GoogleAccount&status=Connected&page=1&perPage=20" \-H "Authorization: API $LISTINGSAPI_KEY"{ "data": { "connectedAccountsInfo": { "pageInfo": { "hasNextPage": false, "hasPreviousPage": false, "totalPages": 1, "totalRecords": 1 }, "records": [ { "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "connectedAccountType": "GoogleAccount", "email": "owner@brightsmile-dental.com", "status": "CONNECTED", "connectivityIssue": null, "connectedLocationsCount": 0, "requestMatchesStatus": "MATCH_COMPLETED", "lastFetchMatchesRequestedAt": "2026-07-06 21:43:07 UTC" } ] } }}email alanı izin veren işletme sahibini gösteren kaydı seçin ve bu kaydın connectedAccountId değerini saklayın; sonraki tüm çağrılar bu değeri alır. Bu dört sorgu parametresi dışındaki her şey reddedilmek yerine yok sayılır; bu nedenle JSON içinde gönderilen pageInfo, hata bildirilmeden 1. sayfanın döndürülmesine neden olur.
status filtresi ve kaydın status alanı aynı değer kümesini kullanmaz. CONNECTED değerini filtre olarak geri göndermek geçersiz bir enum değeri oluşturur ve 400 yanıtı döndürülmesine neden olur.
Tek bir hesabın ayrıntılarını alın
GET /connected-accounts/{connectedAccountId}/details
Tek bir hesapla sınırlı olarak, listedeki bir kayıtla aynı alanları döndürür. Eşleştirmeleri tetikledikten sonra requestMatchesStatus alanını düzenli aralıklarla sorgulamak veya hesap üzerinden bir güncelleme göndermeden önce status ve connectivityIssue alanlarını kontrol etmek için kullanın.
curl https://listingsapi.com/api/v4/connected-accounts/4f712c17-4f95-42dd-90f4-97171a2e67b5/details \-H "Authorization: API $LISTINGSAPI_KEY"{ "data": { "connectedAccountDetails": { "details": { "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "connectedAccountType": "GoogleAccount", "status": "CONNECTED", "connectivityIssue": null, "connectedLocationsCount": 0, "requestMatchesStatus": "MATCH_COMPLETED" } } }}Kayıt, bir alt düzeydeki data.connectedAccountDetails.details alanında bulunur. Öneriler hazır olduğunda requestMatchesStatus, MATCH_IN_PROGRESS değerinden MATCH_COMPLETED değerine geçer. Completed, eşleştiricinin işlemi bitirdiği anlamına gelir, herhangi bir şeyin bağlandığı anlamına gelmez: bir işletme kaydını onaylayana veya bağlayana kadar connectedLocationsCount, 0 olarak kalır.
Bir hesabın erişebildiği işletme kayıtlarını alın
POST /connected-accounts/connected-account-listings
Konumlarınızdan birine bağlı olup olmadığına bakılmaksızın, hesabın erişebildiği tüm Google Business Profile veya Facebook işletme kayıtlarını listeler. Her kaydın id değeri, connect-listing ve create-location-from-listing işlemlerinin aldığı connectedAccountListingId değeridir. Bu, yalnızca okuma yapan bir POST işlemidir ve ofset tabanlı bir sayfa döndürür: records[] ve pageInfo içerir, gövdedeki iç içe olmayan page ve perPage anahtarlarıyla sayfalanır.
curl -X POST https://listingsapi.com/api/v4/connected-accounts/connected-account-listings \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "perPage": 50, "locationInfo": "William St" }'{ "data": { "connectedAccountListings": { "pageInfo": { "hasNextPage": false, "totalPages": 1, "totalRecords": 60 }, "records": [ { "id": "R21iQnVsa0RhdGFMYWtlOjA2MDQ4NmExLTA0NzQtNDc4NS1iMjNhLTBkOGM4MzhmNGQ5OA==", "accountTypeName": "Google", "locationName": "Trial", "address": "123 William St, NY 10038, Manhattan, US", "phone": "(718) 667-7787", "liveLink": null } ] } }}pageInfo.hasNextPage ve pageInfo.totalPages ile sonuç kümesinin sayfalarını gezin. SDK'lar connectedAccountId değerini sizin için gövdeye yerleştirir; bu nedenle bu durum yalnızca elle yazılan REST çağrılarını etkiler.
Eşleştirmeyi başlatın
POST /connected-accounts/trigger-matches
Belirtilen hesapların erişebildiği tüm profilleri getiren ve her birini konumlarınızdan biriyle eşleştiren işi kuyruğa ekler. Eşleştirme, henüz bağlanmamış, etkin ve arşivlenmemiş tüm konumları dikkate alır. Yalnızca önerileri kaydeder; siz onaylayana kadar hiçbir bağlantı kurulmaz.
curl -X POST https://listingsapi.com/api/v4/connected-accounts/trigger-matches \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "connectedAccountIds": ["4f712c17-4f95-42dd-90f4-97171a2e67b5"] } }'{ "data": { "connectedAccountsTriggerMatches": { "success": true, "failedIds": null } }}success: true, işin kuyruğa eklendiği anlamına gelir; eşleştirmenin tamamlandığı anlamına gelmez. Kuyruğa eklenemeyen her hesap failedIds içinde listelenir ve success değeri false olur. Önerileri okumadan önce, requestMatchesStatus değeri MATCH_COMPLETED olana kadar ayrıntı uç noktasını düzenli aralıklarla sorgulayın; sınırlı bir döngüde 15 saniyede bir sorgulamak, Launch planının dakikada 10 istek sınırını aşmamasını sağlar.
Bağlantı önerilerini okuyun
GET /connected-accounts/{connectedAccountId}/connection-suggestions
Eşleştiricinin önerdiği eşleşmeleri döndürür: bir tarafta konumunuz (locationInfo; bunun databaseId değeri locationId olur), diğer tarafta ise yayın platformundaki işletme kaydı (suggestedLocationInfo) bulunur. Bu, iç içe olmayan page ve perPage sorgu parametreleriyle sayfalanan, ofset tabanlı bir sayfadır; sıralama, konum bilgisine göre artan sıra olarak sabitlenmiştir.
curl "https://listingsapi.com/api/v4/connected-accounts/4f712c17-4f95-42dd-90f4-97171a2e67b5/connection-suggestions?page=1&perPage=20" \-H "Authorization: API $LISTINGSAPI_KEY"{ "data": { "connectionSuggestionsForAccount": { "pageInfo": { "hasNextPage": false, "totalPages": 1, "totalRecords": 2 }, "records": [ { "accountType": "GMB", "matchedDataDatabaseId": "0d5e306f-0da0-46e3-929f-fd3c67ccd8cc", "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "locationId": "73415", "locationInfo": { "name": "My Business", "city": "Lincoln", "stateIso": "NE" }, "suggestedLocationInfo": { "locationInfo": { "name": "My Business", "city": "Lincoln" } } } ] } }}Bir öneride id bulunmaz. matchedDataDatabaseId ve accountType değerlerini bir arada tutun; confirm-matches, id değerini oluşturmak için her ikisine de ihtiyaç duyar. Çok erken, MATCH_COMPLETED öncesinde okursanız uç nokta totalRecords: 0 ile birlikte records: [] döndürür; bu yanıt, "hiçbir eşleşme bulunamadı" yanıtıyla tamamen aynı görünür.
Eşleşmeleri onaylayın
POST /connected-accounts/confirm-matches
Onayladığınız önerileri kabul eder ve etkin bağlantıları oluşturur. Her id, yukarıdaki tablodan seçilen tür kullanılarak oluşturulan <MatchRecordType>:<matchedDataDatabaseId> değerinin base64 biçiminde kodlanmış halidir. Hesap kayıtlardan belirlenir, bu nedenle connectedAccountId alanı yoktur; input içindeki bilinmeyen bir alan 400 ile reddedilir.
# base64 of GmbLocationMatchedData:0d5e306f-0da0-46e3-929f-fd3c67ccd8cccurl -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="] } }'{ "data": { "confirmConnectMatches": { "success": true, "failedIds": null } }}failedIds, örneğin daha önce kullanılmış bir kayıt veya eşleştirmeden sonra arşivlenmiş bir konum nedeniyle onaylanamayan matchedDataDatabaseId değerlerini kodu çözülmüş halde içerir; bu nedenle bu değerleri öneri kayıtlarıyla eşleştirin. Gönderilmeyen önerilere dokunulmaz. Onaylama, konumu işletme kaydına bağlar; tek başına yayın platformuna veri göndermez.
Tek bir işletme kaydını bir konuma bağlayın
POST /connected-accounts/connect-listing
Önceden seçtiğiniz tek bir işletme kaydını, öneri veya onay adımı olmadan tek bir konuma bağlar. Eşleştirme belirsiz olduğunda, örneğin birbirine yakın ve benzer adlara sahip iki mağaza bulunduğunda ve bir operatör hesabın işletme kayıtları arasından doğru olanı seçtiğinde bunu kullanın.
curl -X POST https://listingsapi.com/api/v4/connected-accounts/connect-listing \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "connectedAccountListingId": "R21iQnVsa0RhdGFMYWtlOjA2MDQ4NmExLTA0NzQtNDc4NS1iMjNhLTBkOGM4MzhmNGQ5OA==" }}'{ "data": { "connectListing": { "success": true, "message": null } }}Başarısız bir bağlama işlemi, null olmayan bir message ile birlikte success: false döndürür; örneğin işletme kaydı id değeriyle bir kayıt bulunamadığında Listing record not found veya işletme kaydının zaten başka bir konuma bağlı olduğunu belirten bir not döndürülür. Her iki SDK'da da bu metot, bağlı hesaplar kaynağında değil, işletme kayıtları kaynağında yer alır.
Tek bir işletme kaydının bir konumla bağlantısını kesin
POST /connected-accounts/disconnect-listing
Tek bir konum ile tek bir yayın platformu arasındaki bağlantıyı keser. Konum ve verileri korunur; yalnızca bu yayın platformuna giden senkronizasyon durur. Bu, toplu işlem uç noktası değildir; bu nedenle konumlar üzerinde döngü kullanın. Bir mağazayı farklı bir Google hesabına bağlamak için önce buradan bağlantıyı kesin, ardından yeni hesap üzerinden eşleştirin veya bağlayın.
curl -X POST https://listingsapi.com/api/v4/connected-accounts/disconnect-listing \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "site": "GOOGLE" } }'{ "data": { "disconnectConnectedAccountsLocations": { "clientMutationId": null, "success": true, "errors": null } }}Ne site ne de providerId gönderilirse SY10056 döndürülür. Bir konumun o site için etkin bağlantısı yoksa sessizce başarı yanıtı vermek yerine SY10057 döndürülür; dolayısıyla success: true gerçekten bir bağlantının kaldırıldığı anlamına gelir. SDK'lar yalnızca site parametresini kabul eder ve değerini büyük harfe dönüştürür.
Bir işletme kaydından konum oluşturma
POST /connected-accounts/create-location-from-listing
Eşleştirme, işletme kayıtlarını yalnızca mevcut konumlarınızla eşleştirir. Bu işlem, konumu olmayan bir işletme kaydı için yayın platformunun verilerinden bir konum oluşturur ve bunu aynı anda işletme kaydına bağlar. Google'dan ad, adres, koordinatlar, telefon, web sitesi, açıklama, normal ve özel çalışma saatleri, kategoriler, açılış tarihi, mağaza kodu ve saat diliminin yanı sıra işletme kaydının Google özelliklerinden elde edilen ödeme yöntemleri ve sosyal medya bağlantıları içe aktarılır. Facebook'tan ad, konum, çalışma saatleri, kategoriler, açıklama ve iletişim bilgileri içe aktarılır.
Google'dan içe aktarma sırasında veriler Google'a yeniden gönderilmez; bu nedenle işletme kaydı, ilk konum güncellemeniz bu kayıtta yayımlanana kadar IN_PROGRESS durumunda kalır. Diğer tüm yayın platformlarına veriler normal şekilde gönderilir ve bu uç nokta site kapsamı kabul etmediğinden konum, hesabınızdaki yayın platformlarının tamamı için oluşturulur. Oluşturma işleminden hemen sonra enabledSiteIds ile kapsamı daraltın ve bu güncellemeyi hemen gönderin: diğer yayın platformlarına ait sipariş kalemleri, oluşturma işleminden kısa süre sonra oluşturulur ve güncelleme, önceden oluşturulmuş kalemleri geri çekmez.
Henüz iki SDK'da da bu uç nokta için bir sarmalayıcı bulunmadığından Python ve Node örnekleri, aynı üstbilgiyle REST çağrısı yapar.
curl -X POST https://listingsapi.com/api/v4/connected-accounts/create-location-from-listing \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "connectedAccountListingId": "R21iQnVsa0RhdGFMYWtlOjA2MDQ4NmExLTA0NzQtNDc4NS1iMjNhLTBkOGM4MzhmNGQ5OA==" }}'{ "data": { "createLocationFromConnectedAccountListing": { "success": true, "locationId": 88277, "errors": null } }}locationId, yeni konumun yalın databaseId değeridir. Başarısızlık durumunda success, false olur; locationId, null olur ve errors, SY81067 (işletme kaydı id değeriyle eşleşen kayıt bulunamadı) gibi bir neden kodu içerir; diğer nedenler, işletme kaydının zaten başka bir konuma bağlı olması veya hesabın kimlik bilgilerinin süresinin dolmuş olmasıdır. Konumu oluşturduktan sonra diğer konumlar gibi yönetin.
Bir Google hesabının klasörlerini listeleme
GET /connected-accounts/{connectedAccountId}/folders
Bağlı Google hesabının erişebildiği Google Business Profile hesap gruplarını (klasörleri) döndürür. Yeni profilin, sahibinin beklediği grupta yer alması için GMB işletme kaydı oluşturmadan önce bunu kullanın. Yanıt, getFoldersUnderGoogleAccount altında yer alan düz bir dizidir, bir sayfa değildir. Yol yalnızca GoogleAccount bağlantıları için geçerlidir.
curl https://listingsapi.com/api/v4/connected-accounts/4f712c17-4f95-42dd-90f4-97171a2e67b5/folders \-H "Authorization: API $LISTINGSAPI_KEY"{ "data": { "getFoldersUnderGoogleAccount": [ { "folderId": "accounts/104890024806530350198", "folderName": "Bright Smile Dental", "locationCount": null } ] }}folderId değerini değiştirmeden kullanın; bu, bir sayı değil, accounts/{id} dizesidir. Google bildirmediğinde locationCount, null olabilir; bu nedenle bu alanı isteğe bağlı olarak değerlendirin.
Bir konum için Google Business Profile oluşturma
POST /locations/create/gmb-listing
Google işletme kaydı olmayan bir konum için bağlı bir Google hesabı altında ve isteğe bağlı olarak bir klasör içinde yeni bir Google işletme kaydı oluşturur. Buna karşılık connect-listing, mevcut bir işletme kaydını bağlar. Konumun zaten ad, adres ve telefon bilgilerini içermesi gerekir ve her konum için yalnızca bir Google işletme kaydı bulunabilir.
curl -X POST https://listingsapi.com/api/v4/locations/create/gmb-listing \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "folderId": "accounts/104890024806530350198" }}'{ "data": { "createGmbListingForLocation": { "clientMutationId": null, "success": true, "errors": null } }}Oluşturma işlemi eşzamansızdır: success: true, isteğin kabul edildiği anlamına gelir ve Google, yeni profilleri yayımlanmadan önce inceler. success değeri false olduğunda errors bunun nedenini belirtir: zorunlu alanların eksik olması, mevcut bir Google işletme kaydının bulunması, konumun arşivlenmiş olması veya hesabın etkin olmaması.
Google hesabının tamamının bağlantısını kesin
POST /connected-accounts/disconnect-google
Hesabın tamamının bağlantısını kaldırır: bu hesap üzerinden bağlanan tüm konumların senkronizasyonu durur. locationIds alanı yoktur; hesabın bağlantısını koruyup tek bir konumun bağlantısını kesmek için disconnect-listing kullanın. Bir müşteri ayrıldığında veya bozuk bir yetkilendirme kaldırılamadığında ve yeni bir bağlantı kurma bağlantısıyla baştan başlamak istediğinizde bunu kullanın.
curl -X POST https://listingsapi.com/api/v4/connected-accounts/disconnect-google \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "connectedAccountId": "d2397854-52c2-41d7-95f1-b90cba16498d" } }'{ "data": { "gmbBulkDisconnect": { "success": true } }}Bilinmeyen bir connectedAccountId için bile success: true döndürülür; dolayısıyla bu, "etkin bir bağlantı kaldırıldı" değil, "istek işlendi" anlamına gelir. Emin olmanız gerekiyorsa bağlı hesapları yeniden listeleyin.
Facebook hesabının tamamının bağlantısını kesin
POST /connected-accounts/disconnect-facebook
Aynı istek gövdesini kullanan Facebook karşılığıdır. Hesap üzerinden bağlanan sayfaların senkronizasyonu durur ve Facebook etkileşimleri artık görünmez.
curl -X POST https://listingsapi.com/api/v4/connected-accounts/disconnect-facebook \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "connectedAccountId": "d2397854-52c2-41d7-95f1-b90cba16498d" } }'{ "data": { "fbBulkDisconnect": { "success": true } }}Yanıt anahtarı fbBulkDisconnect şeklindedir. Google'da olduğu gibi, bilinmeyen bir id için success: true döndürülmesi kaldırıldığı değil, işlendiği anlamına gelir.
Tek bir konumun bir yayın platformuyla bağlantısını kesin
POST /locations/oauth-disconnect
Konum bazındaki OAuth akışının bağlantı kesme bölümüdür. İkinci bir yol üzerinden sunulan, disconnect-listing ile aynı işlemdir: input gövdesi ve disconnectConnectedAccountsLocations yanıt anahtarı aynıdır. Entegrasyonunuzda daha anlaşılır olan yolu seçin.
curl -X POST https://listingsapi.com/api/v4/locations/oauth-disconnect \-H "Authorization: API $LISTINGSAPI_KEY" \-H "Content-Type: application/json" \-d '{ "input": { "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "site": "GOOGLE" } }'{ "data": { "disconnectConnectedAccountsLocations": { "clientMutationId": null, "success": true, "errors": null } }}Aynı SY10056 ve SY10057 kuralları geçerlidir; bu konumda işlem yapma yetkisi olmayan bir anahtar kullanıldığında SY90003 ile birlikte 403 döndürülür. Bağlantının kesilmesi konumu ve verilerini olduğu gibi korur; yalnızca o yayın platformuna giden senkronizasyon durur. Daha sonra doğru işletme kaydını bağlamak için sahibini yeniden bağlantı kurma URL'sine yönlendirin veya eşleştirme işlemini ve connect-listing işlemini çalıştırın.
Karşılaşacağınız hatalar
Hatalı biçimlendirilmiş istekler ve geçersiz anahtarlar için, message değeri hata koduyla başlayan üst düzey bir errors[] ile birlikte 4xx döndürülür. Yazma işlemleri, success: false ve data.<operation> içinde belirtilen nedenle birlikte 200 de döndürebilir; bu nedenle her yazma işleminin yanıt gövdesini kontrol edin. Tam liste Hata kodları sayfasındadır.
Sonraki adımlar
- Google bağlantısını kurun ve konumları içe aktarın: periyodik sorgulama ve webhook olaylarıyla birlikte uçtan uca toplu Google akışı.
- Facebook sayfalarını bağlayın: hesap bağlantısını kesme işlemi de dahil olmak üzere Facebook için aynı akış.
- Google Business Profile oluşturun: Google işletme kaydı olmayan bir konum için klasörler ve GMB oluşturma.
- İşletme kaydı durumunu ve yayındaki bağlantıları kontrol edin: bir bağlantı geldikten sonra Google satırının
SYNCEDdurumuna geçişini izleyin. - Referans dizini: Bağlı hesaplar; SDK sayfaları: Python bağlı hesaplar, Node bağlı hesaplar, Python işletme kayıtları, Node işletme kayıtları.