Bağlı hesaplar
Google, Facebook ve Apple Business Connect hesaplarını bağlayın, işletme kayıtlarını konumlarla eşleştirin; client.connected_accounts ile bağlantıyı kesin.
Bağlı hesaplarla ilgili tüm metotlar client.connected_accounts altındadır. Bağlı hesap, platforma yetki vermiş tek bir Google Business Profile, Facebook Pages veya Apple Business Connect oturumudur ve connected_accounts.list üzerinden aldığınız connectedAccountId ile tanımlanır.
Bağlantı kurmanın iki yolu vardır. Toplu bağlantı akışı, bir yayın platformu hesabının tamamına erişim yetkisi verir ve ardından bu hesabın işletme kayıtlarını konumlarınızla eşleştirir. Tek konum için bağlantı akışı, tek bir konum için tek bir OAuth bağlantısı oluşturur; uygulamanız mağazaları tek tek bağlıyorsa bu akışı kullanın. location_id alan metotlar sayısal veya base64 ile kodlanmış kimlikleri kabul eder; bkz. Konum kimlikleri.
Eşleştirme akışı
Toplu bağlantı kurulduktan sonra yayın platformundaki işletme kayıtları henüz konumlarınıza bağlanmış değildir. Eşleştirme işini kuyruğa almak için trigger_matches çağrısı yapın, requestMatchesStatus değeri MATCH_COMPLETED olana kadar details ile düzenli olarak sorgulayın, suggestions ile eşleştirmeleri okuyun ve ardından istediğiniz eşleştirmeleri confirm_matches ile kaydedin. trigger_matches adımını atlarsanız suggestions boş kalır.
connected_accounts.connect_google
Bir Google Business Profile hesabının tamamına erişim yetkisi veren bir URL oluşturun. Kullanıcıyı bu URL'ye yönlendirin; kullanıcı success_url veya error_url adresine döner. Bağlantı 24 saat geçerlidir.
client.connected_accounts.connect_google( success_url: str, error_url: str,) -> APIObjectlink = client.connected_accounts.connect_google( "https://app.example.com/onboarding/google/done", "https://app.example.com/onboarding/google/retry",)print(link.url)bulkConnectLinkForGoogle nesnesini döndürür. url alanını okuyun ve success ile errors alanlarını kontrol edin. Her iki yönlendirme URL'si de mutlak https URL'si olmalıdır. Bkz. Google hesabı bağlama.
connected_accounts.connect_facebook
Facebook Pages hesabı için connect_google ile aynı işlemi yapar. 24 saat geçerlidir.
client.connected_accounts.connect_facebook( success_url: str, error_url: str,) -> APIObjectlink = client.connected_accounts.connect_facebook( "https://app.example.com/onboarding/facebook/done", "https://app.example.com/onboarding/facebook/retry",)print(link.url)Aynı url, success ve errors alanlarını içeren bulkConnectLinkForFacebook nesnesini döndürür. Bkz. Facebook hesabı bağlama.
connected_accounts.oauth_url
Bir yayın platformu profilini tek bir konuma bağlayan bir URL oluşturun. Kullanıcının hangi konumu bağladığını zaten biliyorsanız bunu kullanın; bu durumda eşleştirme adımı gerekmez. 24 saat geçerlidir.
client.connected_accounts.oauth_url( location_id: str | int, site: str, success_url: str, error_url: str,) -> APIObjectlink = client.connected_accounts.oauth_url( 16808, site="google", success_url="https://app.example.com/locations/16808?connected=1", error_url="https://app.example.com/locations/16808?connected=0",)print(link.url)createConnectUrl nesnesini döndürür. Göreli veya ayrıştırılamayan bir yönlendirme URL'si, null değeri url olan bir success: true yanıtıyla sonuçlanır; bu nedenle yalnızca success alanını değil, url alanının kendisini de kontrol edin. Bağlantı tek kullanımlıktır; bu nedenle her deneme için yeni bir bağlantı oluşturun. Bkz. Tek bir konum için OAuth bağlantı URL'si oluşturma.
connected_accounts.list
Hesabınıza bağlı Google ve Facebook hesaplarını listeleyin. Sonraki tüm çağrılar için gereken connectedAccountId değerini buradan alırsınız.
client.connected_accounts.list( *, publisher: str | None = None, status: str | None = None, page: int | None = None, per_page: int | None = None,) -> APIObjectaccounts = client.connected_accounts.list(status="CONNECTED", per_page=50)for account in accounts.records: print(account.connectedAccountId, account.email, account.connectedLocationsCount)print(accounts.pageInfo.totalRecords)connectedAccountsInfo nesnesini döndürür: records ve hasNextPage, totalPages, totalRecords alanlarını içeren pageInfo. Sıralama sabittir ve hesap e-posta adresine göre artan sıradadır. Bkz. Bağlı hesapları listeleme.
connected_accounts.details
Kimliğini kullanarak tek bir bağlı hesabı alın. trigger_matches işleminden sonra bu metotla düzenli olarak sorgulayın ve requestMatchesStatus değerinin MATCH_COMPLETED olmasını bekleyin.
client.connected_accounts.details(connected_account_id: str) -> APIObjectaccount = client.connected_accounts.details("4f712c17-4f95-42dd-90f4-97171a2e67b5")print(account.details.get("status"))print(account.details.get("requestMatchesStatus"))connectedAccountDetails nesnesini döndürür. Alanlar details altındadır: status, connectedAccountType, connectedLocationsCount, connectivityIssue, requestMatchesStatus ve lastFetchMatchesRequestedAt. connectivityIssue değerinin null olmaması, yayın platformu token'ı için yeniden yetkilendirme gerektiği anlamına gelir. Bkz. Bağlı hesap ayrıntılarını alma.
connected_accounts.listings
Bağlı bir hesabın erişebildiği yayın platformu işletme kayıtlarını, konumlarınızdan biriyle eşleştirilmiş olup olmadıklarına bakılmaksızın listeleyin. Elde ettiğiniz erişimin kapsamını kullanıcıya göstermek için bunu kullanın.
client.connected_accounts.listings( connected_account_id: str, *, location_info: str | None = None, page: int | None = None, per_page: int | None = None,) -> APIObjectpage = client.connected_accounts.listings( "4f712c17-4f95-42dd-90f4-97171a2e67b5", location_info="Manhattan", per_page=25,)for listing in page.records: print(listing.locationName, listing.address, listing.accountTypeName)Bu uç nokta POST metodunu kullanır ve tüm bağımsız değişkenleri sorgu dizesinde değil, istek gövdesinde alır; SDK bu gövdeyi sizin için oluşturur. connectedAccountListings nesnesini döndürür: records ve pageInfo. Her kayıt id, locationName, address, phone, accountTypeName ve liveLink alanlarını içerir. Bkz. Bağlı bir hesabın işletme kayıtlarını alma.
connected_accounts.trigger_matches
Belirtilen hesapların erişebildiği tüm profilleri alıp konumlarınızla eşleştiren işi kuyruğa alın. Bu işi toplu bağlantı kurduktan hemen sonra ve konum ekledikten sonra tekrar çalıştırın.
client.connected_accounts.trigger_matches( connected_account_ids: list[str],) -> APIObjectresult = client.connected_accounts.trigger_matches( ["4f712c17-4f95-42dd-90f4-97171a2e67b5"],)print(result.success, result.failedIds)success ve failedIds alanlarını içeren connectedAccountsTriggerMatches nesnesini döndürür. İş asenkron olarak yürütülür; bu nedenle success: true, işin tamamlandığı değil, kuyruğa alındığı anlamına gelir. Önerileri okumadan önce requestMatchesStatus değeri MATCH_COMPLETED olana kadar details ile düzenli olarak sorgulayın. Bkz. Eşleştirmeleri tetikleme.
connected_accounts.suggestions
Eşleştirme işinin hesabın işletme kayıtları ile konumlarınız arasında bulduğu eşleştirmeleri okuyun. Bunları onaylamadan önce incelemesi için kullanıcıya gösterin.
client.connected_accounts.suggestions( connected_account_id: str, *, page: int | None = None, per_page: int | None = None,) -> APIObjectpage = client.connected_accounts.suggestions( "4f712c17-4f95-42dd-90f4-97171a2e67b5", per_page=50,)for match in page.records: print(match.locationId, match.accountType, match.matchedDataDatabaseId)connectionSuggestionsForAccount nesnesini döndürür: records ve pageInfo. Her kayıt locationId, accountType, matchedDataDatabaseId, locationInfo ve suggestedLocationInfo alanlarını içerir. totalRecords: 0 ile birlikte boş bir records gelmesi genellikle eşleştirme işinin henüz çalıştırılmadığı anlamına gelir. Bkz. Bağlantı önerilerini listeleme.
connected_accounts.confirm_matches
Önerilen eşleştirmeleri kaydedin. Onaylandıktan sonra yayın platformundaki işletme kaydı, eşleştirilen konumla senkronize olmaya başlar.
client.connected_accounts.confirm_matches( match_record_ids: list[str],) -> APIObjectresult = client.connected_accounts.confirm_matches([ "R21iTG9jYXRpb25NYXRjaGVkRGF0YTowZDVlMzA2Zi0wZGEwLTQ2ZTMtOTI5Zi1mZDNjNjdjY2Q4Y2M=",])print(result.success, result.failedIds)success ve failedIds alanlarını içeren confirmConnectMatches nesnesini döndürür. Öneri kaydının kendine ait bir id alanı yoktur: her eşleştirme kaydının kimliğini, Eşleştirmeleri onaylama sayfasında açıklandığı gibi kaydın matchedDataDatabaseId ve accountType alanlarından oluşturun.
connected_accounts.folders
Bağlı bir Google hesabının erişebildiği klasörleri (Google bunları hesap grupları olarak adlandırır) listeleyin. Google işletme kaydı oluştururken kaydın doğru yerde oluşturulması için seçilen folderId değerini iletin.
client.connected_accounts.folders( connected_account_id: str, *, folder_name: str | None = None,) -> list[APIObject]folders = client.connected_accounts.folders( "4f712c17-4f95-42dd-90f4-97171a2e67b5",)for folder in folders: print(folder.folderId, folder.folderName, folder.locationCount)getFoldersUnderGoogleAccount listesini döndürür. Her öğe folderId (değiştirilmeden kullanılan bir accounts/{id} dizesi), folderName ve Google herhangi bir sayı bildirmediğinde null değerini alan locationCount alanlarını içerir. Yalnızca Google türündeki hesaplar için geçerlidir. Bkz. Klasörleri listeleme ve listings.create_gmb.
connected_accounts.disconnect_google
Bir Google hesabının tamamının bağlantısını kesin. Bu hesap üzerinden eşleştirilen tüm konumların Google ile senkronizasyonu durur.
client.connected_accounts.disconnect_google( connected_account_id: str,) -> APIObjectresult = client.connected_accounts.disconnect_google( "4f712c17-4f95-42dd-90f4-97171a2e67b5",)print(result.success)success alanını içeren gmbBulkDisconnect nesnesini döndürür. Bkz. Google hesabının bağlantısını kesme.
connected_accounts.disconnect_facebook
Bir Facebook Pages hesabının tamamının bağlantısını kesin.
client.connected_accounts.disconnect_facebook( connected_account_id: str,) -> APIObjectresult = client.connected_accounts.disconnect_facebook( "9a41b8c0-7d2e-4c15-9f63-2b8e5ad71f04",)print(result.success)success alanını içeren fbBulkDisconnect nesnesini döndürür. Bkz. Facebook hesabının bağlantısını kesme.
connected_accounts.oauth_disconnect
Hesabın geri kalanının bağlantısını koruyarak tek bir konumun tek bir yayın platformuyla bağlantısını kesin. Bu, oauth_url işleminin tersidir.
client.connected_accounts.oauth_disconnect( location_id: str | int, site: str,) -> APIObjectsite değeri GOOGLE, FACEBOOK veya APPLE olur ve SDK, göndermeden önce bu değeri büyük harfe dönüştürür.
client.connected_accounts.oauth_disconnect(16808, site="google")success ve errors alanlarını içeren disconnectConnectedAccountsLocations nesnesini döndürür. Bkz. Tek bir konumun yayın platformuyla bağlantısını kesme.
Ayrıca bkz.
- Bağlı hesap uç noktaları: bu kaynağın arkasındaki REST uç noktaları
- Google'ı bağlama ve konumları içe aktarma: baştan sona toplu bağlama ve eşleştirme akışı
- Facebook sayfalarını bağlama: aynı akışın Facebook tarafı
- Google Business Profile oluşturma:
folderskaynağından birfolderIdkullanın - İşletme kayıtları: her konum için bağlantı kurun, bağlantıyı kesin ve senkronizasyon durumunu kontrol edin